{"id":"e634a40b-7cd6-4f65-8a4a-f297ca47df72","entityType":"agent","slug":"clawhub-dataify-server-dataify-amazon-comment","name":"Dataify Amazon Comment","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dataify-server-dataify-amazon-comment","canonicalPath":"/agent/clawhub-dataify-server-dataify-amazon-comment","generatedAt":"2026-10-11T20:55:57.849Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:48:41.018Z","emptyReason":null},"description":"Collect Amazon Comment data and return results","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17feed8b2qc486skqmjapxmjs86bd4f:dataify-amazon-comment","sourceUrl":"https://clawhub.ai/dataify-server/dataify-amazon-comment","homepage":"https://clawhub.ai/dataify-server/skills/dataify-amazon-comment","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dataify-server/dataify-amazon-comment","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/dataify-server/skills/dataify-amazon-comment","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Dataify Amazon Comment 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-11T15:48:41.018Z","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-11T15:48:41.018Z","emptyReason":null},"stars":null,"forks":null,"downloads":1035,"packageName":null,"latestVersion":"1.3.0","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:48:40.846Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T15:48:41.018Z","lastCrawledAt":"2026-10-11T15:48:40.846Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T15:48:40.846Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.0","createdAt":"2026-09-01T09:11:58.590Z","changelog":"默认返回最终采集结果，完善异步等待下载与安全恢复；修复空目标误执行、Quick Start、Token 配置和触发路由冲突，并补齐发布前自动化测试","fileCount":6,"zipByteSize":10378},{"version":"1.2.0","createdAt":"2026-07-16T08:35:00.728Z","changelog":"新增能力路由与异步任务闭环，修复失效引用、Token 泄漏和 Skill 元数据兼容性","fileCount":6,"zipByteSize":7545},{"version":"1.1.0","createdAt":"2026-06-08T02:05:16.944Z","changelog":"补全中文文档，更新目录结构","fileCount":6,"zipByteSize":7673},{"version":"1.0.0","createdAt":"2026-05-28T06:26:02.886Z","changelog":"Dataify Amazon Comment v1.0.0 - Initial release for submitting Amazon product review collection tasks via Dataify Builder. - Supports API TOKEN handling with explicit input or environment variable detection. - Step-by-step workflow with parameter checklist and Markdown table confirmation. - Uses included Python script (submit_amazon_comment.py) for stable Builder task submission. - Detailed troubleshooting guidance and user prompts for missing or invalid parameters. - Always directs users to https://dataify.com/dashboard/ for results after task submission.","fileCount":5,"zipByteSize":5338}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17feed8b2qc486skqmjapxmjs86bd4f:dataify-amazon-comment","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17feed8b2qc486skqmjapxmjs86bd4f:dataify-amazon-comment` 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/dataify-server/dataify-amazon-comment 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-dataify-server-dataify-amazon-comment/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/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-11T20:55:57.847Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-amazon-comment/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-11T15:48:41.018Z","emptyReason":null},"readme":"Skill: Dataify Amazon Comment\n\nOwner: dataify-server\n\nSummary: Collect Amazon Comment data and return results\n\nTags: latest:1.3.0\n\nVersion history:\n\nv1.3.0 | 2026-09-01T09:11:58.590Z | user\n\n默认返回最终采集结果，完善异步等待下载与安全恢复；修复空目标误执行、Quick Start、Token 配置和触发路由冲突，并补齐发布前自动化测试\n\nv1.2.0 | 2026-07-16T08:35:00.728Z | user\n\n新增能力路由与异步任务闭环，修复失效引用、Token 泄漏和 Skill 元数据兼容性\n\nv1.1.0 | 2026-06-08T02:05:16.944Z | user\n\n补全中文文档，更新目录结构\n\nv1.0.0 | 2026-05-28T06:26:02.886Z | auto\n\nDataify Amazon Comment v1.0.0\n\n- Initial release for submitting Amazon product review collection tasks via Dataify Builder.\n- Supports API TOKEN handling with explicit input or environment variable detection.\n- Step-by-step workflow with parameter checklist and Markdown table confirmation.\n- Uses included Python script (submit_amazon_comment.py) for stable Builder task submission.\n- Detailed troubleshooting guidance and user prompts for missing or invalid parameters.\n- Always directs users to https://dataify.com/dashboard/ for results after task submission.\n\nArchive index:\n\nArchive v1.3.0: 6 files, 10378 bytes\n\nFiles: agents/openai.yaml (403b), scripts/submit_amazon_comment.py (4555b), skill-card.md (2048b), SKILL.md (7268b), SKILL.zh-CN.md (6896b), _meta.json (141b)\n\nFile v1.3.0:SKILL.md\n\n---\nname: dataify-amazon-comment\ndescription: \"Collect Amazon product reviews from one or more known product URLs. Use for Amazon review or comment extraction. Do not use for product details, product lists, or seller profiles.\"\n---\n\n# Dataify Amazon Comment\n\nSubmit Amazon product review collection jobs by URL through Dataify Builder and continue through final-result retrieval. After submission, continue monitoring the returned `task_id` and return the final result by default.\n\n\n## Quick Start\n\n**Input:** an Amazon product URL.\n\n```bash\npython3 scripts/submit_amazon_comment.py --url \"https://www.amazon.com/dp/B0BZYCJK89\"\n```\n\nThe command waits up to 10 minutes and prints the final JSON result. Add `--no-wait` only for submission-only behavior.\n\nIf `DATAIFY_API_TOKEN` is missing, log in or register at https://dashboard.dataify.com/login?utm_source=skill. New accounts receive 50 free credits.\n\n## API TOKEN Handling\n\nUse `DATAIFY_API_TOKEN` as the long-term saved token name.\n\n- If `DATAIFY_API_TOKEN` is saved locally, use it.\n- Do not call the Builder endpoint without a token.\n- Always call it `API TOKEN` in user-facing instructions. Prefer the environment variable name `DATAIFY_API_TOKEN` for saved local use.\n\nPowerShell examples for saving the token for the current session:\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\nFor a persistent user-level variable on Windows:\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## Core Workflow\n\n3. Ask: \"Do you want to change any of these values before I submit the task?\"\n4. Normalize the final values into `url` and `file_name`.\n7. Validate the URL and file name.\n8. Submit a Builder request to create the task.\n9. Read `data.task_id` from the Builder response.\n\n## Parameter Checklist\n\n| Field | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `url` | Yes | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | Amazon product URL whose reviews should be collected. |\n| `file_name` | No | `{{TasksID}}` | Builder form field. Can be changed by the user. |\n\nIf the user has already provided some values, show those values in place of the defaults and only ask whether the remaining/defaulted values should be changed.\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- Dynamic fields:\n  - `spider_parameters` must be a JSON string, not a raw object.\n  - `file_name` defaults to `{{TasksID}}` and can be changed by the user.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_amazon_comment.py` with Python 3.6 or newer instead of rewriting the Builder flow. The script writes and reads UTF-8 text.\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\nThe script prints a JSON summary with `task_id`, `url`, `file_name` and `message`.\n\n## Troubleshooting\n\n`Missing Dataify API TOKEN` means `DATAIFY_API_TOKEN` is not set in the environment. Tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n\n`URL cannot be empty` means no usable product URL was provided.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, or `spider_id` is wrong.\n\n## Guardrails\n\n- Do not invent result fields.\n\n## Default completion behavior\n\nThe default deliverable is the collected result, not only a `task_id`.\n\n1. Submit the Builder task once and capture its `task_id`.\n2. Immediately continue with `$dataify-task-operations` and monitor the same task ID.\n   - Use the default 600-second wait for ordinary collections.\n   - Use `--timeout 1800` for media downloads or clearly high-volume, multi-page, or multi-input collections.\n3. When the task succeeds, download and return the final JSON result. Summarize large payloads while preserving access to the raw result.\n4. If monitoring times out or is interrupted, return the task ID and a resume command. Do not resubmit the paid task.\n5. Stop after submission only when the user explicitly asks for submission only, a task ID, or `--no-wait` behavior.\n\n## Parameter interaction policy\n\n- For a clear, low-risk, read-only, and low-cost request, apply safe defaults and execute immediately. A short execution summary is optional; do not pause for confirmation.\n- Ask only for a missing required input, a material ambiguity, a high-volume or multi-page scope, a media download, a choice that materially changes credit usage, an irreversible action, or an explicit user request to review parameters.\n- When confirmation is required, show only user-facing values that affect the target, scope, output, or cost. Prefer one concise sentence; use a compact table only when three or more consequential values are easier to compare.\n- Never show fixed fields, empty optional fields, unchanged defaults, credentials, or internal implementation parameters such as engine selectors, response-format flags, offsets, spider IDs, and file-name templates.\n- Keep advanced filters hidden unless the user asks for them or they are needed to resolve ambiguity. Never substitute documentation example values for missing required user input.\n- After returning results, offer relevant refinements instead of forcing all optional decisions before the first result.\n\n## Account CTA policy\n\n- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.\n- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts receive 50 free credits. Never ask the user to paste the token into chat.\n- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.\n- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.\n- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.\n- For an invalid token, direct the user to API-key management without implying that a new registration is required. For insufficient credits, direct the user to balance or recharge management.\n- During normal submission, processing, and successful completion, do not promote registration or the Dashboard. Never expose the token or include it in CTA attribution parameters.\n\nFile v1.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn74z5hmmwk21kw8tpphd9w21x86bkdf\",\n  \"slug\": \"dataify-amazon-comment\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1788253918590\n}\n\nFile v1.3.0:skill-card.md\n\n## Description:\n\nCollects Amazon product reviews from known product URLs through Dataify Builder and returns the final collection results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dataify-server](https://clawhub.ai/user/dataify-server)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to submit Dataify jobs that collect Amazon product review data by product URL and retrieve the resulting JSON.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uses a Dataify API token for external jobs.\n\nMitigation: Install and run it only when the Dataify publisher and service are trusted, keep DATAIFY_API_TOKEN in the environment, and never expose the token in chat or logs.\n\nRisk: The skill depends on a sibling dataify-task-operations runtime for final-result retrieval.\n\nMitigation: Review and trust that runtime before use, and preserve the returned task_id so work can resume without resubmitting a paid job.\n\nRisk: The promised Amazon-only URL scope is not fully enforced by the artifact.\n\nMitigation: Require known Amazon product URLs and confirm the target URL before submission until URL validation is tightened.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dataify-server/skills/dataify-amazon-comment)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, JSON]\n\n**Output Format:** [Markdown guidance with shell commands and JSON task or result output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May return a task_id for resume or no-wait behavior; by default it waits for and returns the final collected JSON result.]\n\n## Skill Version(s):\n\n1.3.0 (source: server release evidence)\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.3.0:SKILL.zh-CN.md\n\n---\nname: dataify-amazon-comment\ndescription: \"用于 Dataify Amazon 商品评论采集 Builder 任务。当用户说到或请求 Amazon 产品评论采集工具、Amazon product review/comment collection、Amazon review/comment scraping，尤其是按 URL 采集 Amazon 评论时触发。支持创建 amazon_comment_by-url 任务、返回 task_id、配置或复用 DATAIFY_API_TOKEN 环境变量，并排查 Dataify Builder 请求失败。\"\n---\n\n# Dataify Amazon Comment\n\n通过 Dataify Builder 按 URL 提交 Amazon 产品评论采集任务，提交后停止。成功提交后，将 `task_id` 提供给用户，并告知他们前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看结果。\n\n## API TOKEN 处理\n\n使用 `DATAIFY_API_TOKEN` 作为长期保存的 token 名称。\n\n- 如果用户在请求中提供了 token，则在本次运行中使用该 token。\n- 如果未提供 token，先检查环境变量中是否已保存 `DATAIFY_API_TOKEN`。\n- 如果本地已保存 `DATAIFY_API_TOKEN`，则直接使用。\n- 如果本地没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n- 没有 token 不要调用 Builder 接口。\n- 在面向用户的说明中始终称其为 `API TOKEN`。在本地保存使用时，优先使用环境变量名 `DATAIFY_API_TOKEN`。\n\nPowerShell 示例，为当前会话保存 token：\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\n在 Windows 上设置持久的用户级变量：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n3. 询问：\"在我提交任务之前，您是否需要修改这些值？\"\n4. 将最终值规范化为 `url` 和 `file_name`。\n5. 从用户明确提供的输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n7. 验证 URL 和文件名。\n8. 提交 Builder 请求创建任务。\n9. 从 Builder 响应中读取 `data.task_id`。\n10. 告诉用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n| 字段 | 必填 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `url` | 是 | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | 需要采集评论的 Amazon 产品 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段。可由用户修改。 |\n\n如果用户已经提供了部分值，在表格中显示这些值代替默认值，只询问是否需要修改剩余/使用默认值的参数。\n\n## Dataify Builder 请求\n\n使用表单字段而不是手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder`\n- 方法：`POST`\n- Authorization 头：`Bearer DATAIFY_API_TOKEN`\n- Content type：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- 动态字段：\n  - `spider_parameters` 必须是 JSON 字符串，不能是原始对象。\n  - `file_name` 默认为 `{{TasksID}}`，可由用户修改。\n\n## 脚本\n\n为确保稳定执行，建议使用 Python 3.6 或更新版本运行 `scripts/submit_amazon_comment.py`，而不是重写 Builder 流程。脚本使用 UTF-8 编码进行读写。\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\n脚本会输出包含 `task_id`、`url`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示没有传入明确的 token 且本地未保存 `DATAIFY_API_TOKEN`。提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n\n`URL cannot be empty` 表示没有提供有效的产品 URL。\n\n`File name cannot be empty` 表示没有提供有效的 `file_name`。\n\n缺少 `task_id` 通常表示 authorization 头、token、`spider_name` 或 `spider_id` 有误。\n\n## 注意事项\n\n- 不要编造结果字段。\n- 成功创建任务后，始终引导用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill)。\n\n## 参数交互策略\n\n- 当请求意图明确、只读、低风险且成本较低时，使用安全默认值直接执行。可以用一句话说明执行内容，但不要暂停等待确认。\n- 只在缺少必填输入、存在会明显改变结果的歧义、大批量或多页采集、媒体下载、会明显增加积分消耗、不可逆操作，或用户明确要求查看参数时询问。\n- 必须确认时，只展示会影响目标、范围、输出或成本的用户参数。优先使用一句简短说明；只有三个及以上关键值确实需要比较时才使用精简表格。\n- 不要展示固定字段、空的可选字段、未修改的默认值、凭据或内部实现参数，例如引擎选择、响应格式开关、偏移量、spider ID 和文件名模板。\n- 默认隐藏高级筛选项，除非用户主动询问或需要它们消除歧义。不得用文档示例值代替用户缺失的必填输入。\n- 先返回首个结果，再提供相关的细化选项，不要在首次执行前强迫用户决定所有可选项。\n\n## Account CTA policy\n\n- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.\n- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts receive 50 free credits. Never ask the user to paste the token into chat.\n- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.\n- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.\n- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.\n- For an invalid token, direct the user to API-key management without implying that a new registration is required. For insufficient credits, direct the user to balance or recharge management.\n- During normal submission, processing, and successful completion, do not promote registration or the Dashboard. Never expose the token or include it in CTA attribution parameters.\n\nFile v1.3.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Amazon Comment\"\n  short_description: \"Collect Amazon Comment data and return results\"\n  default_prompt: \"Use $dataify-amazon-comment to complete the requested Dataify collection, wait for the asynchronous task, and return the final collected result. Stop at task submission only when I explicitly request no-wait behavior.\"\n\npolicy:\n  allow_implicit_invocation: true\n\nArchive v1.2.0: 6 files, 7545 bytes\n\nFiles: agents/openai.yaml (309b), scripts/submit_amazon_comment.py (3913b), skill-card.md (1925b), SKILL.md (4805b), SKILL.zh-CN.md (4596b), _meta.json (141b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: dataify-amazon-comment\ndescription: Use for Dataify Amazon product review collection Builder tasks. Trigger when the user says or asks for Amazon 产品评论采集工具, Amazon product review collection tool, Amazon comment collection tool, Amazon product review collection, Amazon comment collection, Amazon review scraping, or Amazon comment scraping by URL. Supports creating an amazon_comment_by-url task; returning the task_id; configuring or reusing the DATAIFY_API_TOKEN environment variable; and troubleshooting Dataify Builder request failures.\n---\n\n# Dataify Amazon Comment\n\nSubmit Amazon product review collection jobs by URL through Dataify Builder, then stop. After a successful submission, give the user the `task_id` and tell them to visit [Dataify](https://dashboard.dataify.com?utm_source=skill) to view results.\n\n## API TOKEN Handling\n\nUse `DATAIFY_API_TOKEN` as the long-term saved token name.\n\n- If the user provides a token in the request, use it for this run.\n- If no token is provided, first check whether `DATAIFY_API_TOKEN` is already saved locally in the environment.\n- If `DATAIFY_API_TOKEN` is saved locally, use it.\n- If no token is available locally, tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n- Do not call the Builder endpoint without a token.\n- Always call it `API TOKEN` in user-facing instructions. Prefer the environment variable name `DATAIFY_API_TOKEN` for saved local use.\n\nPowerShell examples for saving the token for the current session:\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\nFor a persistent user-level variable on Windows:\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## Core Workflow\n\n1. Before submitting, show the user the required values, optional values, and defaults listed in the Parameter Checklist.\n2. Always display submitted parameters as a Markdown table; do not use a plain sentence or bullet list for parameter confirmation.\n3. Ask: \"Do you want to change any of these values before I submit the task?\"\n4. Normalize the final values into `url` and `file_name`.\n5. Resolve the Dataify token from explicit input or saved `DATAIFY_API_TOKEN`.\n6. If no token is available, tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n7. Validate the URL and file name.\n8. Submit a Builder request to create the task.\n9. Read `data.task_id` from the Builder response.\n10. Tell the user to visit [Dataify](https://dashboard.dataify.com?utm_source=skill) to view or manage results.\n\n## Parameter Checklist\n\n| Field | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `url` | Yes | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | Amazon product URL whose reviews should be collected. |\n| `file_name` | No | `{{TasksID}}` | Builder form field. Can be changed by the user. |\n\nIf the user has already provided some values, show those values in place of the defaults and only ask whether the remaining/defaulted values should be changed.\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- Dynamic fields:\n  - `spider_parameters` must be a JSON string, not a raw object.\n  - `file_name` defaults to `{{TasksID}}` and can be changed by the user.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_amazon_comment.py` with Python 3.6 or newer instead of rewriting the Builder flow. The script writes and reads UTF-8 text.\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\nThe script prints a JSON summary with `task_id`, `url`, `file_name`, `dashboard_url`, and `message`.\n\n## Troubleshooting\n\n`Missing Dataify API TOKEN` means no explicit token was passed and `DATAIFY_API_TOKEN` is not saved locally. Tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n\n`URL cannot be empty` means no usable product URL was provided.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, or `spider_id` is wrong.\n\n## Guardrails\n\n- Do not invent result fields.\n- Always direct the user to [Dataify](https://dashboard.dataify.com?utm_source=skill) after successful task creation.\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn74z5hmmwk21kw8tpphd9w21x86bkdf\",\n  \"slug\": \"dataify-amazon-comment\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1784190900728\n}\n\nFile v1.2.0:skill-card.md\n\n## Description: <br>\nSubmits Amazon product review collection tasks by URL through Dataify Builder and returns the resulting task_id. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[dataify-server](https://clawhub.ai/user/dataify-server) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to confirm Amazon product review collection parameters, submit a Dataify Builder job, and receive a task_id for later review in Dataify. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses a Dataify API TOKEN and can create Dataify Builder tasks. <br>\nMitigation: Confirm the Amazon URL and file_name before submission, and only persist DATAIFY_API_TOKEN when storing that credential in the user environment is acceptable. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/dataify-server/skills/dataify-amazon-comment) <br>\n- [Dataify dashboard](https://dashboard.dataify.com?utm_source=skill) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, code, guidance] <br>\n**Output Format:** [Markdown guidance and parameter tables with optional shell commands; the helper script prints a JSON task summary.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a Dataify API TOKEN, confirms the Amazon URL and file_name before submission, and returns task_id, dashboard_url, and message when the Builder task is created.] <br>\n\n## Skill Version(s): <br>\n1.2.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nFile v1.2.0:SKILL.zh-CN.md\n\n---\nname: dataify-amazon-comment\ndescription: \"用于 Dataify Amazon 商品评论采集 Builder 任务。当用户说到或请求 Amazon 产品评论采集工具、Amazon product review/comment collection、Amazon review/comment scraping，尤其是按 URL 采集 Amazon 评论时触发。支持创建 amazon_comment_by-url 任务、返回 task_id、配置或复用 DATAIFY_API_TOKEN 环境变量，并排查 Dataify Builder 请求失败。\"\n---\n\n# Dataify Amazon Comment\n\n通过 Dataify Builder 按 URL 提交 Amazon 产品评论采集任务，提交后停止。成功提交后，将 `task_id` 提供给用户，并告知他们前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看结果。\n\n## API TOKEN 处理\n\n使用 `DATAIFY_API_TOKEN` 作为长期保存的 token 名称。\n\n- 如果用户在请求中提供了 token，则在本次运行中使用该 token。\n- 如果未提供 token，先检查环境变量中是否已保存 `DATAIFY_API_TOKEN`。\n- 如果本地已保存 `DATAIFY_API_TOKEN`，则直接使用。\n- 如果本地没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n- 没有 token 不要调用 Builder 接口。\n- 在面向用户的说明中始终称其为 `API TOKEN`。在本地保存使用时，优先使用环境变量名 `DATAIFY_API_TOKEN`。\n\nPowerShell 示例，为当前会话保存 token：\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\n在 Windows 上设置持久的用户级变量：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n1. 提交前，向用户展示参数清单中列出的必填值、可选值和默认值。\n2. 始终以 Markdown 表格展示已提交的参数；不要使用纯文本句子或项目符号列表进行参数确认。\n3. 询问：\"在我提交任务之前，您是否需要修改这些值？\"\n4. 将最终值规范化为 `url` 和 `file_name`。\n5. 从用户明确提供的输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n7. 验证 URL 和文件名。\n8. 提交 Builder 请求创建任务。\n9. 从 Builder 响应中读取 `data.task_id`。\n10. 告诉用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n| 字段 | 必填 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `url` | 是 | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | 需要采集评论的 Amazon 产品 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段。可由用户修改。 |\n\n如果用户已经提供了部分值，在表格中显示这些值代替默认值，只询问是否需要修改剩余/使用默认值的参数。\n\n## Dataify Builder 请求\n\n使用表单字段而不是手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder`\n- 方法：`POST`\n- Authorization 头：`Bearer DATAIFY_API_TOKEN`\n- Content type：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- 动态字段：\n  - `spider_parameters` 必须是 JSON 字符串，不能是原始对象。\n  - `file_name` 默认为 `{{TasksID}}`，可由用户修改。\n\n## 脚本\n\n为确保稳定执行，建议使用 Python 3.6 或更新版本运行 `scripts/submit_amazon_comment.py`，而不是重写 Builder 流程。脚本使用 UTF-8 编码进行读写。\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\n脚本会输出包含 `task_id`、`url`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示没有传入明确的 token 且本地未保存 `DATAIFY_API_TOKEN`。提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n\n`URL cannot be empty` 表示没有提供有效的产品 URL。\n\n`File name cannot be empty` 表示没有提供有效的 `file_name`。\n\n缺少 `task_id` 通常表示 authorization 头、token、`spider_name` 或 `spider_id` 有误。\n\n## 注意事项\n\n- 不要编造结果字段。\n- 成功创建任务后，始终引导用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill)。\n\nFile v1.2.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Amazon Comment\"\n  short_description: \"Submit Dataify Amazon product review collection tasks\"\n  default_prompt: \"Use $dataify-amazon-comment to submit Amazon product review collection tasks through Dataify and return the task_id.\"\n\npolicy:\n  allow_implicit_invocation: true\n\nArchive v1.1.0: 6 files, 7673 bytes\n\nFiles: agents/openai.yaml (309b), scripts/submit_amazon_comment.py (3913b), skill-card.md (2185b), SKILL.md (4805b), SKILL.zh-CN.md (4596b), _meta.json (141b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: dataify-amazon-comment\ndescription: Use for Dataify Amazon product review collection Builder tasks. Trigger when the user says or asks for Amazon 产品评论采集工具, Amazon product review collection tool, Amazon comment collection tool, Amazon product review collection, Amazon comment collection, Amazon review scraping, or Amazon comment scraping by URL. Supports creating an amazon_comment_by-url task; returning the task_id; configuring or reusing the DATAIFY_API_TOKEN environment variable; and troubleshooting Dataify Builder request failures.\n---\n\n# Dataify Amazon Comment\n\nSubmit Amazon product review collection jobs by URL through Dataify Builder, then stop. After a successful submission, give the user the `task_id` and tell them to visit [Dataify](https://dashboard.dataify.com?utm_source=skill) to view results.\n\n## API TOKEN Handling\n\nUse `DATAIFY_API_TOKEN` as the long-term saved token name.\n\n- If the user provides a token in the request, use it for this run.\n- If no token is provided, first check whether `DATAIFY_API_TOKEN` is already saved locally in the environment.\n- If `DATAIFY_API_TOKEN` is saved locally, use it.\n- If no token is available locally, tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n- Do not call the Builder endpoint without a token.\n- Always call it `API TOKEN` in user-facing instructions. Prefer the environment variable name `DATAIFY_API_TOKEN` for saved local use.\n\nPowerShell examples for saving the token for the current session:\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\nFor a persistent user-level variable on Windows:\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## Core Workflow\n\n1. Before submitting, show the user the required values, optional values, and defaults listed in the Parameter Checklist.\n2. Always display submitted parameters as a Markdown table; do not use a plain sentence or bullet list for parameter confirmation.\n3. Ask: \"Do you want to change any of these values before I submit the task?\"\n4. Normalize the final values into `url` and `file_name`.\n5. Resolve the Dataify token from explicit input or saved `DATAIFY_API_TOKEN`.\n6. If no token is available, tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n7. Validate the URL and file name.\n8. Submit a Builder request to create the task.\n9. Read `data.task_id` from the Builder response.\n10. Tell the user to visit [Dataify](https://dashboard.dataify.com?utm_source=skill) to view or manage results.\n\n## Parameter Checklist\n\n| Field | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `url` | Yes | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | Amazon product URL whose reviews should be collected. |\n| `file_name` | No | `{{TasksID}}` | Builder form field. Can be changed by the user. |\n\nIf the user has already provided some values, show those values in place of the defaults and only ask whether the remaining/defaulted values should be changed.\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- Dynamic fields:\n  - `spider_parameters` must be a JSON string, not a raw object.\n  - `file_name` defaults to `{{TasksID}}` and can be changed by the user.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_amazon_comment.py` with Python 3.6 or newer instead of rewriting the Builder flow. The script writes and reads UTF-8 text.\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\nThe script prints a JSON summary with `task_id`, `url`, `file_name`, `dashboard_url`, and `message`.\n\n## Troubleshooting\n\n`Missing Dataify API TOKEN` means no explicit token was passed and `DATAIFY_API_TOKEN` is not saved locally. Tell the user to get an API TOKEN from [Dataify](https://dashboard.dataify.com?utm_source=skill).\n\n`URL cannot be empty` means no usable product URL was provided.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, or `spider_id` is wrong.\n\n## Guardrails\n\n- Do not invent result fields.\n- Always direct the user to [Dataify](https://dashboard.dataify.com?utm_source=skill) after successful task creation.\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn74z5hmmwk21kw8tpphd9w21x86bkdf\",\n  \"slug\": \"dataify-amazon-comment\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1780884316944\n}\n\nFile v1.1.0:skill-card.md\n\n## Description: <br>\nSubmits Dataify Builder tasks that collect Amazon product reviews by URL and returns the created task ID. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[dataify-server](https://clawhub.ai/user/dataify-server) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit Amazon product review collection jobs through Dataify Builder, confirm the task parameters, and receive the resulting task_id for follow-up in Dataify. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends an Amazon product URL and an API-authenticated request to Dataify. <br>\nMitigation: Review the submitted URL before execution and use the skill only when sending the request to Dataify is acceptable. <br>\nRisk: DATAIFY_API_TOKEN is a credential that may be exposed if stored or shared carelessly. <br>\nMitigation: Store the token only in trusted environments, avoid sharing sessions with untrusted users, and rotate the token if exposure is suspected. <br>\n\n\n## Reference(s): <br>\n- [Dataify dashboard](https://dashboard.dataify.com?utm_source=skill) <br>\n- [Dataify Builder endpoint](https://scraperapi.dataify.com/builder) <br>\n- [ClawHub skill page](https://clawhub.ai/dataify-server/dataify-amazon-comment) <br>\n- [Publisher profile](https://clawhub.ai/user/dataify-server) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown instructions and JSON task submission summary] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The helper script prints task_id, url, file_name, dashboard_url, and message after a successful Dataify Builder submission.] <br>\n\n## Skill Version(s): <br>\n1.1.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nFile v1.1.0:SKILL.zh-CN.md\n\n---\nname: dataify-amazon-comment\ndescription: \"用于 Dataify Amazon 商品评论采集 Builder 任务。当用户说到或请求 Amazon 产品评论采集工具、Amazon product review/comment collection、Amazon review/comment scraping，尤其是按 URL 采集 Amazon 评论时触发。支持创建 amazon_comment_by-url 任务、返回 task_id、配置或复用 DATAIFY_API_TOKEN 环境变量，并排查 Dataify Builder 请求失败。\"\n---\n\n# Dataify Amazon Comment\n\n通过 Dataify Builder 按 URL 提交 Amazon 产品评论采集任务，提交后停止。成功提交后，将 `task_id` 提供给用户，并告知他们前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看结果。\n\n## API TOKEN 处理\n\n使用 `DATAIFY_API_TOKEN` 作为长期保存的 token 名称。\n\n- 如果用户在请求中提供了 token，则在本次运行中使用该 token。\n- 如果未提供 token，先检查环境变量中是否已保存 `DATAIFY_API_TOKEN`。\n- 如果本地已保存 `DATAIFY_API_TOKEN`，则直接使用。\n- 如果本地没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n- 没有 token 不要调用 Builder 接口。\n- 在面向用户的说明中始终称其为 `API TOKEN`。在本地保存使用时，优先使用环境变量名 `DATAIFY_API_TOKEN`。\n\nPowerShell 示例，为当前会话保存 token：\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\n在 Windows 上设置持久的用户级变量：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n1. 提交前，向用户展示参数清单中列出的必填值、可选值和默认值。\n2. 始终以 Markdown 表格展示已提交的参数；不要使用纯文本句子或项目符号列表进行参数确认。\n3. 询问：\"在我提交任务之前，您是否需要修改这些值？\"\n4. 将最终值规范化为 `url` 和 `file_name`。\n5. 从用户明确提供的输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n7. 验证 URL 和文件名。\n8. 提交 Builder 请求创建任务。\n9. 从 Builder 响应中读取 `data.task_id`。\n10. 告诉用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n| 字段 | 必填 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `url` | 是 | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | 需要采集评论的 Amazon 产品 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段。可由用户修改。 |\n\n如果用户已经提供了部分值，在表格中显示这些值代替默认值，只询问是否需要修改剩余/使用默认值的参数。\n\n## Dataify Builder 请求\n\n使用表单字段而不是手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder`\n- 方法：`POST`\n- Authorization 头：`Bearer DATAIFY_API_TOKEN`\n- Content type：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- 动态字段：\n  - `spider_parameters` 必须是 JSON 字符串，不能是原始对象。\n  - `file_name` 默认为 `{{TasksID}}`，可由用户修改。\n\n## 脚本\n\n为确保稳定执行，建议使用 Python 3.6 或更新版本运行 `scripts/submit_amazon_comment.py`，而不是重写 Builder 流程。脚本使用 UTF-8 编码进行读写。\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\n脚本会输出包含 `task_id`、`url`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示没有传入明确的 token 且本地未保存 `DATAIFY_API_TOKEN`。提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n\n`URL cannot be empty` 表示没有提供有效的产品 URL。\n\n`File name cannot be empty` 表示没有提供有效的 `file_name`。\n\n缺少 `task_id` 通常表示 authorization 头、token、`spider_name` 或 `spider_id` 有误。\n\n## 注意事项\n\n- 不要编造结果字段。\n- 成功创建任务后，始终引导用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill)。\n\nFile v1.1.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Amazon Comment\"\n  short_description: \"Submit Dataify Amazon product review collection tasks\"\n  default_prompt: \"Use $dataify-amazon-comment to submit Amazon product review collection tasks through Dataify and return the task_id.\"\n\npolicy:\n  allow_implicit_invocation: true\n\nArchive v1.0.0: 5 files, 5338 bytes\n\nFiles: agents/openai.yaml (309b), scripts/submit_amazon_comment.py (3870b), skill-card.md (2136b), SKILL.md (4649b), _meta.json (141b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: dataify-amazon-comment\ndescription: Use for Dataify Amazon product review collection Builder tasks. Trigger when the user says or asks for Amazon 产品评论采集工具, Amazon product review collection tool, Amazon comment collection tool, Amazon product review collection, Amazon comment collection, Amazon review scraping, or Amazon comment scraping by URL. Supports creating an amazon_comment_by-url task; returning the task_id; configuring or reusing the DATAIFY_API_TOKEN environment variable; and troubleshooting Dataify Builder request failures.\n---\n\n# Dataify Amazon Comment\n\nSubmit Amazon product review collection jobs by URL through Dataify Builder, then stop. After a successful submission, give the user the `task_id` and tell them to visit `https://dataify.com/dashboard/` to view results.\n\n## API TOKEN Handling\n\nUse `DATAIFY_API_TOKEN` as the long-term saved token name.\n\n- If the user provides a token in the request, use it for this run.\n- If no token is provided, first check whether `DATAIFY_API_TOKEN` is already saved locally in the environment.\n- If `DATAIFY_API_TOKEN` is saved locally, use it.\n- If no token is available locally, tell the user to get an API TOKEN from [Dataify](https://dataify.com).\n- Do not call the Builder endpoint without a token.\n- Always call it `API TOKEN` in user-facing instructions. Prefer the environment variable name `DATAIFY_API_TOKEN` for saved local use.\n\nPowerShell examples for saving the token for the current session:\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\nFor a persistent user-level variable on Windows:\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## Core Workflow\n\n1. Before submitting, show the user the required values, optional values, and defaults listed in the Parameter Checklist.\n2. Always display submitted parameters as a Markdown table; do not use a plain sentence or bullet list for parameter confirmation.\n3. Ask: \"Do you want to change any of these values before I submit the task?\"\n4. Normalize the final values into `url` and `file_name`.\n5. Resolve the Dataify token from explicit input or saved `DATAIFY_API_TOKEN`.\n6. If no token is available, tell the user to get an API TOKEN from [Dataify](https://dataify.com).\n7. Validate the URL and file name.\n8. Submit a Builder request to create the task.\n9. Read `data.task_id` from the Builder response.\n10. Tell the user to visit `https://dataify.com/dashboard/` to view or manage results.\n\n## Parameter Checklist\n\n| Field | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `url` | Yes | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | Amazon product URL whose reviews should be collected. |\n| `file_name` | No | `{{TasksID}}` | Builder form field. Can be changed by the user. |\n\nIf the user has already provided some values, show those values in place of the defaults and only ask whether the remaining/defaulted values should be changed.\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- Dynamic fields:\n  - `spider_parameters` must be a JSON string, not a raw object.\n  - `file_name` defaults to `{{TasksID}}` and can be changed by the user.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_amazon_comment.py` with Python 3.6 or newer instead of rewriting the Builder flow. The script writes and reads UTF-8 text.\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\nThe script prints a JSON summary with `task_id`, `url`, `file_name`, `dashboard_url`, and `message`.\n\n## Troubleshooting\n\n`Missing Dataify API TOKEN` means no explicit token was passed and `DATAIFY_API_TOKEN` is not saved locally. Tell the user to get an API TOKEN from [Dataify](https://dataify.com).\n\n`URL cannot be empty` means no usable product URL was provided.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, or `spider_id` is wrong.\n\n## Guardrails\n\n- Do not invent result fields.\n- Always direct the user to `https://dataify.com/dashboard/` after successful task creation.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn74z5hmmwk21kw8tpphd9w21x86bkdf\",\n  \"slug\": \"dataify-amazon-comment\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779949562886\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nSubmits Amazon product review collection jobs by URL through Dataify Builder, returns a task_id, and guides API TOKEN setup and troubleshooting. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[dataify-server](https://clawhub.ai/user/dataify-server) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit Amazon product review collection tasks through Dataify Builder and receive the resulting task_id. It is intended for workflows that need parameter confirmation, token handling, and guidance to view results in the Dataify dashboard. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses a Dataify API TOKEN and submits Amazon product URLs to Dataify. <br>\nMitigation: Confirm the API TOKEN source and product URL before submission, and avoid exposing the token in shared outputs. <br>\nRisk: Submitting a Dataify Builder task may consume account quota or trigger paid scraping jobs. <br>\nMitigation: Review the Markdown parameter table, file_name, and target URL before approving task creation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/dataify-server/dataify-amazon-comment) <br>\n- [Dataify](https://dataify.com) <br>\n- [Dataify Dashboard](https://dataify.com/dashboard/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown guidance with parameter tables, inline shell commands, and JSON script output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Returns task_id, url, file_name, dashboard_url, and message after successful script submission.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: release metadata) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nFile v1.0.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Amazon Comment\"\n  short_description: \"Submit Dataify Amazon product review collection tasks\"\n  default_prompt: \"Use $dataify-amazon-comment to submit Amazon product review collection tasks through Dataify and return the task_id.\"\n\npolicy:\n  allow_implicit_invocation: true","readmeExcerpt":"Skill: Dataify Amazon Comment Owner: dataify-server Summary: Collect Amazon Comment data and return results Tags: latest:1.3.0 Version history: v1.3.0 | 2026-09-01T09:11:58.590Z | user 默认返回最终采集结果，完善异步等待下载与安全恢复；修复空目标误执行、Quick Start、Token 配置和触发路由冲突，并补齐发布前自动化测试 v1.2.0 | 2026-07-16T08:35:00.728Z | user 新增能力路由与异步任务闭环，修复失效引用、Token 泄漏和 Skill 元数据兼容性 v1.1.0 | 2026-06-08T02:05:16.944Z | user 补全中文文档，更新目录结构 v1.0.0 | 2026-05-28T0","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python3 scripts/submit_amazon_comment.py --url \"https://www.amazon.com/dp/B0BZYCJK89\""},{"language":"powershell","snippet":"$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\""},{"language":"powershell","snippet":"[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")"},{"language":"powershell","snippet":"python3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\""},{"language":"powershell","snippet":"$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\""},{"language":"powershell","snippet":"[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: dataify-amazon-comment\ndescription: \"Collect Amazon product reviews from one or more known product URLs. Use for Amazon review or comment extraction. Do not use for product details, product lists, or seller profiles.\"\n---\n\n# Dataify Amazon Comment\n\nSubmit Amazon product review collection jobs by URL through Dataify Builder and continue through final-result retrieval. After submission, continue monitoring the returned `task_id` and return the final result by default.\n\n\n## Quick Start\n\n**Input:** an Amazon product URL.\n\n```bash\npython3 scripts/submit_amazon_comment.py --url \"https://www.amazon.com/dp/B0BZYCJK89\"\n```\n\nThe command waits up to 10 minutes and prints the final JSON result. Add `--no-wait` only for submission-only behavior.\n\nIf `DATAIFY_API_TOKEN` is missing, log in or register at https://dashboard.dataify.com/login?utm_source=skill. New accounts receive 50 free credits.\n\n## API TOKEN Handling\n\nUse `DATAIFY_API_TOKEN` as the long-term saved token name.\n\n- If `DATAIFY_API_TOKEN` is saved locally, use it.\n- Do not call the Builder endpoint without a token.\n- Always call it `API TOKEN` in user-facing instructions. Prefer the environment variable name `DATAIFY_API_TOKEN` for saved local use.\n\nPowerShell examples for saving the token for the current session:\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\nFor a persistent user-level variable on Windows:\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## Core Workflow\n\n3. Ask: \"Do you want to change any of these values before I submit the task?\"\n4. Normalize the final values into `url` and `file_name`.\n7. Validate the URL and file name.\n8. Submit a Builder request to create the task.\n9. Read `data.task_id` from the Builder response.\n\n## Parameter Checklist\n\n| Field | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `url` | Yes | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | Amazon product URL whose reviews should be collected. |\n| `file_name` | No | `{{TasksID}}` | Builder form field. Can be changed by the user. |\n\nIf the user has already provided some values, show those values in place of the defaults and only ask whether the remaining/defaulted values should be changed.\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- Dynamic fields:\n  - `spider_parameters` must be a JSON string, not a raw object.\n  - `file_name` defaults to `{{TasksID}}` and can be changed by the user.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_amazon_comment.py` with Python 3.6 or newer instead of rewriting the Builder flow. The script writes and reads"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn74z5hmmwk21kw8tpphd9w21x86bkdf\",\n  \"slug\": \"dataify-amazon-comment\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1788253918590\n}"},{"path":"skill-card.md","content":"## Description:\n\nCollects Amazon product reviews from known product URLs through Dataify Builder and returns the final collection results.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[dataify-server](https://clawhub.ai/user/dataify-server)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to submit Dataify jobs that collect Amazon product review data by product URL and retrieve the resulting JSON.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uses a Dataify API token for external jobs.\n\nMitigation: Install and run it only when the Dataify publisher and service are trusted, keep DATAIFY_API_TOKEN in the environment, and never expose the token in chat or logs.\n\nRisk: The skill depends on a sibling dataify-task-operations runtime for final-result retrieval.\n\nMitigation: Review and trust that runtime before use, and preserve the returned task_id so work can resume without resubmitting a paid job.\n\nRisk: The promised Amazon-only URL scope is not fully enforced by the artifact.\n\nMitigation: Require known Amazon product URLs and confirm the target URL before submission until URL validation is tightened.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dataify-server/skills/dataify-amazon-comment)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, JSON]\n\n**Output Format:** [Markdown guidance with shell commands and JSON task or result output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May return a task_id for resume or no-wait behavior; by default it waits for and returns the final collected JSON result.]\n\n## Skill Version(s):\n\n1.3.0 (source: server release evidence)\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."},{"path":"SKILL.zh-CN.md","content":"---\nname: dataify-amazon-comment\ndescription: \"用于 Dataify Amazon 商品评论采集 Builder 任务。当用户说到或请求 Amazon 产品评论采集工具、Amazon product review/comment collection、Amazon review/comment scraping，尤其是按 URL 采集 Amazon 评论时触发。支持创建 amazon_comment_by-url 任务、返回 task_id、配置或复用 DATAIFY_API_TOKEN 环境变量，并排查 Dataify Builder 请求失败。\"\n---\n\n# Dataify Amazon Comment\n\n通过 Dataify Builder 按 URL 提交 Amazon 产品评论采集任务，提交后停止。成功提交后，将 `task_id` 提供给用户，并告知他们前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看结果。\n\n## API TOKEN 处理\n\n使用 `DATAIFY_API_TOKEN` 作为长期保存的 token 名称。\n\n- 如果用户在请求中提供了 token，则在本次运行中使用该 token。\n- 如果未提供 token，先检查环境变量中是否已保存 `DATAIFY_API_TOKEN`。\n- 如果本地已保存 `DATAIFY_API_TOKEN`，则直接使用。\n- 如果本地没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n- 没有 token 不要调用 Builder 接口。\n- 在面向用户的说明中始终称其为 `API TOKEN`。在本地保存使用时，优先使用环境变量名 `DATAIFY_API_TOKEN`。\n\nPowerShell 示例，为当前会话保存 token：\n\n```powershell\n$env:DATAIFY_API_TOKEN = \"YOUR_DATAIFY_API_TOKEN\"\n```\n\n在 Windows 上设置持久的用户级变量：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n3. 询问：\"在我提交任务之前，您是否需要修改这些值？\"\n4. 将最终值规范化为 `url` 和 `file_name`。\n5. 从用户明确提供的输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n7. 验证 URL 和文件名。\n8. 提交 Builder 请求创建任务。\n9. 从 Builder 响应中读取 `data.task_id`。\n10. 告诉用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n| 字段 | 必填 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `url` | 是 | `https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726` | 需要采集评论的 Amazon 产品 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段。可由用户修改。 |\n\n如果用户已经提供了部分值，在表格中显示这些值代替默认值，只询问是否需要修改剩余/使用默认值的参数。\n\n## Dataify Builder 请求\n\n使用表单字段而不是手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder`\n- 方法：`POST`\n- Authorization 头：`Bearer DATAIFY_API_TOKEN`\n- Content type：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=amazon.com`\n  - `spider_id=amazon_comment_by-url`\n  - `spider_errors=true`\n- 动态字段：\n  - `spider_parameters` 必须是 JSON 字符串，不能是原始对象。\n  - `file_name` 默认为 `{{TasksID}}`，可由用户修改。\n\n## 脚本\n\n为确保稳定执行，建议使用 Python 3.6 或更新版本运行 `scripts/submit_amazon_comment.py`，而不是重写 Builder 流程。脚本使用 UTF-8 编码进行读写。\n\n```powershell\npython3 \".\\scripts\\submit_amazon_comment.py\"\npython3 \".\\scripts\\submit_amazon_comment.py\" --url \"https://www.amazon.com/HISDERN-Checkered-Handkerchief-Classic-Necktie/dp/B0BRXPR726\" --file-name \"amazon-comments\"\n```\n\n脚本会输出包含 `task_id`、`url`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示没有传入明确的 token 且本地未保存 `DATAIFY_API_TOKEN`。提示用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 获取 API TOKEN。\n\n`URL cannot be empty` 表示没有提供有效的产品 URL。\n\n`File name cannot be empty` 表示没有提供有效的 `file_name`。\n\n缺少 `task_id` 通常表示 authorization 头、token、`spider_name` 或 `spider_id` 有误。\n\n## 注意事项\n\n- 不要编造结果字段。\n- 成功创建任务后，始终引导用户前往 [Dataify](https://dashboard.dataify.com?utm_sou"},{"path":"agents/openai.yaml","content":"interface:\n  display_name: \"Dataify Amazon Comment\"\n  short_description: \"Collect Amazon Comment data and return results\"\n  default_prompt: \"Use $dataify-amazon-comment to complete the requested Dataify collection, wait for the asynchronous task, and return the final collected result. Stop at task submission only when I explicitly request no-wait behavior.\"\n\npolicy:\n  allow_implicit_invocation: true"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1285,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T15:48:41.018Z","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-11T15:48:41.018Z","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-11T20:55:57.849Z","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"}]}}}