{"id":"7f33ad1d-740c-46a5-bff3-0dfcf4a20692","entityType":"agent","slug":"clawhub-guangxiankeji-calorie-tracker","name":"Calorie Tracker","canonicalUrl":"https://www.xpersona.co/agent/clawhub-guangxiankeji-calorie-tracker","canonicalPath":"/agent/clawhub-guangxiankeji-calorie-tracker","generatedAt":"2026-10-10T17:36:56.590Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":null},"description":"Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management....","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s170bzdej5v1aw93kk23tv9q8s83h1d7:calorie-tracker","sourceUrl":"https://clawhub.ai/guangxiankeji/calorie-tracker","homepage":"https://clawhub.ai/guangxiankeji/skills/calorie-tracker","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/guangxiankeji/calorie-tracker","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/guangxiankeji/skills/calorie-tracker","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Calorie Tracker technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":null},"stars":null,"forks":null,"downloads":1360,"packageName":null,"latestVersion":"1.0.24","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T15:29:44.524Z","lastCrawledAt":"2026-10-10T15:29:44.524Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T15:29:44.524Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.24","createdAt":"2026-05-01T16:25:57.433Z","changelog":"No file changes detected in this version. - No updates or modifications were made to the skill's files. - Functionality and documentation remain unchanged from the previous version.","fileCount":7,"zipByteSize":16597},{"version":"1.0.23","createdAt":"2026-04-27T04:09:09.814Z","changelog":"No user-facing changes in this release. - Version bumped to 1.0.23 with no modifications to functionality or documentation. - No file changes detected.","fileCount":6,"zipByteSize":14500},{"version":"1.0.22","createdAt":"2026-04-27T01:41:35.192Z","changelog":"- No user-facing changes detected in this version. - No file changes or updates to functionality, features, or documentation.","fileCount":6,"zipByteSize":13735},{"version":"1.0.21","createdAt":"2026-04-20T04:24:09.249Z","changelog":"Version 1.0.21 - No file changes detected in this release. - No updates or modifications were introduced compared to the previous version.","fileCount":6,"zipByteSize":13721},{"version":"1.0.20","createdAt":"2026-04-19T17:36:45.835Z","changelog":"- Input options limited to text descriptions only; voice, image, and OCR input processing removed from all logging processes. - Business process steps updated for food, exercise, and weight logging to reflect text-only input and direct semantic analysis. - Added a new Data and Privacy section describing strict local-only data processing and privacy guarantees. - Detailed clarifications on module responsibilities and collaboration mechanisms for each core function. - No technical content, API endpoints, or timestamps exposed in output responses unless requested.","fileCount":6,"zipByteSize":13520},{"version":"1.0.19","createdAt":"2026-04-10T05:13:56.507Z","changelog":"- No file changes detected in this version. - Functionality and documentation remain unchanged from the previous release.","fileCount":6,"zipByteSize":16390},{"version":"1.0.18","createdAt":"2026-04-09T06:48:34.044Z","changelog":"No user-visible changes in this release. - Version updated without any file modifications detected. - All functionalities and descriptions remain unchanged.","fileCount":6,"zipByteSize":16184},{"version":"1.0.17","createdAt":"2026-04-08T05:56:11.627Z","changelog":"- No changes detected in this version; functionality and documentation remain the same.","fileCount":6,"zipByteSize":17144}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170bzdej5v1aw93kk23tv9q8s83h1d7:calorie-tracker","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s170bzdej5v1aw93kk23tv9q8s83h1d7:calorie-tracker` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/guangxiankeji/calorie-tracker before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T17:36:56.586Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-guangxiankeji-calorie-tracker/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":null},"readme":"Skill: Calorie Tracker\n\nOwner: guangxiankeji\n\nSummary: Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management....\n\nTags: latest:1.0.24\n\nVersion history:\n\nv1.0.24 | 2026-05-01T16:25:57.433Z | user\n\nNo file changes detected in this version.\n\n- No updates or modifications were made to the skill's files.\n- Functionality and documentation remain unchanged from the previous version.\n\nv1.0.23 | 2026-04-27T04:09:09.814Z | user\n\nNo user-facing changes in this release.\n\n- Version bumped to 1.0.23 with no modifications to functionality or documentation.\n- No file changes detected.\n\nv1.0.22 | 2026-04-27T01:41:35.192Z | user\n\n- No user-facing changes detected in this version.\n- No file changes or updates to functionality, features, or documentation.\n\nv1.0.21 | 2026-04-20T04:24:09.249Z | user\n\nVersion 1.0.21\n\n- No file changes detected in this release.\n- No updates or modifications were introduced compared to the previous version.\n\nv1.0.20 | 2026-04-19T17:36:45.835Z | user\n\n- Input options limited to text descriptions only; voice, image, and OCR input processing removed from all logging processes.\n- Business process steps updated for food, exercise, and weight logging to reflect text-only input and direct semantic analysis.\n- Added a new Data and Privacy section describing strict local-only data processing and privacy guarantees.\n- Detailed clarifications on module responsibilities and collaboration mechanisms for each core function.\n- No technical content, API endpoints, or timestamps exposed in output responses unless requested.\n\nv1.0.19 | 2026-04-10T05:13:56.507Z | user\n\n- No file changes detected in this version.\n- Functionality and documentation remain unchanged from the previous release.\n\nv1.0.18 | 2026-04-09T06:48:34.044Z | user\n\nNo user-visible changes in this release.  \n- Version updated without any file modifications detected.  \n- All functionalities and descriptions remain unchanged.\n\nv1.0.17 | 2026-04-08T05:56:11.627Z | user\n\n- No changes detected in this version; functionality and documentation remain the same.\n\nv1.0.16 | 2026-04-01T02:29:59.215Z | user\n\nNo user-facing changes detected in this version.\n\n- No file or documentation changes were introduced.\n- All functionality and descriptions remain unchanged from the previous release.\n\nv1.0.15 | 2026-03-29T10:55:22.166Z | user\n\nNo user-facing changes in this version.\n\n- No changes detected in the files.\n- Functionality and documentation remain unchanged from the previous release.\n\nv1.0.14 | 2026-03-29T04:15:23.104Z | user\n\nVersion 1.0.14\n\n- No functional or documentation changes detected in this release.\n- All features and documentation remain unchanged.\n\nv1.0.13 | 2026-03-29T00:26:59.650Z | user\n\nVersion 1.0.13 – No functional changes\n\n- No file changes detected in this release.\n- All features and behavior remain identical to the previous version.\n\nv1.0.12 | 2026-03-28T16:58:25.103Z | user\n\n- No changes detected in this version.  \n- Functionality, processes, and documentation remain unchanged from the previous release.\n\nv1.0.11 | 2026-03-28T16:32:51.968Z | user\n\n- Added a homepage link to the metadata for easier access.\n- No changes to core functionality or user experience.\n\nv1.0.10 | 2026-03-28T15:02:55.121Z | user\n\n- No changes detected in this version; function and features remain the same.\n- Version number updated to 1.0.10.\n\nv1.0.9 | 2026-03-28T13:05:07.772Z | user\n\n- Documentation wording updated for clarity and consistency\n- Improved section structure and standardized terminology in process descriptions\n- Minor language adjustments to enhance user understanding and interaction guidance\n- No changes to features or functionality\n\nv1.0.8 | 2026-03-28T11:55:49.092Z | user\n\nNo file changes detected in this version.\n\n- No updates or modifications were made to the code or documentation.\n- Functionality and features remain unchanged.\n- Users will experience the same features and performance as the previous version.\n\nv1.0.7 | 2026-03-28T11:22:43.470Z | user\n\n- Added support for weight tracking with the new weight analysis module.\n- Users can now log, query, and analyze weight and BMI data alongside meals and exercises.\n- The SKILL.md documentation now includes an updated process for weight input, recognition, logging, and trend analysis.\n- Expanded metadata tags to cover weight-related tracking and analysis.\n\nv1.0.6 | 2026-03-27T14:51:44.164Z | user\n\nVersion 1.0.6\n\n- No file changes detected in this release.\n- No updates or modifications to features, logic, or documentation.\n- Functionality and user experience remain unchanged from the previous version.\n\nv1.0.5 | 2026-03-27T05:35:59.558Z | user\n\n- Updated metadata to use the \"openclaw\" format for the emoji property.\n- No other functional or documentation changes detected.\n\nv1.0.4 | 2026-03-26T14:09:15.872Z | user\n\n- Updated skill description to emphasize comprehensive data management, secure storage, and support for a healthy lifestyle.\n- Expanded metadata tags to include \"healthy-lifestyle\", \"weight-management\", \"personalized-nutrition\", \"fitness-goals\", and \"wellness-journey\".\n- No changes made to functionality or core workflows.\n\nv1.0.3 | 2026-03-26T12:35:42.367Z | user\n\nExpanded to support exercise tracking and calorie expenditure monitoring.\n\n- Added exercise recognition and calorie analysis for workout logging.\n- Introduced an exercise analyzer module.\n- Updated data query, CRUD, and user interaction logic to cover both food and exercise records.\n- Enhanced description and process flow to clarify handling of exercise data.\n\nv1.0.2 | 2026-03-26T11:27:02.117Z | user\n\nInitial project commit with full repository structure.\n\n- Added complete .git directory and version control history.\n- No changes to skill logic or documentation in SKILL.md.\n- Lays foundation for future code development and collaboration.\n\nv1.0.1 | 2026-03-26T09:56:13.349Z | user\n\n- Changed eating record workflow: now asks users to confirm before saving food logs, instead of saving immediately without confirmation.\n- Only stores data after explicit user approval.\n- Confirmation is not required for every operation if the user has already granted ongoing permission.\n- Clarified confirmation process in the skill's documentation for data creation.\n\nv1.0.0 | 2026-03-26T08:17:51.851Z | user\n\nInitial release of calorie-tracker, an intelligent nutrition management system.\n\n- Supports food recognition via text, images, and voice input.\n- Provides nutritional analysis (calories, protein, fat, carbs) and daily intake tracking.\n- Features immediate, automated logging of meals without user confirmation.\n- Allows users to query, update, and delete historical meal records.\n- Modular design includes food analysis and persistent data storage via API.\n\nArchive index:\n\nArchive v1.0.24: 7 files, 16597 bytes\n\nFiles: api-service.md (6782b), exercise-analyzer.md (8084b), food-analyzer.md (9890b), skill-card.md (2611b), SKILL.md (9068b), weight-analyzer.md (4533b), _meta.json (135b)\n\nFile v1.0.24:SKILL.md\n\n---\nname: \"calorie-tracker\"\ndescription: \"Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management. Empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\"\nmetadata: {\"tags\":[\"nutrition\", \"health\", \"food-tracking\", \"diet\", \"wellness\", \"food-recognition\", \"calorie-counting\", \"fitness\", \"health-tracking\", \"nutrition-analysis\", \"exercise-tracking\", \"workout-logging\", \"calorie-burning\", \"healthy-lifestyle\", \"weight-management\", \"personalized-nutrition\", \"fitness-goals\", \"wellness-journey\", \"weight-tracking\", \"body-weight\", \"bmi-calculation\", \"weight-monitoring\"], \"openclaw\":{\"emoji\":\"🍎\",\"homepage\":\"https://us.guangxiankeji.com/calorie/\"}}\n---\n\n# Smart Health and Nutrition Management\n\n## Core Functionality\n\nThis agent provides intelligent health and nutrition management solutions, integrating food analysis, exercise analysis, and API service modules to achieve food recognition, exercise recognition, nutrition analysis, calorie expenditure analysis, data persistence storage, query statistics, and full lifecycle management. It empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\n\n## Business Processes\n\n### Food Logging Process\n1. **User Input**: Receives user's food descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Food Recognition**: Calls food analysis module to parse food types and portions\n4. **Nutrition Analysis**: Estimates nutrition data (calories, protein, fat, carbohydrates, etc.) based on food analysis results\n5. **Data Storage**: Displays recognition results and nutrition data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store food records to the database, including food information, nutrition data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Exercise Logging Process\n1. **User Input**: Receives user's exercise descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Exercise Recognition**: Calls exercise analysis module to parse exercise types and durations\n4. **Calorie Expenditure Analysis**: Estimates calorie expenditure data (calories) based on exercise analysis results\n5. **Data Storage**: Displays recognition results and calorie expenditure data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store exercise records to the database, including exercise information, calorie expenditure data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Weight Logging Process\n1. **User Input**: Receives user's weight descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Weight Recognition**: Calls weight analysis module to parse weight values and units\n4. **Weight Analysis**: Calculates BMI and analyzes weight change trends based on weight data\n5. **Data Storage**: Displays recognition results and analysis data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store weight records to the database, including weight information, BMI data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Data Query Process\n1. **Receive Query Request**: Users query historical food records, exercise records, weight records, daily intake, daily expenditure, weight change trends, or specific time period data\n2. **Data Retrieval**: Calls API service module to query relevant records from the database\n3. **Data Aggregation**: Statistics total nutrition intake, total calorie expenditure, and weight change data based on time range (day/week/month)\n4. **Result Display**: Returns query results, nutrition analysis reports, and weight change trend analysis in structured format\n\n### Data Management Process\n- **Create**: Add new food records, exercise records, or weight records (same as food logging process, exercise logging process, or weight logging process)\n- **Read**: Query historical records and statistics\n- **Update**: Modify recorded food information, exercise information, or weight information (e.g., adjust portion, correct food type, adjust duration, correct exercise type, correct weight value)\n- **Delete**: Remove erroneous food records, exercise records, or weight records\n\n### Module Collaboration Mechanism\n- **Food Analysis Module**: Responsible for food recognition and portion estimation\n- **Exercise Analysis Module**: Responsible for exercise recognition and duration estimation\n- **Weight Analysis Module**: Responsible for weight recording and trend analysis\n- **API Service Module**: Implements data persistence, query statistics, and full lifecycle management\n\n## Interaction Standards\n\n### Response Principles\n- **Concise and Efficient**: Responses must be concise and direct, conveying key information without redundant content\n- **Focus on Topic**: Strictly revolves around user's current request, without introducing irrelevant topics or expanding discussions\n\n### Response Standards\n\n**Expression Methods**:\n- Organize responses naturally and personally, flowing smoothly like everyday conversation\n- Flexibly adjust expression methods based on context, appropriately varying tone and wording\n- Core information must be fully conveyed: operation results, key data (e.g., food names, calories, etc.)\n\n**Conciseness Principles**:\n- Avoid lengthy headings and separators\n- List nutrition data directly without excessive decoration\n- Summarize information in one or a few sentences\n\n**Prohibited Technical Content in Output**:\n- Record IDs, database table names, API endpoint addresses\n- Technical implementation details, timestamps (unless specifically asked by users)\n\n## Integrated Core Modules\n\n### Food Analysis Module\n[Food Analysis Module](./food-analyzer.md)\n\n### Exercise Analysis Module\n[Exercise Analysis Module](./exercise-analyzer.md)\n\n### Weight Analysis Module\n[Weight Analysis Module](./weight-analyzer.md)\n\n### API Service Module\n[API Service Module](./api-service.md)\n\n## Data and Privacy\n\n### Data Processing Localization\n\nAll data processing is completed locally to ensure user privacy and data security:\n\n- **Semantic Analysis and Reasoning**: Local large models complete natural language understanding, nutrition estimation, and calorie calculation;\n- **Data Isolation**: All user raw data (text) is processed locally only, and is not uploaded to any external servers.\n- **Temporary Data**: All temporary processing data (text intermediate results) is immediately cleared after task completion, without establishing any form of local data persistence or logging;\n\n### External Service Interfaces\nThis skill uses the following external API services for data storage and query:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Data Types\nThis skill collects and processes the following types of personal health data:\n- Food records (food name, weight, nutrition components)\n- Exercise records (exercise type, duration, calorie expenditure)\n- Weight records (weight value, BMI data)\n\n### Service Provider\n- **Provider**: Beijing Guangxian Technology Co., Ltd.\n- **Official Website**: https://us.guangxiankeji.com/calorie/\n- **Privacy Policy**: https://us.guangxiankeji.com/calorie/#/privacy\n- **Service Terms**: https://us.guangxiankeji.com/calorie/#/terms\n\n### Data Security\n- Data stored in cloud servers compliant with GDPR and CCPA standards\n- Data retention period is 24 months, after which data will be automatically anonymized\n- Encrypted transmission ensures data security\n\nFile v1.0.24:_meta.json\n\n{\n  \"ownerId\": \"kn70zwrzentsr3ez1ma8tybb4n83hf93\",\n  \"slug\": \"calorie-tracker\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1777652757433\n}\n\nFile v1.0.24:api-service.md\n\n# API Service Module\n\nRESTful API service providing standardized data access interfaces, supporting full lifecycle management of food records (create, read, update, delete, statistics, multi-dimensional aggregation), integrating accurate food calorie and nutrition component retrieval, implementing data persistence storage and intelligent analysis capabilities, providing reliable and efficient data service support for the agent.\n\n## API Interface Specifications\n\n### Interface Address\n\nAPI service base address:\n- United States: `https://us.guangxiankeji.com/calorie/service/user`\n- China: `https://cn.guangxiankeji.com/calorie/service/user`\n\n### Interface Documentation\n\n**Important Note**: Interfaces are cloud services and may change at any time. Please obtain the latest interface information through the following addresses:\n\n**API Specification Addresses**:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Interface Acquisition Method\n\nAgents should access the above API specification addresses in real-time to obtain the latest interface definitions, including:\n- Interface paths\n- Request methods\n- Parameter descriptions\n- Response formats\n- Error code definitions\n\n### Authentication Method\n- **API Authentication**: Use authentication mechanism based on email + verification code, authorized through Bearer Token\n\n### Authentication Flow\n1. **Send Verification Code**: Send a POST request to `/auth/send-code` endpoint with email address to obtain verification code\n2. **Login to Get Token**: Send a POST request to `/auth/login` endpoint with email address and verification code to obtain access token\n3. **Use Token**: Pass token in `Bearer <access_token>` format in the Authorization header of subsequent API requests\n\n### Token Management\n- **Token Validity**: Access token validity is based on the information returned by the login endpoint\n- **Token Storage**: Agents should securely store access tokens and reuse them within the validity period\n- **Token Refresh**: After token expiration, re-execute the login flow to obtain a new token\n\n### Service Address Change Handling\n\n**Service Discovery Mechanism**: If API service cannot be accessed after multiple retries, it may indicate that the service address has migrated. Please visit [ClawHub](https://clawhub.ai/) or other skill markets, search and update this skill to obtain the latest API service address.\n\n## Interface Call Principles\n\n1. **Active Acquisition**: Actively obtain latest interface information, must re-acquire when call fails\n2. **Dynamic Adaptation**: Dynamically adjust call methods based on obtained interface specifications\n3. **Error Handling**: Handle call failures caused by possible interface changes\n4. **Retry Strategy**: For call failure situations, perform up to 3 retries, with 1 second interval between each retry\n5. **Version Compatibility**: Consider version change compatibility handling\n\n## Data Processing Specifications\n\n1. **Error Handling**: Check API response status codes, handle possible errors (network errors, business logic errors, authentication errors, etc.)\n   - **Authentication Error Handling**:\n     - 401 Error: Token may be invalid or expired, need to re-execute the login flow\n     - Verification Code Error: Need to obtain a new verification code\n   - When errors are detected, immediately feedback error details to human users, and provide clear operational guidance based on error codes and error messages, assisting users in making correct decisions and handling measures.\n\n2. **Data Validation**: Ensure incoming data meets interface structural requirements, especially required fields\n\n3. **User Identifier**\n   - **Transmission Method**: User identifier is passed through Bearer Token in Authorization header, server parses user information from the token.\n   - **User Management**: Users are uniquely identified by email address, agents should store user's email address and corresponding access token.\n   - **Stability**: The same user should use the same email address to ensure historical data association.\n   - **Consistency**:\n      - **Multi-agent Consistency**: Agents and all sub-agents must ensure the same email address and access token are used to ensure user data consistency.\n      - **Multi-channel Consistency**: For multi-channel access scenarios, agents should ensure the same email address is used across different channels to guarantee user data consistency;\n   - **Privacy Statement**:\n      - **Usage Purpose**: Email address is only used for user authentication and data association, not for other purposes.\n      - **Privacy Protection**: Access token is only sent when user identity needs to be confirmed, and is not directly associated with users' real identity information.\n\n4. **Time Handling**\n   ### 4.1 Principles\n   - **Unified Standard**: API service uniformly uses UTC time, all time-related fields (e.g., created_at, timestamp, etc.) are based on UTC timezone\n   - **Format Specification**: Time format adopts ISO 8601 standard (e.g., 2024-01-15T10:30:00.000Z)\n   - **User Interaction**: Use local time for user input and display, time zone conversion is required\n   \n   ### 4.2 Conversion Rules\n   - **Querying Records**:\n     1. Calculate local time range\n     2. Convert to UTC time\n     3. Format as ISO 8601 format\n     4. Build API request\n   - **Storing Records**:\n     1. User not specifying time: Use current UTC time\n     2. User specifying local time: Convert to UTC time before storing\n   - **Displaying Records**:\n     1. Convert UTC time to local time\n     2. Display in user-familiar format\n   \n   ### 4.3 Implementation Guide\n   **Querying today's records**:\n   - Local time range: 00:00:00 to 23:59:59.999 of the current day\n   - Convert to UTC time and format as ISO 8601 standard format\n   - Use the converted time range as `start_date` and `end_date` parameters\n   \n   **Example**:\n   - User in Beijing time (UTC+8) asks about today's diet records at 18:30\n   - Local today range: 2026-03-30 00:00:00 to 2026-03-30 23:59:59.999\n   - Convert to UTC time: 2026-03-29 16:00:00 to 2026-03-30 15:59:59.999\n   - API request: `?start_date=2026-03-29T16:00:00.000Z&end_date=2026-03-30T15:59:59.999Z`\n\n5. **Unit Specifications**\n   - **Calories**: Unified use of kilocalories (kcal) as the standard unit\n   - **Food Weight**: Unified use of grams (g) as the standard unit\n   - **Nutrition Components**: Protein, carbohydrates, and fat all use grams (g) as the standard unit\n   - **Exercise Duration**: Unified use of minutes (minute) as the standard unit\n   - **Weight**: Unified use of kilograms (kg) as the standard unit\n   - **Height**: Unified use of centimeters (cm) as the standard unit\n\nFile v1.0.24:exercise-analyzer.md\n\n# Exercise Analysis Module\n\nIntelligently parses user exercise information through natural language interaction, voice input, and image uploads, recognizing exercise types and estimating durations, calculating calories consumed by exercises.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of exercise content\n- **Exercise Recognition** - Accurately recognizing exercise types in user descriptions or images\n- **Entity Extraction** - Extracting key information such as exercise names, durations, and intensity levels\n- **Duration Estimation** - Intelligently estimating exercise duration (minutes) based on descriptions or images\n- **Calorie Expenditure Estimation** - Estimating calories consumed based on exercise type, duration, and intensity\n- **Standardized Output** - Generating standardized format containing exercise information and calorie expenditure\n\n## Exercise Estimation Principles\n\n### Estimation Methodology\n\nWhen estimating exercise calorie expenditure, intelligent evaluation should be based on the following principles:\n\n1. **Call Exercise Search API**\n\nUse exercise search interface to obtain accurate calorie expenditure information for exercises. This service provides detailed data for various common exercises, covering calorie expenditure information at different intensities, helping users accurately record exercise expenditure.\n\n**API Information**\n- Endpoint: /exercises/search\n- Parameters:\n  - query: Exercise name keyword\n- Note:\n  - Intelligently select search keywords based on user's current conversation language, context information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between exercise names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt calorie expenditure data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Exercise Analysis API**\n\nUse exercise analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of exercise scenarios.\n\n**API Information**\n- Endpoint: /exercises/analyze\n- Parameters:\n  - description: Exercise content described in natural language\n  - image_urls: Array of publicly accessible URLs of exercise images. When provided, the system will use image recognition to analyze the exercise.\n- Note:\n  - At least one of description or image_urls must be provided\n  - **Original Input Pass-Through Principle (Mandatory Enforcement)**:\n    - Must pass the user's original exercise description input **completely and verbatim** to the description parameter, **strictly prohibiting any form of processing**\n    - Prohibited behaviors include but are not limited to:\n      - Summarization (e.g., simplifying \"I ran for 30 minutes, then did 20 minutes of yoga\" to \"running + yoga\")\n      - Extracting key information and rewriting (e.g., rewriting \"ran about 3 kilometers or so\" to \"running 3km\", losing uncertainty information)\n      - Omitting details (e.g., simplifying \"I went running, feeling a bit out of breath\" to \"running\", losing state description)\n      - Reorganizing language or adjusting expression order\n      - Deleting any words, interjections, or modifiers from user input\n    - Must pass the user's originally uploaded image URLs **directly** to the image_urls parameter\n    - **Strictly prohibited** to perform content recognition on images and convert them to text descriptions before calling the interface, as this will result in loss of critical visual information and inaccurate analysis results\n    - Judgment criteria: Any difference (regardless of size) between the description or image_urls content and the user's original input is considered a violation\n  - Refer to API documentation for specific parameter formats and constraints\n\n**Output Content**\n- Exercise name, duration, calorie expenditure, intensity, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Exercise Processing Strategy**\n- **Independent Exercise Separation**: When user description contains multiple independent exercises, should be split into multiple independent requests\n  - Example: \"I ran for 30 minutes, then swam for 1 hour\" → Split into two independent calls\n  - Judgment criteria: Exercises have clear separation, connected by parallel conjunctions such as comma or \"and\", and each exercise maintains independent form\n\n**Multi-Image Processing Strategy**\n- **Image Merge Upload**: When user uploads multiple images for the same exercise, all images must be merged and passed into the image parameter at once, and the exercise analysis interface will perform multimodal fusion analysis\n  - Processing principles:\n    - Identify whether multiple images belong to the same exercise entity\n    - Integrate all related images into a single API call\n    - Rely on the interface's multimodal fusion capability to comprehensively analyze complementary information in each image (duration, heart rate, distance, speed, etc.)\n  - Prohibited behavior:\n    - Do not split multiple images of the same exercise into multiple independent API calls, otherwise it will lead to loss of key information and inaccurate analysis results\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call exercise analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate exercise type, duration, and calorie expenditure data\n    - Or call exercise search API:\n        - Obtain accurate calorie expenditure data through keyword search\n    - When API call fails:\n        - Estimate duration and calories based on common sense\n        - Estimate calorie expenditure based on public information\n    ↓\n[3] Generate Output\n    - Standardize exercise names\n    - Determine final duration (minutes)\n    - Output calorie expenditure estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"exercise_name\": \"Running\",\n      \"duration\": 30,\n      \"calories\": 300,\n      \"intensity\": \"medium\"\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize exercise types and assess durations, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific exercise names, durations, and intensity levels\n- **Quantitative Information**: Provide specific durations when possible, such as \"30 minutes running\", \"1 hour swimming\"\n- **Avoid Ambiguous Expressions**: Use clear duration descriptions, such as \"30 minutes\" instead of \"a while\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and duration units are clearly distinguishable\n- **Complete Description**: Include exercise names, durations, and intensity levels\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Exercise Equipment**: Include display information from exercise equipment (e.g., treadmills, elliptical trainers) in images\n- **Photograph Exercise App Screenshots**: Photograph exercise app data interfaces, ensuring duration and calorie expenditure are clearly visible\n- **Photograph Wearable Devices**: Photograph exercise data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Multi-angle Photography**: For complex exercise scenarios, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.24:food-analyzer.md\n\n# Food Analysis Module\n\nIntelligently parses user food information through natural language interaction, recognizing food types and estimating weights, calculating food calories and nutrition components.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of food content\n- **Food Recognition** - Accurately recognizing food types in user descriptions\n- **Entity Extraction** - Extracting key information such as food names and quantities\n- **Weight Estimation** - Intelligently estimating food weight (grams) based on descriptions\n- **Nutrition Component Estimation** - Estimating food calories and nutrition components based on public information and common sense reasoning\n- **Standardized Output** - Generating standardized format containing food information and nutrition components\n\n## Food Analysis Principles\n\n### Methodology\n\nWhen analyzing food, intelligent evaluation should be based on the following principles:\n\n1. **Call Food Search API**\n\nUse food search interface to obtain accurate calorie and nutrition component information for foods. This service covers over 56 countries and regions, providing over 2.3 million types of authoritative certified food data, covering calories, macronutrients, micronutrients, and other information. Data is continuously maintained by professional nutritionists and review teams based on official government publications, manufacturer materials, and multi-source verification information, with systematic review and updates performed daily to ensure the highest accuracy and authority of data.\n\n**API Information**\n- Endpoint: /foods/search\n- Parameters:\n  - query: Food name keyword\n  - maxResults: Maximum number of results to return, optional, default value is 10\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between food names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt nutrition component data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Food Analysis API**\n\nUse food analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of complex dietary scenarios. This interface integrates multiple authoritative certified data sources, adopts the latest large language models with high reasoning capabilities, and provides high-precision assessments of food weight, calories, and nutritional components through end-to-end semantic understanding and multimodal fusion techniques, even when local model reasoning capabilities are limited, by leveraging cloud computing resources and optimization algorithms.\n\n**API Information**\n- Endpoint: /foods/analyze\n- Parameters:\n  - description: Food description in natural language\n  - image_urls: Array of publicly accessible URLs of food images. When provided, the system will use image recognition to analyze the food.\n- Note:\n  - At least one of description or image_urls must be provided\n  - **Original Input Pass-Through Principle (Mandatory Enforcement)**:\n    - Must pass the user's original food description input **completely and verbatim** to the description parameter, **strictly prohibiting any form of processing**\n    - Prohibited behaviors include but are not limited to:\n      - Summarization (e.g., simplifying \"I had two fried eggs with a cup of soy milk this morning\" to \"fried eggs + soy milk\")\n      - Extracting key information and rewriting (e.g., rewriting \"about 100 grams or so of chicken breast\" to \"chicken breast 100g\", losing uncertainty information)\n      - Omitting details (e.g., simplifying \"I ate braised pork, it was a bit salty\" to \"braised pork\", losing state description)\n      - Reorganizing language or adjusting expression order\n      - Deleting any words, interjections, or modifiers from user input\n    - Must pass the user's originally uploaded image URLs **directly** to the image_urls parameter\n    - **Strictly prohibited** to perform content recognition on images and convert them to text descriptions before calling the interface, as this will result in loss of critical visual information and inaccurate analysis results\n    - Judgment criteria: Any difference (regardless of size) between the description or image_urls content and the user's original input is considered a violation\n  - Refer to the API documentation for specific parameter formats and limitations\n\n**Output Content**\n- Food name, weight, calories, protein, carbohydrates, fat, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Food Processing Strategy**\n- **Independent Food Separation**: When user description contains multiple independent foods, should be split into multiple independent requests\n  - Example: \"I just ate an apple, a cup of milk, and a bun\" → Split into three independent calls\n  - Judgment criteria: Foods have clear separation, connected by parallel conjunctions such as comma, \"and\", etc., and each food maintains independent form\n  \n- **Composite Dish Merging**: When user description is a composite food or dish, should be treated as a single whole for one call\n  - Example: \"I just ate a serving of potato stewed beef\" → Call once directly, no splitting\n  - Judgment criteria: Ingredients are mixed and integrated, forming a dish with a specific name, users regard it as a single food unit\n\n**Multi-Image Processing Strategy**\n- **Image Merge Upload**: When users upload multiple images for the same food, all images must be merged and passed to the image parameter at once, allowing the food analysis API to perform multimodal fusion analysis\n  - Typical scenarios:\n    - **Packaged Food Dispersed Information Integration**: Key information such as product names, nutrition labels, and net weight markings on packaged foods are distributed across different positions on the packaging. Users take multiple photos separately to clearly display each information point.\n    - **Nutrition Label and Weight Evidence Combination**: Users separately photograph the nutrition label on food packaging and the weight reading displayed on an electronic scale, requiring correlation analysis of both types of information.\n    - **Multi-angle Food Display**: Users photograph the same food from different angles to provide more comprehensive visual information.\n  - Processing principles:\n    - Identify whether multiple images belong to the same food entity\n    - Integrate all relevant images into a single API call\n    - Rely on the API's multimodal fusion capabilities to comprehensively analyze complementary information from various images (name, ingredients, weight, etc.)\n  - Prohibited behaviors:\n    - Do not split multiple images of the same food into multiple independent API calls, as this will result in loss of key information and inaccurate analysis results\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call food analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate food weight and nutrition component data\n    - Or call food search API:\n        - Obtain accurate nutrition component data through keyword search\n    - When API call fails:\n        - Estimate weight based on common portion sizes\n        - Estimate calories and nutrition components based on public information\n    ↓\n[3] Generate Output\n    - Standardize food names\n    - Determine final weight (grams)\n    - Output nutrition component estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"meal_type\": \"breakfast\",\n  \"items\": [\n    {\n      \"food_name\": \"Rice Porridge\",\n      \"weight\": 250,\n      \"calories\": 75,\n      \"protein\": 2.5,\n      \"carbs\": 16,\n      \"fat\": 0.5\n    },\n    {\n      \"food_name\": \"Steamed Bun\",\n      \"weight\": 180,\n      \"calories\": 360,\n      \"protein\": 12,\n      \"carbs\": 50,\n      \"fat\": 12\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize food types and assess weights, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific food names, cooking methods, and portion sizes\n- **Quantitative Information**: Provide specific weights or quantities when possible, such as \"100g chicken breast\", \"one bowl of 200ml porridge\"\n- **Avoid Ambiguous Expressions**: Use clear quantity words, such as \"one medium-sized apple\" instead of \"one apple\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and quantity words are clearly distinguishable\n- **Complete Description**: Include food names, portions, and cooking methods\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Reference Objects**: Include common items (e.g., mobile phones, utensils) in images as size references\n- **Photograph Food Scales**: If using food scales for weight, ensure scale numbers are clearly visible\n- **Photograph Nutrition Labels**: For packaged foods, photograph nutrition labels on packaging\n- **Photograph Complete Packaging**: Include weight information and product names on packaging\n- **Adequate Lighting**: Ensure images have adequate lighting and food details are clearly visible\n- **Multi-angle Photography**: For complex foods, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.24:skill-card.md\n\n## Description:\n\nSmart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[guangxiankeji](https://clawhub.ai/user/guangxiankeji)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users use this skill to log meals, exercise, and weight, estimate nutrition and calorie burn, and query or manage health-tracking records after confirmation.\n\n### Deployment Geography for Use:\n\nGlobal, with documented United States and China service endpoints.\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles health-tracking data, email-based authentication, Bearer tokens, screenshots, image URLs, food records, exercise records, weight values, and BMI data through provider services.\n\nMitigation: Install only when users are comfortable with the provider processing and retaining this information; avoid uploading screenshots or images that expose unrelated personal details.\n\nRisk: Evidence security review reports conflicting privacy claims because the artifact describes local processing while also documenting mandatory cloud storage, cloud analysis APIs, token reuse, and 24-month data retention.\n\nMitigation: Treat cloud processing and storage as expected behavior, confirm consent before saving records, and review provider privacy and retention terms before deployment.\n\n## Reference(s):\n\n- [ClawHub Calorie Tracker Listing](https://clawhub.ai/guangxiankeji/skills/calorie-tracker)\n- [Calorie Tracker Homepage](https://us.guangxiankeji.com/calorie/)\n- [United States API Specification](https://us.guangxiankeji.com/calorie/service/user/api-spec)\n- [China API Specification](https://cn.guangxiankeji.com/calorie/service/user/api-spec)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, API calls, configuration, guidance]\n\n**Output Format:** [Concise natural-language summaries with structured JSON-like nutrition, exercise, weight, and record-management data.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include food names, weights, calories, macronutrients, exercise duration and intensity, BMI, trend summaries, and confirmation prompts before storing records.]\n\n## Skill Version(s):\n\n1.0.24 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.24:weight-analyzer.md\n\n# Weight Analysis Module\n\nIntelligently parses user weight information through natural language interaction, recording weight data and analyzing weight change trends to provide users with weight management references.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of weight content\n- **Weight Recording** - Accurately recording weight data from user descriptions or images\n- **Entity Extraction** - Extracting key information such as weight values, measurement times, and weight scale types\n- **Trend Analysis** - Analyzing user weight change trends and providing health recommendations\n- **Standardized Output** - Generating standardized format containing weight information and change trends\n\n## Weight Data Estimation Principles\n\n### Estimation Methodology\n\nWhen processing weight data, intelligent evaluation should be based on the following principles:\n\n1. **Based on Common Sense and Public Data**: Reference healthy weight ranges, BMI calculation standards, and other authoritative data, combined with user information for analysis.\n\n2. **Consider Weight Description Semantics**: Accurately understand weight values and units in user descriptions (e.g., \"60 kg\", \"130 jin\", \"180 lbs\"), and judge actual weight based on context.\n\n3. **Comprehensive User Characteristics**: Consider factors affecting weight such as user age, gender, height, and body fat percentage. For example:\n   - Healthy weight ranges differ for different age groups\n   - Body fat percentage standards differ for different genders\n   - Height impact on weight (through BMI calculation)\n\n4. **Prioritize Explicit Numerical Values**: If users provide specific weight values and units, directly use those values.\n\n5. **Estimation Uncertainty**: For ambiguous descriptions, request clarification from users when necessary to ensure result accuracy and reliability.\n\n### Estimation Accuracy Requirements\n\n- Prioritize authoritative data sources\n- Maintain consistency and interpretability of data recording\n- All weight data must be accurate and reliable\n- Pay attention to accuracy of unit conversions (e.g., kg to jin, lbs)\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Semantic Analysis\n    - Recognize weight description intent\n    - Extract weight-related descriptions\n    ↓\n[3] Entity Recognition\n    - Extract weight values\n    - Identify units (kg, jin, lbs, etc.)\n    - Identify measurement times (today, yesterday, last week, etc.)\n    ↓\n[4] Weight Data Processing\n    - Extract weight values and units based on descriptions\n    - Unit conversion (if necessary)\n    - Calculate BMI (if height information is provided)\n    ↓\n[5] Trend Analysis\n    - Compare with historical weight data\n    - Analyze weight change trends\n    - Calculate change rates\n    ↓\n[6] Generate Output\n    - Standardize weight values\n    - Determine final units\n    - Output weight analysis results and trends\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"weight\": 60,\n      \"unit\": \"kg\",\n      \"date\": \"2023-10-01\",\n      \"bmi\": 22.5,\n      \"status\": \"Normal\"\n    }\n  ]\n}\n```\n\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately record and analyze weight data, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific weight values and units, such as \"60 kg\", \"130 jin\"\n- **Include Time**: Provide measurement times when possible, such as \"weight today is 60 kg\"\n- **Provide Height**: If BMI calculation is needed, provide height information, such as \"height 170 cm, weight 60 kg\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and units are clearly distinguishable\n- **Complete Description**: Include weight values, units, and measurement times\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Photograph Weight Scales**: Ensure weight scale numbers are clearly visible\n- **Photograph Health Apps**: Photograph health app weight data interfaces, ensuring values are clearly visible\n- **Photograph Wearable Devices**: Photograph weight data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Photograph Complete Interfaces**: Include weight values, units, and measurement times\n\nArchive v1.0.23: 6 files, 14500 bytes\n\nFiles: api-service.md (6782b), exercise-analyzer.md (7019b), food-analyzer.md (8946b), SKILL.md (9068b), weight-analyzer.md (4533b), _meta.json (135b)\n\nFile v1.0.23:SKILL.md\n\n---\nname: \"calorie-tracker\"\ndescription: \"Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management. Empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\"\nmetadata: {\"tags\":[\"nutrition\", \"health\", \"food-tracking\", \"diet\", \"wellness\", \"food-recognition\", \"calorie-counting\", \"fitness\", \"health-tracking\", \"nutrition-analysis\", \"exercise-tracking\", \"workout-logging\", \"calorie-burning\", \"healthy-lifestyle\", \"weight-management\", \"personalized-nutrition\", \"fitness-goals\", \"wellness-journey\", \"weight-tracking\", \"body-weight\", \"bmi-calculation\", \"weight-monitoring\"], \"openclaw\":{\"emoji\":\"🍎\",\"homepage\":\"https://us.guangxiankeji.com/calorie/\"}}\n---\n\n# Smart Health and Nutrition Management\n\n## Core Functionality\n\nThis agent provides intelligent health and nutrition management solutions, integrating food analysis, exercise analysis, and API service modules to achieve food recognition, exercise recognition, nutrition analysis, calorie expenditure analysis, data persistence storage, query statistics, and full lifecycle management. It empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\n\n## Business Processes\n\n### Food Logging Process\n1. **User Input**: Receives user's food descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Food Recognition**: Calls food analysis module to parse food types and portions\n4. **Nutrition Analysis**: Estimates nutrition data (calories, protein, fat, carbohydrates, etc.) based on food analysis results\n5. **Data Storage**: Displays recognition results and nutrition data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store food records to the database, including food information, nutrition data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Exercise Logging Process\n1. **User Input**: Receives user's exercise descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Exercise Recognition**: Calls exercise analysis module to parse exercise types and durations\n4. **Calorie Expenditure Analysis**: Estimates calorie expenditure data (calories) based on exercise analysis results\n5. **Data Storage**: Displays recognition results and calorie expenditure data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store exercise records to the database, including exercise information, calorie expenditure data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Weight Logging Process\n1. **User Input**: Receives user's weight descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Weight Recognition**: Calls weight analysis module to parse weight values and units\n4. **Weight Analysis**: Calculates BMI and analyzes weight change trends based on weight data\n5. **Data Storage**: Displays recognition results and analysis data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store weight records to the database, including weight information, BMI data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Data Query Process\n1. **Receive Query Request**: Users query historical food records, exercise records, weight records, daily intake, daily expenditure, weight change trends, or specific time period data\n2. **Data Retrieval**: Calls API service module to query relevant records from the database\n3. **Data Aggregation**: Statistics total nutrition intake, total calorie expenditure, and weight change data based on time range (day/week/month)\n4. **Result Display**: Returns query results, nutrition analysis reports, and weight change trend analysis in structured format\n\n### Data Management Process\n- **Create**: Add new food records, exercise records, or weight records (same as food logging process, exercise logging process, or weight logging process)\n- **Read**: Query historical records and statistics\n- **Update**: Modify recorded food information, exercise information, or weight information (e.g., adjust portion, correct food type, adjust duration, correct exercise type, correct weight value)\n- **Delete**: Remove erroneous food records, exercise records, or weight records\n\n### Module Collaboration Mechanism\n- **Food Analysis Module**: Responsible for food recognition and portion estimation\n- **Exercise Analysis Module**: Responsible for exercise recognition and duration estimation\n- **Weight Analysis Module**: Responsible for weight recording and trend analysis\n- **API Service Module**: Implements data persistence, query statistics, and full lifecycle management\n\n## Interaction Standards\n\n### Response Principles\n- **Concise and Efficient**: Responses must be concise and direct, conveying key information without redundant content\n- **Focus on Topic**: Strictly revolves around user's current request, without introducing irrelevant topics or expanding discussions\n\n### Response Standards\n\n**Expression Methods**:\n- Organize responses naturally and personally, flowing smoothly like everyday conversation\n- Flexibly adjust expression methods based on context, appropriately varying tone and wording\n- Core information must be fully conveyed: operation results, key data (e.g., food names, calories, etc.)\n\n**Conciseness Principles**:\n- Avoid lengthy headings and separators\n- List nutrition data directly without excessive decoration\n- Summarize information in one or a few sentences\n\n**Prohibited Technical Content in Output**:\n- Record IDs, database table names, API endpoint addresses\n- Technical implementation details, timestamps (unless specifically asked by users)\n\n## Integrated Core Modules\n\n### Food Analysis Module\n[Food Analysis Module](./food-analyzer.md)\n\n### Exercise Analysis Module\n[Exercise Analysis Module](./exercise-analyzer.md)\n\n### Weight Analysis Module\n[Weight Analysis Module](./weight-analyzer.md)\n\n### API Service Module\n[API Service Module](./api-service.md)\n\n## Data and Privacy\n\n### Data Processing Localization\n\nAll data processing is completed locally to ensure user privacy and data security:\n\n- **Semantic Analysis and Reasoning**: Local large models complete natural language understanding, nutrition estimation, and calorie calculation;\n- **Data Isolation**: All user raw data (text) is processed locally only, and is not uploaded to any external servers.\n- **Temporary Data**: All temporary processing data (text intermediate results) is immediately cleared after task completion, without establishing any form of local data persistence or logging;\n\n### External Service Interfaces\nThis skill uses the following external API services for data storage and query:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Data Types\nThis skill collects and processes the following types of personal health data:\n- Food records (food name, weight, nutrition components)\n- Exercise records (exercise type, duration, calorie expenditure)\n- Weight records (weight value, BMI data)\n\n### Service Provider\n- **Provider**: Beijing Guangxian Technology Co., Ltd.\n- **Official Website**: https://us.guangxiankeji.com/calorie/\n- **Privacy Policy**: https://us.guangxiankeji.com/calorie/#/privacy\n- **Service Terms**: https://us.guangxiankeji.com/calorie/#/terms\n\n### Data Security\n- Data stored in cloud servers compliant with GDPR and CCPA standards\n- Data retention period is 24 months, after which data will be automatically anonymized\n- Encrypted transmission ensures data security\n\nFile v1.0.23:_meta.json\n\n{\n  \"ownerId\": \"kn70zwrzentsr3ez1ma8tybb4n83hf93\",\n  \"slug\": \"calorie-tracker\",\n  \"version\": \"1.0.23\",\n  \"publishedAt\": 1777262949814\n}\n\nFile v1.0.23:api-service.md\n\n# API Service Module\n\nRESTful API service providing standardized data access interfaces, supporting full lifecycle management of food records (create, read, update, delete, statistics, multi-dimensional aggregation), integrating accurate food calorie and nutrition component retrieval, implementing data persistence storage and intelligent analysis capabilities, providing reliable and efficient data service support for the agent.\n\n## API Interface Specifications\n\n### Interface Address\n\nAPI service base address:\n- United States: `https://us.guangxiankeji.com/calorie/service/user`\n- China: `https://cn.guangxiankeji.com/calorie/service/user`\n\n### Interface Documentation\n\n**Important Note**: Interfaces are cloud services and may change at any time. Please obtain the latest interface information through the following addresses:\n\n**API Specification Addresses**:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Interface Acquisition Method\n\nAgents should access the above API specification addresses in real-time to obtain the latest interface definitions, including:\n- Interface paths\n- Request methods\n- Parameter descriptions\n- Response formats\n- Error code definitions\n\n### Authentication Method\n- **API Authentication**: Use authentication mechanism based on email + verification code, authorized through Bearer Token\n\n### Authentication Flow\n1. **Send Verification Code**: Send a POST request to `/auth/send-code` endpoint with email address to obtain verification code\n2. **Login to Get Token**: Send a POST request to `/auth/login` endpoint with email address and verification code to obtain access token\n3. **Use Token**: Pass token in `Bearer <access_token>` format in the Authorization header of subsequent API requests\n\n### Token Management\n- **Token Validity**: Access token validity is based on the information returned by the login endpoint\n- **Token Storage**: Agents should securely store access tokens and reuse them within the validity period\n- **Token Refresh**: After token expiration, re-execute the login flow to obtain a new token\n\n### Service Address Change Handling\n\n**Service Discovery Mechanism**: If API service cannot be accessed after multiple retries, it may indicate that the service address has migrated. Please visit [ClawHub](https://clawhub.ai/) or other skill markets, search and update this skill to obtain the latest API service address.\n\n## Interface Call Principles\n\n1. **Active Acquisition**: Actively obtain latest interface information, must re-acquire when call fails\n2. **Dynamic Adaptation**: Dynamically adjust call methods based on obtained interface specifications\n3. **Error Handling**: Handle call failures caused by possible interface changes\n4. **Retry Strategy**: For call failure situations, perform up to 3 retries, with 1 second interval between each retry\n5. **Version Compatibility**: Consider version change compatibility handling\n\n## Data Processing Specifications\n\n1. **Error Handling**: Check API response status codes, handle possible errors (network errors, business logic errors, authentication errors, etc.)\n   - **Authentication Error Handling**:\n     - 401 Error: Token may be invalid or expired, need to re-execute the login flow\n     - Verification Code Error: Need to obtain a new verification code\n   - When errors are detected, immediately feedback error details to human users, and provide clear operational guidance based on error codes and error messages, assisting users in making correct decisions and handling measures.\n\n2. **Data Validation**: Ensure incoming data meets interface structural requirements, especially required fields\n\n3. **User Identifier**\n   - **Transmission Method**: User identifier is passed through Bearer Token in Authorization header, server parses user information from the token.\n   - **User Management**: Users are uniquely identified by email address, agents should store user's email address and corresponding access token.\n   - **Stability**: The same user should use the same email address to ensure historical data association.\n   - **Consistency**:\n      - **Multi-agent Consistency**: Agents and all sub-agents must ensure the same email address and access token are used to ensure user data consistency.\n      - **Multi-channel Consistency**: For multi-channel access scenarios, agents should ensure the same email address is used across different channels to guarantee user data consistency;\n   - **Privacy Statement**:\n      - **Usage Purpose**: Email address is only used for user authentication and data association, not for other purposes.\n      - **Privacy Protection**: Access token is only sent when user identity needs to be confirmed, and is not directly associated with users' real identity information.\n\n4. **Time Handling**\n   ### 4.1 Principles\n   - **Unified Standard**: API service uniformly uses UTC time, all time-related fields (e.g., created_at, timestamp, etc.) are based on UTC timezone\n   - **Format Specification**: Time format adopts ISO 8601 standard (e.g., 2024-01-15T10:30:00.000Z)\n   - **User Interaction**: Use local time for user input and display, time zone conversion is required\n   \n   ### 4.2 Conversion Rules\n   - **Querying Records**:\n     1. Calculate local time range\n     2. Convert to UTC time\n     3. Format as ISO 8601 format\n     4. Build API request\n   - **Storing Records**:\n     1. User not specifying time: Use current UTC time\n     2. User specifying local time: Convert to UTC time before storing\n   - **Displaying Records**:\n     1. Convert UTC time to local time\n     2. Display in user-familiar format\n   \n   ### 4.3 Implementation Guide\n   **Querying today's records**:\n   - Local time range: 00:00:00 to 23:59:59.999 of the current day\n   - Convert to UTC time and format as ISO 8601 standard format\n   - Use the converted time range as `start_date` and `end_date` parameters\n   \n   **Example**:\n   - User in Beijing time (UTC+8) asks about today's diet records at 18:30\n   - Local today range: 2026-03-30 00:00:00 to 2026-03-30 23:59:59.999\n   - Convert to UTC time: 2026-03-29 16:00:00 to 2026-03-30 15:59:59.999\n   - API request: `?start_date=2026-03-29T16:00:00.000Z&end_date=2026-03-30T15:59:59.999Z`\n\n5. **Unit Specifications**\n   - **Calories**: Unified use of kilocalories (kcal) as the standard unit\n   - **Food Weight**: Unified use of grams (g) as the standard unit\n   - **Nutrition Components**: Protein, carbohydrates, and fat all use grams (g) as the standard unit\n   - **Exercise Duration**: Unified use of minutes (minute) as the standard unit\n   - **Weight**: Unified use of kilograms (kg) as the standard unit\n   - **Height**: Unified use of centimeters (cm) as the standard unit\n\nFile v1.0.23:exercise-analyzer.md\n\n# Exercise Analysis Module\n\nIntelligently parses user exercise information through natural language interaction, voice input, and image uploads, recognizing exercise types and estimating durations, calculating calories consumed by exercises.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of exercise content\n- **Exercise Recognition** - Accurately recognizing exercise types in user descriptions or images\n- **Entity Extraction** - Extracting key information such as exercise names, durations, and intensity levels\n- **Duration Estimation** - Intelligently estimating exercise duration (minutes) based on descriptions or images\n- **Calorie Expenditure Estimation** - Estimating calories consumed based on exercise type, duration, and intensity\n- **Standardized Output** - Generating standardized format containing exercise information and calorie expenditure\n\n## Exercise Estimation Principles\n\n### Estimation Methodology\n\nWhen estimating exercise calorie expenditure, intelligent evaluation should be based on the following principles:\n\n1. **Call Exercise Search API**\n\nUse exercise search interface to obtain accurate calorie expenditure information for exercises. This service provides detailed data for various common exercises, covering calorie expenditure information at different intensities, helping users accurately record exercise expenditure.\n\n**API Information**\n- Endpoint: /exercises/search\n- Parameters:\n  - query: Exercise name keyword\n- Note:\n  - Intelligently select search keywords based on user's current conversation language, context information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between exercise names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt calorie expenditure data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Exercise Analysis API**\n\nUse exercise analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of exercise scenarios.\n\n**API Information**\n- Endpoint: /exercises/analyze\n- Parameters:\n  - description: Exercise content described in natural language\n  - image_urls: Array of publicly accessible URLs of exercise images. When provided, the system will use image recognition to analyze the exercise.\n- Note:\n  - At least one of description or image_urls must be provided\n  - Should fully transmit the user's original exercise description input, ensuring no details are lost, including exercise names, durations, intensity, and other relevant information, to support comprehensive and accurate analysis by the interface.\n  - Refer to API documentation for specific parameter formats and constraints\n\n**Output Content**\n- Exercise name, duration, calorie expenditure, intensity, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Exercise Processing Strategy**\n- **Independent Exercise Separation**: When user description contains multiple independent exercises, should be split into multiple independent requests\n  - Example: \"I ran for 30 minutes, then swam for 1 hour\" → Split into two independent calls\n  - Judgment criteria: Exercises have clear separation, connected by parallel conjunctions such as comma or \"and\", and each exercise maintains independent form\n\n**Multi-Image Processing Strategy**\n- **Image Merge Upload**: When user uploads multiple images for the same exercise, all images must be merged and passed into the image parameter at once, and the exercise analysis interface will perform multimodal fusion analysis\n  - Processing principles:\n    - Identify whether multiple images belong to the same exercise entity\n    - Integrate all related images into a single API call\n    - Rely on the interface's multimodal fusion capability to comprehensively analyze complementary information in each image (duration, heart rate, distance, speed, etc.)\n  - Prohibited behavior:\n    - Do not split multiple images of the same exercise into multiple independent API calls, otherwise it will lead to loss of key information and inaccurate analysis results\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call exercise analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate exercise type, duration, and calorie expenditure data\n    - Or call exercise search API:\n        - Obtain accurate calorie expenditure data through keyword search\n    - When API call fails:\n        - Estimate duration and calories based on common sense\n        - Estimate calorie expenditure based on public information\n    ↓\n[3] Generate Output\n    - Standardize exercise names\n    - Determine final duration (minutes)\n    - Output calorie expenditure estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"exercise_name\": \"Running\",\n      \"duration\": 30,\n      \"calories\": 300,\n      \"intensity\": \"medium\"\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize exercise types and assess durations, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific exercise names, durations, and intensity levels\n- **Quantitative Information**: Provide specific durations when possible, such as \"30 minutes running\", \"1 hour swimming\"\n- **Avoid Ambiguous Expressions**: Use clear duration descriptions, such as \"30 minutes\" instead of \"a while\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and duration units are clearly distinguishable\n- **Complete Description**: Include exercise names, durations, and intensity levels\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Exercise Equipment**: Include display information from exercise equipment (e.g., treadmills, elliptical trainers) in images\n- **Photograph Exercise App Screenshots**: Photograph exercise app data interfaces, ensuring duration and calorie expenditure are clearly visible\n- **Photograph Wearable Devices**: Photograph exercise data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Multi-angle Photography**: For complex exercise scenarios, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.23:food-analyzer.md\n\n# Food Analysis Module\n\nIntelligently parses user food information through natural language interaction, recognizing food types and estimating weights, calculating food calories and nutrition components.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of food content\n- **Food Recognition** - Accurately recognizing food types in user descriptions\n- **Entity Extraction** - Extracting key information such as food names and quantities\n- **Weight Estimation** - Intelligently estimating food weight (grams) based on descriptions\n- **Nutrition Component Estimation** - Estimating food calories and nutrition components based on public information and common sense reasoning\n- **Standardized Output** - Generating standardized format containing food information and nutrition components\n\n## Food Analysis Principles\n\n### Methodology\n\nWhen analyzing food, intelligent evaluation should be based on the following principles:\n\n1. **Call Food Search API**\n\nUse food search interface to obtain accurate calorie and nutrition component information for foods. This service covers over 56 countries and regions, providing over 2.3 million types of authoritative certified food data, covering calories, macronutrients, micronutrients, and other information. Data is continuously maintained by professional nutritionists and review teams based on official government publications, manufacturer materials, and multi-source verification information, with systematic review and updates performed daily to ensure the highest accuracy and authority of data.\n\n**API Information**\n- Endpoint: /foods/search\n- Parameters:\n  - query: Food name keyword\n  - region: Country codes (US, CN, JP, etc.), optional, default value is US\n- Note:\n  - Intelligently select region parameter based on user's current conversation language, context information, user information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between food names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt nutrition component data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Food Analysis API**\n\nUse food analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of complex dietary scenarios. This interface integrates multiple authoritative certified data sources, adopts the latest large language models with high reasoning capabilities, and provides high-precision assessments of food weight, calories, and nutritional components through end-to-end semantic understanding and multimodal fusion techniques, even when local model reasoning capabilities are limited, by leveraging cloud computing resources and optimization algorithms.\n\n**API Information**\n- Endpoint: /foods/analyze\n- Parameters:\n  - description: Food description in natural language\n  - image_urls: Array of publicly accessible URLs of food images. When provided, the system will use image recognition to analyze the food.\n- Note:\n  - At least one of description or image_urls must be provided\n  - Should fully transmit the user's original food description input, ensuring no details are lost, including food names, quantities, weights, states, cooking methods, and other relevant information, to support comprehensive and accurate analysis by the interface.\n  - Refer to the API documentation for specific parameter formats and limitations\n\n**Output Content**\n- Food name, weight, calories, protein, carbohydrates, fat, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Food Processing Strategy**\n- **Independent Food Separation**: When user description contains multiple independent foods, should be split into multiple independent requests\n  - Example: \"I just ate an apple, a cup of milk, and a bun\" → Split into three independent calls\n  - Judgment criteria: Foods have clear separation, connected by parallel conjunctions such as comma, \"and\", etc., and each food maintains independent form\n  \n- **Composite Dish Merging**: When user description is a composite food or dish, should be treated as a single whole for one call\n  - Example: \"I just ate a serving of potato stewed beef\" → Call once directly, no splitting\n  - Judgment criteria: Ingredients are mixed and integrated, forming a dish with a specific name, users regard it as a single food unit\n\n**Multi-Image Processing Strategy**\n- **Image Merge Upload**: When users upload multiple images for the same food, all images must be merged and passed to the image parameter at once, allowing the food analysis API to perform multimodal fusion analysis\n  - Typical scenarios:\n    - **Packaged Food Dispersed Information Integration**: Key information such as product names, nutrition labels, and net weight markings on packaged foods are distributed across different positions on the packaging. Users take multiple photos separately to clearly display each information point.\n    - **Nutrition Label and Weight Evidence Combination**: Users separately photograph the nutrition label on food packaging and the weight reading displayed on an electronic scale, requiring correlation analysis of both types of information.\n    - **Multi-angle Food Display**: Users photograph the same food from different angles to provide more comprehensive visual information.\n  - Processing principles:\n    - Identify whether multiple images belong to the same food entity\n    - Integrate all relevant images into a single API call\n    - Rely on the API's multimodal fusion capabilities to comprehensively analyze complementary information from various images (name, ingredients, weight, etc.)\n  - Prohibited behaviors:\n    - Do not split multiple images of the same food into multiple independent API calls, as this will result in loss of key information and inaccurate analysis results\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call food analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate food weight and nutrition component data\n    - Or call food search API:\n        - Obtain accurate nutrition component data through keyword search\n    - When API call fails:\n        - Estimate weight based on common portion sizes\n        - Estimate calories and nutrition components based on public information\n    ↓\n[3] Generate Output\n    - Standardize food names\n    - Determine final weight (grams)\n    - Output nutrition component estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"meal_type\": \"breakfast\",\n  \"items\": [\n    {\n      \"food_name\": \"Rice Porridge\",\n      \"weight\": 250,\n      \"calories\": 75,\n      \"protein\": 2.5,\n      \"carbs\": 16,\n      \"fat\": 0.5\n    },\n    {\n      \"food_name\": \"Steamed Bun\",\n      \"weight\": 180,\n      \"calories\": 360,\n      \"protein\": 12,\n      \"carbs\": 50,\n      \"fat\": 12\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize food types and assess weights, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific food names, cooking methods, and portion sizes\n- **Quantitative Information**: Provide specific weights or quantities when possible, such as \"100g chicken breast\", \"one bowl of 200ml porridge\"\n- **Avoid Ambiguous Expressions**: Use clear quantity words, such as \"one medium-sized apple\" instead of \"one apple\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and quantity words are clearly distinguishable\n- **Complete Description**: Include food names, portions, and cooking methods\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Reference Objects**: Include common items (e.g., mobile phones, utensils) in images as size references\n- **Photograph Food Scales**: If using food scales for weight, ensure scale numbers are clearly visible\n- **Photograph Nutrition Labels**: For packaged foods, photograph nutrition labels on packaging\n- **Photograph Complete Packaging**: Include weight information and product names on packaging\n- **Adequate Lighting**: Ensure images have adequate lighting and food details are clearly visible\n- **Multi-angle Photography**: For complex foods, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.23:weight-analyzer.md\n\n# Weight Analysis Module\n\nIntelligently parses user weight information through natural language interaction, recording weight data and analyzing weight change trends to provide users with weight management references.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of weight content\n- **Weight Recording** - Accurately recording weight data from user descriptions or images\n- **Entity Extraction** - Extracting key information such as weight values, measurement times, and weight scale types\n- **Trend Analysis** - Analyzing user weight change trends and providing health recommendations\n- **Standardized Output** - Generating standardized format containing weight information and change trends\n\n## Weight Data Estimation Principles\n\n### Estimation Methodology\n\nWhen processing weight data, intelligent evaluation should be based on the following principles:\n\n1. **Based on Common Sense and Public Data**: Reference healthy weight ranges, BMI calculation standards, and other authoritative data, combined with user information for analysis.\n\n2. **Consider Weight Description Semantics**: Accurately understand weight values and units in user descriptions (e.g., \"60 kg\", \"130 jin\", \"180 lbs\"), and judge actual weight based on context.\n\n3. **Comprehensive User Characteristics**: Consider factors affecting weight such as user age, gender, height, and body fat percentage. For example:\n   - Healthy weight ranges differ for different age groups\n   - Body fat percentage standards differ for different genders\n   - Height impact on weight (through BMI calculation)\n\n4. **Prioritize Explicit Numerical Values**: If users provide specific weight values and units, directly use those values.\n\n5. **Estimation Uncertainty**: For ambiguous descriptions, request clarification from users when necessary to ensure result accuracy and reliability.\n\n### Estimation Accuracy Requirements\n\n- Prioritize authoritative data sources\n- Maintain consistency and interpretability of data recording\n- All weight data must be accurate and reliable\n- Pay attention to accuracy of unit conversions (e.g., kg to jin, lbs)\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Semantic Analysis\n    - Recognize weight description intent\n    - Extract weight-related descriptions\n    ↓\n[3] Entity Recognition\n    - Extract weight values\n    - Identify units (kg, jin, lbs, etc.)\n    - Identify measurement times (today, yesterday, last week, etc.)\n    ↓\n[4] Weight Data Processing\n    - Extract weight values and units based on descriptions\n    - Unit conversion (if necessary)\n    - Calculate BMI (if height information is provided)\n    ↓\n[5] Trend Analysis\n    - Compare with historical weight data\n    - Analyze weight change trends\n    - Calculate change rates\n    ↓\n[6] Generate Output\n    - Standardize weight values\n    - Determine final units\n    - Output weight analysis results and trends\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"weight\": 60,\n      \"unit\": \"kg\",\n      \"date\": \"2023-10-01\",\n      \"bmi\": 22.5,\n      \"status\": \"Normal\"\n    }\n  ]\n}\n```\n\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately record and analyze weight data, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific weight values and units, such as \"60 kg\", \"130 jin\"\n- **Include Time**: Provide measurement times when possible, such as \"weight today is 60 kg\"\n- **Provide Height**: If BMI calculation is needed, provide height information, such as \"height 170 cm, weight 60 kg\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and units are clearly distinguishable\n- **Complete Description**: Include weight values, units, and measurement times\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Photograph Weight Scales**: Ensure weight scale numbers are clearly visible\n- **Photograph Health Apps**: Photograph health app weight data interfaces, ensuring values are clearly visible\n- **Photograph Wearable Devices**: Photograph weight data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Photograph Complete Interfaces**: Include weight values, units, and measurement times\n\nArchive v1.0.22: 6 files, 13735 bytes\n\nFiles: api-service.md (6782b), exercise-analyzer.md (6186b), food-analyzer.md (7475b), SKILL.md (9068b), weight-analyzer.md (4533b), _meta.json (135b)\n\nFile v1.0.22:SKILL.md\n\n---\nname: \"calorie-tracker\"\ndescription: \"Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management. Empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\"\nmetadata: {\"tags\":[\"nutrition\", \"health\", \"food-tracking\", \"diet\", \"wellness\", \"food-recognition\", \"calorie-counting\", \"fitness\", \"health-tracking\", \"nutrition-analysis\", \"exercise-tracking\", \"workout-logging\", \"calorie-burning\", \"healthy-lifestyle\", \"weight-management\", \"personalized-nutrition\", \"fitness-goals\", \"wellness-journey\", \"weight-tracking\", \"body-weight\", \"bmi-calculation\", \"weight-monitoring\"], \"openclaw\":{\"emoji\":\"🍎\",\"homepage\":\"https://us.guangxiankeji.com/calorie/\"}}\n---\n\n# Smart Health and Nutrition Management\n\n## Core Functionality\n\nThis agent provides intelligent health and nutrition management solutions, integrating food analysis, exercise analysis, and API service modules to achieve food recognition, exercise recognition, nutrition analysis, calorie expenditure analysis, data persistence storage, query statistics, and full lifecycle management. It empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\n\n## Business Processes\n\n### Food Logging Process\n1. **User Input**: Receives user's food descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Food Recognition**: Calls food analysis module to parse food types and portions\n4. **Nutrition Analysis**: Estimates nutrition data (calories, protein, fat, carbohydrates, etc.) based on food analysis results\n5. **Data Storage**: Displays recognition results and nutrition data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store food records to the database, including food information, nutrition data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Exercise Logging Process\n1. **User Input**: Receives user's exercise descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Exercise Recognition**: Calls exercise analysis module to parse exercise types and durations\n4. **Calorie Expenditure Analysis**: Estimates calorie expenditure data (calories) based on exercise analysis results\n5. **Data Storage**: Displays recognition results and calorie expenditure data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store exercise records to the database, including exercise information, calorie expenditure data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Weight Logging Process\n1. **User Input**: Receives user's weight descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Weight Recognition**: Calls weight analysis module to parse weight values and units\n4. **Weight Analysis**: Calculates BMI and analyzes weight change trends based on weight data\n5. **Data Storage**: Displays recognition results and analysis data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store weight records to the database, including weight information, BMI data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Data Query Process\n1. **Receive Query Request**: Users query historical food records, exercise records, weight records, daily intake, daily expenditure, weight change trends, or specific time period data\n2. **Data Retrieval**: Calls API service module to query relevant records from the database\n3. **Data Aggregation**: Statistics total nutrition intake, total calorie expenditure, and weight change data based on time range (day/week/month)\n4. **Result Display**: Returns query results, nutrition analysis reports, and weight change trend analysis in structured format\n\n### Data Management Process\n- **Create**: Add new food records, exercise records, or weight records (same as food logging process, exercise logging process, or weight logging process)\n- **Read**: Query historical records and statistics\n- **Update**: Modify recorded food information, exercise information, or weight information (e.g., adjust portion, correct food type, adjust duration, correct exercise type, correct weight value)\n- **Delete**: Remove erroneous food records, exercise records, or weight records\n\n### Module Collaboration Mechanism\n- **Food Analysis Module**: Responsible for food recognition and portion estimation\n- **Exercise Analysis Module**: Responsible for exercise recognition and duration estimation\n- **Weight Analysis Module**: Responsible for weight recording and trend analysis\n- **API Service Module**: Implements data persistence, query statistics, and full lifecycle management\n\n## Interaction Standards\n\n### Response Principles\n- **Concise and Efficient**: Responses must be concise and direct, conveying key information without redundant content\n- **Focus on Topic**: Strictly revolves around user's current request, without introducing irrelevant topics or expanding discussions\n\n### Response Standards\n\n**Expression Methods**:\n- Organize responses naturally and personally, flowing smoothly like everyday conversation\n- Flexibly adjust expression methods based on context, appropriately varying tone and wording\n- Core information must be fully conveyed: operation results, key data (e.g., food names, calories, etc.)\n\n**Conciseness Principles**:\n- Avoid lengthy headings and separators\n- List nutrition data directly without excessive decoration\n- Summarize information in one or a few sentences\n\n**Prohibited Technical Content in Output**:\n- Record IDs, database table names, API endpoint addresses\n- Technical implementation details, timestamps (unless specifically asked by users)\n\n## Integrated Core Modules\n\n### Food Analysis Module\n[Food Analysis Module](./food-analyzer.md)\n\n### Exercise Analysis Module\n[Exercise Analysis Module](./exercise-analyzer.md)\n\n### Weight Analysis Module\n[Weight Analysis Module](./weight-analyzer.md)\n\n### API Service Module\n[API Service Module](./api-service.md)\n\n## Data and Privacy\n\n### Data Processing Localization\n\nAll data processing is completed locally to ensure user privacy and data security:\n\n- **Semantic Analysis and Reasoning**: Local large models complete natural language understanding, nutrition estimation, and calorie calculation;\n- **Data Isolation**: All user raw data (text) is processed locally only, and is not uploaded to any external servers.\n- **Temporary Data**: All temporary processing data (text intermediate results) is immediately cleared after task completion, without establishing any form of local data persistence or logging;\n\n### External Service Interfaces\nThis skill uses the following external API services for data storage and query:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Data Types\nThis skill collects and processes the following types of personal health data:\n- Food records (food name, weight, nutrition components)\n- Exercise records (exercise type, duration, calorie expenditure)\n- Weight records (weight value, BMI data)\n\n### Service Provider\n- **Provider**: Beijing Guangxian Technology Co., Ltd.\n- **Official Website**: https://us.guangxiankeji.com/calorie/\n- **Privacy Policy**: https://us.guangxiankeji.com/calorie/#/privacy\n- **Service Terms**: https://us.guangxiankeji.com/calorie/#/terms\n\n### Data Security\n- Data stored in cloud servers compliant with GDPR and CCPA standards\n- Data retention period is 24 months, after which data will be automatically anonymized\n- Encrypted transmission ensures data security\n\nFile v1.0.22:_meta.json\n\n{\n  \"ownerId\": \"kn70zwrzentsr3ez1ma8tybb4n83hf93\",\n  \"slug\": \"calorie-tracker\",\n  \"version\": \"1.0.22\",\n  \"publishedAt\": 1777254095192\n}\n\nFile v1.0.22:api-service.md\n\n# API Service Module\n\nRESTful API service providing standardized data access interfaces, supporting full lifecycle management of food records (create, read, update, delete, statistics, multi-dimensional aggregation), integrating accurate food calorie and nutrition component retrieval, implementing data persistence storage and intelligent analysis capabilities, providing reliable and efficient data service support for the agent.\n\n## API Interface Specifications\n\n### Interface Address\n\nAPI service base address:\n- United States: `https://us.guangxiankeji.com/calorie/service/user`\n- China: `https://cn.guangxiankeji.com/calorie/service/user`\n\n### Interface Documentation\n\n**Important Note**: Interfaces are cloud services and may change at any time. Please obtain the latest interface information through the following addresses:\n\n**API Specification Addresses**:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Interface Acquisition Method\n\nAgents should access the above API specification addresses in real-time to obtain the latest interface definitions, including:\n- Interface paths\n- Request methods\n- Parameter descriptions\n- Response formats\n- Error code definitions\n\n### Authentication Method\n- **API Authentication**: Use authentication mechanism based on email + verification code, authorized through Bearer Token\n\n### Authentication Flow\n1. **Send Verification Code**: Send a POST request to `/auth/send-code` endpoint with email address to obtain verification code\n2. **Login to Get Token**: Send a POST request to `/auth/login` endpoint with email address and verification code to obtain access token\n3. **Use Token**: Pass token in `Bearer <access_token>` format in the Authorization header of subsequent API requests\n\n### Token Management\n- **Token Validity**: Access token validity is based on the information returned by the login endpoint\n- **Token Storage**: Agents should securely store access tokens and reuse them within the validity period\n- **Token Refresh**: After token expiration, re-execute the login flow to obtain a new token\n\n### Service Address Change Handling\n\n**Service Discovery Mechanism**: If API service cannot be accessed after multiple retries, it may indicate that the service address has migrated. Please visit [ClawHub](https://clawhub.ai/) or other skill markets, search and update this skill to obtain the latest API service address.\n\n## Interface Call Principles\n\n1. **Active Acquisition**: Actively obtain latest interface information, must re-acquire when call fails\n2. **Dynamic Adaptation**: Dynamically adjust call methods based on obtained interface specifications\n3. **Error Handling**: Handle call failures caused by possible interface changes\n4. **Retry Strategy**: For call failure situations, perform up to 3 retries, with 1 second interval between each retry\n5. **Version Compatibility**: Consider version change compatibility handling\n\n## Data Processing Specifications\n\n1. **Error Handling**: Check API response status codes, handle possible errors (network errors, business logic errors, authentication errors, etc.)\n   - **Authentication Error Handling**:\n     - 401 Error: Token may be invalid or expired, need to re-execute the login flow\n     - Verification Code Error: Need to obtain a new verification code\n   - When errors are detected, immediately feedback error details to human users, and provide clear operational guidance based on error codes and error messages, assisting users in making correct decisions and handling measures.\n\n2. **Data Validation**: Ensure incoming data meets interface structural requirements, especially required fields\n\n3. **User Identifier**\n   - **Transmission Method**: User identifier is passed through Bearer Token in Authorization header, server parses user information from the token.\n   - **User Management**: Users are uniquely identified by email address, agents should store user's email address and corresponding access token.\n   - **Stability**: The same user should use the same email address to ensure historical data association.\n   - **Consistency**:\n      - **Multi-agent Consistency**: Agents and all sub-agents must ensure the same email address and access token are used to ensure user data consistency.\n      - **Multi-channel Consistency**: For multi-channel access scenarios, agents should ensure the same email address is used across different channels to guarantee user data consistency;\n   - **Privacy Statement**:\n      - **Usage Purpose**: Email address is only used for user authentication and data association, not for other purposes.\n      - **Privacy Protection**: Access token is only sent when user identity needs to be confirmed, and is not directly associated with users' real identity information.\n\n4. **Time Handling**\n   ### 4.1 Principles\n   - **Unified Standard**: API service uniformly uses UTC time, all time-related fields (e.g., created_at, timestamp, etc.) are based on UTC timezone\n   - **Format Specification**: Time format adopts ISO 8601 standard (e.g., 2024-01-15T10:30:00.000Z)\n   - **User Interaction**: Use local time for user input and display, time zone conversion is required\n   \n   ### 4.2 Conversion Rules\n   - **Querying Records**:\n     1. Calculate local time range\n     2. Convert to UTC time\n     3. Format as ISO 8601 format\n     4. Build API request\n   - **Storing Records**:\n     1. User not specifying time: Use current UTC time\n     2. User specifying local time: Convert to UTC time before storing\n   - **Displaying Records**:\n     1. Convert UTC time to local time\n     2. Display in user-familiar format\n   \n   ### 4.3 Implementation Guide\n   **Querying today's records**:\n   - Local time range: 00:00:00 to 23:59:59.999 of the current day\n   - Convert to UTC time and format as ISO 8601 standard format\n   - Use the converted time range as `start_date` and `end_date` parameters\n   \n   **Example**:\n   - User in Beijing time (UTC+8) asks about today's diet records at 18:30\n   - Local today range: 2026-03-30 00:00:00 to 2026-03-30 23:59:59.999\n   - Convert to UTC time: 2026-03-29 16:00:00 to 2026-03-30 15:59:59.999\n   - API request: `?start_date=2026-03-29T16:00:00.000Z&end_date=2026-03-30T15:59:59.999Z`\n\n5. **Unit Specifications**\n   - **Calories**: Unified use of kilocalories (kcal) as the standard unit\n   - **Food Weight**: Unified use of grams (g) as the standard unit\n   - **Nutrition Components**: Protein, carbohydrates, and fat all use grams (g) as the standard unit\n   - **Exercise Duration**: Unified use of minutes (minute) as the standard unit\n   - **Weight**: Unified use of kilograms (kg) as the standard unit\n   - **Height**: Unified use of centimeters (cm) as the standard unit\n\nFile v1.0.22:exercise-analyzer.md\n\n# Exercise Analysis Module\n\nIntelligently parses user exercise information through natural language interaction, voice input, and image uploads, recognizing exercise types and estimating durations, calculating calories consumed by exercises.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of exercise content\n- **Exercise Recognition** - Accurately recognizing exercise types in user descriptions or images\n- **Entity Extraction** - Extracting key information such as exercise names, durations, and intensity levels\n- **Duration Estimation** - Intelligently estimating exercise duration (minutes) based on descriptions or images\n- **Calorie Expenditure Estimation** - Estimating calories consumed based on exercise type, duration, and intensity\n- **Standardized Output** - Generating standardized format containing exercise information and calorie expenditure\n\n## Exercise Estimation Principles\n\n### Estimation Methodology\n\nWhen estimating exercise calorie expenditure, intelligent evaluation should be based on the following principles:\n\n1. **Call Exercise Search API**\n\nUse exercise search interface to obtain accurate calorie expenditure information for exercises. This service provides detailed data for various common exercises, covering calorie expenditure information at different intensities, helping users accurately record exercise expenditure.\n\n**API Information**\n- Endpoint: /exercises/search\n- Parameters:\n  - query: Exercise name keyword\n- Note:\n  - Intelligently select search keywords based on user's current conversation language, context information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between exercise names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt calorie expenditure data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Exercise Analysis API**\n\nUse exercise analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of exercise scenarios.\n\n**API Information**\n- Endpoint: /exercises/analyze\n- Parameters:\n  - description: Exercise content described in natural language\n  - image_url: Publicly accessible URL of the exercise image. Supports JPEG, PNG, and other common image formats. When provided, the system will use image recognition to analyze the exercise.\n- Note:\n  - At least one of description or image_url must be provided\n  - Should fully transmit the user's original exercise description input, ensuring no details are lost, including exercise names, durations, intensity, and other relevant information, to support comprehensive and accurate analysis by the interface.\n\n**Output Content**\n- Exercise name, duration, calorie expenditure, intensity, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Exercise Processing Strategy**\n- **Independent Exercise Separation**: When user description contains multiple independent exercises, should be split into multiple independent requests\n  - Example: \"I ran for 30 minutes, then swam for 1 hour\" → Split into two independent calls\n  - Judgment criteria: Exercises have clear separation, connected by parallel conjunctions such as comma or \"and\", and each exercise maintains independent form\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call exercise analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate exercise type, duration, and calorie expenditure data\n    - Or call exercise search API:\n        - Obtain accurate calorie expenditure data through keyword search\n    - When API call fails:\n        - Estimate duration and calories based on common sense\n        - Estimate calorie expenditure based on public information\n    ↓\n[3] Generate Output\n    - Standardize exercise names\n    - Determine final duration (minutes)\n    - Output calorie expenditure estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"exercise_name\": \"Running\",\n      \"duration\": 30,\n      \"calories\": 300,\n      \"intensity\": \"medium\"\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize exercise types and assess durations, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific exercise names, durations, and intensity levels\n- **Quantitative Information**: Provide specific durations when possible, such as \"30 minutes running\", \"1 hour swimming\"\n- **Avoid Ambiguous Expressions**: Use clear duration descriptions, such as \"30 minutes\" instead of \"a while\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and duration units are clearly distinguishable\n- **Complete Description**: Include exercise names, durations, and intensity levels\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Exercise Equipment**: Include display information from exercise equipment (e.g., treadmills, elliptical trainers) in images\n- **Photograph Exercise App Screenshots**: Photograph exercise app data interfaces, ensuring duration and calorie expenditure are clearly visible\n- **Photograph Wearable Devices**: Photograph exercise data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Multi-angle Photography**: For complex exercise scenarios, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.22:food-analyzer.md\n\n# Food Analysis Module\n\nIntelligently parses user food information through natural language interaction, recognizing food types and estimating weights, calculating food calories and nutrition components.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of food content\n- **Food Recognition** - Accurately recognizing food types in user descriptions\n- **Entity Extraction** - Extracting key information such as food names and quantities\n- **Weight Estimation** - Intelligently estimating food weight (grams) based on descriptions\n- **Nutrition Component Estimation** - Estimating food calories and nutrition components based on public information and common sense reasoning\n- **Standardized Output** - Generating standardized format containing food information and nutrition components\n\n## Food Analysis Principles\n\n### Methodology\n\nWhen analyzing food, intelligent evaluation should be based on the following principles:\n\n1. **Call Food Search API**\n\nUse food search interface to obtain accurate calorie and nutrition component information for foods. This service covers over 56 countries and regions, providing over 2.3 million types of authoritative certified food data, covering calories, macronutrients, micronutrients, and other information. Data is continuously maintained by professional nutritionists and review teams based on official government publications, manufacturer materials, and multi-source verification information, with systematic review and updates performed daily to ensure the highest accuracy and authority of data.\n\n**API Information**\n- Endpoint: /foods/search\n- Parameters:\n  - query: Food name keyword\n  - region: Country codes (US, CN, JP, etc.), optional, default value is US\n- Note:\n  - Intelligently select region parameter based on user's current conversation language, context information, user information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between food names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt nutrition component data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Food Analysis API**\n\nUse food analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of complex dietary scenarios. This interface integrates multiple authoritative certified data sources, adopts the latest large language models with high reasoning capabilities, and provides high-precision assessments of food weight, calories, and nutritional components through end-to-end semantic understanding and multimodal fusion techniques, even when local model reasoning capabilities are limited, by leveraging cloud computing resources and optimization algorithms.\n\n**API Information**\n- Endpoint: /foods/analyze\n- Parameters:\n  - description: Food description in natural language\n  - image_urls: Array of publicly accessible URLs of food images. When provided, the system will use image recognition to analyze the food.\n- Note:\n  - At least one of description or image_urls must be provided\n  - Should fully transmit the user's original food description input, ensuring no details are lost, including food names, quantities, weights, states, cooking methods, and other relevant information, to support comprehensive and accurate analysis by the interface.\n  - Refer to the API documentation for specific parameter formats and limitations\n\n**Output Content**\n- Food name, weight, calories, protein, carbohydrates, fat, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Food Processing Strategy**\n- **Independent Food Separation**: When user description contains multiple independent foods, should be split into multiple independent requests\n  - Example: \"I just ate an apple, a cup of milk, and a bun\" → Split into three independent calls\n  - Judgment criteria: Foods have clear separation, connected by parallel conjunctions such as comma, \"and\", etc., and each food maintains independent form\n  \n- **Composite Dish Merging**: When user description is a composite food or dish, should be treated as a single whole for one call\n  - Example: \"I just ate a serving of potato stewed beef\" → Call once directly, no splitting\n  - Judgment criteria: Ingredients are mixed and integrated, forming a dish with a specific name, users regard it as a single food unit\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call food analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate food weight and nutrition component data\n    - Or call food search API:\n        - Obtain accurate nutrition component data through keyword search\n    - When API call fails:\n        - Estimate weight based on common portion sizes\n        - Estimate calories and nutrition components based on public information\n    ↓\n[3] Generate Output\n    - Standardize food names\n    - Determine final weight (grams)\n    - Output nutrition component estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"meal_type\": \"breakfast\",\n  \"items\": [\n    {\n      \"food_name\": \"Rice Porridge\",\n      \"weight\": 250,\n      \"calories\": 75,\n      \"protein\": 2.5,\n      \"carbs\": 16,\n      \"fat\": 0.5\n    },\n    {\n      \"food_name\": \"Steamed Bun\",\n      \"weight\": 180,\n      \"calories\": 360,\n      \"protein\": 12,\n      \"carbs\": 50,\n      \"fat\": 12\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize food types and assess weights, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific food names, cooking methods, and portion sizes\n- **Quantitative Information**: Provide specific weights or quantities when possible, such as \"100g chicken breast\", \"one bowl of 200ml porridge\"\n- **Avoid Ambiguous Expressions**: Use clear quantity words, such as \"one medium-sized apple\" instead of \"one apple\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and quantity words are clearly distinguishable\n- **Complete Description**: Include food names, portions, and cooking methods\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Reference Objects**: Include common items (e.g., mobile phones, utensils) in images as size references\n- **Photograph Food Scales**: If using food scales for weight, ensure scale numbers are clearly visible\n- **Photograph Nutrition Labels**: For packaged foods, photograph nutrition labels on packaging\n- **Photograph Complete Packaging**: Include weight information and product names on packaging\n- **Adequate Lighting**: Ensure images have adequate lighting and food details are clearly visible\n- **Multi-angle Photography**: For complex foods, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.22:weight-analyzer.md\n\n# Weight Analysis Module\n\nIntelligently parses user weight information through natural language interaction, recording weight data and analyzing weight change trends to provide users with weight management references.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of weight content\n- **Weight Recording** - Accurately recording weight data from user descriptions or images\n- **Entity Extraction** - Extracting key information such as weight values, measurement times, and weight scale types\n- **Trend Analysis** - Analyzing user weight change trends and providing health recommendations\n- **Standardized Output** - Generating standardized format containing weight information and change trends\n\n## Weight Data Estimation Principles\n\n### Estimation Methodology\n\nWhen processing weight data, intelligent evaluation should be based on the following principles:\n\n1. **Based on Common Sense and Public Data**: Reference healthy weight ranges, BMI calculation standards, and other authoritative data, combined with user information for analysis.\n\n2. **Consider Weight Description Semantics**: Accurately understand weight values and units in user descriptions (e.g., \"60 kg\", \"130 jin\", \"180 lbs\"), and judge actual weight based on context.\n\n3. **Comprehensive User Characteristics**: Consider factors affecting weight such as user age, gender, height, and body fat percentage. For example:\n   - Healthy weight ranges differ for different age groups\n   - Body fat percentage standards differ for different genders\n   - Height impact on weight (through BMI calculation)\n\n4. **Prioritize Explicit Numerical Values**: If users provide specific weight values and units, directly use those values.\n\n5. **Estimation Uncertainty**: For ambiguous descriptions, request clarification from users when necessary to ensure result accuracy and reliability.\n\n### Estimation Accuracy Requirements\n\n- Prioritize authoritative data sources\n- Maintain consistency and interpretability of data recording\n- All weight data must be accurate and reliable\n- Pay attention to accuracy of unit conversions (e.g., kg to jin, lbs)\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Semantic Analysis\n    - Recognize weight description intent\n    - Extract weight-related descriptions\n    ↓\n[3] Entity Recognition\n    - Extract weight values\n    - Identify units (kg, jin, lbs, etc.)\n    - Identify measurement times (today, yesterday, last week, etc.)\n    ↓\n[4] Weight Data Processing\n    - Extract weight values and units based on descriptions\n    - Unit conversion (if necessary)\n    - Calculate BMI (if height information is provided)\n    ↓\n[5] Trend Analysis\n    - Compare with historical weight data\n    - Analyze weight change trends\n    - Calculate change rates\n    ↓\n[6] Generate Output\n    - Standardize weight values\n    - Determine final units\n    - Output weight analysis results and trends\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"weight\": 60,\n      \"unit\": \"kg\",\n      \"date\": \"2023-10-01\",\n      \"bmi\": 22.5,\n      \"status\": \"Normal\"\n    }\n  ]\n}\n```\n\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately record and analyze weight data, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific weight values and units, such as \"60 kg\", \"130 jin\"\n- **Include Time**: Provide measurement times when possible, such as \"weight today is 60 kg\"\n- **Provide Height**: If BMI calculation is needed, provide height information, such as \"height 170 cm, weight 60 kg\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and units are clearly distinguishable\n- **Complete Description**: Include weight values, units, and measurement times\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Photograph Weight Scales**: Ensure weight scale numbers are clearly visible\n- **Photograph Health Apps**: Photograph health app weight data interfaces, ensuring values are clearly visible\n- **Photograph Wearable Devices**: Photograph weight data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Photograph Complete Interfaces**: Include weight values, units, and measurement times\n\nArchive v1.0.21: 6 files, 13721 bytes\n\nFiles: api-service.md (6734b), exercise-analyzer.md (6186b), food-analyzer.md (7436b), SKILL.md (9068b), weight-analyzer.md (4533b), _meta.json (135b)\n\nFile v1.0.21:SKILL.md\n\n---\nname: \"calorie-tracker\"\ndescription: \"Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management. Empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\"\nmetadata: {\"tags\":[\"nutrition\", \"health\", \"food-tracking\", \"diet\", \"wellness\", \"food-recognition\", \"calorie-counting\", \"fitness\", \"health-tracking\", \"nutrition-analysis\", \"exercise-tracking\", \"workout-logging\", \"calorie-burning\", \"healthy-lifestyle\", \"weight-management\", \"personalized-nutrition\", \"fitness-goals\", \"wellness-journey\", \"weight-tracking\", \"body-weight\", \"bmi-calculation\", \"weight-monitoring\"], \"openclaw\":{\"emoji\":\"🍎\",\"homepage\":\"https://us.guangxiankeji.com/calorie/\"}}\n---\n\n# Smart Health and Nutrition Management\n\n## Core Functionality\n\nThis agent provides intelligent health and nutrition management solutions, integrating food analysis, exercise analysis, and API service modules to achieve food recognition, exercise recognition, nutrition analysis, calorie expenditure analysis, data persistence storage, query statistics, and full lifecycle management. It empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\n\n## Business Processes\n\n### Food Logging Process\n1. **User Input**: Receives user's food descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Food Recognition**: Calls food analysis module to parse food types and portions\n4. **Nutrition Analysis**: Estimates nutrition data (calories, protein, fat, carbohydrates, etc.) based on food analysis results\n5. **Data Storage**: Displays recognition results and nutrition data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store food records to the database, including food information, nutrition data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Exercise Logging Process\n1. **User Input**: Receives user's exercise descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Exercise Recognition**: Calls exercise analysis module to parse exercise types and durations\n4. **Calorie Expenditure Analysis**: Estimates calorie expenditure data (calories) based on exercise analysis results\n5. **Data Storage**: Displays recognition results and calorie expenditure data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store exercise records to the database, including exercise information, calorie expenditure data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Weight Logging Process\n1. **User Input**: Receives user's weight descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Weight Recognition**: Calls weight analysis module to parse weight values and units\n4. **Weight Analysis**: Calculates BMI and analyzes weight change trends based on weight data\n5. **Data Storage**: Displays recognition results and analysis data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store weight records to the database, including weight information, BMI data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Data Query Process\n1. **Receive Query Request**: Users query historical food records, exercise records, weight records, daily intake, daily expenditure, weight change trends, or specific time period data\n2. **Data Retrieval**: Calls API service module to query relevant records from the database\n3. **Data Aggregation**: Statistics total nutrition intake, total calorie expenditure, and weight change data based on time range (day/week/month)\n4. **Result Display**: Returns query results, nutrition analysis reports, and weight change trend analysis in structured format\n\n### Data Management Process\n- **Create**: Add new food records, exercise records, or weight records (same as food logging process, exercise logging process, or weight logging process)\n- **Read**: Query historical records and statistics\n- **Update**: Modify recorded food information, exercise information, or weight information (e.g., adjust portion, correct food type, adjust duration, correct exercise type, correct weight value)\n- **Delete**: Remove erroneous food records, exercise records, or weight records\n\n### Module Collaboration Mechanism\n- **Food Analysis Module**: Responsible for food recognition and portion estimation\n- **Exercise Analysis Module**: Responsible for exercise recognition and duration estimation\n- **Weight Analysis Module**: Responsible for weight recording and trend analysis\n- **API Service Module**: Implements data persistence, query statistics, and full lifecycle management\n\n## Interaction Standards\n\n### Response Principles\n- **Concise and Efficient**: Responses must be concise and direct, conveying key information without redundant content\n- **Focus on Topic**: Strictly revolves around user's current request, without introducing irrelevant topics or expanding discussions\n\n### Response Standards\n\n**Expression Methods**:\n- Organize responses naturally and personally, flowing smoothly like everyday conversation\n- Flexibly adjust expression methods based on context, appropriately varying tone and wording\n- Core information must be fully conveyed: operation results, key data (e.g., food names, calories, etc.)\n\n**Conciseness Principles**:\n- Avoid lengthy headings and separators\n- List nutrition data directly without excessive decoration\n- Summarize information in one or a few sentences\n\n**Prohibited Technical Content in Output**:\n- Record IDs, database table names, API endpoint addresses\n- Technical implementation details, timestamps (unless specifically asked by users)\n\n## Integrated Core Modules\n\n### Food Analysis Module\n[Food Analysis Module](./food-analyzer.md)\n\n### Exercise Analysis Module\n[Exercise Analysis Module](./exercise-analyzer.md)\n\n### Weight Analysis Module\n[Weight Analysis Module](./weight-analyzer.md)\n\n### API Service Module\n[API Service Module](./api-service.md)\n\n## Data and Privacy\n\n### Data Processing Localization\n\nAll data processing is completed locally to ensure user privacy and data security:\n\n- **Semantic Analysis and Reasoning**: Local large models complete natural language understanding, nutrition estimation, and calorie calculation;\n- **Data Isolation**: All user raw data (text) is processed locally only, and is not uploaded to any external servers.\n- **Temporary Data**: All temporary processing data (text intermediate results) is immediately cleared after task completion, without establishing any form of local data persistence or logging;\n\n### External Service Interfaces\nThis skill uses the following external API services for data storage and query:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Data Types\nThis skill collects and processes the following types of personal health data:\n- Food records (food name, weight, nutrition components)\n- Exercise records (exercise type, duration, calorie expenditure)\n- Weight records (weight value, BMI data)\n\n### Service Provider\n- **Provider**: Beijing Guangxian Technology Co., Ltd.\n- **Official Website**: https://us.guangxiankeji.com/calorie/\n- **Privacy Policy**: https://us.guangxiankeji.com/calorie/#/privacy\n- **Service Terms**: https://us.guangxiankeji.com/calorie/#/terms\n\n### Data Security\n- Data stored in cloud servers compliant with GDPR and CCPA standards\n- Data retention period is 24 months, after which data will be automatically anonymized\n- Encrypted transmission ensures data security\n\nFile v1.0.21:_meta.json\n\n{\n  \"ownerId\": \"kn70zwrzentsr3ez1ma8tybb4n83hf93\",\n  \"slug\": \"calorie-tracker\",\n  \"version\": \"1.0.21\",\n  \"publishedAt\": 1776659049249\n}\n\nFile v1.0.21:api-service.md\n\n# API Service Module\n\nRESTful API service providing standardized data access interfaces, supporting full lifecycle management of food records (create, read, update, delete, statistics, multi-dimensional aggregation), integrating accurate food calorie and nutrition component retrieval, implementing data persistence storage and intelligent analysis capabilities, providing reliable and efficient data service support for the agent.\n\n## API Interface Specifications\n\n### Interface Address\n\nAPI service base address:\n- United States: `https://us.guangxiankeji.com/calorie/service/user`\n- China: `https://cn.guangxiankeji.com/calorie/service/user`\n\n### Interface Documentation\n\n**Important Note**: Interfaces are cloud services and may change at any time. Please obtain the latest interface information through the following addresses:\n\n**API Specification Addresses**:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Interface Acquisition Method\n\nAgents should access the above API specification addresses in real-time to obtain the latest interface definitions, including:\n- Interface paths\n- Request methods\n- Parameter descriptions\n- Response formats\n- Error code definitions\n\n### Authentication Method\n- **API Authentication**: Use authentication mechanism based on email + verification code, authorized through Bearer Token\n\n### Authentication Flow\n1. **Send Verification Code**: Send a POST request to `/auth/send-code` endpoint with email address to obtain verification code\n2. **Login to Get Token**: Send a POST request to `/auth/login` endpoint with email address and verification code to obtain access token\n3. **Use Token**: Pass token in `Bearer <access_token>` format in the Authorization header of subsequent API requests\n\n### Token Management\n- **Token Validity**: Access token is valid for 7 days\n- **Token Storage**: Agents should securely store access tokens and reuse them within the validity period\n- **Token Refresh**: After token expiration, re-execute the login flow to obtain a new token\n\n### Service Address Change Handling\n\n**Service Discovery Mechanism**: If API service cannot be accessed after multiple retries, it may indicate that the service address has migrated. Please visit [ClawHub](https://clawhub.ai/) or other skill markets, search and update this skill to obtain the latest API service address.\n\n## Interface Call Principles\n\n1. **Active Acquisition**: Actively obtain latest interface information, must re-acquire when call fails\n2. **Dynamic Adaptation**: Dynamically adjust call methods based on obtained interface specifications\n3. **Error Handling**: Handle call failures caused by possible interface changes\n4. **Retry Strategy**: For call failure situations, perform up to 3 retries, with 1 second interval between each retry\n5. **Version Compatibility**: Consider version change compatibility handling\n\n## Data Processing Specifications\n\n1. **Error Handling**: Check API response status codes, handle possible errors (network errors, business logic errors, authentication errors, etc.)\n   - **Authentication Error Handling**:\n     - 401 Error: Token may be invalid or expired, need to re-execute the login flow\n     - Verification Code Error: Need to obtain a new verification code\n   - When errors are detected, immediately feedback error details to human users, and provide clear operational guidance based on error codes and error messages, assisting users in making correct decisions and handling measures.\n\n2. **Data Validation**: Ensure incoming data meets interface structural requirements, especially required fields\n\n3. **User Identifier**\n   - **Transmission Method**: User identifier is passed through Bearer Token in Authorization header, server parses user information from the token.\n   - **User Management**: Users are uniquely identified by email address, agents should store user's email address and corresponding access token.\n   - **Stability**: The same user should use the same email address to ensure historical data association.\n   - **Consistency**:\n      - **Multi-agent Consistency**: Agents and all sub-agents must ensure the same email address and access token are used to ensure user data consistency.\n      - **Multi-channel Consistency**: For multi-channel access scenarios, agents should ensure the same email address is used across different channels to guarantee user data consistency;\n   - **Privacy Statement**:\n      - **Usage Purpose**: Email address is only used for user authentication and data association, not for other purposes.\n      - **Privacy Protection**: Access token is only sent when user identity needs to be confirmed, and is not directly associated with users' real identity information.\n\n4. **Time Handling**\n   ### 4.1 Principles\n   - **Unified Standard**: API service uniformly uses UTC time, all time-related fields (e.g., created_at, timestamp, etc.) are based on UTC timezone\n   - **Format Specification**: Time format adopts ISO 8601 standard (e.g., 2024-01-15T10:30:00.000Z)\n   - **User Interaction**: Use local time for user input and display, time zone conversion is required\n   \n   ### 4.2 Conversion Rules\n   - **Querying Records**:\n     1. Calculate local time range\n     2. Convert to UTC time\n     3. Format as ISO 8601 format\n     4. Build API request\n   - **Storing Records**:\n     1. User not specifying time: Use current UTC time\n     2. User specifying local time: Convert to UTC time before storing\n   - **Displaying Records**:\n     1. Convert UTC time to local time\n     2. Display in user-familiar format\n   \n   ### 4.3 Implementation Guide\n   **Querying today's records**:\n   - Local time range: 00:00:00 to 23:59:59.999 of the current day\n   - Convert to UTC time and format as ISO 8601 standard format\n   - Use the converted time range as `start_date` and `end_date` parameters\n   \n   **Example**:\n   - User in Beijing time (UTC+8) asks about today's diet records at 18:30\n   - Local today range: 2026-03-30 00:00:00 to 2026-03-30 23:59:59.999\n   - Convert to UTC time: 2026-03-29 16:00:00 to 2026-03-30 15:59:59.999\n   - API request: `?start_date=2026-03-29T16:00:00.000Z&end_date=2026-03-30T15:59:59.999Z`\n\n5. **Unit Specifications**\n   - **Calories**: Unified use of kilocalories (kcal) as the standard unit\n   - **Food Weight**: Unified use of grams (g) as the standard unit\n   - **Nutrition Components**: Protein, carbohydrates, and fat all use grams (g) as the standard unit\n   - **Exercise Duration**: Unified use of minutes (minute) as the standard unit\n   - **Weight**: Unified use of kilograms (kg) as the standard unit\n   - **Height**: Unified use of centimeters (cm) as the standard unit\n\nFile v1.0.21:exercise-analyzer.md\n\n# Exercise Analysis Module\n\nIntelligently parses user exercise information through natural language interaction, voice input, and image uploads, recognizing exercise types and estimating durations, calculating calories consumed by exercises.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of exercise content\n- **Exercise Recognition** - Accurately recognizing exercise types in user descriptions or images\n- **Entity Extraction** - Extracting key information such as exercise names, durations, and intensity levels\n- **Duration Estimation** - Intelligently estimating exercise duration (minutes) based on descriptions or images\n- **Calorie Expenditure Estimation** - Estimating calories consumed based on exercise type, duration, and intensity\n- **Standardized Output** - Generating standardized format containing exercise information and calorie expenditure\n\n## Exercise Estimation Principles\n\n### Estimation Methodology\n\nWhen estimating exercise calorie expenditure, intelligent evaluation should be based on the following principles:\n\n1. **Call Exercise Search API**\n\nUse exercise search interface to obtain accurate calorie expenditure information for exercises. This service provides detailed data for various common exercises, covering calorie expenditure information at different intensities, helping users accurately record exercise expenditure.\n\n**API Information**\n- Endpoint: /exercises/search\n- Parameters:\n  - query: Exercise name keyword\n- Note:\n  - Intelligently select search keywords based on user's current conversation language, context information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between exercise names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt calorie expenditure data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Exercise Analysis API**\n\nUse exercise analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of exercise scenarios.\n\n**API Information**\n- Endpoint: /exercises/analyze\n- Parameters:\n  - description: Exercise content described in natural language\n  - image_url: Publicly accessible URL of the exercise image. Supports JPEG, PNG, and other common image formats. When provided, the system will use image recognition to analyze the exercise.\n- Note:\n  - At least one of description or image_url must be provided\n  - Should fully transmit the user's original exercise description input, ensuring no details are lost, including exercise names, durations, intensity, and other relevant information, to support comprehensive and accurate analysis by the interface.\n\n**Output Content**\n- Exercise name, duration, calorie expenditure, intensity, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Exercise Processing Strategy**\n- **Independent Exercise Separation**: When user description contains multiple independent exercises, should be split into multiple independent requests\n  - Example: \"I ran for 30 minutes, then swam for 1 hour\" → Split into two independent calls\n  - Judgment criteria: Exercises have clear separation, connected by parallel conjunctions such as comma or \"and\", and each exercise maintains independent form\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call exercise analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate exercise type, duration, and calorie expenditure data\n    - Or call exercise search API:\n        - Obtain accurate calorie expenditure data through keyword search\n    - When API call fails:\n        - Estimate duration and calories based on common sense\n        - Estimate calorie expenditure based on public information\n    ↓\n[3] Generate Output\n    - Standardize exercise names\n    - Determine final duration (minutes)\n    - Output calorie expenditure estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"items\": [\n    {\n      \"exercise_name\": \"Running\",\n      \"duration\": 30,\n      \"calories\": 300,\n      \"intensity\": \"medium\"\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize exercise types and assess durations, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific exercise names, durations, and intensity levels\n- **Quantitative Information**: Provide specific durations when possible, such as \"30 minutes running\", \"1 hour swimming\"\n- **Avoid Ambiguous Expressions**: Use clear duration descriptions, such as \"30 minutes\" instead of \"a while\"\n\n### Voice Input Tips\n- **Clear Pronunciation**: Moderate speech rate to ensure numbers and duration units are clearly distinguishable\n- **Complete Description**: Include exercise names, durations, and intensity levels\n- **Quiet Environment**: Record in quiet environments to reduce background noise interference\n\n### Image Input Tips\n- **Include Exercise Equipment**: Include display information from exercise equipment (e.g., treadmills, elliptical trainers) in images\n- **Photograph Exercise App Screenshots**: Photograph exercise app data interfaces, ensuring duration and calorie expenditure are clearly visible\n- **Photograph Wearable Devices**: Photograph exercise data displayed on smart wristbands, watches, or other devices\n- **Adequate Lighting**: Ensure images have adequate lighting and display information is clearly visible\n- **Multi-angle Photography**: For complex exercise scenarios, photograph from multiple angles to provide more comprehensive information\n\nFile v1.0.21:food-analyzer.md\n\n# Food Analysis Module\n\nIntelligently parses user food information through natural language interaction, recognizing food types and estimating weights, calculating food calories and nutrition components.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of food content\n- **Food Recognition** - Accurately recognizing food types in user descriptions\n- **Entity Extraction** - Extracting key information such as food names and quantities\n- **Weight Estimation** - Intelligently estimating food weight (grams) based on descriptions\n- **Nutrition Component Estimation** - Estimating food calories and nutrition components based on public information and common sense reasoning\n- **Standardized Output** - Generating standardized format containing food information and nutrition components\n\n## Food Analysis Principles\n\n### Methodology\n\nWhen analyzing food, intelligent evaluation should be based on the following principles:\n\n1. **Call Food Search API**\n\nUse food search interface to obtain accurate calorie and nutrition component information for foods. This service covers over 56 countries and regions, providing over 2.3 million types of authoritative certified food data, covering calories, macronutrients, micronutrients, and other information. Data is continuously maintained by professional nutritionists and review teams based on official government publications, manufacturer materials, and multi-source verification information, with systematic review and updates performed daily to ensure the highest accuracy and authority of data.\n\n**API Information**\n- Endpoint: /foods/search\n- Parameters:\n  - query: Food name keyword\n  - region: Country codes (US, CN, JP, etc.), optional, default value is US\n- Note:\n  - Intelligently select region parameter based on user's current conversation language, context information, user information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between food names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt nutrition component data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Food Analysis API**\n\nUse food analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of complex dietary scenarios. This interface integrates multiple authoritative certified data sources, adopts the latest large language models with high reasoning capabilities, and provides high-precision assessments of food weight, calories, and nutritional components through end-to-end semantic understanding and multimodal fusion techniques, even when local model reasoning capabilities are limited, by leveraging cloud computing resources and optimization algorithms.\n\n**API Information**\n- Endpoint: /foods/analyze\n- Parameters:\n  - description: Food description in natural language\n  - image_url: Publicly accessible URL of the food image. Supports JPEG, PNG, and other common image formats. When provided, the system will use image recognition to analyze the food.\n- Note:\n  - At least one of description or image_url must be provided\n  - Should fully transmit the user's original food description input, ensuring no details are lost, including food names, quantities, weights, states, cooking methods, and other relevant information, to support comprehensive and accurate analysis by the interface.\n\n**Output Content**\n- Food name, weight, calories, protein, carbohydrates, fat, and other information\n- Confidence and reasoning basis, helping to decide whether to trust the result\n\n**Multi-Food Processing Strategy**\n- **Independent Food Separation**: When user description contains multiple independent foods, should be split into multiple independent requests\n  - Example: \"I just ate an apple, a cup of milk, and a bun\" → Split into three independent calls\n  - Judgment criteria: Foods have clear separation, connected by parallel conjunctions such as comma, \"and\", etc., and each food maintains independent form\n  \n- **Composite Dish Merging**: When user description is a composite food or dish, should be treated as a single whole for one call\n  - Example: \"I just ate a serving of potato stewed beef\" → Call once directly, no splitting\n  - Judgment criteria: Ingredients are mixed and integrated, forming a dish with a specific name, users regard it as a single food unit\n\n3. **API Call Failure or No Results Handling**:\n   - Roughly estimate based on public information\n   - Clearly inform users of data limitations\n   - When API call limit is reached, prompt users with relevant limit information and guide next steps\n\n## Complete Processing Flow\n\n```\nUser Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call food analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate food weight and nutrition component data\n    - Or call food search API:\n        - Obtain accurate nutrition component data through keyword search\n    - When API call fails:\n        - Estimate weight based on common portion sizes\n        - Estimate calories and nutrition components based on public information\n    ↓\n[3] Generate Output\n    - Standardize food names\n    - Determine final weight (grams)\n    - Output nutrition component estimation results\n    ↓\nOutput Results\n```\n\n## Output Format\n\n```json\n{\n  \"meal_type\": \"breakfast\",\n  \"items\": [\n    {\n      \"food_name\": \"Rice Porridge\",\n      \"weight\": 250,\n      \"calories\": 75,\n      \"protein\": 2.5,\n      \"carbs\": 16,\n      \"fat\": 0.5\n    },\n    {\n      \"food_name\": \"Steamed Bun\",\n      \"weight\": 180,\n      \"calories\": 360,\n      \"protein\": 12,\n      \"carbs\": 50,\n      \"fat\": 12\n    }\n  ]\n}\n```\n\n## Tips for Improving Entry Accuracy\n\nTo help the agent more accurately recognize food types and assess weights, users can adopt the following methods:\n\n### Text Input Tips\n- **Detailed Description**: Provide specific food names, cooking methods, and portion sizes\n- **Quantitative Information**: Provide specific weights or quanti\n\nArchive v1.0.20: 6 files, 13520 bytes\n\nFiles: api-service.md (6734b), exercise-analyzer.md (5921b), food-analyzer.md (7179b), SKILL.md (9068b), weight-analyzer.md (4567b), _meta.json (135b)\n\nArchive v1.0.19: 6 files, 16390 bytes\n\nFiles: api-service.md (6734b), exercise-analyzer.md (10861b), food-analyzer.md (9050b), SKILL.md (10186b), weight-analyzer.md (7027b), _meta.json (135b)\n\nArchive v1.0.18: 6 files, 16184 bytes\n\nFiles: api-service.md (6734b), exercise-analyzer.md (10861b), food-analyzer.md (8532b), SKILL.md (10186b), weight-analyzer.md (7027b), _meta.json (135b)\n\nArchive v1.0.17: 6 files, 17144 bytes\n\nFiles: api-service.md (6734b), exercise-analyzer.md (10861b), food-analyzer.md (11443b), SKILL.md (10186b), weight-analyzer.md (7027b), _meta.json (135b)\n\nArchive v1.0.16: 6 files, 17021 bytes\n\nFiles: api-service.md (6221b), exercise-analyzer.md (10861b), food-analyzer.md (11443b), SKILL.md (10186b), weight-analyzer.md (7027b), _meta.json (135b)\n\nArchive v1.0.15: 6 files, 16664 bytes\n\nFiles: api-service.md (4684b), exercise-analyzer.md (11127b), food-analyzer.md (11691b), SKILL.md (10186b), weight-analyzer.md (7218b), _meta.json (135b)","readmeExcerpt":"Skill: Calorie Tracker Owner: guangxiankeji Summary: Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management.... Tags: latest:1.0.24 Version history: v1.0.24 | 2026-05-01T16:25:57.433Z | user No file changes detected in this version. - No updates or modifications were made to the skill's files. - Functionality and docu","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"User Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call exercise analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate exercise type, duration, and calorie expenditure data\n    - Or call exercise search API:\n        - Obtain accurate calorie expenditure data through keyword search\n    - When API call fails:\n        - Estimate duration and calories based on common sense\n        - Estimate calorie expenditure based on public information\n    ↓\n[3] Generate Output\n    - Standardize exercise names\n    - Determine final duration (minutes)\n    - Output calorie expenditure estimation results\n    ↓\nOutput Results"},{"language":"json","snippet":"{\n  \"items\": [\n    {\n      \"exercise_name\": \"Running\",\n      \"duration\": 30,\n      \"calories\": 300,\n      \"intensity\": \"medium\"\n    }\n  ]\n}"},{"language":"text","snippet":"User Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Data Acquisition\n    - Call food analysis API:\n        - Use large models for deep analysis and reasoning\n        - Obtain accurate food weight and nutrition component data\n    - Or call food search API:\n        - Obtain accurate nutrition component data through keyword search\n    - When API call fails:\n        - Estimate weight based on common portion sizes\n        - Estimate calories and nutrition components based on public information\n    ↓\n[3] Generate Output\n    - Standardize food names\n    - Determine final weight (grams)\n    - Output nutrition component estimation results\n    ↓\nOutput Results"},{"language":"json","snippet":"{\n  \"meal_type\": \"breakfast\",\n  \"items\": [\n    {\n      \"food_name\": \"Rice Porridge\",\n      \"weight\": 250,\n      \"calories\": 75,\n      \"protein\": 2.5,\n      \"carbs\": 16,\n      \"fat\": 0.5\n    },\n    {\n      \"food_name\": \"Steamed Bun\",\n      \"weight\": 180,\n      \"calories\": 360,\n      \"protein\": 12,\n      \"carbs\": 50,\n      \"fat\": 12\n    }\n  ]\n}"},{"language":"text","snippet":"User Input\n    ↓\n[1] Input Type Judgment\n    - Text input\n    - Image input\n    - Text and image input\n    ↓\n[2] Semantic Analysis\n    - Recognize weight description intent\n    - Extract weight-related descriptions\n    ↓\n[3] Entity Recognition\n    - Extract weight values\n    - Identify units (kg, jin, lbs, etc.)\n    - Identify measurement times (today, yesterday, last week, etc.)\n    ↓\n[4] Weight Data Processing\n    - Extract weight values and units based on descriptions\n    - Unit conversion (if necessary)\n    - Calculate BMI (if height information is provided)\n    ↓\n[5] Trend Analysis\n    - Compare with historical weight data\n    - Analyze weight change trends\n    - Calculate change rates\n    ↓\n[6] Generate Output\n    - Standardize weight values\n    - Determine final units\n    - Output weight analysis results and trends\n    ↓\nOutput Results"},{"language":"json","snippet":"{\n  \"items\": [\n    {\n      \"weight\": 60,\n      \"unit\": \"kg\",\n      \"date\": \"2023-10-01\",\n      \"bmi\": 22.5,\n      \"status\": \"Normal\"\n    }\n  ]\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"calorie-tracker\"\ndescription: \"Smart health management solution with food and exercise recognition, nutrition and calorie analysis, secure data storage, and comprehensive data management. Empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\"\nmetadata: {\"tags\":[\"nutrition\", \"health\", \"food-tracking\", \"diet\", \"wellness\", \"food-recognition\", \"calorie-counting\", \"fitness\", \"health-tracking\", \"nutrition-analysis\", \"exercise-tracking\", \"workout-logging\", \"calorie-burning\", \"healthy-lifestyle\", \"weight-management\", \"personalized-nutrition\", \"fitness-goals\", \"wellness-journey\", \"weight-tracking\", \"body-weight\", \"bmi-calculation\", \"weight-monitoring\"], \"openclaw\":{\"emoji\":\"🍎\",\"homepage\":\"https://us.guangxiankeji.com/calorie/\"}}\n---\n\n# Smart Health and Nutrition Management\n\n## Core Functionality\n\nThis agent provides intelligent health and nutrition management solutions, integrating food analysis, exercise analysis, and API service modules to achieve food recognition, exercise recognition, nutrition analysis, calorie expenditure analysis, data persistence storage, query statistics, and full lifecycle management. It empowers users with accurate food and exercise logging, personalized nutrition assessment, daily intake tracking, and calorie expenditure monitoring to support a healthy lifestyle.\n\n## Business Processes\n\n### Food Logging Process\n1. **User Input**: Receives user's food descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Food Recognition**: Calls food analysis module to parse food types and portions\n4. **Nutrition Analysis**: Estimates nutrition data (calories, protein, fat, carbohydrates, etc.) based on food analysis results\n5. **Data Storage**: Displays recognition results and nutrition data to users, **asks users whether to record**, obtains explicit user confirmation, then calls API service module to persistently store food records to the database, including food information, nutrition data, timestamp, and user identifier\n   - **Must** ask users whether to record\n   - **Must** wait for user confirmation\n   - **Only executes storage operation after user confirmation**\n   - After storage completion, informs users with \"recorded\" or similar message\n   - For frequent operations, confirmation is not required each time; if users have indicated permission to store data, subsequent operations do not need repeated confirmation\n\n### Exercise Logging Process\n1. **User Input**: Receives user's exercise descriptions\n2. **Input Processing**: Direct semantic analysis\n3. **Exercise Recognition**: Calls exercise analysis module to parse exercise types and durations\n4. **Calorie Expenditure Analysis**: Estimates calorie expenditure data (calories) based on exercise analysis results\n5. **Data Storage**: Displays recognition results and calorie expenditure data to users, **asks users whether to record**, obtai"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70zwrzentsr3ez1ma8tybb4n83hf93\",\n  \"slug\": \"calorie-tracker\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1777652757433\n}"},{"path":"api-service.md","content":"# API Service Module\n\nRESTful API service providing standardized data access interfaces, supporting full lifecycle management of food records (create, read, update, delete, statistics, multi-dimensional aggregation), integrating accurate food calorie and nutrition component retrieval, implementing data persistence storage and intelligent analysis capabilities, providing reliable and efficient data service support for the agent.\n\n## API Interface Specifications\n\n### Interface Address\n\nAPI service base address:\n- United States: `https://us.guangxiankeji.com/calorie/service/user`\n- China: `https://cn.guangxiankeji.com/calorie/service/user`\n\n### Interface Documentation\n\n**Important Note**: Interfaces are cloud services and may change at any time. Please obtain the latest interface information through the following addresses:\n\n**API Specification Addresses**:\n- United States: `https://us.guangxiankeji.com/calorie/service/user/api-spec`\n- China: `https://cn.guangxiankeji.com/calorie/service/user/api-spec`\n\n### Interface Acquisition Method\n\nAgents should access the above API specification addresses in real-time to obtain the latest interface definitions, including:\n- Interface paths\n- Request methods\n- Parameter descriptions\n- Response formats\n- Error code definitions\n\n### Authentication Method\n- **API Authentication**: Use authentication mechanism based on email + verification code, authorized through Bearer Token\n\n### Authentication Flow\n1. **Send Verification Code**: Send a POST request to `/auth/send-code` endpoint with email address to obtain verification code\n2. **Login to Get Token**: Send a POST request to `/auth/login` endpoint with email address and verification code to obtain access token\n3. **Use Token**: Pass token in `Bearer <access_token>` format in the Authorization header of subsequent API requests\n\n### Token Management\n- **Token Validity**: Access token validity is based on the information returned by the login endpoint\n- **Token Storage**: Agents should securely store access tokens and reuse them within the validity period\n- **Token Refresh**: After token expiration, re-execute the login flow to obtain a new token\n\n### Service Address Change Handling\n\n**Service Discovery Mechanism**: If API service cannot be accessed after multiple retries, it may indicate that the service address has migrated. Please visit [ClawHub](https://clawhub.ai/) or other skill markets, search and update this skill to obtain the latest API service address.\n\n## Interface Call Principles\n\n1. **Active Acquisition**: Actively obtain latest interface information, must re-acquire when call fails\n2. **Dynamic Adaptation**: Dynamically adjust call methods based on obtained interface specifications\n3. **Error Handling**: Handle call failures caused by possible interface changes\n4. **Retry Strategy**: For call failure situations, perform up to 3 retries, with 1 second interval between each retry\n5. **Version Compatibility**: Consider version change compatibility handlin"},{"path":"exercise-analyzer.md","content":"# Exercise Analysis Module\n\nIntelligently parses user exercise information through natural language interaction, voice input, and image uploads, recognizing exercise types and estimating durations, calculating calories consumed by exercises.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of exercise content\n- **Exercise Recognition** - Accurately recognizing exercise types in user descriptions or images\n- **Entity Extraction** - Extracting key information such as exercise names, durations, and intensity levels\n- **Duration Estimation** - Intelligently estimating exercise duration (minutes) based on descriptions or images\n- **Calorie Expenditure Estimation** - Estimating calories consumed based on exercise type, duration, and intensity\n- **Standardized Output** - Generating standardized format containing exercise information and calorie expenditure\n\n## Exercise Estimation Principles\n\n### Estimation Methodology\n\nWhen estimating exercise calorie expenditure, intelligent evaluation should be based on the following principles:\n\n1. **Call Exercise Search API**\n\nUse exercise search interface to obtain accurate calorie expenditure information for exercises. This service provides detailed data for various common exercises, covering calorie expenditure information at different intensities, helping users accurately record exercise expenditure.\n\n**API Information**\n- Endpoint: /exercises/search\n- Parameters:\n  - query: Exercise name keyword\n- Note:\n  - Intelligently select search keywords based on user's current conversation language, context information, etc.\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between exercise names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt calorie expenditure data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Exercise Analysis API**\n\nUse exercise analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of exercise scenarios.\n\n**API Information**\n- Endpoint: /exercises/analyze\n- Parameters:\n  - description: Exercise content described in natural language\n  - image_urls: Array of publicly accessible URLs of exercise images. When provided, the system will use image recognition to analyze the exercise.\n- Note:\n  - At least one of description or image_urls must be provided\n  - **Original Input Pass-Through Principle (Mandatory Enforcement)**:\n    - Must pass the user's original exercise description input **completely and verbatim** to the description parameter, **strictly prohibiting any form of processing**\n    - Prohibited behaviors include but are not limited to:\n      - Summarization (e.g., simplifying \"I ran for 30 minutes, then did 20 minutes of yoga\" to \"running + yoga\")\n      - Ex"},{"path":"food-analyzer.md","content":"# Food Analysis Module\n\nIntelligently parses user food information through natural language interaction, recognizing food types and estimating weights, calculating food calories and nutrition components.\n\n## Core Capabilities\n\n- **Semantic Analysis** - Understanding user's natural language descriptions of food content\n- **Food Recognition** - Accurately recognizing food types in user descriptions\n- **Entity Extraction** - Extracting key information such as food names and quantities\n- **Weight Estimation** - Intelligently estimating food weight (grams) based on descriptions\n- **Nutrition Component Estimation** - Estimating food calories and nutrition components based on public information and common sense reasoning\n- **Standardized Output** - Generating standardized format containing food information and nutrition components\n\n## Food Analysis Principles\n\n### Methodology\n\nWhen analyzing food, intelligent evaluation should be based on the following principles:\n\n1. **Call Food Search API**\n\nUse food search interface to obtain accurate calorie and nutrition component information for foods. This service covers over 56 countries and regions, providing over 2.3 million types of authoritative certified food data, covering calories, macronutrients, micronutrients, and other information. Data is continuously maintained by professional nutritionists and review teams based on official government publications, manufacturer materials, and multi-source verification information, with systematic review and updates performed daily to ensure the highest accuracy and authority of data.\n\n**API Information**\n- Endpoint: /foods/search\n- Parameters:\n  - query: Food name keyword\n  - maxResults: Maximum number of results to return, optional, default value is 10\n\n**Search Result Assessment**\n- **Relevance Assessment**: After obtaining search results, must assess relevance between food names and query keywords, only strictly relevant results may be used as important reference\n- **Adoption Assessment**:\n  - Strictly relevant: Directly adopt nutrition component data of that result\n  - Relevant but not strictly: Carefully evaluate its reference value, considering possible errors\n\n2. **Call Food Analysis API**\n\nUse food analysis interface, which is a more advanced integrated implementation optimized for in-depth analysis of complex dietary scenarios. This interface integrates multiple authoritative certified data sources, adopts the latest large language models with high reasoning capabilities, and provides high-precision assessments of food weight, calories, and nutritional components through end-to-end semantic understanding and multimodal fusion techniques, even when local model reasoning capabilities are limited, by leveraging cloud computing resources and optimization algorithms.\n\n**API Information**\n- Endpoint: /foods/analyze\n- Parameters:\n  - description: Food description in natural language\n  - image_urls: Array of publicly accessible URLs of food images. When provided, "}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2078,"uniquenessScore":37,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T15:29:44.524Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:36:56.590Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}