AI SkillRun TrackerMarketingby Gooseworks

Competitive Strategy Tracker — institutional memory for competitive intel

Runs on
ClaudeClaudeChatGPTChatGPTOpenClawOpenClaw

Living competitive intelligence system with persistent profiles

  • Maintains a persistent profile per competitor with monthly snapshots
  • Tracks positioning, product, pricing, content, and market signals
  • Detects changes against last scan with significance scoring
  • Analyzes social content performance for what's working
  • Outputs strategic recommendations with messaging and pricing actions

Who this is for

What it does

Quarterly competitive review

Generate the full competitive landscape report your team uses for strategy sessions.

Reactive competitor move analysis

When a competitor launches a feature or changes pricing, run a focused analysis with response recommendations.

Build competitive memory over time

The timeline reveals trajectory — patterns only emerge after 3+ scans.

How it works

1

Take competitor list and your own positioning as input

2

Scan competitors across positioning, product, pricing, content, market signals

3

Detect changes against last saved profile

4

Update profile files and append change timeline

5

Generate recommendations on positioning, messaging, pricing, content, product

Metrics this improves

Conversion Rate
Higher win rate when positioning is updated against competitor moves in real-time
Marketing

Works with

⚖ Compare side-by-side
Compare with 3 similar skills
In the same department: Marketing (67 skills total)
Compare →

Similar skills

Auto-suggested by attribute overlap. Side-by-side comparison shows what differs.

Compare all 4
Sorted by attribute overlap × differentiation. Competitive Strategy Tracker shares 15+ attributes with each.

Competitive Strategy Tracker

A living competitive intelligence system that accumulates knowledge about competitors over time and translates it into strategic recommendations for your business.

competitor-intel tells you what competitors DID. This composite tells you what it MEANS for you and what you should DO about it.

What it maintains:

  • A persistent profile folder per competitor, updated with every scan
  • A timeline of changes — when they shifted positioning, launched features, changed pricing
  • Analysis of their social content — what topics get engagement, what formats work
  • Your positioning relative to each competitor, updated as they move
  • Actionable recommendations: what to change in your messaging, pricing, and strategy

Two modes:

  • Update: Run periodically (monthly or triggered by a competitor move). Scans for changes, updates profiles, produces a change report with recommendations.
  • Review: On-demand deep analysis. Produces a full competitive landscape review for team discussion or strategy sessions.

When to Auto-Load

Load this composite when:

  • User says "competitive review", "update competitor profiles", "what are competitors doing", "how should we position against X"
  • User says "competitor changed their pricing", "competitor launched a new feature", "competitive messaging refresh"
  • User asks "how should we differentiate", "what's our positioning vs. [competitor]", "competitive strategy"
  • Monthly/quarterly review cadence triggers an update
  • A specific competitor move triggers a reactive analysis

Step 0: Configuration (One-Time Setup)

On first run, collect and store. Skip on subsequent runs.

Competitor List

QuestionPurposeStored As
Who are your competitors? (names + websites)Define tracking universecompetitors
Which are primary vs. secondary competitors?Prioritize depth of trackingcompetitor_tiers
Where do competitor profiles live?File storage locationprofile_directory
competitors: [
  {
    name: "Competitor A"
    website: "https://competitora.com"
    tier: "primary"                   # Track deeply
    slug: "competitor-a"              # Folder name
  },
  {
    name: "Competitor B"
    website: "https://competitorb.com"
    tier: "secondary"                 # Track lightly
    slug: "competitor-b"
  }
]
profile_directory: "clients/<client>/competitors/"

Your Company Context (for comparison)

QuestionPurposeStored As
What is your current positioning statement? (2-3 sentences)Compare against competitorsyour_positioning
What is your tagline / headline?Track messaging changesyour_tagline
What are your key differentiators? (3-5 points)Competitive gap analysisyour_differentiators
What is your pricing model and approximate pricing?Pricing comparisonyour_pricing
What are your core features?Feature comparisonyour_features
What is your ICP?Evaluate competitor ICP overlapyour_icp
Where do you post content? (LinkedIn, blog, Twitter, etc.)Social comparisonyour_channels

Tracking Config

