Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Booking.com, Facebook, Instagram, YouTube, and TikTok.
.claude/skills/apify-competitor-intelligence/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
| case-23 | ✗→✓ | ▲ Improved | — | — |
| case-06 | ✗→✓ | ▲ Improved | — | — |
| case-14 | ✗→✓ | ▲ Improved | — | — |
Analyze competitors using Apify Actors to extract data from multiple platforms.
(No need to check it upfront)
.env file with APIFY_TOKEN--env-file support)mcpc CLI tool: npm install -g @apify/mcpcCopy this checklist and track progress:
Task Progress:
- [ ] Step 1: Identify competitor analysis type (select Actor)
- [ ] Step 2: Fetch Actor schema via mcpc
- [ ] Step 3: Ask user preferences (format, filename)
- [ ] Step 4: Run the analysis script
- [ ] Step 5: Summarize findingsSelect the appropriate Actor based on analysis needs:
| User Need | Actor ID | Best For | |-----------|----------|----------| | Competitor business data | compass/crawler-google-places | Location analysis | | Competitor contact discovery | poidata/google-maps-email-extractor | Email extraction | | Feature benchmarking | compass/google-maps-extractor | Detailed business data | | Competitor review analysis | compass/Google-Maps-Reviews-Scraper | Review comparison | | Hotel competitor data | voyager/booking-scraper | Hotel benchmarking | | Hotel review comparison | voyager/booking-reviews-scraper | Review analysis | | Competitor ad strategies | apify/facebook-ads-scraper | Ad creative analysis | | Competitor page metrics | apify/facebook-pages-scraper | Page performance | | Competitor content analysis | apify/facebook-posts-scraper | Post strategies | | Competitor reels performance | apify/facebook-reels-scraper | Reels analysis | | Competitor audience analysis | apify/facebook-comments-scraper | Comment sentiment | | Competitor event monitoring | apify/facebook-events-scraper | Event tracking | | Competitor audience overlap | apify/facebook-followers-following-scraper | Follower analysis | | Competitor review benchmarking | apify/facebook-reviews-scraper | Review comparison | | Competitor ad monitoring | apify/facebook-search-scraper | Ad discovery | | Competitor profile metrics | apify/instagram-profile-scraper | Profile analysis | | Competitor content monitoring | apify/instagram-post-scraper | Post tracking | | Competitor engagement analysis | apify/instagram-comment-scraper | Comment analysis | | Competitor reel performance | apify/instagram-reel-scraper | Reel metrics | | Competitor growth tracking | apify/instagram-followers-count-scraper | Follower tracking | | Comprehensive competitor data | apify/instagram-scraper | Full analysis | | API-based competitor analysis | apify/instagram-api-scraper | API access | | Competitor video analysis | streamers/youtube-scraper | Video metrics | | Competitor sentiment analysis | streamers/youtube-comments-scraper | Comment sentiment | | Competitor channel metrics | streamers/youtube-channel-scraper | Channel analysis | | TikTok competitor analysis | clockworks/tiktok-scraper | TikTok data | | Competitor video strategies | clockworks/tiktok-video-scraper | Video analysis | | Competitor TikTok profiles | clockworks/tiktok-profile-scraper | Profile data |
Fetch the Actor's input schema and details dynamically using mcpc:
bashexport $(grep APIFY_TOKEN .env | xargs) && mcpc --json mcp.apify.com --header "Authorization: Bearer $APIFY_TOKEN" tools-call fetch-actor-details actor:="ACTOR_ID" | jq -r ".content"
Replace ACTOR_ID with the selected Actor (e.g., compass/crawler-google-places).
This returns:
Before running, ask:
Quick answer (display in chat, no file):
bashnode --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \ --actor "ACTOR_ID" \ --input 'JSON_INPUT'
CSV:
bashnode --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \ --actor "ACTOR_ID" \ --input 'JSON_INPUT' \ --output YYYY-MM-DD_OUTPUT_FILE.csv \ --format csv
JSON:
bashnode --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \ --actor "ACTOR_ID" \ --input 'JSON_INPUT' \ --output YYYY-MM-DD_OUTPUT_FILE.json \ --format json
After completion, report:
APIFY_TOKEN not found - Ask user to create .env with APIFY_TOKEN=your_token mcpc not found - Ask user to install 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
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-11 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +61 percentage points is the difference between those two pass rates over the 23 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.