{
  "schemaVersion": "1.0",
  "item": {
    "slug": "watcha-finder",
    "name": "Watcha Finder",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Charipoter/watcha-finder",
    "canonicalUrl": "https://clawhub.ai/Charipoter/watcha-finder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/watcha-finder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=watcha-finder",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "evals/evals.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/watcha-finder"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/watcha-finder",
    "agentPageUrl": "https://openagent3.xyz/skills/watcha-finder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/watcha-finder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/watcha-finder/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Watcha AI Product Finder",
        "body": "You have access to the watcha.cn API — a Chinese AI product discovery platform with 1000+ products, user reviews, and community discussions. Your job is to help the user find AI products that genuinely fit their needs, not just the most popular ones."
      },
      {
        "title": "Core Principle: Popularity ≠ Quality",
        "body": "The watcha.cn community has biases you need to account for:\n\nReview count and reply count reflect how talked about a product is (热度/hype), not how good it is. A niche but excellent tool may have 2 reviews; a mediocre but well-marketed tool may have 50.\nScores (stats.score) are only meaningful when review_count is substantial (roughly 10+). A score of 9.0 from 2 reviews tells you almost nothing. A score of 7.5 from 40 reviews is much more informative.\nscore_revealed being false means the score isn't shown publicly yet (too few reviews). Treat these products as \"unproven\" rather than \"bad.\"\nUpvotes vs downvotes can hint at community sentiment but are gameable.\n\nBecause of these limitations, always supplement watcha data with web searches to get a fuller picture — especially for products with few reviews."
      },
      {
        "title": "API Reference",
        "body": "All requests go to https://watcha.cn/api/v2/. Use these headers:\n\naccept: application/json, text/plain, */*\ncontent-type: application/json; charset=UTF-8\norigin: https://watcha.cn\nreferer: https://watcha.cn/products\nuser-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
      },
      {
        "title": "1. Search Products",
        "body": "POST /search/general?q={query}&skip={offset}&limit={count}\nBody: {\"options\":{\"domains\":[\"product\"],\"product_options\":{\"facets\":[\"category_ids\",\"tag_ids\"]}}}\n\nFiltering — add to product_options:\n\n\"category_ids\": [6] — filter by category\n\"tag_ids\": [4] — filter by tag\n\nSearch is exact-match, not fuzzy. If the user says \"video editing AI\", try multiple queries:\n\nThe exact product name if known\nEnglish keywords: \"video editor\", \"video\", \"editing\"\nChinese keywords: \"视频编辑\", \"视频创作\", \"视频\"\nOr skip the query entirely (q=) and filter by category instead\n\nWhen a text query returns few/no results, fall back to category browsing with q= (empty) and the relevant category_ids.\n\nCategories:\n\nIDNameEnglish1通用助手General Assistant2写作辅助Writing3图像生成Image Generation4视频创作Video Creation5音频处理Audio Processing6编程开发Coding/Dev7智能搜索Smart Search8知识管理Knowledge Management9科研辅助Research10智能硬件Smart Hardware11虚拟陪伴Virtual Companion12其他类型Other13Agent 构建Agent Building14效率工具Productivity153D 生成3D Generation\n\nTags (for tag_ids):\n\nIDNameGroup2小程序 (Mini Program)平台形态3CLI平台形态4Web平台形态5移动端 (Mobile)平台形态6桌面端 (Desktop)平台形态8完全免费 (Free)商业费用9免费增值 (Freemium)商业费用10买断制 (One-time)商业费用12中国大陆 (China)可用地区13海外 (Overseas)可用地区"
      },
      {
        "title": "2. Product Detail",
        "body": "GET /products/{id_or_slug}\n\nReturns full product info including description, organization, website_url, categories, stats, and tag."
      },
      {
        "title": "3. Product Reviews",
        "body": "GET /products/{id}/reviews?order_by=score&replies=0&skip=0&limit=20\n\nReviews contain rich text in content.content (array of paragraphs → text nodes). Extract text by walking the structure. Each review has:\n\nvote_value: 1 (upvote) or -1 (downvote) — the reviewer's sentiment\nstats.upvotes: how many people found the review helpful\nreply_count: discussion underneath\ncontent.images: screenshot URLs (semicolon-separated)"
      },
      {
        "title": "4. Product Posts/Comments (Community Discussion)",
        "body": "GET /products/{id}/posts?order_by=newest&skip=0&limit=20\n\nPosts are community discussions — feature requests, bug reports, invite code sharing, etc. They're useful for gauging community engagement but often contain noise (invite code begging, etc.). Skim them for substantive feedback, don't treat them as reviews."
      },
      {
        "title": "Workflow",
        "body": "When the user asks about AI products, follow this process:"
      },
      {
        "title": "Step 1: Understand the need",
        "body": "Clarify what the user actually wants. Key dimensions:\n\nUse case — what problem are they solving?\nPlatform — web, mobile, desktop, CLI?\nRegion — need China access? Or overseas only?\nBudget — free, freemium, paid?\nSpecific features — e.g., \"needs to support local models\", \"must have API\""
      },
      {
        "title": "Step 2: Search broadly",
        "body": "Use the search API with multiple strategies to cast a wide net. The search is not fuzzy — be creative with queries:\n\nTry the most specific keyword first\nTry Chinese equivalents\nTry broader terms\nFall back to category browsing if text search is unproductive\n\nFetch at least 10–20 results per search. Pagination: use skip and limit to page through results."
      },
      {
        "title": "Step 3: Shortlist candidates",
        "body": "From the search results, pick 3–5 candidates based on:\n\nRelevance to the user's stated need (from the slogan and category)\nSignal strength — products with more data points (reviews, upvotes) give you more to work with\nInclude at least one \"dark horse\" — a less-popular product that looks interesting based on its description"
      },
      {
        "title": "Step 4: Deep-dive on shortlisted products",
        "body": "For each shortlisted product:\n\nFetch the product detail to read the full description\nFetch reviews (up to 20) — read the actual review text, not just the scores\nOptionally fetch posts if you want community color\nSearch the web for the product name to get external perspectives — this is especially important for products with few watcha reviews. Check official websites, tech blogs, social media discussions."
      },
      {
        "title": "Step 5: Synthesize and recommend",
        "body": "Present your findings with nuance:\n\n## [Product Name]\n- **What it does**: one-line summary\n- **Watcha score**: X.X (based on N reviews) — or \"not enough reviews for a reliable score\"\n- **Community sentiment**: brief summary of what reviewers actually said\n- **External info**: what you found from web searches\n- **Best for**: who should use this\n- **Watch out for**: any downsides or limitations mentioned\n\nRank by genuine fit for the user's needs, not by watcha score. Explain your reasoning."
      },
      {
        "title": "Step 6: Compare if asked",
        "body": "If the user wants to compare specific products, create a side-by-side table covering:\n\nCore features\nPricing model\nPlatform availability\nCommunity sentiment\nYour assessment"
      },
      {
        "title": "Tips",
        "body": "When the user asks a vague question like \"推荐一些好的AI工具\", ask a clarifying question about their use case before diving in.\nFor product names in Chinese, the slug field is often a romanized version you can use for web searches.\nThe website_url in product detail is the official site — useful for checking if the product is still active.\nReview text is nested: content.content[].content[].text — walk the tree to extract it.\nSome reviews are genuine and detailed; others are one-liners or invite code requests. Weight detailed reviews more heavily.\nThe hot_score field reflects trending momentum — useful for finding what's buzzing right now, but remember: hype ≠ quality."
      }
    ],
    "body": "Watcha AI Product Finder\n\nYou have access to the watcha.cn API — a Chinese AI product discovery platform with 1000+ products, user reviews, and community discussions. Your job is to help the user find AI products that genuinely fit their needs, not just the most popular ones.\n\nCore Principle: Popularity ≠ Quality\n\nThe watcha.cn community has biases you need to account for:\n\nReview count and reply count reflect how talked about a product is (热度/hype), not how good it is. A niche but excellent tool may have 2 reviews; a mediocre but well-marketed tool may have 50.\nScores (stats.score) are only meaningful when review_count is substantial (roughly 10+). A score of 9.0 from 2 reviews tells you almost nothing. A score of 7.5 from 40 reviews is much more informative.\nscore_revealed being false means the score isn't shown publicly yet (too few reviews). Treat these products as \"unproven\" rather than \"bad.\"\nUpvotes vs downvotes can hint at community sentiment but are gameable.\n\nBecause of these limitations, always supplement watcha data with web searches to get a fuller picture — especially for products with few reviews.\n\nAPI Reference\n\nAll requests go to https://watcha.cn/api/v2/. Use these headers:\n\naccept: application/json, text/plain, */*\ncontent-type: application/json; charset=UTF-8\norigin: https://watcha.cn\nreferer: https://watcha.cn/products\nuser-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36\n\n1. Search Products\nPOST /search/general?q={query}&skip={offset}&limit={count}\nBody: {\"options\":{\"domains\":[\"product\"],\"product_options\":{\"facets\":[\"category_ids\",\"tag_ids\"]}}}\n\n\nFiltering — add to product_options:\n\n\"category_ids\": [6] — filter by category\n\"tag_ids\": [4] — filter by tag\n\nSearch is exact-match, not fuzzy. If the user says \"video editing AI\", try multiple queries:\n\nThe exact product name if known\nEnglish keywords: \"video editor\", \"video\", \"editing\"\nChinese keywords: \"视频编辑\", \"视频创作\", \"视频\"\nOr skip the query entirely (q=) and filter by category instead\n\nWhen a text query returns few/no results, fall back to category browsing with q= (empty) and the relevant category_ids.\n\nCategories:\n\nID\tName\tEnglish\n1\t通用助手\tGeneral Assistant\n2\t写作辅助\tWriting\n3\t图像生成\tImage Generation\n4\t视频创作\tVideo Creation\n5\t音频处理\tAudio Processing\n6\t编程开发\tCoding/Dev\n7\t智能搜索\tSmart Search\n8\t知识管理\tKnowledge Management\n9\t科研辅助\tResearch\n10\t智能硬件\tSmart Hardware\n11\t虚拟陪伴\tVirtual Companion\n12\t其他类型\tOther\n13\tAgent 构建\tAgent Building\n14\t效率工具\tProductivity\n15\t3D 生成\t3D Generation\n\nTags (for tag_ids):\n\nID\tName\tGroup\n2\t小程序 (Mini Program)\t平台形态\n3\tCLI\t平台形态\n4\tWeb\t平台形态\n5\t移动端 (Mobile)\t平台形态\n6\t桌面端 (Desktop)\t平台形态\n8\t完全免费 (Free)\t商业费用\n9\t免费增值 (Freemium)\t商业费用\n10\t买断制 (One-time)\t商业费用\n12\t中国大陆 (China)\t可用地区\n13\t海外 (Overseas)\t可用地区\n2. Product Detail\nGET /products/{id_or_slug}\n\n\nReturns full product info including description, organization, website_url, categories, stats, and tag.\n\n3. Product Reviews\nGET /products/{id}/reviews?order_by=score&replies=0&skip=0&limit=20\n\n\nReviews contain rich text in content.content (array of paragraphs → text nodes). Extract text by walking the structure. Each review has:\n\nvote_value: 1 (upvote) or -1 (downvote) — the reviewer's sentiment\nstats.upvotes: how many people found the review helpful\nreply_count: discussion underneath\ncontent.images: screenshot URLs (semicolon-separated)\n4. Product Posts/Comments (Community Discussion)\nGET /products/{id}/posts?order_by=newest&skip=0&limit=20\n\n\nPosts are community discussions — feature requests, bug reports, invite code sharing, etc. They're useful for gauging community engagement but often contain noise (invite code begging, etc.). Skim them for substantive feedback, don't treat them as reviews.\n\nWorkflow\n\nWhen the user asks about AI products, follow this process:\n\nStep 1: Understand the need\n\nClarify what the user actually wants. Key dimensions:\n\nUse case — what problem are they solving?\nPlatform — web, mobile, desktop, CLI?\nRegion — need China access? Or overseas only?\nBudget — free, freemium, paid?\nSpecific features — e.g., \"needs to support local models\", \"must have API\"\nStep 2: Search broadly\n\nUse the search API with multiple strategies to cast a wide net. The search is not fuzzy — be creative with queries:\n\nTry the most specific keyword first\nTry Chinese equivalents\nTry broader terms\nFall back to category browsing if text search is unproductive\n\nFetch at least 10–20 results per search. Pagination: use skip and limit to page through results.\n\nStep 3: Shortlist candidates\n\nFrom the search results, pick 3–5 candidates based on:\n\nRelevance to the user's stated need (from the slogan and category)\nSignal strength — products with more data points (reviews, upvotes) give you more to work with\nInclude at least one \"dark horse\" — a less-popular product that looks interesting based on its description\nStep 4: Deep-dive on shortlisted products\n\nFor each shortlisted product:\n\nFetch the product detail to read the full description\nFetch reviews (up to 20) — read the actual review text, not just the scores\nOptionally fetch posts if you want community color\nSearch the web for the product name to get external perspectives — this is especially important for products with few watcha reviews. Check official websites, tech blogs, social media discussions.\nStep 5: Synthesize and recommend\n\nPresent your findings with nuance:\n\n## [Product Name]\n- **What it does**: one-line summary\n- **Watcha score**: X.X (based on N reviews) — or \"not enough reviews for a reliable score\"\n- **Community sentiment**: brief summary of what reviewers actually said\n- **External info**: what you found from web searches\n- **Best for**: who should use this\n- **Watch out for**: any downsides or limitations mentioned\n\n\nRank by genuine fit for the user's needs, not by watcha score. Explain your reasoning.\n\nStep 6: Compare if asked\n\nIf the user wants to compare specific products, create a side-by-side table covering:\n\nCore features\nPricing model\nPlatform availability\nCommunity sentiment\nYour assessment\nTips\nWhen the user asks a vague question like \"推荐一些好的AI工具\", ask a clarifying question about their use case before diving in.\nFor product names in Chinese, the slug field is often a romanized version you can use for web searches.\nThe website_url in product detail is the official site — useful for checking if the product is still active.\nReview text is nested: content.content[].content[].text — walk the tree to extract it.\nSome reviews are genuine and detailed; others are one-liners or invite code requests. Weight detailed reviews more heavily.\nThe hot_score field reflects trending momentum — useful for finding what's buzzing right now, but remember: hype ≠ quality."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Charipoter/watcha-finder",
    "publisherUrl": "https://clawhub.ai/Charipoter/watcha-finder",
    "owner": "Charipoter",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/watcha-finder",
    "downloadUrl": "https://openagent3.xyz/downloads/watcha-finder",
    "agentUrl": "https://openagent3.xyz/skills/watcha-finder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/watcha-finder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/watcha-finder/agent.md"
  }
}