QuestionOptionsStored As
How often should we do a full update?Monthly / Quarterlyupdate_cadence
What social platforms should we track for competitors?LinkedIn / Twitter / Blog / YouTube / Allsocial_platforms
Where should reports be saved?Local file / Google Sheets / Notionreport_destination

Store config in: clients/<client-name>/config/competitive-strategy.json or equivalent.


Step 1: Scan Competitor Landscape

Purpose: For each competitor, collect current-state data across five dimensions. Compare against the last saved profile to detect changes.

Input Contract

competitors: [...]                    # From config
profile_directory: string             # From config
mode: "update" | "review"            # Update = periodic scan. Review = full deep dive.
trigger: string | null                # e.g., "Competitor A launched new pricing" — focuses the scan

Process

For each competitor, scan across five dimensions:

A) Positioning & Messaging
What to CaptureWhere to LookWhat Changes Mean
Homepage headline / taglineTheir website (hero section)Messaging shift — are they going upmarket? Downmarket? New audience?
"What we do" / "How it works" descriptionWebsite, about pagePositioning pivot — different problem being solved?
Key value propositions (3-5 listed on site)Website, product pageFeature emphasis shift — what they're betting on
Target audience languageWebsite, case studiesICP shift — new segments being targeted
Customer logos / case studies featuredWebsite, customers pageSocial proof changes — new segments, enterprise moves, etc.
Comparison / "vs." pagesWebsite, searchHow they position against YOU and others
Demo CTA / free trial framingWebsiteGTM motion shift — PLG vs. sales-led
B) Product & Features
What to CaptureWhere to LookWhat Changes Mean
Feature listWebsite, product page, G2 profileNew capabilities = competitive threat or irrelevance
Recent product launchesBlog, press, Product Hunt, changelogInnovation velocity — are they shipping fast or stalling?
IntegrationsWebsite integrations pageEcosystem play — who are they partnering with?
Product screenshots / UIWebsite, G2UX direction — going simpler? More complex? Enterprise?
API / developer docsDocs sitePlatform play — building an ecosystem
C) Pricing & Packaging
What to CaptureWhere to LookWhat Changes Mean
Pricing page (plans, tiers, pricing)Website /pricingPrice increase = going upmarket. Decrease = race to bottom. New tier = new segment.
Free tier / freemium offeringPricing pagePLG motion — competing on adoption, not sales
Enterprise / "Contact us" tierPricing pageMoving upmarket
Pricing model (per seat, per usage, flat rate)Pricing pageModel shift = strategic pivot
Discounts / promotions visibleWebsite, adsAggressive competition — may be losing deals
D) Content & Social Performance
What to CaptureWhere to LookWhat Changes Mean
Blog posts (last 30-90 days)Their blogContent themes = what they think their audience cares about
LinkedIn company page posts (last 30 days)LinkedInTopics, formats, engagement levels
Founder/CEO LinkedIn postsLinkedInThought leadership direction, what narrative they're pushing
Twitter/X activityTwitterReal-time messaging, community engagement
YouTube contentYouTubeInvestment in video = scaling education/brand
Podcast appearancesWeb searchWhere they're showing up, what topics they discuss
Top-performing content (by engagement)LinkedIn, blogWhat resonates with their audience (you should learn from this)
E) Market Signals
What to CaptureWhere to LookWhat Changes Mean
Recent fundingCrunchbase, pressCapital injection = acceleration coming
Hiring patternsLinkedIn jobs, job boardsWhat they're building next (ML engineer = AI features, enterprise AE = upmarket)
Leadership changesLinkedIn, pressNew leader = strategy shift incoming
Partnerships announcedPress, LinkedInEcosystem moves, channel strategy
Customer reviews (recent)G2, CapterraWhat customers love/hate = your opportunity
Awards / recognitionWeb searchCategory validation or specific niche wins
Layoffs / contractionWeb search, newsVulnerability — their customers may be anxious

Change Detection

For each dimension, compare current state to the last saved profile:

Change TypeHow to DetectSignificance
Messaging changeHeadline/tagline differs from saved profileThey're repositioning — evaluate impact on your positioning
Feature launchNew feature not in saved profileCompetitive gap may have closed or opened
Pricing changePricing differs from saved profileMarket signal about their strategy
New segmentNew customer logos, case studies in different industryThey're expanding — are they coming for your ICP?
Content theme shiftBlog/social topics changed significantlyStrategic direction shift
Hiring signalNew roles not previously postedBuilding new capabilities

