@anysiteio/agent-skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/.claude-plugin/marketplace.json +113 -0
  2. package/.claude-plugin/plugin.json +45 -0
  3. package/LICENSE +21 -0
  4. package/README.md +221 -0
  5. package/bin/install.js +55 -0
  6. package/package.json +45 -0
  7. package/skills/anysite-audience-analysis/SKILL.md +273 -0
  8. package/skills/anysite-audience-analysis/references/PLATFORM_COVERAGE.md +53 -0
  9. package/skills/anysite-audience-analysis/references/TOOL_MAPPING.md +27 -0
  10. package/skills/anysite-brand-reputation/SKILL.md +373 -0
  11. package/skills/anysite-brand-reputation/references/MONITORING_GUIDE.md +84 -0
  12. package/skills/anysite-competitor-analyzer/SKILL.md +847 -0
  13. package/skills/anysite-competitor-intelligence/SKILL.md +642 -0
  14. package/skills/anysite-competitor-intelligence/references/ANALYSIS_PATTERNS.md +97 -0
  15. package/skills/anysite-content-analytics/SKILL.md +298 -0
  16. package/skills/anysite-content-analytics/references/METRICS_GUIDE.md +63 -0
  17. package/skills/anysite-influencer-discovery/SKILL.md +398 -0
  18. package/skills/anysite-influencer-discovery/references/DISCOVERY_CRITERIA.md +50 -0
  19. package/skills/anysite-lead-generation/SKILL.md +1022 -0
  20. package/skills/anysite-lead-generation/references/LINKEDIN_STRATEGIES.md +739 -0
  21. package/skills/anysite-lead-generation/references/WEB_SCRAPING.md +910 -0
  22. package/skills/anysite-market-research/SKILL.md +379 -0
  23. package/skills/anysite-market-research/references/RESEARCH_METHODS.md +65 -0
  24. package/skills/anysite-person-analyzer/SKILL.md +604 -0
  25. package/skills/anysite-trend-analysis/SKILL.md +310 -0
  26. package/skills/anysite-trend-analysis/references/SOCIAL_MONITORING.md +46 -0
  27. package/skills/anysite-vc-analyst/SKILL.md +269 -0
