Skip to content

lbj96347/compete

Repository files navigation

compete

A Claude Code Skill that turns your repository into a complete competitive intelligence report.

compete analyzes the current repository to identify your product, then discovers competitors and builds a complete competitive intelligence database spanning product, technology, business, marketing, SEO, social media, customers, sales, hiring, funding, and brand positioning. It is an AI product research assistant — not just a comparison generator.

Everything is collected into normalized, confidence-annotated JSON datasets and rendered into a self-contained interactive HTML report (the InsightKit report) with dashboards, comparison matrices, capability radars, pricing ladders, a positioning scatter, SWOT accordions, and prioritized recommendations.


Highlights

  • Repo-aware — reads your code, manifests, and README to identify the product before searching the web. No manual product brief required.
  • Multi-dimensional intelligence — company profile, pricing, tech stack, social presence, marketing, and SEO for every competitor.
  • Confidence everywhere — every field is wrapped with a confidence score, source, provenance, and an explicit unknown fallback. Nothing is asserted without showing its work. Verify before acting.
  • Normalized data contract — all stages write JSON validated against the schemas in skills/compete/schemas/, joined by entity_ref. Visualizations consume the data, never scrape directly.
  • Self-contained report — one report.html file (~570 KB) opens standalone in any browser. The only external dependencies are the Chart.js and D3 CDN bundles.

Screenshots

A walkthrough of the seven tabbed views in a generated InsightKit report (this repository analyzed against its own competitive landscape):

Overview dashboard with stat cards, competitor-classification and threat-distribution doughnut charts, and an executive summary
Overview — stat cards, classification & threat doughnuts, and the executive summary.
Sortable competitor comparison matrix with confidence-bar cells for type, similarity, website, HQ, and founding year
Comparison — sortable matrix with per-cell confidence bars across every dimension.
Capability radar chart plotting six 0-100 axes for the product versus toggleable competitor series
Radar — six 0–100 capability axes, self vs. competitors, with toggleable series.
Pricing matrix with an entry-price bar chart and a plan-ladder table showing free, enterprise, and estimated MRR columns
Pricing — entry-price bar chart plus a free/enterprise plan-ladder table.
D3 positioning scatter plotting entry price against company scale, with bubble size reflecting functional similarity and color reflecting threat
Positioning — D3 scatter of price × scale; bubble size = similarity, color = threat.
SWOT analysis list of competitors ranked by overall capability score, each tagged with type and a competitive threat level
SWOT — competitors ranked by overall capability, each tagged with threat level.
Expanded SWOT card for a single competitor showing side-by-side strengths, weaknesses, opportunities, threats, and a per-axis capability breakdown
SWOT (expanded) — side-by-side strengths/weaknesses/opportunities/threats with a capability breakdown.
Opportunities view listing market whitespace gaps with impact ratings alongside prioritized recommendation cards
Opportunities — market-gap whitespace and prioritized recommendations.

Installation

compete is packaged as a Claude Code plugin. The plugin bundles three things that work together:

  • the compete skill (skills/compete/) — the workflow, scripts, schemas, and report template;
  • the /compete slash command (commands/compete.md) — a one-shot entry point that drives the whole pipeline;
  • the plugin manifest (.claude-plugin/plugin.json).

Recommended — install from the marketplace

/plugin marketplace add forthrighttech/compete
/plugin install compete

The first command registers this repository as a plugin marketplace (it ships a .claude-plugin/marketplace.json); the second installs the plugin. Restart or start a new session and confirm with /plugincompete should be listed as enabled, the /compete command available, and the compete skill discoverable via /skills.

Manual — clone into your plugins folder

git clone https://github.com/forthrighttech/compete.git \
  ~/.claude/plugins/compete

The plugin must live at a directory whose root contains .claude-plugin/plugin.json (with skills/ and commands/ alongside it). Claude Code discovers it on the next session.

Skill-only (no plugin)

If you only want the skill without the slash command, clone just the skill subtree into your skills folder:

# Personal (all projects)
git clone https://github.com/forthrighttech/compete.git /tmp/compete && \
  cp -r /tmp/compete/skills/compete ~/.claude/skills/compete

# Project-scoped (one repository)
cp -r /tmp/compete/skills/compete \
  /path/to/your-repo/.claude/skills/compete

The skill must live at .../.claude/skills/compete/ with SKILL.md at its root. Confirm with /skills (it should appear as compete). You trigger it in natural language rather than with /compete.

Requirements

  • Claude Code with web access (WebSearch / WebFetch) for competitor discovery and intelligence collection.
  • Python 3.9+ for the helper scripts in skills/compete/scripts/. The collection and rendering scripts use only the standard library — no pip install required.

Usage

The /compete command (recommended)

Open Claude Code in the repository you want analyzed and run:

/compete

With no argument, Stage 1 auto-detects the product from the current repo and the command runs the full pipeline end to end, writing the report to ./insightkit-output/.

You can also pass an optional seed — a competitor URL or name:

/compete https://www.crayon.co
/compete Klue

A seed is folded into Discovery as a known competitor candidate and is used to anchor the product's market/category, instead of relying solely on auto-detection. The seed is slugified into an entity_ref (e.g. crayon), classified, and appears in the roster alongside the auto-discovered competitors.

Natural language

If you installed the skill without the command — or just prefer plain language — ask Claude directly. The skill triggers on phrases such as:

"Find my competitors" "Run a competitive analysis on this repo" "Who are my competitors and how do I compare?" "Build me a competitive landscape / positioning matrix / SWOT"