Output Contract

competitor_scans: [
  {
    competitor: {
      name: string
      slug: string
      tier: string
      website: string
    }
    current_state: {
      positioning: {
        headline: string
        description: string
        value_propositions: string[]
        target_audience: string
        customer_logos: string[]
        comparison_pages: string[]
      }
      product: {
        key_features: string[]
        recent_launches: [ { feature: string, date: string, description: string } ]
        integrations: string[]
      }
      pricing: {
        model: string                  # "per seat", "per usage", "flat rate"
        tiers: [ { name: string, price: string, key_features: string[] } ]
        free_tier: boolean
        enterprise_tier: boolean
      }
      content: {
        blog_themes: string[]          # Top themes from recent posts
        social_top_posts: [ { platform: string, topic: string, engagement: string, url: string } ]
        content_formats: string[]      # Video, long-form, infographic, etc.
        posting_frequency: string      # "3x/week", "daily", "sporadic"
      }
      market_signals: {
        recent_funding: string | null
        hiring_patterns: string[]
        partnerships: string[]
        recent_reviews_sentiment: string
      }
    }
    changes_detected: [
      {
        dimension: string              # "positioning", "product", "pricing", "content", "market"
        change: string                 # What changed
        previous: string               # What it was before
        current: string                # What it is now
        detected_date: string
        significance: "high" | "medium" | "low"
        implication: string            # What this means for you
      }
    ]
    scan_date: string
  }
]

Human Checkpoint

## Competitive Scan Results

### Changes Detected

| Competitor | Dimension | Change | Significance |
|-----------|-----------|--------|-------------|
| Competitor A | Pricing | Dropped starter tier from $99 → $49/mo | High — undercutting our entry price |
| Competitor A | Product | Launched AI feature X | Medium — we have this, they're catching up |
| Competitor B | Positioning | New tagline: "Enterprise-grade Y" | Medium — moving upmarket |
| Competitor B | Content | 3 blog posts on [your category topic] | Low — entering your content territory |

### No Changes
| Competitor | Last Scan |
|-----------|-----------|
| Competitor C | [date] — no material changes |

Proceed with profile updates and strategic analysis? (Y/n)

Step 2: Update Competitor Profiles

Purpose: Update the persistent competitor profile files with new data and maintain the change timeline. This is the institutional memory layer.

Input Contract

competitor_scans: [...]               # From Step 1
profile_directory: string             # From config

Profile File Structure

Each competitor gets a folder with persistent files:

clients/<client>/competitors/
├── competitor-a/
│   ├── profile.md                    # Current-state profile (overwritten each update)
│   ├── timeline.md                   # Append-only change log
│   ├── social-analysis.md            # Latest social content analysis
│   └── snapshots/
│       ├── 2026-01.md                # Monthly snapshot
│       ├── 2026-02.md
│       └── 2026-03.md
├── competitor-b/
│   └── ...
└── landscape-summary.md              # Cross-competitor overview

Profile File Format (profile.md)

# [Competitor Name] — Competitive Profile
**Last updated:** [date]
**Website:** [url]
**Tier:** [primary/secondary]

## Positioning
**Headline:** [their current tagline]
**Description:** [what they say they do]
**Target audience:** [who they sell to]
**Key value props:**
1. [value prop 1]
2. [value prop 2]
3. [value prop 3]

## Product
**Core features:**
- [feature 1]
- [feature 2]
- [feature 3]

**Recent launches:**
| Date | Feature | Description |
|------|---------|-------------|
| [date] | [feature] | [what it does] |

**Integrations:** [list]

## Pricing
| Tier | Price | Key Features |
|------|-------|-------------|
| [tier] | [price] | [features] |

**Model:** [per seat / per usage / flat rate]
**Free tier:** [yes/no]

## Social & Content
**Primary channels:** [where they post]
**Posting frequency:** [how often]
**Top themes:** [what they talk about]
**Best-performing content:** [topics/formats that get engagement]