@@ -0,0 +1,847 @@
1
+ ---
2
+ name: anysite-competitor-analyzer
3
+ description: Deep competitive intelligence combining web scraping, LinkedIn data, social media monitoring, leadership analysis, GitHub activity, Glassdoor sentiment, and community insights. Analyzes founders/C-level profiles, tracks real-time signals vs quarterly reports, and creates comprehensive competitor profiles. Use when asked to analyze competitors, research leadership teams, investigate market positioning, compare products/pricing, assess strategic threats, or gather intelligence on founders and key executives.
4
+ ---
5
+
6
+ # Competitor Analyzer
7
+
8
+ Systematic framework for gathering and analyzing competitive intelligence using Anysite MCP tools.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Trigger this skill when users ask to:
13
+ - "Analyze [competitor name]"
14
+ - "Research our competitors"
15
+ - "Create a competitive analysis of [company]"
16
+ - "How does [competitor] position themselves?"
17
+ - "What are [competitor]'s strengths and weaknesses?"
18
+ - "Compare our product with [competitor]"
19
+ - "Who are our main competitors?"
20
+ - "Build a battle card for [competitor]"
21
+
22
+ ## Quick Start
23
+
24
+ **For single competitor analysis:**
25
+ ```bash
26
+ # 1. Generate analysis template
27
+ python scripts/analyze_competitor.py "Competitor Name" "https://competitor.com"
28
+
29
+ # 2. Use Anysite tools to gather data (see workflow below)
30
+
31
+ # 3. Fill in the JSON template with findings
32
+
33
+ # 4. Generate final report
34
+ python scripts/analyze_competitor.py "Competitor Name" "https://competitor.com" | \
35
+ python -c "import sys,json; exec('from scripts.analyze_competitor import format_markdown_report; print(format_markdown_report(json.load(sys.stdin)))')" \
36
+ > /mnt/user-data/outputs/competitor_report.md
37
+ ```
38
+
39
+ ## Analysis Workflow
40
+
41
+ ### Phase 1: Foundation (15-20 min)
42
+
43
+ **Step 1: Initialize Analysis Structure**
44
+
45
+ Run the analysis script to create structured template:
46
+ ```bash
47
+ python scripts/analyze_competitor.py "Competitor Name" "https://competitor.com" > /tmp/analysis.json
48
+ ```
49
+
50
+ **Step 2: Web Presence Reconnaissance**
51
+
52
+ Scrape key pages to understand positioning:
53
+ ```python
54
+ # Homepage - core messaging
55
+ Anysite:parse_webpage({
56
+ "url": "https://competitor.com",
57
+ "only_main_content": true,
58
+ "strip_all_tags": true
59
+ })
60
+
61
+ # Pricing - cost structure
62
+ Anysite:parse_webpage({
63
+ "url": "https://competitor.com/pricing",
64
+ "only_main_content": true
65
+ })
66
+
67
+ # About - company background
68
+ Anysite:parse_webpage({
69
+ "url": "https://competitor.com/about",
70
+ "only_main_content": true,
71
+ "extract_contacts": true
72
+ })
73
+ ```
74
+
75
+ **Extract from homepage:**
76
+ - H1/H2 headlines → positioning_statement
77
+ - Feature bullets → core_features
78
+ - Customer logos → customer_logos
79
+ - Value prop → value_proposition
80
+
81
+ **Extract from pricing:**
82
+ - Tier names and prices → pricing.tiers
83
+ - Cost per unit → pricing.unit_economics
84
+ - Free tier details → pricing.free_tier_limits
85
+ - Entry price → pricing.entry_price
86
+
87
+ **Extract from about:**
88
+ - Company description → company_overview.description
89
+ - Location → company_overview.headquarters
90
+ - Team size hints → company_overview.employee_count
91
+
92
+ ### Phase 2: LinkedIn Intelligence (10-15 min)
93
+
94
+ **Step 3: Find Company Profile**
95
+
96
+ ```python
97
+ # Search for company
98
+ Anysite:search_linkedin_companies({
99
+ "keywords": "competitor name",
100
+ "count": 5
101
+ })
102
+
103
+ # Get detailed profile using slug from search results
104
+ Anysite:get_linkedin_company({
105
+ "company": "company-slug-from-search"
106
+ })
107
+ ```
108
+
109
+ **Extract:**
110
+ - `follower_count` → Online presence indicator
111
+ - `employee_count` → Company size
112
+ - `description` → Self-positioning
113
+ - `headquarters` → Location
114
+ - `specialties` → Keywords they emphasize
115
+
116
+ **Step 4: Analyze Team & Growth**
117
+
118
+ ```python
119
+ # Check employee growth signals
120
+ Anysite:get_linkedin_company_employees({
121
+ "companies": ["company-slug"],
122
+ "keywords": "engineer developer",
123
+ "count": 50
124
+ })
125
+
126
+ # Find leadership
127
+ Anysite:get_linkedin_company_employees({
128
+ "companies": ["company-slug"],
129
+ "keywords": "CEO founder",
130
+ "count": 10
131
+ })
132
+ ```
133
+
134
+ **Use findings to assess:**
135
+ - Team size → growth_indicators.employee_growth
136
+ - Eng:sales ratio → GTM strategy signal
137
+ - Recent hires → growth phase indicator
138
+
139
+ **Step 5: Content Strategy**
140
+
141
+ ```python
142
+ # Analyze posting activity
143
+ Anysite:get_linkedin_company_posts({
144
+ "urn": "company-urn-from-profile",
145
+ "count": 20
146
+ })
147
+ ```
148
+
149
+ **Analyze posts for:**
150
+ - Frequency → content_strategy.blog_frequency
151
+ - Themes → content_strategy.key_topics
152
+ - Engagement → online_presence.linkedin.engagement_quality
153
+ - Tone → content_strategy.tone_of_voice
154
+
155
+ ### Phase 3: Deep Social & Community Research (20-30 min)
156
+
157
+ **Step 6: Twitter Deep Dive**
158
+
159
+ **A. Company Account Analysis**
160
+ ```python
161
+ # Get profile stats
162
+ Anysite:get_twitter_user({
163
+ "user": "competitor_handle"
164
+ })
165
+
166
+ # Recent activity (analyze more posts)
167
+ Anysite:get_twitter_user_posts({
168
+ "user": "competitor_handle",
169
+ "count": 100
170
+ })
171
+ ```
172
+
173
+ **Extract from company account:**
174
+ - Followers → reach indicator
175
+ - Tweet frequency → activity level
176
+ - Content mix (product updates, thought leadership, customer engagement)
177
+ - Response time to mentions
178
+ - Tone of voice
179
+ - Most engaging tweets (viral content patterns)
180
+
181
+ **B. Founder/Executive Twitter Presence**
182
+ ```python
183
+ # Find and analyze founder accounts
184
+ Anysite:get_twitter_user({
185
+ "user": "founder_handle"
186
+ })
187
+
188
+ Anysite:get_twitter_user_posts({
189
+ "user": "founder_handle",
190
+ "count": 100
191
+ })
192
+ ```
193
+
194
+ **Leadership Twitter signals:**
195
+ - Personal brand strength
196
+ - Technical credibility (what they share)
197
+ - Customer engagement quality
198
+ - Industry thought leadership
199
+ - Follower quality (who follows them)
200
+ - Retweet patterns (what they amplify)
201
+
202
+ **C. Brand Mentions & Sentiment**
203
+ ```python
204
+ # Comprehensive mention search
205
+ Anysite:search_twitter_posts({
206
+ "query": "competitor_name OR @handle OR #competitor_hashtag",
207
+ "count": 200
208
+ })
209
+
210
+ # Problem/complaint mentions
211
+ Anysite:search_twitter_posts({
212
+ "query": "competitor_name (problem OR issue OR bug OR slow OR expensive)",
213
+ "count": 100
214
+ })
215
+
216
+ # Positive sentiment
217
+ Anysite:search_twitter_posts({
218
+ "query": "competitor_name (love OR great OR amazing OR best OR solved)",
219
+ "count": 100
220
+ })
221
+
222
+ # Competitive mentions
223
+ Anysite:search_twitter_posts({
224
+ "query": "competitor_name vs OR competitor_name alternative OR switching from competitor_name",
225
+ "count": 100
226
+ })
227
+ ```
228
+
229
+ **Sentiment scoring:**
230
+ ```
231
+ For each mention batch, calculate:
232
+ - Positive mentions: praise, recommendations, success stories
233
+ - Negative mentions: complaints, frustrations, churn signals
234
+ - Neutral mentions: questions, feature discussions
235
+ - Competitive mentions: comparisons with alternatives
236
+
237
+ Sentiment Score = (Positive - Negative) / Total
238
+ Range: -1.0 (very negative) to +1.0 (very positive)
239
+ ```
240
+
241
+ **D. Customer Voice Analysis**
242
+ ```python
243
+ # Find actual users
244
+ Anysite:search_twitter_posts({
245
+ "query": "using competitor_name OR tried competitor_name",
246
+ "count": 100
247
+ })
248
+
249
+ # Power users
250
+ Anysite:search_twitter_posts({
251
+ "query": "@handle thanks OR @handle helped OR @handle support",
252
+ "count": 50
253
+ })
254
+ ```
255
+
256
+ **Extract:**
257
+ - Real use cases (what customers actually do)
258
+ - Pain points (what they struggle with)
259
+ - Success stories (what works well)
260
+ - Feature requests (what they want)
261
+ - Support quality (how fast company responds)
262
+
263
+ **Step 7: Reddit Deep Community Intelligence**
264
+
265
+ **A. Brand Presence Mapping**
266
+ ```python
267
+ # General mentions across Reddit
268
+ Anysite:search_reddit_posts({
269
+ "query": "competitor_name",
270
+ "count": 100
271
+ })
272
+
273
+ # Industry-specific subreddits
274
+ relevant_subs = [
275
+ "SaaS", "startups", "Entrepreneur", # Business
276
+ "webdev", "programming", "devops", # Tech
277
+ "nocode", "automation", # No-code
278
+ "datascience", "analytics" # Data
279
+ ]
280
+
281
+ for sub in relevant_subs:
282
+ Anysite:search_reddit_posts({
283
+ "query": "competitor_name",
284
+ "subreddit": sub,
285
+ "count": 50
286
+ })
287
+ ```
288
+
289
+ **B. Competitive Discussions**
290
+ ```python
291
+ # Direct comparisons
292
+ Anysite:search_reddit_posts({
293
+ "query": "competitor_name vs",
294
+ "count": 100
295
+ })
296
+
297
+ # Alternative searches
298
+ Anysite:search_reddit_posts({
299
+ "query": "alternative to competitor_name",
300
+ "count": 100
301
+ })
302
+
303
+ Anysite:search_reddit_posts({
304
+ "query": "better than competitor_name",
305
+ "count": 50
306
+ })
307
+
308
+ # Problem space
309
+ Anysite:search_reddit_posts({
310
+ "query": "[problem they solve] tools OR solutions",
311
+ "count": 100
312
+ })
313
+ ```
314
+
315
+ **C. Deep Thread Analysis**
316
+
317
+ For high-engagement threads, get comments:
318
+ ```python
319
+ # Get specific post details
320
+ Anysite:get_reddit_post({
321
+ "post_url": "reddit.com/r/subreddit/comments/..."
322
+ })
323
+
324
+ # Get all comments
325
+ Anysite:get_reddit_post_comments({
326
+ "post_url": "reddit.com/r/subreddit/comments/..."
327
+ })
328
+ ```
329
+
330
+ **Analyze thread comments for:**
331
+ - Detailed user experiences
332
+ - Technical discussions
333
+ - Feature comparisons
334
+ - Pricing discussions
335
+ - Customer support experiences
336
+ - Decision factors (why they chose/didn't choose)
337
+
338
+ **D. Sentiment & Voice Analysis**
339
+
340
+ **Positive signals:**
341
+ - "I love [competitor]"
342
+ - "Works perfectly for..."
343
+ - "Best tool for..."
344
+ - "Highly recommend"
345
+ - "Switched to [competitor] and..."
346
+
347
+ **Negative signals:**
348
+ - "Disappointed with..."
349
+ - "Overpriced"
350
+ - "Customer support is..."
351
+ - "Buggy/unreliable"
352
+ - "Looking for alternative"
353
+ - "Switched away from..."
354
+
355
+ **Neutral/informational:**
356
+ - "How does [competitor] work?"
357
+ - "Anyone tried [competitor]?"
358
+ - "Pricing question"
359
+ - Feature clarifications
360
+
361
+ **E. Community Size & Engagement**
362
+
363
+ **Calculate metrics:**
364
+ ```
365
+ Brand Awareness Score:
366
+ - Total unique mentions (last 30 days)
367
+ - Number of different subreddits mentioned in
368
+ - Average upvotes per mention
369
+ - Comment volume per mention
370
+
371
+ Community Health:
372
+ - Positive/Negative mention ratio
373
+ - Response rate to questions
374
+ - Problem resolution in comments
375
+ - Community helping each other
376
+ ```
377
+
378
+ **Step 7.5: Cross-Platform Insight Synthesis**
379
+
380
+ **Compare Twitter vs Reddit:**
381
+
382
+ **Twitter typically shows:**
383
+ - Official company narrative
384
+ - Marketing messaging
385
+ - Quick customer service interactions
386
+ - Surface-level sentiment
387
+ - Broader reach
388
+
389
+ **Reddit typically reveals:**
390
+ - Unfiltered user opinions
391
+ - Detailed technical discussions
392
+ - Pricing sensitivity
393
+ - Competitive comparisons
394
+ - Real problems and workarounds
395
+
396
+ **Look for disconnects:**
397
+ - Company claims strong product (Twitter) but users complain (Reddit)
398
+ - High Twitter engagement but low Reddit mentions → Marketing-driven, not organic
399
+ - Reddit loves it but low Twitter presence → Word-of-mouth, under-marketed
400
+ - Consistent messaging → Authentic product-market fit
401
+
402
+ ### Phase 4: Leadership & Founders Intelligence (15-20 min)
403
+
404
+ **Step 8: Identify Key Leaders**
405
+
406
+ ```python
407
+ # Find founders and C-level
408
+ Anysite:search_linkedin_users({
409
+ "company_keywords": "competitor-name",
410
+ "title": "founder OR CEO OR CTO OR CPO",
411
+ "count": 10
412
+ })
413
+
414
+ # Get detailed profiles
415
+ Anysite:get_linkedin_profile({
416
+ "user": "founder-linkedin-username",
417
+ "with_experience": true,
418
+ "with_education": true,
419
+ "with_skills": true
420
+ })
421
+ ```
422
+
423
+ **Extract for each leader:**
424
+ - Full career history → their experience and expertise
425
+ - Previous companies → track record
426
+ - Education background → academic credentials
427
+ - Skills → technical depth
428
+ - Languages → market reach
429
+ - Recommendations → credibility signals
430
+
431
+ **Step 9: Analyze Leadership Activity**
432
+
433
+ ```python
434
+ # Get personal posts
435
+ Anysite:get_linkedin_user_posts({
436
+ "urn": "user-urn-from-profile",
437
+ "count": 50
438
+ })
439
+
440
+ # Check comments on others' posts
441
+ Anysite:get_linkedin_user_comments({
442
+ "urn": "user-urn",
443
+ "count": 30
444
+ })
445
+
446
+ # See what they're engaging with
447
+ Anysite:get_linkedin_user_reactions({
448
+ "urn": "user-urn",
449
+ "count": 50
450
+ })
451
+ ```
452
+
453
+ **Analyze for:**
454
+ - Posting frequency and themes
455
+ - Technical depth in posts
456
+ - Market perspective
457
+ - Customer engagement
458
+ - Thought leadership quality
459
+ - Network quality (who engages with them)
460
+
461
+ **Step 10: Twitter Leadership Presence**
462
+
463
+ ```python
464
+ # Founder Twitter activity
465
+ Anysite:get_twitter_user({
466
+ "user": "founder_handle"
467
+ })
468
+
469
+ Anysite:get_twitter_user_posts({
470
+ "user": "founder_handle",
471
+ "count": 100
472
+ })
473
+ ```
474
+
475
+ **Leadership indicators:**
476
+ - Personal brand strength
477
+ - Technical credibility
478
+ - Customer relationships
479
+ - Industry influence
480
+ - Communication style
481
+ - Transparency level
482
+
483
+ ### Phase 5: Technical & Data Discovery (10-15 min)
484
+
485
+ **Step 11: Documentation Quality**
486
+
487
+ ```python
488
+ # Scrape docs homepage
489
+ Anysite:parse_webpage({
490
+ "url": "https://competitor.com/docs",
491
+ "only_main_content": true
492
+ })
493
+
494
+ # Check API reference
495
+ Anysite:parse_webpage({
496
+ "url": "https://competitor.com/api",
497
+ "only_main_content": true
498
+ })
499
+ ```
500
+
501
+ **Step 11: Documentation Quality**
502
+
503
+ ```python
504
+ # Scrape docs homepage
505
+ Anysite:parse_webpage({
506
+ "url": "https://competitor.com/docs",
507
+ "only_main_content": true
508
+ })
509
+
510
+ # Check API reference
511
+ Anysite:parse_webpage({
512
+ "url": "https://competitor.com/api",
513
+ "only_main_content": true
514
+ })
515
+ ```
516
+
517
+ **Assess:**
518
+ - Documentation completeness
519
+ - Code examples presence
520
+ - Interactive explorer
521
+ - SDK availability
522
+ → Feed into technical_capabilities
523
+
524
+ **Step 12: GitHub Presence (if applicable)**
525
+
526
+ ```python
527
+ # Parse GitHub profile page
528
+ Anysite:parse_webpage({
529
+ "url": "https://github.com/competitor-org",
530
+ "only_main_content": true
531
+ })
532
+
533
+ # Check main repository
534
+ Anysite:parse_webpage({
535
+ "url": "https://github.com/competitor-org/main-repo",
536
+ "only_main_content": true
537
+ })
538
+ ```
539
+
540
+ **Extract:**
541
+ - Star count (developer interest)
542
+ - Fork count (actual usage)
543
+ - Commit frequency (development velocity)
544
+ - Contributors count (community size)
545
+ - Issue response time (support quality)
546
+ - Open source components (ecosystem play)
547
+
548
+ **Step 13: Alternative Data Sources**
549
+
550
+ ```python
551
+ # Glassdoor reviews (if company page exists)
552
+ Anysite:parse_webpage({
553
+ "url": "https://www.glassdoor.com/Reviews/competitor-name",
554
+ "only_main_content": true
555
+ })
556
+ ```
557
+
558
+ **What to extract:**
559
+ - Overall rating (employee satisfaction)
560
+ - CEO approval rating (leadership quality)
561
+ - Salary ranges (compensation level)
562
+ - Interview difficulty (hiring standards)
563
+ - Work-life balance (culture signal)
564
+ - Recent reviews (current state)
565
+
566
+ **Step 14: Integration Ecosystem**
567
+
568
+ ```python
569
+ # Get sitemap to find all pages
570
+ Anysite:get_sitemap({
571
+ "url": "https://competitor.com/sitemap.xml",
572
+ "count": 50
573
+ })
574
+
575
+ # Parse integrations page
576
+ Anysite:parse_webpage({
577
+ "url": "https://competitor.com/integrations",
578
+ "only_main_content": true
579
+ })
580
+ ```
581
+
582
+ **Step 14: Integration Ecosystem**
583
+
584
+ ```python
585
+ # Get sitemap to find all pages
586
+ Anysite:get_sitemap({
587
+ "url": "https://competitor.com/sitemap.xml",
588
+ "count": 50
589
+ })
590
+
591
+ # Parse integrations page
592
+ Anysite:parse_webpage({
593
+ "url": "https://competitor.com/integrations",
594
+ "only_main_content": true
595
+ })
596
+ ```
597
+
598
+ **Extract:**
599
+ - Integration partners → technical_capabilities.integrations
600
+ - Platform focus (Zapier, enterprise tools, etc.)
601
+ - API-first vs GUI-first
602
+
603
+ ### Phase 6: Synthesis (15-20 min)
604
+
605
+ **Step 15: Competitive Analysis**
606
+
607
+ Compare findings against your own product:
608
+
609
+ **Strengths (what they do well):**
610
+ - Identify 3-5 clear advantages they have
611
+ - Based on features, pricing, market position, or execution
612
+
613
+ **Weaknesses (where they struggle):**
614
+ - Identify 3-5 clear gaps or problems
615
+ - Missing features, high prices, poor UX, etc.
616
+
617
+ **Opportunities (what you can exploit):**
618
+ - Their weaknesses that you can capitalize on
619
+ - Underserved segments they're missing
620
+ - Messaging/positioning gaps
621
+
622
+ **Threats (what you need to watch):**
623
+ - Their strengths that could hurt you
624
+ - Recent funding or growth
625
+ - Feature development velocity
626
+
627
+ **Step 16: Strategic Insights**
628
+
629
+ Synthesize everything into:
630
+
631
+ **Key Takeaways (3-5 bullets):**
632
+ - Most important findings
633
+ - Clear, actionable insights
634
+
635
+ **Competitive Threats (2-3 bullets):**
636
+ - What they could do to hurt your position
637
+ - Their strategic advantages
638
+
639
+ **Opportunities to Exploit (3-5 bullets):**
640
+ - How to position against them
641
+ - Their vulnerabilities to target
642
+ - Market gaps they're missing
643
+
644
+ **Watch Areas:**
645
+ - Things to monitor quarterly
646
+ - Signals of strategic shifts
647
+
648
+ **Step 17: Generate Final Report**
649
+
650
+ Update the JSON template with all findings, then generate markdown:
651
+
652
+ ```python
653
+ import json
654
+ from scripts.analyze_competitor import save_analysis
655
+
656
+ # Load populated template
657
+ with open('/tmp/analysis.json', 'r') as f:
658
+ data = json.load(f)
659
+
660
+ # Generate reports
661
+ json_path, md_path = save_analysis(data)
662
+ print(f"Reports saved:\n JSON: {json_path}\n Markdown: {md_path}")
663
+ ```
664
+
665
+ Move final files to outputs:
666
+ ```bash
667
+ cp /tmp/analysis.json /mnt/user-data/outputs/
668
+ cp /tmp/analysis.md /mnt/user-data/outputs/
669
+ ```
670
+
671
+ ## Advanced Techniques
672
+
673
+ ### Multi-Competitor Analysis
674
+
675
+ For analyzing 3-5 competitors simultaneously:
676
+
677
+ 1. Run analysis workflow for each competitor
678
+ 2. Create comparison matrix in spreadsheet format
679
+ 3. Focus on key differentiators:
680
+ - Pricing comparison table
681
+ - Feature matrix (rows=features, cols=competitors)
682
+ - Market position map (price vs capabilities)
683
+ - Social presence comparison
684
+
685
+ ### Ongoing Monitoring
686
+
687
+ For quarterly updates (not full re-analysis):
688
+
689
+ **Quick check (30 min):**
690
+ ```python
691
+ # 1. Re-scrape pricing
692
+ Anysite:parse_webpage({"url": "competitor.com/pricing"})
693
+
694
+ # 2. Check recent posts
695
+ Anysite:get_linkedin_company_posts({"urn": "...", "count": 10})
696
+
697
+ # 3. Employee growth
698
+ Anysite:get_linkedin_company_employees({"companies": ["..."], "count": 20})
699
+
700
+ # 4. Recent mentions
701
+ Anysite:search_twitter_posts({"query": "competitor", "count": 50})
702
+ ```
703
+
704
+ Update only changed sections in JSON template.
705
+
706
+ ### Battle Card Creation
707
+
708
+ For sales team quick reference:
709
+
710
+ **Focus on:**
711
+ 1. Quick facts (1-2 sentences)
712
+ 2. Head-to-head feature comparison (table format)
713
+ 3. Pricing comparison (clear numbers)
714
+ 4. 3 reasons we win
715
+ 5. 3 reasons we might lose
716
+ 6. Talk tracks ("When they say X, we say Y")
717
+
718
+ Keep to 1-2 pages maximum.
719
+
720
+ ## Reference Files
721
+
722
+ When you need detailed guidance:
723
+
724
+ - **Data collection methodology:** See [data_collection.md](references/data_collection.md)
725
+ - Use when unsure which Anysite tools to use
726
+ - Use when planning data gathering strategy
727
+ - Contains detailed tool parameters and extraction techniques
728
+
729
+ - **Analysis frameworks:** See [analysis_frameworks.md](references/analysis_frameworks.md)
730
+ - Use when analyzing specific company types (SaaS vs Enterprise vs Consumer)
731
+ - Use when creating battle cards or competitive matrices
732
+ - Contains templates for different output formats
733
+
734
+ ## Common Patterns
735
+
736
+ ### Pattern 1: Rapid Assessment (30-45 min)
737
+
738
+ For quick competitive scan:
739
+ 1. Homepage + pricing scrape
740
+ 2. LinkedIn company profile
741
+ 3. Recent social posts (20 total)
742
+ 4. Fill core sections only (skip deep dives)
743
+ 5. Generate brief summary (1 page)
744
+
745
+ ### Pattern 2: Deep Intelligence (2-3 hours)
746
+
747
+ For comprehensive analysis:
748
+ 1. Full web presence (7-10 pages)
749
+ 2. Complete LinkedIn intelligence
750
+ 3. Social media deep dive (50-100 posts/mentions)
751
+ 4. Community sentiment analysis
752
+ 5. Technical documentation review
753
+ 6. Full JSON template populated
754
+ 7. Detailed markdown report
755
+
756
+ ### Pattern 3: Pricing Focus
757
+
758
+ For pricing-specific analysis:
759
+ 1. Scrape all pricing pages
760
+ 2. Calculate unit economics
761
+ 3. Map tier structures
762
+ 4. Compare to market
763
+ 5. Identify pricing strategy
764
+ 6. Generate pricing comparison table
765
+
766
+ ### Pattern 4: Leadership Focus
767
+
768
+ For founder/team intelligence:
769
+ 1. Identify all founders and C-level
770
+ 2. Deep dive into founder LinkedIn profiles
771
+ 3. Analyze personal posting activity (50+ posts)
772
+ 4. Track Twitter presence and influence
773
+ 5. Map previous company experience
774
+ 6. Assess thought leadership quality
775
+ 7. Evaluate public credibility
776
+
777
+ **Use when:**
778
+ - Considering partnerships
779
+ - Evaluating acquisition targets
780
+ - Assessing strategic threats
781
+ - Understanding company DNA
782
+
783
+ ## Tips for Effective Analysis
784
+
785
+ **Be Systematic:**
786
+ - Follow the phase order
787
+ - Don't skip LinkedIn intelligence (best growth signals)
788
+ - Always check pricing (most volatile data)
789
+
790
+ **Think Strategically:**
791
+ - Not just "what" they do, but "why"
792
+ - Look for patterns in their behavior
793
+ - Consider their constraints (funding, team size)
794
+
795
+ **Verify Claims:**
796
+ - Marketing copy ≠ reality
797
+ - Cross-reference multiple sources
798
+ - Note confidence levels (verified vs estimated)
799
+
800
+ **Focus on Actionable Insights:**
801
+ - Don't just describe, analyze implications
802
+ - What should YOUR company do based on findings?
803
+ - What threats need immediate response?
804
+
805
+ **Document Data Freshness:**
806
+ - Always note analysis date
807
+ - Mark which data is recent vs stale
808
+ - Plan update frequency based on importance
809
+
810
+ ## Output Quality Standards
811
+
812
+ **Good competitive analysis includes:**
813
+ - ✅ Clear positioning statement
814
+ - ✅ Quantified metrics (prices, follower counts, team size)
815
+ - ✅ Specific examples (actual quotes, feature lists)
816
+ - ✅ Strategic implications explained
817
+ - ✅ Data sources noted
818
+ - ✅ Confidence levels indicated
819
+
820
+ **Avoid:**
821
+ - ❌ Vague assessments ("they seem good at X")
822
+ - ❌ Unsupported claims ("probably losing money")
823
+ - ❌ Missing pricing details
824
+ - ❌ Outdated data without date stamps
825
+ - ❌ Pure feature lists without analysis
826
+
827
+ ## Troubleshooting
828
+
829
+ **"Can't find LinkedIn company":**
830
+ - Try variations of company name
831
+ - Search for CEO name, find company from profile
832
+ - Check if they use different legal name
833
+
834
+ **"Pricing page missing/unclear":**
835
+ - Check /plans, /buy, /subscribe URLs
836
+ - Look for pricing calculator
837
+ - Note "Contact Sales" as signal (enterprise focus)
838
+
839
+ **"No social media presence":**
840
+ - Still document the absence (itself a signal)
841
+ - Check founder personal accounts
842
+ - Look for employee posting activity
843
+
844
+ **"Too much data, overwhelmed":**
845
+ - Start with Phase 1 & 2 only (foundation + LinkedIn)
846
+ - Generate partial report
847
+ - Add Phase 3 & 4 if needed for depth