{"id":"2ff71811-9a25-4371-a343-44067abbb1fa","slug":"competitive-intel-engine","kind":"skill","name":"competitive-intel-engine","summary":"A Claude Code system that keeps competitive battle cards current on their own: cited claims, watched sources, auto-rebuilt when a competitor moves.","owner":"tga-cheetung","repoUrl":"https://github.com/tga-cheetung/competitive-intel-engine","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-07-23T18:15:05.000Z","addedAt":"2026-10-21T10:19:04.804Z","logoUrl":"https://avatars.githubusercontent.com/u/250624307?u=6b1d6cc7464936a232cf374d3272adad8da368f4&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools"],"tags":["claude-code","gtm-engineering","sales-enablement"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-23T04:07:02.041Z","sample":false,"url":"https://conduits.dev/tools/competitive-intel-engine","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# The Always-On Competitive Intel Engine\n\nA Claude Code system that keeps your competitive battle cards **current on their own**.\n\nPoint it at a competitor's public sources (changelog, pricing page, review profile, newsroom). It grounds every claim in a cited source, generates a rep-ready battle card, then watches those sources and regenerates the card the moment one of them changes.\n\nStatic battle cards are wrong within a quarter. This turns a card into a living asset that maintains itself.\n\n## Why static battle cards rot\n\nMost battle cards get built once, in a doc, from a cold web search. Three things break them:\n\n1. **They're ungrounded.** \"They're weak on security\" is an opinion until it quotes the competitor's own words. Reps get caught out when the claim is stale, or was never true to begin with.\n2. **They're static.** The competitor ships a feature, drops a price, or lands a marquee logo, and the card still says the old thing. Nobody re-opens the doc.\n3. **They're centralized.** One person owns the doc, so every update waits behind that person's attention.\n\nThe fix is to treat a battle card the way you'd treat monitored infrastructure: grounded in cited sources, watched for change, regenerated automatically.\n\n## What this is\n\nThree parts working together:\n\n- **A battle-card skill** - `.claude/skills/battlecard/SKILL.md` - turns a competitor profile plus its live sources into a 6-section, rep-ready card, with every \"where they win / where you win\" claim cited to a specific source.\n- **A source-monitor agent** - `.claude/agents/source-monitor.md` - fetches each tracked source and reports exactly what changed since the last snapshot.\n- **A weekly refresh script** - `scripts/weekly-refresh.py` - runs the monitor across every competitor you track, flags the cards whose sources moved, regenerates them, and posts you the diff.\n\n## How it works\n\n```\ncompetitors/<slug>/competitor.yaml     you define: sources, your differentiators\n        |\n        v\nscripts/weekly-refresh.py  -- fetch each source --> hash + diff vs last snapshot\n        |                                                   |\n        |                                          no change | changed\n        |                                                   v\n        |                                          flag card STALE\n        v                                                   |\n/battlecard <slug>  <---------- regenerate -----------------+\n        |\n        v\ncompetitors/<slug>/battlecard.md   6 sections, every claim cited\n        |\n        v\nSlack/stdout diff  -- \"Northwind changed pricing; card rebuilt\"\n```\n\n## Repo structure\n\n```\ncompetitive-intel-engine/\n|-- README.md\n|-- LICENSE\n|-- REPO-RULES.md\n|-- requirements.txt\n|-- .claude/\n|   |-- skills/\n|   |   `-- battlecard/\n|   |       `-- SKILL.md          # generates a 6-section cited battle card\n|   `-- agents/\n|       `-- source-monitor.md     # sub-agent: fetch sources, report what changed\n|-- schema/\n|   `-- competitor.yaml           # the schema, documented field by field\n|-- scripts/\n|   `-- weekly-refresh.py         # orchestrator: diff sources, flag + rebuild stale cards\n`-- competitors/\n    |-- _template/\n    |   `-- competitor.yaml        # copy this to track a new competitor\n    `-- example-northwind/\n        |-- competitor.yaml        # a worked example\n        `-- battlecard.md          # the card the skill produces\n```\n\n## Install\n\n1. **Clone and enter the repo.**\n   ```bash\n   git clone https://github.com/tga-cheetung/competitive-intel-engine.git\n   cd competitive-intel-engine\n   ```\n2. **Install the one dependency** (the refresh script uses only the standard library plus PyYAML):\n   ```bash\n   pip install -r requirements.txt\n   ```\n3. **Make sure Claude Code is installed** and can see the skill. The `.claude/` folder ships with the repo, so opening the repo in Claude Code registers `/battlecard` automatically.\n4. **Add your first competitor** (see below), then run:\n   ```bash\n   python scripts/weekly-refresh.py\n   ```\n\n## The 6-section card\n\nEvery card the skill writes has the same scannable shape. A rep should be able to read it in 90 seconds before a call:\n\n1. **What they are** - one sentence.\n2. **Where you win** - three specific, verifiable advantages, each cited.\n3. **Where they win** - two honest advantages. A card that pretends the competitor has no strengths gets ignored.\n4. **Objections they create + your calibrated response** - the top three.\n5. **Landmine questions** - three questions a rep can ask that expose the competitor's weak spots.\n6. **Competitive verdict** - one or two sentences a rep can actually say out loud.\n\n## Add a competitor\n\n```bash\ncp -r competitors/_template competitors/northwind\n```\n\nEdit `competitors/northwind/competitor.yaml`:\n- `name`, `domain`, `category`\n- `your_product` and `your_differentiators` - the case you want the card to make\n- `sources` - the URLs worth watching (changelog, pricing, a review profile, the newsroom)\n\nThen generate the first card:\n\n```bash\nclaude -p \"/battlecard northwind\"\n```\n\nFrom then on, `weekly-refresh.py` keeps it current.\n\n## Keep it fresh (the whole point)\n\nRun the refresh on a schedule. On macOS/Linux, a weekly cron entry:\n\n```\n0 9 * * 1  cd /path/to/competitive-intel-engine && python scripts/weekly-refresh.py --auto-regen\n```\n\nSet `SLACK_WEBHOOK_URL` in your environment and the script messages you a summary whenever a card gets rebuilt, so competitive moves reach your reps the week they happen, not the quarter after.\n\n## License\n\nMIT. Built by [The GTM Architects](https://www.thegtmarchitects.com), 2026.\n"}