Run any stage manually

Claude runs the pipeline end to end. You can also drive any stage yourself:

# 1. Product Intelligence — analyze the repo, write product.json
python skills/compete/scripts/analyze_repo.py --repo . --validate

# 2. Competitor Discovery — plan searches, then normalize results
python skills/compete/scripts/discover_competitors.py plan  --product product.json
#    (Claude runs the plan with WebSearch/WebFetch → candidates.json)
python skills/compete/scripts/discover_competitors.py build --product product.json \
  --candidates candidates.json --validate

# 3. Intelligence Collection — per-competitor company/pricing/tech/social/marketing/SEO
python skills/compete/scripts/collect_intelligence.py plan  --competitors competitors.json
#    (Claude runs the plan with WebSearch/WebFetch → findings.json)
python skills/compete/scripts/collect_intelligence.py build --competitors competitors.json \
  --findings findings.json --validate

# 4 + 5. Knowledge Graph + Visualization — synthesize report.json and render report.html
python skills/compete/scripts/build_report.py --input-dir . --output-dir ./insightkit-output
#    add --open to also launch the report in a browser

Open the result:

open ./insightkit-output/report.html

Sample output

A fully rendered example ships in insightkit-output/ so you can see the report without running the pipeline:

File What it is
report.html Self-contained interactive report — open in any browser.
report.json Synthesized analytic layer (executive summary, SWOT, positioning, gaps, recommendations), schema-valid.
screenshots/overview.png The overview dashboard shown in the Screenshots gallery.

The sample analyzes this very repository (compete) against 17 discovered competitors, classifying each by type and competitive threat. The report has seven tabbed views:

  • Overview — stat cards, competitor-classification and threat-distribution doughnuts, and the executive summary.
  • Comparison — sortable matrix with confidence-bar cells per dimension.
  • Radar — six transparent 0–100 capability axes, self vs. competitors, toggleable series.
  • Pricing — entry-price bar chart plus a plan-ladder table.
  • Positioning — D3 scatter of price × scale, bubble size = similarity, color = threat.
  • SWOT — expandable strengths/weaknesses/opportunities/threats per competitor.
  • Opportunities — market gaps and prioritized recommendations.

Every judgment in the report carries a method note explaining the heuristic behind it.


How it works

repo ──▶ analyze_repo.py ──▶ product.json
                                 │
                                 ▼
        discover_competitors.py ──▶ competitors.json
                                 │
                                 ▼
        collect_intelligence.py ──▶ companies/pricing/techstack/
                                 │   social/marketing/seo.json
                                 ▼
            build_report.py ──▶ report.json ──▶ report.html

The normalized JSON datasets are the contract between stages. Each is validated against a schema in skills/compete/schemas/; the rules (confidence-wrapped fields, unknown fallback, entity_ref joins) are documented in skills/compete/references/data-schema.md.


Project structure

Path Purpose
.claude-plugin/plugin.json Plugin manifest (name, version, author, license).
.claude-plugin/marketplace.json Marketplace entry for one-step /plugin install.
commands/compete.md The /compete slash command (optional seed argument).
skills/compete/SKILL.md Skill definition, trigger keywords, and high-level workflow.
PRD.md Full research scope and product vision.
skills/compete/references/ Detailed instructions for each pipeline stage.
skills/compete/scripts/ Python helpers for collection, normalization, and rendering.
skills/compete/templates/ The self-contained report.html template.
skills/compete/schemas/ JSON schemas for every normalized dataset.
insightkit-output/ Sample rendered report.

Roadmap

compete v1 ships the full one-shot pipeline: product intelligence → discovery → multi-dimensional collection → knowledge graph → interactive report. The following are deliberately deferred to v2.

Deeper intelligence per dimension

v1 collects a solid breadth-first profile across all dimensions. v2 goes deep:

  • Deep SEO — keyword universe and rankings, backlink graph and authority, content gap analysis, SERP-feature ownership, and traffic-trend estimates (beyond v1's meta/structure snapshot).
  • Deep social — engagement-rate and follower-growth time series, share-of- voice, sentiment, and channel-mix breakdowns per competitor.
  • Hiring intelligence — open-roles tracking, team-growth and org-shape signals, and the strategic bets implied by what each competitor is hiring for.
  • Sales intelligence — go-to-market motion (PLG vs. sales-led), funnel and packaging signals, win/loss themes, and target-segment inference.

/watch-competitors — continuous monitoring

v1 produces a point-in-time report. v2 adds a monitoring mode that re-runs the pipeline on a schedule and surfaces diffs — turning InsightKit from a one-time report generator into a continuous competitive-intelligence platform. Daily or weekly it would track:

  • pricing changes
  • new features
  • new blog posts
  • hiring trends
  • GitHub releases
  • social-media activity
  • funding news
  • SEO changes

See PRD.md for the complete v1 research scope and the v2 vision.


Contributing

Contributions are welcome — see CONTRIBUTING.md for the data-contract rules, schema-validation workflow, and how to regenerate the sample report.

Built by

compete is an open-source project built by forthrighttech, developed with the help of a few products I build:

  • tokkong — private AI that runs local LLMs on your machine.
  • whiskey — an AI keyboard with on-device, local transcription.
  • lounge — a macOS menu bar manager, with support for macOS 27.

Find me on X: @lbjhkg.

License

MIT © 2026 forthrighttech

About

A Claude code CLI plugin for discovering competitors and conducting comparisons to identify business opportunities.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors