{"id":"f62d3bb0-6741-4b99-a05e-09c6a5d384ae","entityType":"agent","slug":"clawhub-dataify-server-dataify-instagram-comment-by-posturl","name":"Dataify Instagram Comment By Post URL","canonicalUrl":"https://www.xpersona.co/agent/clawhub-dataify-server-dataify-instagram-comment-by-posturl","canonicalPath":"/agent/clawhub-dataify-server-dataify-instagram-comment-by-posturl","generatedAt":"2026-10-14T15:56:47.169Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:31:41.616Z","emptyReason":null},"description":"Collect Instagram Comment By Post URL data and return results","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 954 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s17feed8b2qc486skqmjapxmjs86bd4f:dataify-instagram-comment-by-posturl","sourceUrl":"https://clawhub.ai/dataify-server/dataify-instagram-comment-by-posturl","homepage":"https://clawhub.ai/dataify-server/skills/dataify-instagram-comment-by-posturl","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/dataify-server/dataify-instagram-comment-by-posturl","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/dataify-server/skills/dataify-instagram-comment-by-posturl","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Dataify Instagram Comment By Post URL 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-12T02:31:41.616Z","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-12T02:31:41.616Z","emptyReason":null},"stars":null,"forks":null,"downloads":954,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.3.0","tractionLabel":"954 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:31:41.532Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T02:31:41.616Z","lastCrawledAt":"2026-10-12T02:31:41.532Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T02:31:41.532Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.0","createdAt":"2026-09-01T09:14:39.161Z","changelog":"默认返回最终采集结果，完善异步等待下载与安全恢复；修复空目标误执行、Quick Start、Token 配置和触发路由冲突，并补齐发布前自动化测试","fileCount":8,"zipByteSize":13038},{"version":"1.2.0","createdAt":"2026-07-16T08:38:04.717Z","changelog":"新增能力路由与异步任务闭环，修复失效引用、Token 泄漏和 Skill 元数据兼容性","fileCount":8,"zipByteSize":10974},{"version":"1.1.0","createdAt":"2026-06-08T02:07:05.082Z","changelog":"补全中文文档，更新目录结构","fileCount":8,"zipByteSize":10937},{"version":"1.0.0","createdAt":"2026-06-01T06:11:27.080Z","changelog":"Initial release of dataify-instagram-comment-by-posturl. - Submit Dataify tasks to collect Instagram post comments by post URL. - Handles API TOKEN management, including prompting the user to save their token as DATAIFY_API_TOKEN. - Supports submitting single or multiple post URLs for bulk comment collection. - Parameter confirmation and editing before submission via Markdown table. - Provides instructions for viewing results and troubleshooting common issues.","fileCount":7,"zipByteSize":7799}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17feed8b2qc486skqmjapxmjs86bd4f:dataify-instagram-comment-by-posturl","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17feed8b2qc486skqmjapxmjs86bd4f:dataify-instagram-comment-by-posturl` 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-instagram-comment-by-posturl 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-instagram-comment-by-posturl/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/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-14T15:56:47.167Z"}},"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-instagram-comment-by-posturl/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-dataify-server-dataify-instagram-comment-by-posturl/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-12T02:31:41.616Z","emptyReason":null},"readme":"Skill: Dataify Instagram Comment By Post URL\n\nOwner: dataify-server\n\nSummary: Collect Instagram Comment By Post URL data and return results\n\nTags: latest:1.3.0\n\nVersion history:\n\nv1.3.0 | 2026-09-01T09:14:39.161Z | user\n\n默认返回最终采集结果，完善异步等待下载与安全恢复；修复空目标误执行、Quick Start、Token 配置和触发路由冲突，并补齐发布前自动化测试\n\nv1.2.0 | 2026-07-16T08:38:04.717Z | user\n\n新增能力路由与异步任务闭环，修复失效引用、Token 泄漏和 Skill 元数据兼容性\n\nv1.1.0 | 2026-06-08T02:07:05.082Z | user\n\n补全中文文档，更新目录结构\n\nv1.0.0 | 2026-06-01T06:11:27.080Z | auto\n\nInitial release of dataify-instagram-comment-by-posturl.\n\n- Submit Dataify tasks to collect Instagram post comments by post URL.\n- Handles API TOKEN management, including prompting the user to save their token as DATAIFY_API_TOKEN.\n- Supports submitting single or multiple post URLs for bulk comment collection.\n- Parameter confirmation and editing before submission via Markdown table.\n- Provides instructions for viewing results and troubleshooting common issues.\n\nArchive index:\n\nArchive v1.3.0: 8 files, 13038 bytes\n\nFiles: agents/openai.yaml (591b), assets/dataify-instagram-comment-by-posturl-large.svg (490b), assets/dataify-instagram-comment-by-posturl-small.svg (471b), scripts/submit_dataify_instagram_comment_by_posturl.py (6535b), skill-card.md (2153b), SKILL.md (9140b), SKILL.zh-CN.md (9842b), _meta.json (155b)\n\nFile v1.3.0:SKILL.md\n\n---\nname: dataify-instagram-comment-by-posturl\ndescription: \"Collect comments from a known Instagram post URL. Do not use for profile data or Reel details.\"\n---\n\n# Dataify Instagram Comment By Post URL\n\nSubmit Instagram post comment collection jobs through Dataify Builder by post URL. After submission, continue monitoring the returned `task_id` and return the final result by default.\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 without asking the user to re-enter the token.\n- If the user does not have an API TOKEN, tell them they can register or log in at [Dataify](https://dashboard.dataify.com/login?utm_source=skill) to get one.\n- If the user wants to save it, give the appropriate command for their shell and ask them to run it; do not silently persist tokens without confirmation.\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\n2. Ask whether the user wants to change any value before running the task.\n3. Ask whether the user wants to collect multiple Instagram post comment groups. If yes, ask for multiple `posturl` values.\n4. Normalize the final values into a list of `spider_parameters` objects.\n7. Validate the post URLs and file name.\n8. Submit the Builder request with `spider_id=ins_comment_by-posturl`.\n9. Read `data.task_id` from the Builder response and read `data.status` or `status` when present.\n## Parameter Checklist\n\n\n| Field | Required | Default | Location | Notes |\n| --- | --- | --- | --- | --- |\n| `posturl` | Yes | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram post URL. |\n| `file_name` | No | `{{TasksID}}` | Builder form field | Use the default when the user does not change it. |\n\n\nAlso ask: \"Do you want to collect multiple Instagram post comment groups? If yes, provide multiple `posturl` values.\"\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## Parameter Handling\n\n- Trim leading and trailing whitespace from `posturl`.\n- `posturl` cannot be empty.\n- `posturl` must start with `https://www.instagram.com/`.\n- Multiple collection groups repeat only `posturl` inside `spider_parameters`.\n- `file_name` defaults to `{{TasksID}}`. If the user changes it, submit the user-provided value.\n- `file_name` cannot be empty.\n\nSingle-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\nMulti-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder?platform=1`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- Default field:\n  - `file_name={{TasksID}}`\n- Dynamic field:\n  - `spider_parameters` must be a JSON string array of post URL objects.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_dataify_instagram_comment_by_posturl.py` with Python 3.6 or newer instead of rewriting the Builder flow.\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\nTo override the saved environment token or file name:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\nTo submit multiple post URLs:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\nThe script prints a JSON summary with `spider_id`, `task_id`, `status`, `parameters`, `file_name` and `message`.\n\n## Troubleshooting\n\n\n`posturl cannot be empty` means the required Instagram post URL is missing.\n\n`posturl must start with https://www.instagram.com/` means the URL is outside the allowed Instagram domain.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\n`Necessary parameters is empty!` usually means the Builder request was not submitted as form fields, `spider_parameters` was not a JSON string array, or one `spider_parameters` object is missing `posturl`.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, `spider_id`, or `spider_parameters` is wrong.\n\n## Guardrails\n\n- Do not put `file_name` inside `spider_parameters`.\n- Do not use an Instagram URL from outside `https://www.instagram.com/`.\n- Use only `API TOKEN` and `DATAIFY_API_TOKEN` when referring to authentication.\n- Do not hard-code local Python paths.\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## Quick Start\n\n```bash\npython3 scripts/submit_dataify_instagram_comment_by_posturl.py --help\n```\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-instagram-comment-by-posturl\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1788254079161\n}\n\nFile v1.3.0:skill-card.md\n\n## Description:\n\nCollects comments from a known Instagram post URL and returns the collected 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 collection jobs for comments on specific Instagram post URLs, monitor the asynchronous task, and receive the final collected result.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires access to a Dataify API TOKEN and can submit paid Dataify collection jobs.\n\nMitigation: Install and run it only if you are comfortable granting that token access and paying for Dataify collection tasks.\n\nRisk: Post-submission monitoring depends on an external Dataify task runtime that is not included in the package.\n\nMitigation: Review or provide the missing dataify-task-operations dependency from a trusted source before relying on final-result monitoring.\n\nRisk: Implicit invocation can be risky for ambiguous Instagram requests.\n\nMitigation: Confirm the target post URL and any cost-affecting scope before execution when the user's request is unclear.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dataify-server/skills/dataify-instagram-comment-by-posturl)\n- [Dataify dashboard](https://dashboard.dataify.com?utm_source=skill)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON task or result payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May submit paid Dataify collection jobs; waits up to 600 seconds for ordinary collections unless no-wait behavior is requested.]\n\n## Skill Version(s):\n\n1.3.0 (source: evidence.release.version)\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-instagram-comment-by-posturl\ndescription: \"提交 Dataify Instagram Post Comment by Post URL Builder 任务。当用户需要 Instagram post comment collection tool、采集/抓取/爬取 Instagram 帖子评论或评论数据、按 post URL 采集 Instagram comments、创建 ins_comment_by-posturl 任务，或表达 Instagram 帖子评论采集/抓取、Instagram 评论采集/抓取、帖子评论采集/抓取、帖子 URL 评论采集等含义时使用。也用于接收 task_id/status、配置 DATAIFY_API_TOKEN 或排查此 Dataify Builder 请求。\"\n---\n\n# Dataify Instagram Comment By Post URL\n\n通过 Dataify Builder 按帖子 URL 提交 Instagram 帖子评论采集任务。提交成功后，向用户提供 `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 API TOKEN。\n- 如果用户没有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录以获取。\n- 如果用户已有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角找到。\n- 用户提供 API TOKEN 后，如果本地未保存 `DATAIFY_API_TOKEN`，询问是否将其保存为 `DATAIFY_API_TOKEN` 以供将来使用。\n- 如果用户想要保存，提供适合其 shell 的命令并要求用户执行；不要在未经确认的情况下静默保存 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\nWindows 永久用户级变量设置：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n2. 询问用户在运行任务前是否要修改任何值。\n3. 询问用户是否要采集多组 Instagram 帖子评论。如果是，要求提供多个 `posturl` 值。\n4. 将最终值规范化为 `spider_parameters` 对象列表。\n5. 从用户明确输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，要求用户输入 API TOKEN 并询问是否保存为 `DATAIFY_API_TOKEN`。\n7. 验证帖子 URL 和文件名。\n8. 使用 `spider_id=ins_comment_by-posturl` 提交 Builder 请求。\n9. 从 Builder 响应中读取 `data.task_id`，并读取 `data.status` 或 `status`（如果存在）。\n11. 告知用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n\n| 字段 | 必填 | 默认值 | 位置 | 备注 |\n| --- | --- | --- | --- | --- |\n| `posturl` | 是 | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram 帖子 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段 | 用户未修改时使用默认值。 |\n\n\n同时询问：\"您是否要采集多组 Instagram 帖子评论？如果是，请提供多个 `posturl` 值。\"\n\n如果用户已提供部分值，在表格中显示这些值替代默认值，只询问是否修改剩余/默认的值。\n\n## 参数处理\n\n- `posturl` 为必填项。如果用户未提供，询问该必填值；不要使用文档示例值代替用户输入。\n- 去除 `posturl` 前后的空格。\n- `posturl` 不能为空。\n- `posturl` 必须以 `https://www.instagram.com/` 开头。\n- 多组采集仅在 `spider_parameters` 中重复 `posturl`。\n- `file_name` 默认为 `{{TasksID}}`。如果用户修改，则提交用户提供的值。\n- `file_name` 不能为空。\n\n单组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n多组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder 请求\n\n使用表单字段而非手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder?platform=1`\n- 方法：`POST`\n- 授权头：`Bearer DATAIFY_API_TOKEN`\n- 内容类型：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- 默认字段：\n  - `file_name={{TasksID}}`\n- 动态字段：\n  - `spider_parameters` 必须是帖子 URL 对象的 JSON 字符串数组。\n\n## 脚本\n\n为了稳定执行，优先使用 Python 3.6 或更新版本运行 `scripts/submit_dataify_instagram_comment_by_posturl.py`，而不是重写 Builder 流程。\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\n覆盖已保存的环境 token 或文件名：\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\n提交多个帖子 URL：\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\n脚本会打印包含 `spider_id`、`task_id`、`status`、`parameters`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示未传递显式 token 且本地未保存 `DATAIFY_API_TOKEN`。告知用户需要提供 Dataify API TOKEN，询问是否保存为 `DATAIFY_API_TOKEN`，或告知可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录获取。如果已有 token，告知其位于 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角。\n\n`posturl cannot be empty` 表示缺少必填的 Instagram 帖子 URL。\n\n`posturl must start with https://www.instagram.com/` 表示 URL 不在允许的 Instagram 域名范围内。\n\n`File name cannot be empty` 表示未提供可用的 `file_name`。\n\n`Necessary parameters is empty!` 通常表示 Builder 请求未以表单字段提交、`spider_parameters` 不是 JSON 字符串数组，或某个 `spider_parameters` 对象缺少 `posturl`。\n\n缺少 `task_id` 通常表示授权头、token、`spider_name`、`spider_id` 或 `spider_parameters` 有误。\n\n## 安全规则\n\n- 不要将 `file_name` 放入 `spider_parameters` 中。\n- 不要使用 `https://www.instagram.com/` 之外的 Instagram URL。\n- 提及身份验证时仅使用 `API TOKEN` 和 `DATAIFY_API_TOKEN`。\n- 不要硬编码本地 Python 路径。\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 Instagram Comment By Post URL\"\n  short_description: \"Collect Instagram Comment By Post URL data and return results\"\n  icon_small: \"./assets/dataify-instagram-comment-by-posturl-small.svg\"\n  icon_large: \"./assets/dataify-instagram-comment-by-posturl-large.svg\"\n  default_prompt: \"Use $dataify-instagram-comment-by-posturl 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: 8 files, 10974 bytes\n\nFiles: agents/openai.yaml (505b), assets/dataify-instagram-comment-by-posturl-large.svg (490b), assets/dataify-instagram-comment-by-posturl-small.svg (471b), scripts/submit_dataify_instagram_comment_by_posturl.py (5790b), skill-card.md (2496b), SKILL.md (8500b), SKILL.zh-CN.md (7785b), _meta.json (155b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: dataify-instagram-comment-by-posturl\ndescription: Submit Dataify Instagram Post Comment by Post URL Builder tasks. Use when the user wants the Instagram post comment collection tool, collect Instagram post comments, scrape Instagram post comments, crawl Instagram comment data, collect Instagram comments by post URL, create a Dataify ins_comment_by-posturl task, or asks in Chinese with meanings like \"Instagram帖子评论采集\", \"Instagram帖子评论抓取\", \"Instagram评论采集\", \"Instagram评论抓取\", \"帖子评论采集\", \"帖子评论抓取\", \"帖子URL评论采集\", or similar Instagram post comment noun plus collection/scraping action wording. Also use when receiving task_id/status, configuring DATAIFY_API_TOKEN, or troubleshooting this Dataify Builder request.\n---\n\n# Dataify Instagram Comment By Post URL\n\nSubmit Instagram post comment collection jobs through Dataify Builder by post URL. After a successful submission, give the user the `task_id`, the returned or inferred status, 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 without asking the user to re-enter the token.\n- If no token is available locally, tell the user they need to provide a Dataify API TOKEN.\n- If the user does not have an API TOKEN, tell them they can register or log in at [Dataify](https://dashboard.dataify.com/login?utm_source=skill) to get one.\n- If the user already has an API TOKEN, tell them it is available in the top-right area of [Dataify](https://dashboard.dataify.com?utm_source=skill).\n- After the user provides an API TOKEN and no local `DATAIFY_API_TOKEN` is saved, ask whether they want to save it locally as `DATAIFY_API_TOKEN` for future use.\n- If the user wants to save it, give the appropriate command for their shell and ask them to run it; do not silently persist tokens without confirmation.\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. Ask whether the user wants to change any value before running the task.\n3. Ask whether the user wants to collect multiple Instagram post comment groups. If yes, ask for multiple `posturl` values.\n4. Normalize the final values into a list of `spider_parameters` objects.\n5. Resolve the Dataify token from explicit input or saved `DATAIFY_API_TOKEN`.\n6. If no token is available, ask the user to enter their API TOKEN and ask whether to save it as `DATAIFY_API_TOKEN`.\n7. Validate the post URLs and file name.\n8. Submit the Builder request with `spider_id=ins_comment_by-posturl`.\n9. Read `data.task_id` from the Builder response and read `data.status` or `status` when present.\n10. Stop after Builder succeeds.\n11. Tell the user to visit [Dataify](https://dashboard.dataify.com?utm_source=skill) to view or manage results.\n\n## Parameter Checklist\n\nWhen the user invokes this skill, first tell them these values are used. Always display submitted parameters as a Markdown table; do not use a plain sentence or bullet list for the parameter confirmation.\n\n| Field | Required | Default | Location | Notes |\n| --- | --- | --- | --- | --- |\n| `posturl` | Yes | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram post URL. |\n| `file_name` | No | `{{TasksID}}` | Builder form field | Use the default when the user does not change it. |\n\nThen ask: \"Do you want to change any of these values before I submit the task?\"\n\nAlso ask: \"Do you want to collect multiple Instagram post comment groups? If yes, provide multiple `posturl` values.\"\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## Parameter Handling\n\n- `posturl` is required. If the user does not provide it, use the default `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` only after showing it in the parameter confirmation table.\n- Trim leading and trailing whitespace from `posturl`.\n- `posturl` cannot be empty.\n- `posturl` must start with `https://www.instagram.com/`.\n- Multiple collection groups repeat only `posturl` inside `spider_parameters`.\n- `file_name` defaults to `{{TasksID}}`. If the user changes it, submit the user-provided value.\n- `file_name` cannot be empty.\n\nSingle-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\nMulti-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder?platform=1`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- Default field:\n  - `file_name={{TasksID}}`\n- Dynamic field:\n  - `spider_parameters` must be a JSON string array of post URL objects.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_dataify_instagram_comment_by_posturl.py` with Python 3.6 or newer instead of rewriting the Builder flow.\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\nTo override the saved environment token or file name:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --api-token \"YOUR_DATAIFY_API_TOKEN\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\nTo submit multiple post URLs:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\nThe script prints a JSON summary with `spider_id`, `task_id`, `status`, `parameters`, `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 they need to provide their Dataify API TOKEN, ask whether they want to save it as `DATAIFY_API_TOKEN`, or tell them they can register or log in at [Dataify](https://dashboard.dataify.com/login?utm_source=skill) to get one. If they already have a token, tell them it is in the top-right area of [Dataify](https://dashboard.dataify.com?utm_source=skill).\n\n`posturl cannot be empty` means the required Instagram post URL is missing.\n\n`posturl must start with https://www.instagram.com/` means the URL is outside the allowed Instagram domain.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\n`Necessary parameters is empty!` usually means the Builder request was not submitted as form fields, `spider_parameters` was not a JSON string array, or one `spider_parameters` object is missing `posturl`.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, `spider_id`, or `spider_parameters` is wrong.\n\n## Guardrails\n\n- Do not put `file_name` inside `spider_parameters`.\n- Do not use an Instagram URL from outside `https://www.instagram.com/`.\n- Use only `API TOKEN` and `DATAIFY_API_TOKEN` when referring to authentication.\n- Do not hard-code local Python paths.\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-instagram-comment-by-posturl\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1784191084717\n}\n\nFile v1.2.0:skill-card.md\n\n## Description: <br>\nSubmits Dataify Builder jobs that collect Instagram post comments from one or more post URLs and returns the resulting task ID and status. <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 with a Dataify account use this skill to submit Instagram post comment collection jobs by post URL, including multi-post submissions, and receive the task ID and status 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 submits task parameters to Dataify under the user's account. <br>\nMitigation: Review post URLs and task settings before submission, and submit only when the user intends to create a Dataify collection job. <br>\nRisk: A saved Dataify API TOKEN can be reused for future submissions. <br>\nMitigation: Use DATAIFY_API_TOKEN deliberately, do not persist tokens silently, and ask for confirmation before providing save commands. <br>\nRisk: Incorrect or out-of-scope post URLs could submit unintended collection targets. <br>\nMitigation: Validate that each posturl is non-empty and starts with https://www.instagram.com/ before calling the Builder endpoint. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/dataify-server/skills/dataify-instagram-comment-by-posturl) <br>\n- [Dataify dashboard](https://dashboard.dataify.com?utm_source=skill) <br>\n- [Dataify Builder endpoint](https://scraperapi.dataify.com/builder?platform=1) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with parameter tables, shell commands, and JSON task summaries from the helper script.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a Dataify API TOKEN and one or more Instagram post URLs; the helper script prints spider_id, task_id, status, parameters, file_name, dashboard_url, and message.] <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-instagram-comment-by-posturl\ndescription: \"提交 Dataify Instagram Post Comment by Post URL Builder 任务。当用户需要 Instagram post comment collection tool、采集/抓取/爬取 Instagram 帖子评论或评论数据、按 post URL 采集 Instagram comments、创建 ins_comment_by-posturl 任务，或表达 Instagram 帖子评论采集/抓取、Instagram 评论采集/抓取、帖子评论采集/抓取、帖子 URL 评论采集等含义时使用。也用于接收 task_id/status、配置 DATAIFY_API_TOKEN 或排查此 Dataify Builder 请求。\"\n---\n\n# Dataify Instagram Comment By Post URL\n\n通过 Dataify Builder 按帖子 URL 提交 Instagram 帖子评论采集任务。提交成功后，向用户提供 `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 API TOKEN。\n- 如果用户没有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录以获取。\n- 如果用户已有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角找到。\n- 用户提供 API TOKEN 后，如果本地未保存 `DATAIFY_API_TOKEN`，询问是否将其保存为 `DATAIFY_API_TOKEN` 以供将来使用。\n- 如果用户想要保存，提供适合其 shell 的命令并要求用户执行；不要在未经确认的情况下静默保存 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\nWindows 永久用户级变量设置：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n1. 提交前，向用户展示参数清单中列出的必填值、可选值和默认值。\n2. 询问用户在运行任务前是否要修改任何值。\n3. 询问用户是否要采集多组 Instagram 帖子评论。如果是，要求提供多个 `posturl` 值。\n4. 将最终值规范化为 `spider_parameters` 对象列表。\n5. 从用户明确输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，要求用户输入 API TOKEN 并询问是否保存为 `DATAIFY_API_TOKEN`。\n7. 验证帖子 URL 和文件名。\n8. 使用 `spider_id=ins_comment_by-posturl` 提交 Builder 请求。\n9. 从 Builder 响应中读取 `data.task_id`，并读取 `data.status` 或 `status`（如果存在）。\n10. Builder 成功后停止。\n11. 告知用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n当用户调用此技能时，首先告知这些值的使用情况。始终以 Markdown 表格展示提交的参数；不要使用纯文本或项目列表进行参数确认。\n\n| 字段 | 必填 | 默认值 | 位置 | 备注 |\n| --- | --- | --- | --- | --- |\n| `posturl` | 是 | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram 帖子 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段 | 用户未修改时使用默认值。 |\n\n然后询问：\"在我提交任务之前，您是否要修改这些值？\"\n\n同时询问：\"您是否要采集多组 Instagram 帖子评论？如果是，请提供多个 `posturl` 值。\"\n\n如果用户已提供部分值，在表格中显示这些值替代默认值，只询问是否修改剩余/默认的值。\n\n## 参数处理\n\n- `posturl` 为必填项。如果用户未提供，仅在参数确认表格中展示后使用默认值 `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/`。\n- 去除 `posturl` 前后的空格。\n- `posturl` 不能为空。\n- `posturl` 必须以 `https://www.instagram.com/` 开头。\n- 多组采集仅在 `spider_parameters` 中重复 `posturl`。\n- `file_name` 默认为 `{{TasksID}}`。如果用户修改，则提交用户提供的值。\n- `file_name` 不能为空。\n\n单组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n多组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder 请求\n\n使用表单字段而非手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder?platform=1`\n- 方法：`POST`\n- 授权头：`Bearer DATAIFY_API_TOKEN`\n- 内容类型：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- 默认字段：\n  - `file_name={{TasksID}}`\n- 动态字段：\n  - `spider_parameters` 必须是帖子 URL 对象的 JSON 字符串数组。\n\n## 脚本\n\n为了稳定执行，优先使用 Python 3.6 或更新版本运行 `scripts/submit_dataify_instagram_comment_by_posturl.py`，而不是重写 Builder 流程。\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\n覆盖已保存的环境 token 或文件名：\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --api-token \"YOUR_DATAIFY_API_TOKEN\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\n提交多个帖子 URL：\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\n脚本会打印包含 `spider_id`、`task_id`、`status`、`parameters`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示未传递显式 token 且本地未保存 `DATAIFY_API_TOKEN`。告知用户需要提供 Dataify API TOKEN，询问是否保存为 `DATAIFY_API_TOKEN`，或告知可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录获取。如果已有 token，告知其位于 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角。\n\n`posturl cannot be empty` 表示缺少必填的 Instagram 帖子 URL。\n\n`posturl must start with https://www.instagram.com/` 表示 URL 不在允许的 Instagram 域名范围内。\n\n`File name cannot be empty` 表示未提供可用的 `file_name`。\n\n`Necessary parameters is empty!` 通常表示 Builder 请求未以表单字段提交、`spider_parameters` 不是 JSON 字符串数组，或某个 `spider_parameters` 对象缺少 `posturl`。\n\n缺少 `task_id` 通常表示授权头、token、`spider_name`、`spider_id` 或 `spider_parameters` 有误。\n\n## 安全规则\n\n- 不要将 `file_name` 放入 `spider_parameters` 中。\n- 不要使用 `https://www.instagram.com/` 之外的 Instagram URL。\n- 提及身份验证时仅使用 `API TOKEN` 和 `DATAIFY_API_TOKEN`。\n- 不要硬编码本地 Python 路径。\n- 不要编造结果字段。\n- 任务创建成功后始终引导用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill)。\n\nFile v1.2.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Instagram Comment By Post URL\"\n  short_description: \"Submit Dataify Instagram post comment tasks by post URL\"\n  icon_small: \"./assets/dataify-instagram-comment-by-posturl-small.svg\"\n  icon_large: \"./assets/dataify-instagram-comment-by-posturl-large.svg\"\n  default_prompt: \"Use $dataify-instagram-comment-by-posturl to submit Instagram post comment Builder tasks by post URL through Dataify and return the task_id and status.\"\n\npolicy:\n  allow_implicit_invocation: true\n\nArchive v1.1.0: 8 files, 10937 bytes\n\nFiles: agents/openai.yaml (505b), assets/dataify-instagram-comment-by-posturl-large.svg (490b), assets/dataify-instagram-comment-by-posturl-small.svg (471b), scripts/submit_dataify_instagram_comment_by_posturl.py (5790b), skill-card.md (2442b), SKILL.md (8500b), SKILL.zh-CN.md (7785b), _meta.json (155b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: dataify-instagram-comment-by-posturl\ndescription: Submit Dataify Instagram Post Comment by Post URL Builder tasks. Use when the user wants the Instagram post comment collection tool, collect Instagram post comments, scrape Instagram post comments, crawl Instagram comment data, collect Instagram comments by post URL, create a Dataify ins_comment_by-posturl task, or asks in Chinese with meanings like \"Instagram帖子评论采集\", \"Instagram帖子评论抓取\", \"Instagram评论采集\", \"Instagram评论抓取\", \"帖子评论采集\", \"帖子评论抓取\", \"帖子URL评论采集\", or similar Instagram post comment noun plus collection/scraping action wording. Also use when receiving task_id/status, configuring DATAIFY_API_TOKEN, or troubleshooting this Dataify Builder request.\n---\n\n# Dataify Instagram Comment By Post URL\n\nSubmit Instagram post comment collection jobs through Dataify Builder by post URL. After a successful submission, give the user the `task_id`, the returned or inferred status, 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 without asking the user to re-enter the token.\n- If no token is available locally, tell the user they need to provide a Dataify API TOKEN.\n- If the user does not have an API TOKEN, tell them they can register or log in at [Dataify](https://dashboard.dataify.com/login?utm_source=skill) to get one.\n- If the user already has an API TOKEN, tell them it is available in the top-right area of [Dataify](https://dashboard.dataify.com?utm_source=skill).\n- After the user provides an API TOKEN and no local `DATAIFY_API_TOKEN` is saved, ask whether they want to save it locally as `DATAIFY_API_TOKEN` for future use.\n- If the user wants to save it, give the appropriate command for their shell and ask them to run it; do not silently persist tokens without confirmation.\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. Ask whether the user wants to change any value before running the task.\n3. Ask whether the user wants to collect multiple Instagram post comment groups. If yes, ask for multiple `posturl` values.\n4. Normalize the final values into a list of `spider_parameters` objects.\n5. Resolve the Dataify token from explicit input or saved `DATAIFY_API_TOKEN`.\n6. If no token is available, ask the user to enter their API TOKEN and ask whether to save it as `DATAIFY_API_TOKEN`.\n7. Validate the post URLs and file name.\n8. Submit the Builder request with `spider_id=ins_comment_by-posturl`.\n9. Read `data.task_id` from the Builder response and read `data.status` or `status` when present.\n10. Stop after Builder succeeds.\n11. Tell the user to visit [Dataify](https://dashboard.dataify.com?utm_source=skill) to view or manage results.\n\n## Parameter Checklist\n\nWhen the user invokes this skill, first tell them these values are used. Always display submitted parameters as a Markdown table; do not use a plain sentence or bullet list for the parameter confirmation.\n\n| Field | Required | Default | Location | Notes |\n| --- | --- | --- | --- | --- |\n| `posturl` | Yes | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram post URL. |\n| `file_name` | No | `{{TasksID}}` | Builder form field | Use the default when the user does not change it. |\n\nThen ask: \"Do you want to change any of these values before I submit the task?\"\n\nAlso ask: \"Do you want to collect multiple Instagram post comment groups? If yes, provide multiple `posturl` values.\"\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## Parameter Handling\n\n- `posturl` is required. If the user does not provide it, use the default `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` only after showing it in the parameter confirmation table.\n- Trim leading and trailing whitespace from `posturl`.\n- `posturl` cannot be empty.\n- `posturl` must start with `https://www.instagram.com/`.\n- Multiple collection groups repeat only `posturl` inside `spider_parameters`.\n- `file_name` defaults to `{{TasksID}}`. If the user changes it, submit the user-provided value.\n- `file_name` cannot be empty.\n\nSingle-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\nMulti-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder?platform=1`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- Default field:\n  - `file_name={{TasksID}}`\n- Dynamic field:\n  - `spider_parameters` must be a JSON string array of post URL objects.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_dataify_instagram_comment_by_posturl.py` with Python 3.6 or newer instead of rewriting the Builder flow.\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\nTo override the saved environment token or file name:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --api-token \"YOUR_DATAIFY_API_TOKEN\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\nTo submit multiple post URLs:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\nThe script prints a JSON summary with `spider_id`, `task_id`, `status`, `parameters`, `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 they need to provide their Dataify API TOKEN, ask whether they want to save it as `DATAIFY_API_TOKEN`, or tell them they can register or log in at [Dataify](https://dashboard.dataify.com/login?utm_source=skill) to get one. If they already have a token, tell them it is in the top-right area of [Dataify](https://dashboard.dataify.com?utm_source=skill).\n\n`posturl cannot be empty` means the required Instagram post URL is missing.\n\n`posturl must start with https://www.instagram.com/` means the URL is outside the allowed Instagram domain.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\n`Necessary parameters is empty!` usually means the Builder request was not submitted as form fields, `spider_parameters` was not a JSON string array, or one `spider_parameters` object is missing `posturl`.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, `spider_id`, or `spider_parameters` is wrong.\n\n## Guardrails\n\n- Do not put `file_name` inside `spider_parameters`.\n- Do not use an Instagram URL from outside `https://www.instagram.com/`.\n- Use only `API TOKEN` and `DATAIFY_API_TOKEN` when referring to authentication.\n- Do not hard-code local Python paths.\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-instagram-comment-by-posturl\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1780884425082\n}\n\nFile v1.1.0:skill-card.md\n\n## Description: <br>\nSubmits Dataify Builder tasks that collect Instagram post comments by post URL and returns the created task ID and status. <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 configure and submit Dataify Instagram comment collection jobs for one or more Instagram post URLs, then receive the resulting task ID, status, and dashboard guidance. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can use a saved Dataify token to launch real Instagram comment collection jobs. <br>\nMitigation: Install and run it only when that behavior is intended, and confirm which DATAIFY_API_TOKEN will be used before submission. <br>\nRisk: A job may be submitted for an unintended Instagram post URL, including the documented default URL. <br>\nMitigation: Review the parameter table before each run and verify the exact Instagram URL before allowing the task to proceed. <br>\nRisk: Dataify may charge for submitted jobs or enforce account limits. <br>\nMitigation: Confirm Dataify account limits or charges before execution and prefer a revocable scoped token. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/dataify-server/dataify-instagram-comment-by-posturl) <br>\n- [Dataify dashboard](https://dashboard.dataify.com?utm_source=skill) <br>\n- [Dataify login](https://dashboard.dataify.com/login?utm_source=skill) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown instructions and parameter tables, shell command examples, and JSON task summaries from the helper script] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The helper script reports spider_id, task_id, status, submitted parameters, file_name, dashboard_url, and a message after successful 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-instagram-comment-by-posturl\ndescription: \"提交 Dataify Instagram Post Comment by Post URL Builder 任务。当用户需要 Instagram post comment collection tool、采集/抓取/爬取 Instagram 帖子评论或评论数据、按 post URL 采集 Instagram comments、创建 ins_comment_by-posturl 任务，或表达 Instagram 帖子评论采集/抓取、Instagram 评论采集/抓取、帖子评论采集/抓取、帖子 URL 评论采集等含义时使用。也用于接收 task_id/status、配置 DATAIFY_API_TOKEN 或排查此 Dataify Builder 请求。\"\n---\n\n# Dataify Instagram Comment By Post URL\n\n通过 Dataify Builder 按帖子 URL 提交 Instagram 帖子评论采集任务。提交成功后，向用户提供 `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 API TOKEN。\n- 如果用户没有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录以获取。\n- 如果用户已有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角找到。\n- 用户提供 API TOKEN 后，如果本地未保存 `DATAIFY_API_TOKEN`，询问是否将其保存为 `DATAIFY_API_TOKEN` 以供将来使用。\n- 如果用户想要保存，提供适合其 shell 的命令并要求用户执行；不要在未经确认的情况下静默保存 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\nWindows 永久用户级变量设置：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n1. 提交前，向用户展示参数清单中列出的必填值、可选值和默认值。\n2. 询问用户在运行任务前是否要修改任何值。\n3. 询问用户是否要采集多组 Instagram 帖子评论。如果是，要求提供多个 `posturl` 值。\n4. 将最终值规范化为 `spider_parameters` 对象列表。\n5. 从用户明确输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，要求用户输入 API TOKEN 并询问是否保存为 `DATAIFY_API_TOKEN`。\n7. 验证帖子 URL 和文件名。\n8. 使用 `spider_id=ins_comment_by-posturl` 提交 Builder 请求。\n9. 从 Builder 响应中读取 `data.task_id`，并读取 `data.status` 或 `status`（如果存在）。\n10. Builder 成功后停止。\n11. 告知用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n当用户调用此技能时，首先告知这些值的使用情况。始终以 Markdown 表格展示提交的参数；不要使用纯文本或项目列表进行参数确认。\n\n| 字段 | 必填 | 默认值 | 位置 | 备注 |\n| --- | --- | --- | --- | --- |\n| `posturl` | 是 | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram 帖子 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段 | 用户未修改时使用默认值。 |\n\n然后询问：\"在我提交任务之前，您是否要修改这些值？\"\n\n同时询问：\"您是否要采集多组 Instagram 帖子评论？如果是，请提供多个 `posturl` 值。\"\n\n如果用户已提供部分值，在表格中显示这些值替代默认值，只询问是否修改剩余/默认的值。\n\n## 参数处理\n\n- `posturl` 为必填项。如果用户未提供，仅在参数确认表格中展示后使用默认值 `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/`。\n- 去除 `posturl` 前后的空格。\n- `posturl` 不能为空。\n- `posturl` 必须以 `https://www.instagram.com/` 开头。\n- 多组采集仅在 `spider_parameters` 中重复 `posturl`。\n- `file_name` 默认为 `{{TasksID}}`。如果用户修改，则提交用户提供的值。\n- `file_name` 不能为空。\n\n单组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n多组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder 请求\n\n使用表单字段而非手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder?platform=1`\n- 方法：`POST`\n- 授权头：`Bearer DATAIFY_API_TOKEN`\n- 内容类型：`application/x-www-form-urlencoded`\n- 固定字段：\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- 默认字段：\n  - `file_name={{TasksID}}`\n- 动态字段：\n  - `spider_parameters` 必须是帖子 URL 对象的 JSON 字符串数组。\n\n## 脚本\n\n为了稳定执行，优先使用 Python 3.6 或更新版本运行 `scripts/submit_dataify_instagram_comment_by_posturl.py`，而不是重写 Builder 流程。\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\n覆盖已保存的环境 token 或文件名：\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --api-token \"YOUR_DATAIFY_API_TOKEN\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\n提交多个帖子 URL：\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\n脚本会打印包含 `spider_id`、`task_id`、`status`、`parameters`、`file_name`、`dashboard_url` 和 `message` 的 JSON 摘要。\n\n## 故障排除\n\n`Missing Dataify API TOKEN` 表示未传递显式 token 且本地未保存 `DATAIFY_API_TOKEN`。告知用户需要提供 Dataify API TOKEN，询问是否保存为 `DATAIFY_API_TOKEN`，或告知可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录获取。如果已有 token，告知其位于 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角。\n\n`posturl cannot be empty` 表示缺少必填的 Instagram 帖子 URL。\n\n`posturl must start with https://www.instagram.com/` 表示 URL 不在允许的 Instagram 域名范围内。\n\n`File name cannot be empty` 表示未提供可用的 `file_name`。\n\n`Necessary parameters is empty!` 通常表示 Builder 请求未以表单字段提交、`spider_parameters` 不是 JSON 字符串数组，或某个 `spider_parameters` 对象缺少 `posturl`。\n\n缺少 `task_id` 通常表示授权头、token、`spider_name`、`spider_id` 或 `spider_parameters` 有误。\n\n## 安全规则\n\n- 不要将 `file_name` 放入 `spider_parameters` 中。\n- 不要使用 `https://www.instagram.com/` 之外的 Instagram URL。\n- 提及身份验证时仅使用 `API TOKEN` 和 `DATAIFY_API_TOKEN`。\n- 不要硬编码本地 Python 路径。\n- 不要编造结果字段。\n- 任务创建成功后始终引导用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill)。\n\nFile v1.1.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Instagram Comment By Post URL\"\n  short_description: \"Submit Dataify Instagram post comment tasks by post URL\"\n  icon_small: \"./assets/dataify-instagram-comment-by-posturl-small.svg\"\n  icon_large: \"./assets/dataify-instagram-comment-by-posturl-large.svg\"\n  default_prompt: \"Use $dataify-instagram-comment-by-posturl to submit Instagram post comment Builder tasks by post URL through Dataify and return the task_id and status.\"\n\npolicy:\n  allow_implicit_invocation: true\n\nArchive v1.0.0: 7 files, 7799 bytes\n\nFiles: agents/openai.yaml (505b), assets/dataify-instagram-comment-by-posturl-large.svg (490b), assets/dataify-instagram-comment-by-posturl-small.svg (471b), scripts/submit_dataify_instagram_comment_by_posturl.py (5747b), skill-card.md (2249b), SKILL.md (8303b), _meta.json (155b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: dataify-instagram-comment-by-posturl\ndescription: Submit Dataify Instagram Post Comment by Post URL Builder tasks. Use when the user wants the Instagram post comment collection tool, collect Instagram post comments, scrape Instagram post comments, crawl Instagram comment data, collect Instagram comments by post URL, create a Dataify ins_comment_by-posturl task, or asks in Chinese with meanings like \"Instagram帖子评论采集\", \"Instagram帖子评论抓取\", \"Instagram评论采集\", \"Instagram评论抓取\", \"帖子评论采集\", \"帖子评论抓取\", \"帖子URL评论采集\", or similar Instagram post comment noun plus collection/scraping action wording. Also use when receiving task_id/status, configuring DATAIFY_API_TOKEN, or troubleshooting this Dataify Builder request.\n---\n\n# Dataify Instagram Comment By Post URL\n\nSubmit Instagram post comment collection jobs through Dataify Builder by post URL. After a successful submission, give the user the `task_id`, the returned or inferred status, 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 without asking the user to re-enter the token.\n- If no token is available locally, tell the user they need to provide a Dataify API TOKEN.\n- If the user does not have an API TOKEN, tell them they can register or log in at `https://dataify.com/login` to get one.\n- If the user already has an API TOKEN, tell them it is available in the top-right area of `https://dataify.com/dashboard/`.\n- After the user provides an API TOKEN and no local `DATAIFY_API_TOKEN` is saved, ask whether they want to save it locally as `DATAIFY_API_TOKEN` for future use.\n- If the user wants to save it, give the appropriate command for their shell and ask them to run it; do not silently persist tokens without confirmation.\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. Ask whether the user wants to change any value before running the task.\n3. Ask whether the user wants to collect multiple Instagram post comment groups. If yes, ask for multiple `posturl` values.\n4. Normalize the final values into a list of `spider_parameters` objects.\n5. Resolve the Dataify token from explicit input or saved `DATAIFY_API_TOKEN`.\n6. If no token is available, ask the user to enter their API TOKEN and ask whether to save it as `DATAIFY_API_TOKEN`.\n7. Validate the post URLs and file name.\n8. Submit the Builder request with `spider_id=ins_comment_by-posturl`.\n9. Read `data.task_id` from the Builder response and read `data.status` or `status` when present.\n10. Stop after Builder succeeds.\n11. Tell the user to visit `https://dataify.com/dashboard/` to view or manage results.\n\n## Parameter Checklist\n\nWhen the user invokes this skill, first tell them these values are used. Always display submitted parameters as a Markdown table; do not use a plain sentence or bullet list for the parameter confirmation.\n\n| Field | Required | Default | Location | Notes |\n| --- | --- | --- | --- | --- |\n| `posturl` | Yes | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram post URL. |\n| `file_name` | No | `{{TasksID}}` | Builder form field | Use the default when the user does not change it. |\n\nThen ask: \"Do you want to change any of these values before I submit the task?\"\n\nAlso ask: \"Do you want to collect multiple Instagram post comment groups? If yes, provide multiple `posturl` values.\"\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## Parameter Handling\n\n- `posturl` is required. If the user does not provide it, use the default `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` only after showing it in the parameter confirmation table.\n- Trim leading and trailing whitespace from `posturl`.\n- `posturl` cannot be empty.\n- `posturl` must start with `https://www.instagram.com/`.\n- Multiple collection groups repeat only `posturl` inside `spider_parameters`.\n- `file_name` defaults to `{{TasksID}}`. If the user changes it, submit the user-provided value.\n- `file_name` cannot be empty.\n\nSingle-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\nMulti-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder Request\n\nUse form fields rather than hand-built URL-encoded strings.\n\n- URL: `https://scraperapi.dataify.com/builder?platform=1`\n- Method: `POST`\n- Authorization header: `Bearer DATAIFY_API_TOKEN`\n- Content type: `application/x-www-form-urlencoded`\n- Fixed fields:\n  - `spider_name=instagram.com`\n  - `spider_id=ins_comment_by-posturl`\n  - `spider_errors=true`\n- Default field:\n  - `file_name={{TasksID}}`\n- Dynamic field:\n  - `spider_parameters` must be a JSON string array of post URL objects.\n\n## Script\n\nFor stable execution, prefer `scripts/submit_dataify_instagram_comment_by_posturl.py` with Python 3.6 or newer instead of rewriting the Builder flow.\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"\n```\n\nTo override the saved environment token or file name:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --api-token \"YOUR_DATAIFY_API_TOKEN\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\"\n```\n\nTo submit multiple post URLs:\n\n```powershell\npython3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --params-json '[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]'\n```\n\nThe script prints a JSON summary with `spider_id`, `task_id`, `status`, `parameters`, `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 they need to provide their Dataify API TOKEN, ask whether they want to save it as `DATAIFY_API_TOKEN`, or tell them they can register or log in at `https://dataify.com/login` to get one. If they already have a token, tell them it is in the top-right area of `https://dataify.com/dashboard/`.\n\n`posturl cannot be empty` means the required Instagram post URL is missing.\n\n`posturl must start with https://www.instagram.com/` means the URL is outside the allowed Instagram domain.\n\n`File name cannot be empty` means no usable `file_name` was provided.\n\n`Necessary parameters is empty!` usually means the Builder request was not submitted as form fields, `spider_parameters` was not a JSON string array, or one `spider_parameters` object is missing `posturl`.\n\nMissing `task_id` usually means the authorization header, token, `spider_name`, `spider_id`, or `spider_parameters` is wrong.\n\n## Guardrails\n\n- Do not put `file_name` inside `spider_parameters`.\n- Do not use an Instagram URL from outside `https://www.instagram.com/`.\n- Use only `API TOKEN` and `DATAIFY_API_TOKEN` when referring to authentication.\n- Do not hard-code local Python paths.\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-instagram-comment-by-posturl\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780294287080\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nSubmits Dataify Builder tasks that collect Instagram post comments from one or more Instagram post URLs. <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 configure and submit Dataify Instagram post comment collection jobs by post URL, then receive the task ID, status, and dashboard location for results. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Saved or supplied Dataify API TOKEN values can be reused to create Dataify scraping tasks that may consume quota or incur cost. <br>\nMitigation: Review the parameters before approving submission, avoid saving the token when reuse is not desired, and keep the token in the DATAIFY_API_TOKEN environment variable only with explicit user consent. <br>\nRisk: Instagram comment collection may be subject to service terms, Dataify rules, privacy obligations, or local compliance requirements. <br>\nMitigation: Confirm the intended collection is permitted before running the task and limit submissions to approved Instagram post URLs. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/dataify-server/dataify-instagram-comment-by-posturl) <br>\n- [Dataify dashboard](https://dataify.com/dashboard/) <br>\n- [Dataify login](https://dataify.com/login) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, API calls] <br>\n**Output Format:** [Markdown instructions and JSON summaries from the helper script] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Returns Dataify task identifiers, status, submitted parameters, file name, dashboard URL, and troubleshooting guidance.] <br>\n\n## Skill Version(s): <br>\n1.0.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.0.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Dataify Instagram Comment By Post URL\"\n  short_description: \"Submit Dataify Instagram post comment tasks by post URL\"\n  icon_small: \"./assets/dataify-instagram-comment-by-posturl-small.svg\"\n  icon_large: \"./assets/dataify-instagram-comment-by-posturl-large.svg\"\n  default_prompt: \"Use $dataify-instagram-comment-by-posturl to submit Instagram post comment Builder tasks by post URL through Dataify and return the task_id and status.\"\n\npolicy:\n  allow_implicit_invocation: true","readmeExcerpt":"Skill: Dataify Instagram Comment By Post URL Owner: dataify-server Summary: Collect Instagram Comment By Post URL data and return results Tags: latest:1.3.0 Version history: v1.3.0 | 2026-09-01T09:14:39.161Z | user 默认返回最终采集结果，完善异步等待下载与安全恢复；修复空目标误执行、Quick Start、Token 配置和触发路由冲突，并补齐发布前自动化测试 v1.2.0 | 2026-07-16T08:38:04.717Z | user 新增能力路由与异步任务闭环，修复失效引用、Token 泄漏和 Skill 元数据兼容性 v1.1.0 | 2026-06-08T02:07:05.082Z | user 补全中文文","codeSnippets":[],"executableExamples":[{"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":"json","snippet":"spider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]"},{"language":"json","snippet":"spider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]"},{"language":"powershell","snippet":"python3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\""},{"language":"powershell","snippet":"python3 \".\\scripts\\submit_dataify_instagram_comment_by_posturl.py\" --posturl \"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\" --file-name \"{{TasksID}}\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: dataify-instagram-comment-by-posturl\ndescription: \"Collect comments from a known Instagram post URL. Do not use for profile data or Reel details.\"\n---\n\n# Dataify Instagram Comment By Post URL\n\nSubmit Instagram post comment collection jobs through Dataify Builder by post URL. After submission, continue monitoring the returned `task_id` and return the final result by default.\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 without asking the user to re-enter the token.\n- If the user does not have an API TOKEN, tell them they can register or log in at [Dataify](https://dashboard.dataify.com/login?utm_source=skill) to get one.\n- If the user wants to save it, give the appropriate command for their shell and ask them to run it; do not silently persist tokens without confirmation.\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\n2. Ask whether the user wants to change any value before running the task.\n3. Ask whether the user wants to collect multiple Instagram post comment groups. If yes, ask for multiple `posturl` values.\n4. Normalize the final values into a list of `spider_parameters` objects.\n7. Validate the post URLs and file name.\n8. Submit the Builder request with `spider_id=ins_comment_by-posturl`.\n9. Read `data.task_id` from the Builder response and read `data.status` or `status` when present.\n## Parameter Checklist\n\n\n| Field | Required | Default | Location | Notes |\n| --- | --- | --- | --- | --- |\n| `posturl` | Yes | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram post URL. |\n| `file_name` | No | `{{TasksID}}` | Builder form field | Use the default when the user does not change it. |\n\n\nAlso ask: \"Do you want to collect multiple Instagram post comment groups? If yes, provide multiple `posturl` values.\"\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## Parameter Handling\n\n- Trim leading and trailing whitespace from `posturl`.\n- `posturl` cannot be empty.\n- `posturl` must start with `https://www.instagram.com/`.\n- Multiple collection groups repeat only `posturl` inside `spider_parameters`.\n- `file_name` defaults to `{{TasksID}}`. If the user changes it, submit the user-provided value.\n- `file_name` cannot be empty.\n\nSingle-group example:\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n``"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn74z5hmmwk21kw8tpphd9w21x86bkdf\",\n  \"slug\": \"dataify-instagram-comment-by-posturl\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1788254079161\n}"},{"path":"skill-card.md","content":"## Description:\n\nCollects comments from a known Instagram post URL and returns the collected 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 collection jobs for comments on specific Instagram post URLs, monitor the asynchronous task, and receive the final collected result.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires access to a Dataify API TOKEN and can submit paid Dataify collection jobs.\n\nMitigation: Install and run it only if you are comfortable granting that token access and paying for Dataify collection tasks.\n\nRisk: Post-submission monitoring depends on an external Dataify task runtime that is not included in the package.\n\nMitigation: Review or provide the missing dataify-task-operations dependency from a trusted source before relying on final-result monitoring.\n\nRisk: Implicit invocation can be risky for ambiguous Instagram requests.\n\nMitigation: Confirm the target post URL and any cost-affecting scope before execution when the user's request is unclear.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/dataify-server/skills/dataify-instagram-comment-by-posturl)\n- [Dataify dashboard](https://dashboard.dataify.com?utm_source=skill)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON task or result payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May submit paid Dataify collection jobs; waits up to 600 seconds for ordinary collections unless no-wait behavior is requested.]\n\n## Skill Version(s):\n\n1.3.0 (source: evidence.release.version)\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-instagram-comment-by-posturl\ndescription: \"提交 Dataify Instagram Post Comment by Post URL Builder 任务。当用户需要 Instagram post comment collection tool、采集/抓取/爬取 Instagram 帖子评论或评论数据、按 post URL 采集 Instagram comments、创建 ins_comment_by-posturl 任务，或表达 Instagram 帖子评论采集/抓取、Instagram 评论采集/抓取、帖子评论采集/抓取、帖子 URL 评论采集等含义时使用。也用于接收 task_id/status、配置 DATAIFY_API_TOKEN 或排查此 Dataify Builder 请求。\"\n---\n\n# Dataify Instagram Comment By Post URL\n\n通过 Dataify Builder 按帖子 URL 提交 Instagram 帖子评论采集任务。提交成功后，向用户提供 `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 API TOKEN。\n- 如果用户没有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com/login?utm_source=skill) 注册或登录以获取。\n- 如果用户已有 API TOKEN，告知他们可以在 [Dataify](https://dashboard.dataify.com?utm_source=skill) 右上角找到。\n- 用户提供 API TOKEN 后，如果本地未保存 `DATAIFY_API_TOKEN`，询问是否将其保存为 `DATAIFY_API_TOKEN` 以供将来使用。\n- 如果用户想要保存，提供适合其 shell 的命令并要求用户执行；不要在未经确认的情况下静默保存 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\nWindows 永久用户级变量设置：\n\n```powershell\n[Environment]::SetEnvironmentVariable(\"DATAIFY_API_TOKEN\", \"YOUR_DATAIFY_API_TOKEN\", \"User\")\n```\n\n## 核心工作流程\n\n2. 询问用户在运行任务前是否要修改任何值。\n3. 询问用户是否要采集多组 Instagram 帖子评论。如果是，要求提供多个 `posturl` 值。\n4. 将最终值规范化为 `spider_parameters` 对象列表。\n5. 从用户明确输入或已保存的 `DATAIFY_API_TOKEN` 中获取 Dataify token。\n6. 如果没有可用的 token，要求用户输入 API TOKEN 并询问是否保存为 `DATAIFY_API_TOKEN`。\n7. 验证帖子 URL 和文件名。\n8. 使用 `spider_id=ins_comment_by-posturl` 提交 Builder 请求。\n9. 从 Builder 响应中读取 `data.task_id`，并读取 `data.status` 或 `status`（如果存在）。\n11. 告知用户前往 [Dataify](https://dashboard.dataify.com?utm_source=skill) 查看或管理结果。\n\n## 参数清单\n\n\n| 字段 | 必填 | 默认值 | 位置 | 备注 |\n| --- | --- | --- | --- | --- |\n| `posturl` | 是 | `https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/` | `spider_parameters` | Instagram 帖子 URL。 |\n| `file_name` | 否 | `{{TasksID}}` | Builder 表单字段 | 用户未修改时使用默认值。 |\n\n\n同时询问：\"您是否要采集多组 Instagram 帖子评论？如果是，请提供多个 `posturl` 值。\"\n\n如果用户已提供部分值，在表格中显示这些值替代默认值，只询问是否修改剩余/默认的值。\n\n## 参数处理\n\n- `posturl` 为必填项。如果用户未提供，询问该必填值；不要使用文档示例值代替用户输入。\n- 去除 `posturl` 前后的空格。\n- `posturl` 不能为空。\n- `posturl` 必须以 `https://www.instagram.com/` 开头。\n- 多组采集仅在 `spider_parameters` 中重复 `posturl`。\n- `file_name` 默认为 `{{TasksID}}`。如果用户修改，则提交用户提供的值。\n- `file_name` 不能为空。\n\n单组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n多组示例：\n\n```json\nspider_parameters=[{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"},{\"posturl\":\"https://www.instagram.com/cats_of_instagram/reel/C4GLo_eLO2e/\"}]\n```\n\n## Dataify Builder 请求\n\n使用表单字段而非手动构建的 URL 编码字符串。\n\n- URL：`https://scraperapi.dataify.com/builder?platform=1`\n- 方"},{"path":"agents/openai.yaml","content":"interface:\n  display_name: \"Dataify Instagram Comment By Post URL\"\n  short_description: \"Collect Instagram Comment By Post URL data and return results\"\n  icon_small: \"./assets/dataify-instagram-comment-by-posturl-small.svg\"\n  icon_large: \"./assets/dataify-instagram-comment-by-posturl-large.svg\"\n  default_prompt: \"Use $dataify-instagram-comment-by-posturl 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":1032,"uniquenessScore":44,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T02:31:41.616Z","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-12T02:31:41.616Z","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-14T15:56:47.169Z","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"}]}}}