## Market Position
**Funding:** [total raised, last round]
**Team size:** [approximate]
**Key customers:** [logos]
**Recent reviews sentiment:** [positive/mixed/negative]

## Our Positioning vs. Them
**Where we win:** [differentiators]
**Where they win:** [their advantages]
**Whitespace:** [areas neither covers well]

Timeline File Format (timeline.md)

Append-only log. Never delete entries — this is the historical record.

# [Competitor Name] — Change Timeline

## 2026-03-05 — Pricing Change
**What changed:** Dropped starter tier from $99/mo to $49/mo
**Previous:** $99/mo for starter plan
**Current:** $49/mo for starter plan
**Significance:** High
**Our interpretation:** Likely losing deals at the entry level. Competing on price suggests
they can't compete on value at this tier. We should NOT match — instead, emphasize what
our $99 tier includes that their $49 doesn't.

---

## 2026-02-20 — Feature Launch
**What changed:** Launched AI-powered analytics dashboard
**Previous:** Manual reporting only
**Current:** AI-generated insights from campaign data
**Significance:** Medium
**Our interpretation:** Closing a gap we had. Our analytics are still deeper, but the
"AI-powered" positioning is compelling. Consider adding AI framing to our analytics messaging.

---

## 2026-01-15 — Positioning Shift
**What changed:** Homepage tagline changed from "Simple outreach tool" to "Enterprise-grade outreach platform"
**Previous:** "Simple outreach tool"
**Current:** "Enterprise-grade outreach platform"
**Significance:** High
**Our interpretation:** Moving upmarket. Will start competing for enterprise deals. Their
product may not back this claim yet — watch for enterprise feature launches. This opens
up the "simple/easy" positioning for us or other competitors at the SMB tier.

Process

  1. Read existing profile (if it exists) for each competitor
  2. Update profile.md with current-state data from Step 1
  3. Append new changes to timeline.md with date, description, and interpretation
  4. Save a monthly snapshot if one doesn't exist for the current month
  5. Update landscape-summary.md with cross-competitor overview

Output Contract

updated_profiles: [
  {
    competitor: string
    profile_path: string
    timeline_path: string
    changes_logged: integer
    snapshot_saved: boolean
  }
]

Step 3: Analyze Competitive Dynamics

Purpose: Look across all competitors and your own position to identify strategic patterns, gaps, threats, and opportunities. Pure LLM reasoning.

Input Contract

competitor_scans: [...]               # From Step 1
your_company: {
  positioning: string
  tagline: string
  differentiators: string[]
  pricing: string
  features: string[]
  icp: string
  channels: string[]
}
timelines: [...]                      # Historical change data from profiles

Analysis Sections

A) Positioning Map

Where does each player sit in the market?

DimensionYour CompanyCompetitor ACompetitor BCompetitor C
Primary audience[who][who][who][who]
Core promise[what][what][what][what]
Price point[tier][tier][tier][tier]
GTM motion[sales/PLG/hybrid][motion][motion][motion]
Key differentiator[what][what][what][what]

Positioning collision check: Are any competitors converging on your positioning? Are they moving toward or away from your space?

B) Feature Gap Analysis
Feature/CapabilityYouComp AComp BComp CStatus
[feature 1]YesYesNoNoParity with A
[feature 2]YesNoYesNoDifferentiated
[feature 3]NoYesYesNoGap — they have it, you don't
[feature 4]NoNoNoNoWhitespace — nobody has it

Gap types:

  • Your advantage: You have it, they don't. Emphasize in messaging.
  • Parity: Everyone has it. Not a differentiator — stop leading with it.
  • Their advantage: They have it, you don't. Decide: build it, partner for it, or position around it.
  • Whitespace: Nobody has it. Opportunity to lead.
C) Pricing Landscape
PlayerLowest TierMid TierEnterpriseModel
You[price][price][price][model]
Comp A[price][price][price][model]
Comp B[price][price][price][model]

Pricing dynamics:

  • Who's the cheapest? Are they winning on price or losing on value?
  • Who's the most expensive? Does their product justify it?
  • Where are you positioned? Premium, mid-market, or value?
  • Any recent pricing moves? What do they signal?
D) Social & Content Competitive Analysis

For each competitor's social presence:

