{
  "schemaVersion": "1.0",
  "item": {
    "slug": "apify-competitor-intelligence",
    "name": "Apify Competitor Intelligence",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/protoss70/apify-competitor-intelligence",
    "canonicalUrl": "https://clawhub.ai/protoss70/apify-competitor-intelligence",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/apify-competitor-intelligence",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=apify-competitor-intelligence",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "reference/scripts/run_actor.js"
    ],
    "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-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/apify-competitor-intelligence"
    },
    "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/apify-competitor-intelligence",
    "agentPageUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence/agent",
    "manifestUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence/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": "Competitor Intelligence",
        "body": "Analyze competitors using Apify Actors to extract data from multiple platforms."
      },
      {
        "title": "Prerequisites",
        "body": "APIFY_TOKEN configured in OpenClaw settings\nNode.js 20.6+\nmcpc CLI (auto-installed via skill metadata)"
      },
      {
        "title": "Input Sanitization Rules",
        "body": "Before substituting any value into a bash command:\n\nACTOR_ID: Must be either a technical name (owner/actor-name — alphanumeric, hyphens, dots, one slash) or a raw ID (exactly 17 alphanumeric characters, e.g., oeiQgfg5fsmIJB7Cn). Reject values containing shell metacharacters (; | & $ ` ( ) { } < > ! \\n).\nSEARCH_KEYWORDS: Plain text words only. Reject shell metacharacters.\nJSON_INPUT: Must be valid JSON. Must not contain single quotes (use escaped double quotes). Validate structure before use.\nOutput filenames: Must match YYYY-MM-DD_descriptive-name.{csv,json}. No path separators (/, ..), no spaces, no metacharacters."
      },
      {
        "title": "Workflow",
        "body": "Copy this checklist and track progress:\n\nTask Progress:\n- [ ] Step 1: Identify competitor analysis type (select Actor)\n- [ ] Step 2: Fetch Actor schema via mcpc\n- [ ] Step 3: Ask user preferences (format, filename)\n- [ ] Step 4: Run the analysis script\n- [ ] Step 5: Summarize findings"
      },
      {
        "title": "Step 1: Identify Competitor Analysis Type",
        "body": "Select the appropriate Actor based on analysis needs:\n\nUser NeedActor IDBest ForCompetitor business datacompass/crawler-google-placesLocation analysisCompetitor contact discoverypoidata/google-maps-email-extractorEmail extractionFeature benchmarkingcompass/google-maps-extractorDetailed business dataCompetitor review analysiscompass/Google-Maps-Reviews-ScraperReview comparisonHotel competitor datavoyager/booking-scraperHotel benchmarkingHotel review comparisonvoyager/booking-reviews-scraperReview analysisCompetitor ad strategiesapify/facebook-ads-scraperAd creative analysisCompetitor page metricsapify/facebook-pages-scraperPage performanceCompetitor content analysisapify/facebook-posts-scraperPost strategiesCompetitor reels performanceapify/facebook-reels-scraperReels analysisCompetitor audience analysisapify/facebook-comments-scraperComment sentimentCompetitor event monitoringapify/facebook-events-scraperEvent trackingCompetitor audience overlapapify/facebook-followers-following-scraperFollower analysisCompetitor review benchmarkingapify/facebook-reviews-scraperReview comparisonCompetitor ad monitoringapify/facebook-search-scraperAd discoveryCompetitor profile metricsapify/instagram-profile-scraperProfile analysisCompetitor content monitoringapify/instagram-post-scraperPost trackingCompetitor engagement analysisapify/instagram-comment-scraperComment analysisCompetitor reel performanceapify/instagram-reel-scraperReel metricsCompetitor growth trackingapify/instagram-followers-count-scraperFollower trackingComprehensive competitor dataapify/instagram-scraperFull analysisAPI-based competitor analysisapify/instagram-api-scraperAPI accessCompetitor video analysisstreamers/youtube-scraperVideo metricsCompetitor sentiment analysisstreamers/youtube-comments-scraperComment sentimentCompetitor channel metricsstreamers/youtube-channel-scraperChannel analysisTikTok competitor analysisclockworks/tiktok-scraperTikTok dataCompetitor video strategiesclockworks/tiktok-video-scraperVideo analysisCompetitor TikTok profilesclockworks/tiktok-profile-scraperProfile data"
      },
      {
        "title": "Step 2: Fetch Actor Schema",
        "body": "Fetch the Actor's input schema and details dynamically using mcpc:\n\nmcpc --json mcp.apify.com --header \"Authorization: Bearer $APIFY_TOKEN\" tools-call fetch-actor-details actor:=\"ACTOR_ID\" | jq -r \".content\"\n\nReplace ACTOR_ID with the selected Actor (e.g., compass/crawler-google-places).\n\nThis returns:\n\nActor description and README\nRequired and optional input parameters\nOutput fields (if available)"
      },
      {
        "title": "Step 3: Ask User Preferences",
        "body": "Before running, ask:\n\nOutput format:\n\nQuick answer - Display top few results in chat (no file saved)\nCSV - Full export with all fields\nJSON - Full export in JSON format\n\n\nNumber of results: Based on character of use case"
      },
      {
        "title": "Step 4: Run the Script",
        "body": "Quick answer (display in chat, no file):\n\nnode {baseDir}/reference/scripts/run_actor.js \\\n  --actor 'ACTOR_ID' \\\n  --input 'JSON_INPUT'\n\nCSV:\n\nnode {baseDir}/reference/scripts/run_actor.js \\\n  --actor 'ACTOR_ID' \\\n  --input 'JSON_INPUT' \\\n  --output 'YYYY-MM-DD_OUTPUT_FILE.csv' \\\n  --format csv\n\nJSON:\n\nnode {baseDir}/reference/scripts/run_actor.js \\\n  --actor 'ACTOR_ID' \\\n  --input 'JSON_INPUT' \\\n  --output 'YYYY-MM-DD_OUTPUT_FILE.json' \\\n  --format json"
      },
      {
        "title": "Step 5: Summarize Findings",
        "body": "After completion, report:\n\nNumber of competitors analyzed\nFile location and name\nKey competitive insights\nSuggested next steps (deeper analysis, benchmarking)"
      },
      {
        "title": "Security & Data Privacy",
        "body": "This skill instructs the agent to select an Apify Actor, fetch its schema (via mcpc), and run scrapers. The included script communicates only with api.apify.com and writes outputs to files under the current working directory; it does not access unrelated system files or other environment variables.\n\nApify Actors only scrape publicly available data and do not collect private or personally identifiable information beyond what is openly accessible on the target platforms. For additional security assurance, you can check an Actor's permission level by querying https://api.apify.com/v2/acts/:actorId — an Actor with LIMITED_PERMISSIONS operates in a restricted sandbox, while FULL_PERMISSIONS indicates broader system access. For full details, see Apify's General Terms and Conditions."
      },
      {
        "title": "Error Handling",
        "body": "APIFY_TOKEN not found - Ask user to configure APIFY_TOKEN in OpenClaw settings\nmcpc not found - Run npm install -g @apify/mcpc\nActor not found - Check Actor ID spelling\nRun FAILED - Ask user to check Apify console link in error output\nTimeout - Reduce input size or increase --timeout"
      }
    ],
    "body": "Competitor Intelligence\n\nAnalyze competitors using Apify Actors to extract data from multiple platforms.\n\nPrerequisites\nAPIFY_TOKEN configured in OpenClaw settings\nNode.js 20.6+\nmcpc CLI (auto-installed via skill metadata)\nInput Sanitization Rules\n\nBefore substituting any value into a bash command:\n\nACTOR_ID: Must be either a technical name (owner/actor-name — alphanumeric, hyphens, dots, one slash) or a raw ID (exactly 17 alphanumeric characters, e.g., oeiQgfg5fsmIJB7Cn). Reject values containing shell metacharacters (; | & $ ` ( ) { } < > ! \\n).\nSEARCH_KEYWORDS: Plain text words only. Reject shell metacharacters.\nJSON_INPUT: Must be valid JSON. Must not contain single quotes (use escaped double quotes). Validate structure before use.\nOutput filenames: Must match YYYY-MM-DD_descriptive-name.{csv,json}. No path separators (/, ..), no spaces, no metacharacters.\nWorkflow\n\nCopy this checklist and track progress:\n\nTask Progress:\n- [ ] Step 1: Identify competitor analysis type (select Actor)\n- [ ] Step 2: Fetch Actor schema via mcpc\n- [ ] Step 3: Ask user preferences (format, filename)\n- [ ] Step 4: Run the analysis script\n- [ ] Step 5: Summarize findings\n\nStep 1: Identify Competitor Analysis Type\n\nSelect the appropriate Actor based on analysis needs:\n\nUser Need\tActor ID\tBest For\nCompetitor business data\tcompass/crawler-google-places\tLocation analysis\nCompetitor contact discovery\tpoidata/google-maps-email-extractor\tEmail extraction\nFeature benchmarking\tcompass/google-maps-extractor\tDetailed business data\nCompetitor review analysis\tcompass/Google-Maps-Reviews-Scraper\tReview comparison\nHotel competitor data\tvoyager/booking-scraper\tHotel benchmarking\nHotel review comparison\tvoyager/booking-reviews-scraper\tReview analysis\nCompetitor ad strategies\tapify/facebook-ads-scraper\tAd creative analysis\nCompetitor page metrics\tapify/facebook-pages-scraper\tPage performance\nCompetitor content analysis\tapify/facebook-posts-scraper\tPost strategies\nCompetitor reels performance\tapify/facebook-reels-scraper\tReels analysis\nCompetitor audience analysis\tapify/facebook-comments-scraper\tComment sentiment\nCompetitor event monitoring\tapify/facebook-events-scraper\tEvent tracking\nCompetitor audience overlap\tapify/facebook-followers-following-scraper\tFollower analysis\nCompetitor review benchmarking\tapify/facebook-reviews-scraper\tReview comparison\nCompetitor ad monitoring\tapify/facebook-search-scraper\tAd discovery\nCompetitor profile metrics\tapify/instagram-profile-scraper\tProfile analysis\nCompetitor content monitoring\tapify/instagram-post-scraper\tPost tracking\nCompetitor engagement analysis\tapify/instagram-comment-scraper\tComment analysis\nCompetitor reel performance\tapify/instagram-reel-scraper\tReel metrics\nCompetitor growth tracking\tapify/instagram-followers-count-scraper\tFollower tracking\nComprehensive competitor data\tapify/instagram-scraper\tFull analysis\nAPI-based competitor analysis\tapify/instagram-api-scraper\tAPI access\nCompetitor video analysis\tstreamers/youtube-scraper\tVideo metrics\nCompetitor sentiment analysis\tstreamers/youtube-comments-scraper\tComment sentiment\nCompetitor channel metrics\tstreamers/youtube-channel-scraper\tChannel analysis\nTikTok competitor analysis\tclockworks/tiktok-scraper\tTikTok data\nCompetitor video strategies\tclockworks/tiktok-video-scraper\tVideo analysis\nCompetitor TikTok profiles\tclockworks/tiktok-profile-scraper\tProfile data\nStep 2: Fetch Actor Schema\n\nFetch the Actor's input schema and details dynamically using mcpc:\n\nmcpc --json mcp.apify.com --header \"Authorization: Bearer $APIFY_TOKEN\" tools-call fetch-actor-details actor:=\"ACTOR_ID\" | jq -r \".content\"\n\n\nReplace ACTOR_ID with the selected Actor (e.g., compass/crawler-google-places).\n\nThis returns:\n\nActor description and README\nRequired and optional input parameters\nOutput fields (if available)\nStep 3: Ask User Preferences\n\nBefore running, ask:\n\nOutput format:\nQuick answer - Display top few results in chat (no file saved)\nCSV - Full export with all fields\nJSON - Full export in JSON format\nNumber of results: Based on character of use case\nStep 4: Run the Script\n\nQuick answer (display in chat, no file):\n\nnode {baseDir}/reference/scripts/run_actor.js \\\n  --actor 'ACTOR_ID' \\\n  --input 'JSON_INPUT'\n\n\nCSV:\n\nnode {baseDir}/reference/scripts/run_actor.js \\\n  --actor 'ACTOR_ID' \\\n  --input 'JSON_INPUT' \\\n  --output 'YYYY-MM-DD_OUTPUT_FILE.csv' \\\n  --format csv\n\n\nJSON:\n\nnode {baseDir}/reference/scripts/run_actor.js \\\n  --actor 'ACTOR_ID' \\\n  --input 'JSON_INPUT' \\\n  --output 'YYYY-MM-DD_OUTPUT_FILE.json' \\\n  --format json\n\nStep 5: Summarize Findings\n\nAfter completion, report:\n\nNumber of competitors analyzed\nFile location and name\nKey competitive insights\nSuggested next steps (deeper analysis, benchmarking)\nSecurity & Data Privacy\n\nThis skill instructs the agent to select an Apify Actor, fetch its schema (via mcpc), and run scrapers. The included script communicates only with api.apify.com and writes outputs to files under the current working directory; it does not access unrelated system files or other environment variables.\n\nApify Actors only scrape publicly available data and do not collect private or personally identifiable information beyond what is openly accessible on the target platforms. For additional security assurance, you can check an Actor's permission level by querying https://api.apify.com/v2/acts/:actorId — an Actor with LIMITED_PERMISSIONS operates in a restricted sandbox, while FULL_PERMISSIONS indicates broader system access. For full details, see Apify's General Terms and Conditions.\n\nError Handling\n\nAPIFY_TOKEN not found - Ask user to configure APIFY_TOKEN in OpenClaw settings mcpc not found - Run npm install -g @apify/mcpc Actor not found - Check Actor ID spelling Run FAILED - Ask user to check Apify console link in error output Timeout - Reduce input size or increase --timeout"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/protoss70/apify-competitor-intelligence",
    "publisherUrl": "https://clawhub.ai/protoss70/apify-competitor-intelligence",
    "owner": "protoss70",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence",
    "downloadUrl": "https://openagent3.xyz/downloads/apify-competitor-intelligence",
    "agentUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence/agent",
    "manifestUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/apify-competitor-intelligence/agent.md"
  }
}