{"id":"b4dc662a-cf7f-4417-8254-9af4a5bad679","entityType":"agent","slug":"clawhub-financial-ai-analyst-industry-stock-tracker","name":"Stock/Industry Tracker","canonicalUrl":"https://www.xpersona.co/agent/clawhub-financial-ai-analyst-industry-stock-tracker","canonicalPath":"/agent/clawhub-financial-ai-analyst-industry-stock-tracker","generatedAt":"2026-10-09T21:47:01.295Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T02:25:11.780Z","emptyReason":null},"description":"依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告... Skill: Stock/Industry Tracker Owner: financial-ai-analyst Summary: 依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告... Tags: latest:1.0.2 Version history: v1.0.2 | 2026-04-17T11:18:34.311Z | user Publish 1.0.2 v1.0.1 | 2026-04-03T09:54:19.161Z | user - 增加对关键环境变量 EM_API_KEY 的要求与说明，明确数据来源依托东方财富数据库。 - 在 Skill 定义中","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 9.7K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s172qfps754dhtdynwv0gwshes83mtd4:industry-stock-tracker","sourceUrl":"https://clawhub.ai/financial-ai-analyst/industry-stock-tracker","homepage":"https://clawhub.ai/financial-ai-analyst/skills/industry-stock-tracker","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/financial-ai-analyst/industry-stock-tracker","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/financial-ai-analyst/skills/industry-stock-tracker","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":77,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:25:11.780Z","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-09T02:25:11.780Z","emptyReason":null},"stars":null,"forks":null,"downloads":9689,"packageName":null,"latestVersion":"1.0.2","tractionLabel":"9.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T02:25:11.779Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T02:25:11.780Z","lastCrawledAt":"2026-10-09T02:25:11.779Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T02:25:11.779Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.2","createdAt":"2026-04-17T11:18:34.311Z","changelog":"Publish 1.0.2","fileCount":4,"zipByteSize":7589},{"version":"1.0.1","createdAt":"2026-04-03T09:54:19.161Z","changelog":"- 增加对关键环境变量 EM_API_KEY 的要求与说明，明确数据来源依托东方财富数据库。 - 在 Skill 定义中增加 metadata 配置，方便环境依赖管理。 - 优化触发条件描述，细化对行业、个股跟踪报告的适用场景举例。 - 其余核心功能、错误处理、输出格式未做改动。","fileCount":3,"zipByteSize":6415},{"version":"1.0.0","createdAt":"2026-03-27T10:26:07.874Z","changelog":"Initial release of industry-stock-tracker: - Generates structured tracking reports for industries or individual stocks based on user queries. - Integrates with a script that calls a remote report API and returns standardized JSON results including title, summary, and attachment paths (DOCX/PDF). - Strictly follows a fixed output template, mapping each field directly from the script/API output; no additional rewriting or summarization. - Provides robust error handling and clear user messaging based on script/API responses. - Prioritizes Chinese output, with provisions for bilingual prompts if needed. - Output includes: title, body content, available report attachments, and share link—formatted as specified.","fileCount":3,"zipByteSize":6017}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s172qfps754dhtdynwv0gwshes83mtd4:industry-stock-tracker","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"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-financial-ai-analyst-industry-stock-tracker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-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-09T21:47:01.295Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-tracker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-financial-ai-analyst-industry-stock-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":"high","updatedAt":"2026-10-09T02:25:11.780Z","emptyReason":null},"readme":"Skill: Stock/Industry Tracker\n\nOwner: financial-ai-analyst\n\nSummary: 依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告...\n\nTags: latest:1.0.2\n\nVersion history:\n\nv1.0.2 | 2026-04-17T11:18:34.311Z | user\n\nPublish 1.0.2\n\nv1.0.1 | 2026-04-03T09:54:19.161Z | user\n\n- 增加对关键环境变量 EM_API_KEY 的要求与说明，明确数据来源依托东方财富数据库。\n- 在 Skill 定义中增加 metadata 配置，方便环境依赖管理。\n- 优化触发条件描述，细化对行业、个股跟踪报告的适用场景举例。\n- 其余核心功能、错误处理、输出格式未做改动。\n\nv1.0.0 | 2026-03-27T10:26:07.874Z | user\n\nInitial release of industry-stock-tracker:\n\n- Generates structured tracking reports for industries or individual stocks based on user queries.\n- Integrates with a script that calls a remote report API and returns standardized JSON results including title, summary, and attachment paths (DOCX/PDF).\n- Strictly follows a fixed output template, mapping each field directly from the script/API output; no additional rewriting or summarization.\n- Provides robust error handling and clear user messaging based on script/API responses.\n- Prioritizes Chinese output, with provisions for bilingual prompts if needed.\n- Output includes: title, body content, available report attachments, and share link—formatted as specified.\n\nArchive index:\n\nArchive v1.0.2: 4 files, 7589 bytes\n\nFiles: scripts/generate_industry_stock_tracker_report.py (8904b), skill-card.md (2071b), SKILL.md (4550b), _meta.json (141b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: industry-stock-tracker\ndescription: >\n  依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。\n  满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。\n  典型说法如「写一份 XX 行业报告」「跟踪 XX 股票」「生成 XX 日报」「看看 XX 最近怎么样并出报告」等。\nmetadata:\n  {\n    \"openclaw\": {\n      \"requires\": {\n        \"env\":[\"EM_API_KEY\"]\n      }\n    }\n  }\n---\n\n# 行业/个股跟踪报告生成 Skill\n\n## 概述\n\n本 skill 用于将用户自然语言问题交给脚本 `scripts/generate_industry_stock_tracker_report.py`，\n由脚本调用远程报告服务并返回统一 JSON 结果。输出包含标题、总结内容与附件本地保存路径（DOCX/PDF）。\n\n## 环境变量\n\n| 变量名 | 说明 | 默认 |\n|---|---|---|\n| `EM_API_KEY` | 接口鉴权密钥（必填） | 无 |\n\n### 配置 `EM_API_KEY`\n\n```bash\n# macOS / Linux\nexport EM_API_KEY=\"your_api_key_here\"\n```\n\n```powershell\n# Windows PowerShell\n$env:EM_API_KEY=\"your_api_key_here\"\n```\n\n## 核心工作流\n\n1) 将用户原始问题原样作为 `query` 传入脚本。  \n2) 脚本调用接口生成报告并获取“总结”章节。  \n3) 若接口返回 `wordBase64/pdfBase64`，脚本会落地为本地附件文件并返回路径。  \n4) 将脚本标准输出（JSON）直接作为 skill 输出依据，不做与脚本冲突的二次改写。\n\n命令行参数调用方式：\n\n```\npython3 {baseDir}/scripts/generate_industry_stock_tracker_report.py --query \"{{query}}\"\n```\n\n注意：**禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本**，只能在当前会话中同步等待到命令完成，拿到 stdout 的结果后再继续，否则会导致本 Skill 失败。\n\n## 输出格式规范\n\n接口返回后，必须严格按以下模板输出，不得增删标题、不得改变顺序、不得添加额外章节：\n\n### 标题\n直接使用接口返回的 `title` 字段，单独成行。\n\n### 正文\n如果接口返回的 `content` 字段有相关行业报告信息，则原文透传；\n否则读取接口返回的附件文件内容，总结相关报告信息返回，记住保证返回的正文内容非空。\n\n### 附件\n接口返回 pdf 以及 docx 格式文件的保存路径。\n\n### 分享链接\n直接使用接口返回的 `share_url` 字段，单独成行。文案必须按以下固定格式输出：\n\n```\n{标题}\n\n{正文}\n\n完整报告：\n- PDF：{pdf_path}\n- DOCX：{docx_path}\n\n分享链接：\n{share_url}\n```\n\n字段映射规则：\n- `{title}` = 脚本返回的 `title`\n- `{content}` = 脚本返回的 `content`\n- `{pdf_path}` = `attachments` 中 `type=PDF` 对应的 `url`\n- `{docx_path}` = `attachments` 中 `type=DOCX` 对应的 `url`\n- `{share_url}` = 脚本返回的 `share_url`\n\n当附件缺失时：\n- 若仅有一种格式，仅输出存在的那一行（PDF 或 DOCX）。\n- 若两种都不存在，输出：`完整报告：暂无可用附件`\n\n## 语言要求\n\n始终优先中文输出。若用户使用其他语言，可在交互提示中适度双语，但报告正文与字段含义保持中文语境。\n\n## 使用约束与建议\n\n- 不要在 skill 层重写脚本已生成的 `content` 主体结构，避免与脚本逻辑漂移。  \n- 除附件路径展示外，不在 skill 层追加二次总结，正文以脚本 `content` 结果为准。  \n- 若脚本返回 `ok=false`，优先透传 `message`；不要自行编造错误原因。  \n- 该 skill 目标是“生成并返回结果”，不是在 skill 内追加长篇二次分析。\n\n## 常见错误处理：\n- 缺少 query：`BAD_REQUEST`，message 为“缺少 query 参数”。  \n- 不支持实体：`ERROR_ENTITY`，message 为“目前暂不支持此类实体体进行分析。”  \n- 网络/超时/服务异常：`TIMEOUT` / `NETWORK_ERROR` / `HTTP_ERROR` / `UNEXPECTED_ERROR`，对用户统一提示“报告生成服务暂时不可用，请稍后重试。”。\n\n错误输出强约束：\n- 只要接口响应或脚本标准输出（print 的 JSON）中存在 `message` 字段，模型必须输出该 `message`，不得省略、不得改写、不得替换为其他话术。\n- 当 `ok=false` 时，优先输出错误 `message`；若同时存在 `error_code`，可附带展示 `error_code`，但不影响 `message` 原样透传。\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7b4ptpdag877t9kmq8axyja182taab\",\n  \"slug\": \"industry-stock-tracker\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1776424714311\n}\n\nFile v1.0.2:skill-card.md\n\n## Description:\n\nGenerates Chinese-language tracking reports for industries or individual stocks using Eastmoney data, including periodic reports, research reports, and structured tracking analysis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[financial-ai-analyst](https://clawhub.ai/user/financial-ai-analyst)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and financial analysts use this skill to request Chinese-language industry or stock tracking reports from natural-language prompts. It returns report text, local attachment paths, and a share link when the remote service provides them.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Report prompts and API-key-authenticated requests are sent to Eastmoney's remote report service.\n\nMitigation: Avoid confidential strategy, account, or personal information in prompts unless that disclosure is acceptable.\n\nRisk: Generated DOCX/PDF report attachments are saved locally without a stated cleanup policy.\n\nMitigation: Periodically review retained files and delete generated reports that are no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/financial-ai-analyst/skills/industry-stock-tracker)\n- [Eastmoney report service endpoint](https://ai-saas.eastmoney.com/proxy/app-robo-advisor-api/assistant/write/tracking/report)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, files]\n\n**Output Format:** [Chinese Markdown report text with PDF/DOCX attachment paths and a share link; the helper script emits JSON for the agent to format.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires EM_API_KEY and may save generated PDF/DOCX files locally.]\n\n## Skill Version(s):\n\n1.0.2 (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\nArchive v1.0.1: 3 files, 6415 bytes\n\nFiles: scripts/generate_industry_stock_tracker_report.py (8904b), SKILL.md (4534b), _meta.json (141b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: industry_stock_tracker\ndescription: >\n  依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。\n  满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。\n  典型说法如「写一份 XX 行业报告」「跟踪 XX 股票」「生成 XX 日报」「看看 XX 最近怎么样并出报告」等。\nmetadata:\n  {\n    \"openclaw\": {\n      \"requires\": {\n        \"env\":[\"EM_API_KEY\"]\n      }\n    }\n  }\n---\n\n# 行业/个股跟踪报告生成 Skill\n\n## 概述\n\n本 skill 用于将用户自然语言问题交给脚本 `scripts/generate_industry_stock_tracker_report.py`，\n由脚本调用远程报告服务并返回统一 JSON 结果。输出包含标题、总结内容与附件本地保存路径（DOCX/PDF）。\n\n## 环境变量\n\n| 变量名 | 说明 | 默认 |\n|---|---|---|\n| `EM_API_KEY` | 接口鉴权密钥（必填） | 无 |\n\n### 配置 `EM_API_KEY`\n\n```bash\n# macOS / Linux\nexport EM_API_KEY=\"your_api_key_here\"\n```\n\n```powershell\n# Windows PowerShell\n$env:EM_API_KEY=\"your_api_key_here\"\n```\n\n## 核心工作流\n\n1) 将用户原始问题原样作为 `query` 传入脚本。\n2) 脚本调用接口生成报告并获取“总结”章节。\n3) 若接口返回 `wordBase64/pdfBase64`，脚本会落地为本地附件文件并返回路径。\n4) 将脚本标准输出（JSON）直接作为 skill 输出依据，不做与脚本冲突的二次改写。\n\n命令行参数调用方式：\n\n```\npython3 {baseDir}/scripts/generate_industry_stock_tracker_report.py --query \"{{query}}\"\n```\n\n注意：**禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本**，只能在当前会话中同步等待到命令完成，拿到 stdout 的结果后再继续，否则会导致本 Skill 失败。\n\n## 输出格式规范\n\n接口返回后，必须严格按以下模板输出，不得增删标题、不得改变顺序、不得添加额外章节：\n\n### 标题\n直接使用接口返回的 `title` 字段，单独成行。\n\n### 正文\n如果接口返回的 `content` 字段有相关行业报告信息，则原文透传；\n否则读取接口返回的附件文件内容，总结相关报告信息返回，记住保证返回的正文内容非空。\n\n### 附件\n接口返回 pdf 以及 docx 格式文件的保存路径。\n\n### 分享链接\n直接使用接口返回的 `share_url` 字段，单独成行。文案必须按以下固定格式输出：\n\n```\n{标题}\n\n{正文}\n\n完整报告：\n- PDF：{pdf_path}\n- DOCX：{docx_path}\n\n分享链接：\n{share_url}\n```\n\n字段映射规则：\n- `{title}` = 脚本返回的 `title`\n- `{content}` = 脚本返回的 `content`\n- `{pdf_path}` = `attachments` 中 `type=PDF` 对应的 `url`\n- `{docx_path}` = `attachments` 中 `type=DOCX` 对应的 `url`\n- `{share_url}` = 脚本返回的 `share_url`\n\n当附件缺失时：\n- 若仅有一种格式，仅输出存在的那一行（PDF 或 DOCX）。\n- 若两种都不存在，输出：`完整报告：暂无可用附件`\n\n## 语言要求\n\n始终优先中文输出。若用户使用其他语言，可在交互提示中适度双语，但报告正文与字段含义保持中文语境。\n\n## 使用约束与建议\n\n- 不要在 skill 层重写脚本已生成的 `content` 主体结构，避免与脚本逻辑漂移。\n- 除附件路径展示外，不在 skill 层追加二次总结，正文以脚本 `content` 结果为准。\n- 若脚本返回 `ok=false`，优先透传 `message`；不要自行编造错误原因。\n- 该 skill 目标是“生成并返回结果”，不是在 skill 内追加长篇二次分析。\n\n## 常见错误处理：\n- 缺少 query：`BAD_REQUEST`，message 为“缺少 query 参数”。\n- 不支持实体：`ERROR_ENTITY`，message 为“目前暂不支持此类实体体进行分析。”\n- 网络/超时/服务异常：`TIMEOUT` / `NETWORK_ERROR` / `HTTP_ERROR` / `UNEXPECTED_ERROR`，对用户统一提示“报告生成服务暂时不可用，请稍后重试。”。\n\n错误输出强约束：\n- 只要接口响应或脚本标准输出（print 的 JSON）中存在 `message` 字段，模型必须输出该 `message`，不得省略、不得改写、不得替换为其他话术。\n- 当 `ok=false` 时，优先输出错误 `message`；若同时存在 `error_code`，可附带展示 `error_code`，但不影响 `message` 原样透传。\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7b4ptpdag877t9kmq8axyja182taab\",\n  \"slug\": \"industry-stock-tracker\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1775210059161\n}\n\nArchive v1.0.0: 3 files, 6017 bytes\n\nFiles: scripts/generate_industry_stock_tracker_report.py (8903b), SKILL.md (4067b), _meta.json (141b)\n\nFile v1.0.0:SKILL.md\n\n---\r\nname: industry_stock_tracker\r\ndescription: >\r\n  生成行业或个股跟踪报告。当用户明确要求“报告/研报/跟踪分析/周报/月报/日报”，\r\n  或提到具体行业、板块、指数、股票名称/代码并希望系统输出结构化跟踪内容时触发。\r\n  典型表达包括“写一份XX行业报告”“跟踪XX股票”“生成XX研报”“看看XX最近怎么样并出报告”。\r\n---\r\n\r\n# 行业/个股跟踪报告生成 Skill\r\n\r\n## 概述\r\n\r\n本 skill 用于将用户自然语言问题交给脚本 `scripts/generate_industry_stock_tracker_report.py`，\r\n由脚本调用远程报告服务并返回统一 JSON 结果。输出包含标题、总结内容与附件本地保存路径（DOCX/PDF）。\r\n\r\n## 核心工作流\r\n\r\n1) 将用户原始问题原样作为 `query` 传入脚本。  \r\n2) 脚本调用接口生成报告并获取“总结”章节。  \r\n3) 若接口返回 `wordBase64/pdfBase64`，脚本会落地为本地附件文件并返回路径。  \r\n4) 将脚本标准输出（JSON）直接作为 skill 输出依据，不做与脚本冲突的二次改写。\r\n\r\n命令行参数调用方式：\r\n\r\n```\r\npython3 {baseDir}/scripts/generate_industry_stock_tracker_report.py --query \"{{query}}\"\r\n```\r\n\r\n注意：**禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本**，只能在当前会话中同步等待到命令完成，拿到 stdout 的结果后再继续，否则会导致本 Skill 失败。\r\n\r\n## 输出格式规范\r\n\r\n接口返回后，必须严格按以下模板输出，不得增删标题、不得改变顺序、不得添加额外章节：\r\n\r\n### 标题\r\n直接使用接口返回的 `title` 字段，单独成行。\r\n\r\n### 正文\r\n如果接口返回的 `content` 字段有相关行业报告信息，则原文透传；\r\n否则读取接口返回的附件文件内容，总结相关报告信息返回，记住保证返回的正文内容非空。\r\n\r\n### 附件\r\n接口返回 pdf 以及 docx 格式文件的保存路径。\r\n\r\n### 分享链接\r\n直接使用接口返回的 `share_url` 字段，单独成行。文案必须按以下固定格式输出：\r\n\r\n```\r\n{标题}\r\n\r\n{正文}\r\n\r\n完整报告：\r\n- PDF：{pdf_path}\r\n- DOCX：{docx_path}\r\n\r\n分享链接：\r\n{share_url}\r\n```\r\n\r\n字段映射规则：\r\n- `{title}` = 脚本返回的 `title`\r\n- `{content}` = 脚本返回的 `content`\r\n- `{pdf_path}` = `attachments` 中 `type=PDF` 对应的 `url`\r\n- `{docx_path}` = `attachments` 中 `type=DOCX` 对应的 `url`\r\n- `{share_url}` = 脚本返回的 `share_url`\r\n\r\n当附件缺失时：\r\n- 若仅有一种格式，仅输出存在的那一行（PDF 或 DOCX）。\r\n- 若两种都不存在，输出：`完整报告：暂无可用附件`\r\n\r\n## 语言要求\r\n\r\n始终优先中文输出。若用户使用其他语言，可在交互提示中适度双语，但报告正文与字段含义保持中文语境。\r\n\r\n## 使用约束与建议\r\n\r\n- 不要在 skill 层重写脚本已生成的 `content` 主体结构，避免与脚本逻辑漂移。  \r\n- 除附件路径展示外，不在 skill 层追加二次总结，正文以脚本 `content` 结果为准。  \r\n- 若脚本返回 `ok=false`，优先透传 `message`；不要自行编造错误原因。  \r\n- 该 skill 目标是“生成并返回结果”，不是在 skill 内追加长篇二次分析。\r\n\r\n## 常见错误处理：\r\n- 缺少 query：`BAD_REQUEST`，message 为“缺少 query 参数”。  \r\n- 不支持实体：`ERROR_ENTITY`，message 为“目前暂不支持此类实体体进行分析。”  \r\n- 网络/超时/服务异常：`TIMEOUT` / `NETWORK_ERROR` / `HTTP_ERROR` / `UNEXPECTED_ERROR`，对用户统一提示“报告生成服务暂时不可用，请稍后重试。”。\r\n\r\n错误输出强约束：\r\n- 只要接口响应或脚本标准输出（print 的 JSON）中存在 `message` 字段，模型必须输出该 `message`，不得省略、不得改写、不得替换为其他话术。\r\n- 当 `ok=false` 时，优先输出错误 `message`；若同时存在 `error_code`，可附带展示 `error_code`，但不影响 `message` 原样透传。\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b4ptpdag877t9kmq8axyja182taab\",\n  \"slug\": \"industry-stock-tracker\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1774607167874\n}","readmeExcerpt":"Skill: Stock/Industry Tracker Owner: financial-ai-analyst Summary: 依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告... Tags: latest:1.0.2 Version history: v1.0.2 | 2026-04-17T11:18:34.311Z | user Publish 1.0.2 v1.0.1 | 2026-04-03T09:54:19.161Z | user - 增加对关键环境变量 EM_API_KEY 的要求与说明，明确数据来源依托东方财富数据库。 - 在 Skill 定义中","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# macOS / Linux\nexport EM_API_KEY=\"your_api_key_here\""},{"language":"powershell","snippet":"# Windows PowerShell\n$env:EM_API_KEY=\"your_api_key_here\""},{"language":"text","snippet":"python3 {baseDir}/scripts/generate_industry_stock_tracker_report.py --query \"{{query}}\""},{"language":"text","snippet":"{标题}\n\n{正文}\n\n完整报告：\n- PDF：{pdf_path}\n- DOCX：{docx_path}\n\n分享链接：\n{share_url}"},{"language":"bash","snippet":"# macOS / Linux\nexport EM_API_KEY=\"your_api_key_here\""},{"language":"powershell","snippet":"# Windows PowerShell\n$env:EM_API_KEY=\"your_api_key_here\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: industry-stock-tracker\ndescription: >\n  依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。\n  满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。\n  典型说法如「写一份 XX 行业报告」「跟踪 XX 股票」「生成 XX 日报」「看看 XX 最近怎么样并出报告」等。\nmetadata:\n  {\n    \"openclaw\": {\n      \"requires\": {\n        \"env\":[\"EM_API_KEY\"]\n      }\n    }\n  }\n---\n\n# 行业/个股跟踪报告生成 Skill\n\n## 概述\n\n本 skill 用于将用户自然语言问题交给脚本 `scripts/generate_industry_stock_tracker_report.py`，\n由脚本调用远程报告服务并返回统一 JSON 结果。输出包含标题、总结内容与附件本地保存路径（DOCX/PDF）。\n\n## 环境变量\n\n| 变量名 | 说明 | 默认 |\n|---|---|---|\n| `EM_API_KEY` | 接口鉴权密钥（必填） | 无 |\n\n### 配置 `EM_API_KEY`\n\n```bash\n# macOS / Linux\nexport EM_API_KEY=\"your_api_key_here\"\n```\n\n```powershell\n# Windows PowerShell\n$env:EM_API_KEY=\"your_api_key_here\"\n```\n\n## 核心工作流\n\n1) 将用户原始问题原样作为 `query` 传入脚本。  \n2) 脚本调用接口生成报告并获取“总结”章节。  \n3) 若接口返回 `wordBase64/pdfBase64`，脚本会落地为本地附件文件并返回路径。  \n4) 将脚本标准输出（JSON）直接作为 skill 输出依据，不做与脚本冲突的二次改写。\n\n命令行参数调用方式：\n\n```\npython3 {baseDir}/scripts/generate_industry_stock_tracker_report.py --query \"{{query}}\"\n```\n\n注意：**禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本**，只能在当前会话中同步等待到命令完成，拿到 stdout 的结果后再继续，否则会导致本 Skill 失败。\n\n## 输出格式规范\n\n接口返回后，必须严格按以下模板输出，不得增删标题、不得改变顺序、不得添加额外章节：\n\n### 标题\n直接使用接口返回的 `title` 字段，单独成行。\n\n### 正文\n如果接口返回的 `content` 字段有相关行业报告信息，则原文透传；\n否则读取接口返回的附件文件内容，总结相关报告信息返回，记住保证返回的正文内容非空。\n\n### 附件\n接口返回 pdf 以及 docx 格式文件的保存路径。\n\n### 分享链接\n直接使用接口返回的 `share_url` 字段，单独成行。文案必须按以下固定格式输出：\n\n```\n{标题}\n\n{正文}\n\n完整报告：\n- PDF：{pdf_path}\n- DOCX：{docx_path}\n\n分享链接：\n{share_url}\n```\n\n字段映射规则：\n- `{title}` = 脚本返回的 `title`\n- `{content}` = 脚本返回的 `content`\n- `{pdf_path}` = `attachments` 中 `type=PDF` 对应的 `url`\n- `{docx_path}` = `attachments` 中 `type=DOCX` 对应的 `url`\n- `{share_url}` = 脚本返回的 `share_url`\n\n当附件缺失时：\n- 若仅有一种格式，仅输出存在的那一行（PDF 或 DOCX）。\n- 若两种都不存在，输出：`完整报告：暂无可用附件`\n\n## 语言要求\n\n始终优先中文输出。若用户使用其他语言，可在交互提示中适度双语，但报告正文与字段含义保持中文语境。\n\n## 使用约束与建议\n\n- 不要在 skill 层重写脚本已生成的 `content` 主体结构，避免与脚本逻辑漂移。  \n- 除附件路径展示外，不在 skill 层追加二次总结，正文以脚本 `content` 结果为准。  \n- 若脚本返回 `ok=false`，优先透传 `message`；不要自行编造错误原因。  \n- 该 skill 目标是“生成并返回结果”，不是在 skill 内追加长篇二次分析。\n\n## 常见错误处理：\n- 缺少 query：`BAD_REQUEST`，message 为“缺少 query 参数”。  \n- 不支持实体：`ERROR_ENTITY`，message 为“目前暂不支持此类实体体进行分析。”  \n- 网络/超时/服务异常：`TIMEOUT` / `NETWORK_ERROR` / `HTTP_ERROR` / `UNEXPECTED_ERROR`，对用户统一提示“报告生成服务暂时不可用，请稍后重试。”。\n\n错误输出强约束：\n- 只要接口响应或脚本标准输出（print 的 JSON）中存在 `message` 字段，模型必须输出该 `message`，不得省略、不得改写、不得替换为其他话术。\n- 当 `ok=false` 时，优先输出错误 `message`；若同时存在 `error_code`，可附带展示 `error_code`，但不影响 `message` 原样透传。"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7b4ptpdag877t9kmq8axyja182taab\",\n  \"slug\": \"industry-stock-tracker\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1776424714311\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerates Chinese-language tracking reports for industries or individual stocks using Eastmoney data, including periodic reports, research reports, and structured tracking analysis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[financial-ai-analyst](https://clawhub.ai/user/financial-ai-analyst)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and financial analysts use this skill to request Chinese-language industry or stock tracking reports from natural-language prompts. It returns report text, local attachment paths, and a share link when the remote service provides them.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Report prompts and API-key-authenticated requests are sent to Eastmoney's remote report service.\n\nMitigation: Avoid confidential strategy, account, or personal information in prompts unless that disclosure is acceptable.\n\nRisk: Generated DOCX/PDF report attachments are saved locally without a stated cleanup policy.\n\nMitigation: Periodically review retained files and delete generated reports that are no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/financial-ai-analyst/skills/industry-stock-tracker)\n- [Eastmoney report service endpoint](https://ai-saas.eastmoney.com/proxy/app-robo-advisor-api/assistant/write/tracking/report)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, files]\n\n**Output Format:** [Chinese Markdown report text with PDF/DOCX attachment paths and a share link; the helper script emits JSON for the agent to format.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires EM_API_KEY and may save generated PDF/DOCX files locally.]\n\n## Skill Version(s):\n\n1.0.2 (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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告... Skill: Stock/Industry Tracker Owner: financial-ai-analyst Summary: 依托东方财富数据库，面向行业或个股，产出跟踪类报告（含日报/周报/月报、研报及结构化跟踪解读）。 满足以下任一条件即触发：（1）用户明确索要「报告」「研报」「跟踪分析」或定期跟踪类文稿；（2）用户点名的行业、板块、指数、个股（名称或代码），并期望系统化、可成文的近况跟踪或梳理。 典型说法如「写一份 XX 行业报告... Tags: latest:1.0.2 Version history: v1.0.2 | 2026-04-17T11:18:34.311Z | user Publish 1.0.2 v1.0.1 | 2026-04-03T09:54:19.161Z | user - 增加对关键环境变量 EM_API_KEY 的要求与说明，明确数据来源依托东方财富数据库。 - 在 Skill 定义中","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":812,"uniquenessScore":56,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T02:25:11.780Z","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-09T02:25:11.780Z","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-09T21:47:01.295Z","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"}]}}}