MetricYouComp AComp B
Posting frequency[X/week][X/week][X/week]
Primary platform[platform][platform][platform]
Top content themes[themes][themes][themes]
Avg engagement[range][range][range]
Content format mix[types][types][types]

What's working for competitors:

  • Which topics get the most engagement?
  • Which formats (video, carousel, long-form, short-form)?
  • What's their narrative? (Thought leadership, product updates, customer stories, industry trends)
  • Are they engaging with YOUR audience?

What you can learn:

  • Topics they cover that you don't (content gaps)
  • Formats they use that you don't (format opportunities)
  • Engagement patterns (when and how their audience responds)
  • What their audience cares about (inferred from engagement)

Where you're ahead:

  • Topics you own that they don't cover
  • Higher engagement on specific themes
  • Unique formats or approaches
E) Trend Analysis (From Timeline Data)

Look across the historical timeline for patterns:

PatternWhat It Means
Multiple competitors moving upmarketMarket maturation — SMB becoming commoditized
Competitors adding AI/automation featuresTable stakes shifting — you need this too or you're behind
Pricing dropping across the boardRace to bottom — compete on value, not price
Competitors copying your positioningYou're the leader — but need to stay ahead
Competitor pivoting to new segmentThey're abandoning a segment — opportunity for you
Increasing competitor content frequencyCategory getting noisy — need to differentiate harder

Output Contract

competitive_analysis: {
  positioning_map: {
    players: [ { name: string, audience: string, promise: string, price_tier: string, motion: string, differentiator: string } ]
    collision_risks: string[]
    positioning_gaps: string[]
  }

  feature_gaps: {
    your_advantages: [ { feature: string, competitors_lacking: string[] } ]
    parity_features: [ { feature: string, note: string } ]
    their_advantages: [ { feature: string, who_has_it: string[], recommendation: string } ]
    whitespace: [ { opportunity: string, description: string } ]
  }

  pricing_landscape: {
    your_position: string
    dynamics: string[]
    recommendations: string[]
  }

  social_analysis: {
    competitor_strengths: [ { competitor: string, strength: string, evidence: string } ]
    your_content_gaps: string[]
    format_opportunities: string[]
    topics_to_own: string[]
    topics_to_enter: string[]
  }

  trend_patterns: [
    { pattern: string, implication: string, recommendation: string }
  ]
}

Step 4: Generate Recommendations

Purpose: Turn competitive analysis into specific, actionable recommendations for messaging, positioning, pricing, content, and product. Pure LLM reasoning.

Input Contract

competitive_analysis: { ... }        # From Step 3
your_company: { ... }                # From config
changes_detected: [...]              # From Step 1

Recommendation Categories

A) Positioning Recommendations

Based on where competitors are moving and where gaps exist:

TriggerRecommendation Pattern
Competitor moved upmarket"Consider owning the 'simple/fast/affordable' position they abandoned."
Competitor copying your positioning"Sharpen your differentiation. They're converging — you need to be more specific."
Whitespace identified"Position around [whitespace]. No one owns this yet."
Multiple competitors in same spot"Avoid the crowded middle. Go premium or go niche."

Output format:

Current positioning: "[your current tagline]"
Recommended adjustment: "[suggested new framing]"
Rationale: "[why, based on competitive data]"
Urgency: [high/medium/low]
B) Messaging & Outreach Angle Updates

Specific copy recommendations for outreach:

Competitive ChangeMessaging Update
Competitor dropped priceAdd "value beyond price" messaging. Lead with ROI, not cost.
Competitor launched feature you haveEmphasize your version is more mature / better integrated.
Competitor launched feature you lackAcknowledge it exists but frame your approach differently: "We solve this through [alternative approach]."
Competitor lost a big customerSubtle opportunity: "Companies like [industry] are switching to [you]."
Competitor's reviews mention weaknessAddress that weakness as your strength without naming them.

Output format:

Angle: "[competitive angle name]"
When to use: "[which campaigns or call types]"
Messaging: "[specific copy suggestion]"
Proof point: "[evidence to back it up]"
Replace: "[what this replaces in current outreach]" or "New addition"
C) Pricing Recommendations
TriggerRecommendation
Competitor undercut your priceDon't match unless you must. Instead: [specific value justification].
Competitor raised pricesOpportunity to position as "better value at a similar price."
New free tier from competitorConsider a limited free tier or an extended trial to compete on adoption.
Competitor changed pricing modelEvaluate if your model is still competitive. [Specific suggestion].
D) Content & Social Recommendations
FindingRecommendation
Competitor gets high engagement on [topic]"Start creating content about [topic]. Their audience is YOUR audience."
Competitor dominates [format]"Test [format]. They've validated the audience responds to this."
Gap: no one covers [topic]"Own [topic] as your content territory. First-mover advantage."
Your content outperforms on [topic]"Double down on [topic]. You're already winning here."
Competitor engaging your audience"Increase posting frequency and engagement on [platform]."
E) Product / Feature Recommendations
FindingRecommendation
Feature gap (they have, you don't)"Prioritize building [feature] OR position around it: 'We solve this through [alternative].'"
Feature parity (everyone has it)"Stop leading with [feature] in messaging. It's table stakes, not a differentiator."
Your advantage (you have, they don't)"Double down on [feature] in all messaging. This is your edge."
Whitespace opportunity"Consider building [capability]. No competitor covers this."

Output Contract

recommendations: {
  positioning: [
    {
      priority: "high" | "medium" | "low"
      current: string
      recommended: string
      rationale: string
      triggered_by: string            # Which competitive change triggered this
    }
  ]

  messaging_angles: [
    {
      angle_name: string
      when_to_use: string
      messaging: string
      proof_point: string
      replaces: string | null
      triggered_by: string
    }
  ]

  pricing: [
    {
      recommendation: string
      rationale: string
      urgency: string
      triggered_by: string
    }
  ]

  content: [
    {
      recommendation: string
      topic_or_format: string
      rationale: string
      effort: "low" | "medium" | "high"
    }
  ]

  product: [
    {
      recommendation: string
      type: "build" | "position_around" | "double_down" | "stop_leading_with"
      rationale: string
    }
  ]
}

Step 5: Generate Report

Purpose: Produce the team-presentable competitive strategy report.

Report Structure

# Competitive Strategy Report — [Date]
**Period covered:** [last scan date] to [current date]
**Competitors tracked:** [count]

---

## Executive Summary

**Market movement:** [2-3 sentences on what competitors did this period]
**Biggest threat:** [The most significant competitive change and what it means]
**Biggest opportunity:** [The gap or weakness you should exploit]
**Top recommendation:** [Single most impactful thing to do]

---

## Changes Since Last Review

| Date | Competitor | Change | Significance | Our Response |
|------|-----------|--------|-------------|-------------|
| [date] | [name] | [what changed] | [H/M/L] | [recommended action] |

---

## Competitive Landscape

### Positioning Map
| Player | Audience | Promise | Price Tier | Motion | Differentiator |
|--------|----------|---------|-----------|--------|---------------|
| **You** | [who] | [what] | [tier] | [motion] | [what] |
| [Comp] | [who] | [what] | [tier] | [motion] | [what] |

### Feature Comparison
| Feature | You | Comp A | Comp B | Status |
|---------|-----|--------|--------|--------|
| [feature] | [Y/N] | [Y/N] | [Y/N] | [advantage/parity/gap] |

### Pricing Landscape
| Player | Entry | Mid | Enterprise | Model |
|--------|-------|-----|-----------|-------|
| [name] | [price] | [price] | [price] | [model] |

---

## Competitor Deep Dives

### [Competitor A] — [Tier]
**What they did this period:** [summary]
**Key changes:** [list]
**Their strengths:** [what they're good at]
**Their weaknesses:** [where they struggle]
**Threat level:** [high/medium/low] — [why]
**Our positioning vs. them:** [how to differentiate]

[Repeat per competitor]

---

## Social & Content Intelligence

### What's Working for Competitors
| Competitor | Top Topic | Format | Engagement | Takeaway |
|-----------|-----------|--------|-----------|----------|
| [name] | [topic] | [format] | [level] | [what to learn] |

### Content Gaps & Opportunities
| Opportunity | Description | Effort | Impact |
|------------|-------------|--------|--------|
| [topic/format] | [why it's an opportunity] | [L/M/H] | [L/M/H] |

### Your Content vs. Theirs
| Dimension | You | Best Competitor | Gap |
|-----------|-----|----------------|-----|
| Posting frequency | [X/week] | [Y/week] | [behind/ahead] |
| Top engagement topic | [topic] | [topic] | [overlap/different] |
| Format diversity | [formats] | [formats] | [assessment] |

---

## Strategic Recommendations

### Positioning & Messaging
1. **[Recommendation]** — [Priority]
   Triggered by: [what happened]
   Action: [specific thing to do]

### Outreach Angle Updates
| # | Angle | When to Use | Copy Suggestion |
|---|-------|------------|-----------------|
| 1 | [angle name] | [context] | "[specific messaging]" |

### Pricing
1. **[Recommendation]** — [urgency]

### Content & Social
1. **[Recommendation]** — [effort level]

### Product
1. **[Recommendation]** — [type]

---

## Trends Over Time

[Analysis of patterns from timeline data across multiple review periods]

| Pattern | Period Observed | Direction | Implication |
|---------|----------------|-----------|------------|
| [trend] | [since when] | [accelerating/stable/slowing] | [what it means] |

---

## Action Items

| # | Action | Owner | Deadline | Category |
|---|--------|-------|----------|----------|
| 1 | [action] | [who] | [when] | Messaging |
| 2 | [action] | [who] | [when] | Content |
| 3 | [action] | [who] | [when] | Product |

Human Checkpoint

[Executive Summary rendered]

---

Key changes detected: X across Y competitors
High-significance changes: Z

Top 3 recommended actions:
1. [Messaging] — [action + trigger]
2. [Content] — [action + trigger]
3. [Positioning] — [action + trigger]

Full report includes:
- Competitor deep dives with profile updates
- Feature gap analysis
- Pricing landscape comparison
- Social content intelligence
- Timeline trend analysis
- Specific messaging angle suggestions

View the full report? Or act on a specific recommendation?

Execution Summary

StepTool DependencyHuman CheckpointTypical Time
0. ConfigNoneFirst run only5-10 min (once)
1. ScanWeb search (always available) + competitor-intel (optional)Review detected changes3-5 min
2. Update ProfilesFilesystem (write profile files)None — automaticAutomatic
3. AnalyzeNone (LLM reasoning)None — feeds into reportAutomatic
4. RecommendationsNone (LLM reasoning)None — feeds into reportAutomatic
5. Generate ReportNone (LLM reasoning)Review report + approve actions5-10 min

Total human review time: ~15-20 minutes for a strategic competitive review that would take 3-5 hours of manual research and analysis.


Cadence Guide

ModeWhenWhat It Produces
Monthly updateFirst week of each monthProfile updates + change report + messaging refreshes
Triggered updateCompetitor launches feature, changes pricing, makes newsFocused analysis of the specific change + response plan
Quarterly reviewEnd of quarterFull landscape analysis + trend report + strategic planning input
On-demandBefore a competitive deal, board meeting, pricing discussionDeep dive on specific competitor or full landscape

Tips

  • The timeline is the most valuable artifact. Individual scans are snapshots. The timeline reveals trajectory — is a competitor accelerating toward your position or moving away? Patterns only emerge over 3+ scans.
  • Don't react to every change. Not every competitor move requires a response. Small feature additions or minor messaging tweaks are noise. Pricing changes, positioning pivots, and major launches are signal.
  • "Where they win" is as important as "where we win." Acknowledging competitor strengths makes your competitive positioning credible. Reps who say "they're terrible at everything" lose deals to reps who say "they're strong at X, but we're better for you because Y."
  • Track their content performance, not just their content. What a competitor publishes matters less than what their audience engages with. A post with 500 likes tells you more about the market than a post with 5.
  • Competitor job postings are leading indicators. If they're hiring ML engineers, AI features are coming. If they're hiring enterprise AEs, they're going upmarket. Job postings predict product roadmaps 6-12 months out.
  • Feed updated messaging angles back into your outreach composites. This composite's recommendations should directly update the outreach copy used in cold-email-outreach, hiring-signal-outreach, etc. Close the loop.
  • Keep profiles in version control. The profile folder structure works with git. Each update is a commit. You get free history, diffing, and rollback.