agentsclimarketplace

Battlecard

Skill tga-cheetung/competitive-intel-engine/.claude/skills/battlecard

Turn a tracked competitor's profile + live sources into a 6-section, rep-ready, fully-cited battle card. Triggers: 'battle card', 'battlecard', 'build a battle card for', '/battlecard'.From its SKILL.md

Install
npx -y skills add tga-cheetung/competitive-intel-engine --skill battlecard

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.6 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Battlecard

Generate a competitive battle card a rep can read in 90 seconds where every claim is cited to a source. The card is grounded, not guessed: each "where they win / where you win" line points to something the competitor actually published, so it survives contact with a skeptical prospect.

This skill reads a competitor profile you define once (competitors/<slug>/competitor.yaml), gathers evidence from that competitor's live sources, and writes a 6-section card to competitors/<slug>/battlecard.md.

Deploy when

  • You're setting up a competitor for the first time and need the initial card.
  • weekly-refresh.py flagged a card STALE because a source changed, and you're regenerating it.
  • A rep is about to walk into a competitive deal and wants the current card.

What this is NOT

  • Not a research tool that invents claims. If a differentiator can't be tied to a source, it does not go in the card.
  • Not a one-time doc generator. It's designed to be re-run every time a source moves. The card is disposable; the profile is the asset.

STEP 0: Parse input

Read the competitor slug from the argument (e.g. /battlecard northwind). Resolve competitors/<slug>/competitor.yaml. If it doesn't exist, stop and tell the user to cp -r competitors/_template competitors/<slug> and fill it in.

STEP 1: Load the profile

Parse competitor.yaml. Extract:

  • name, domain, category
  • your_product, your_differentiators (the case you want the card to make)
  • their_known_strengths (seed honesty; you'll verify and expand these)
  • sources[] (label, url, type)
  • card_path (where to write; default competitors/<slug>/battlecard.md)

STEP 2: Gather evidence

For each source in sources[], fetch the page and read it. Pay attention to source type:

  • changelog / docs -> what they shipped recently; capabilities they now claim.
  • pricing -> tiers, what's gated, what's "contact us", per-seat vs. usage.
  • reviews -> recurring complaints and recurring praise in the competitor's own customers' words.
  • news -> funding, leadership, marquee customers, positioning shifts.

Also run a web search for "<name>" vs and <name> limitations to surface how the market already frames the matchup. Record the source URL next to every fact. You will cite it in the card.

STEP 3: Synthesize the 6 sections

Write the card with exactly these sections. Each factual line ends with a [label] citation matching a source.

  1. What they are - one neutral sentence.
  2. Where you win - exactly 3. Each must be specific ("no SSO below the $X tier [pricing]"), verifiable, and tied to your_differentiators. No vague "we're more flexible".
  3. Where they win - exactly 2. Honest, cited. This is the credibility of the whole card.
  4. Objections they create + your response - the top 3 objections a prospect will raise because this competitor exists, each with a calibrated 1-2 sentence response.
  5. Landmine questions - 3 questions the rep can ask that expose a weakness you found in Step 2.
  6. Competitive verdict - 1-2 sentences a rep can say out loud.

STEP 4: Write output

Write the card to card_path using the exact structure in competitors/example-northwind/battlecard.md. Start the file with a front-matter block recording competitor, generated (today's date), and the list of sources_cited.

End the card with a Sources list mapping each [label] to its URL, so any claim can be checked in one click.

STEP 5: Report

Print a 3-line summary: competitor name, how many claims are cited, and which sources were freshest (most recently changed). If any source in the profile was unreachable, say so explicitly. A card built on a dead source is a silent lie.

Output format

competitors/<slug>/battlecard.md, matching the example card's structure exactly: the 6 numbered sections, then a ## Sources block.

Configuration

No API keys required for the skill itself - it uses Claude Code's built-in fetch + web search. The refresh script (scripts/weekly-refresh.py) optionally reads SLACK_WEBHOOK_URL from the environment.

Installation

This skill ships inside the repo at .claude/skills/battlecard/. Opening the repo in Claude Code registers /battlecard automatically. To use it in another project, copy the battlecard/ folder into that project's .claude/skills/.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,452. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.