battle-card-builder · v1.1.1 · 2026-09-29 · sha256 a2f5e62a7925671f

battle-card-builder v1.1.1A

Immutable. This exact content never changes and is served at /api/v1/blob/a2f5e62a7925671f.

---
name: battle-card-builder
description: >-
  Research and draft a competitive battle card from public evidence — every claim labeled
  and sourced. Use when a rep needs a field-action card, not a research report.
slug: battle-card-builder
version: 1.1.1
displayName: battle-card-builder
---

# Battle Card Builder

## Purpose

Build a field-action competitive battle card from public evidence: **use or gather evidence → search
plan (if gathering) → draft card with per-claim labels → appendix → next-step options.** A battle
card is the artifact a rep opens mid-deal, not a research report — it must fit thirty seconds, every
claim must survive being said out loud to a hostile audience, and every claim therefore carries a
source URL, a date, and a Fact/Inference/Assumption label. Most battle cards in the wild are unlabeled
inference; this skill exists because of what it costs a rep when one of those turns out wrong.

## Input

**Works best with:** your product and its primary differentiation, and **the one competitor** this
card targets.
**Also useful:** the deal context (segment, buyer, common objections or the loss reason that triggered
this card), and any [`competitive-research-snapshot`](../competitive-research-snapshot/SKILL.md) or
[`competitive-intel-watch`](../competitive-intel-watch/SKILL.md) output in session — the skill uses
existing evidence and searches only for gaps and anything older than one quarter.

Input supplied inline with the invocation — text after the skill name, a pasted context dump, or an
appended `ARGUMENTS:` line — counts as answers already given. Use it against the question budget;
don't re-ask.

**Arriving empty-handed? That works too.** The skill opens with at most 3 questions (product +
competitor, segment + buyer, triggering objection) and proceeds on labeled assumptions if they go
unanswered.

**Example invocation:** `Build a battle card: our workflow platform vs [Competitor A], mid-market ops
buyers — triggered by three straight losses on "their integrations are deeper."`

## Key Concepts

- **Governing protocol:** honors the [`autonomous-investigation`](../autonomous-investigation/SKILL.md)
  contract — question budget of 3, search-plan gate, Fact/Inference/Assumption labels, Just Enough
  Mode, stable schema, 4-option Final Step.
- **Discipline mix:** SIGINT (pricing pages, site diffs — the freshest layer, what keeps cards from
  going stale) + OSINT (review mining for objection handling) + HUMINT (win/loss ground truth when
  you have it) — see [`intelligence-collection-disciplines`](../intelligence-collection-disciplines/SKILL.md).
- **Field-action criterion.** Every element earns its place by being usable mid-conversation. Depth
  goes in the appendix; the card fits a rep's thirty seconds.
- **Trap questions are evidence work.** A trap question is only safe to ask when you *know the
  documented answer* — offense is built from citations, not bravado. "Never ask what you cannot
  evidence" is the section's law.
- **The "Do Not Say" section is protection.** Claims you can't evidence, or that invite a counter,
  are listed explicitly — the card protects the rep from the team's own folklore.
- **Two modes, one artifact.** This skill builds the card from *the world's* evidence
  (investigation); a facilitated workshop builds it from *your team's* evidence (win/loss knowledge,
  deal experience). The mode choice depends on where the evidence lives — bring rich internal
  win/loss knowledge to a facilitated session instead, and use this skill when the public record is
  the stronger source.
- **Do-not-invent list:** features, pricing, market share, customer wins, roadmap items, **quotes**.

## Application

1. **Check session for existing evidence** — a competitive snapshot or watch report. If present, use
   it as the evidence base; search only for gaps and freshness (older than one quarter).
2. **Credit inline context**, then ask only the unanswered questions (max 3):
   1. Your product, and the one competitor this card targets?
   2. What segment and buyer do these deals involve?
   3. What objection or loss reason triggered this card?
   If unanswered, proceed with labeled assumptions.
3. **If researching fresh, show the 3-bullet search plan** — what you'll check (pricing pages,
   release notes, reviews, customer stories, comparison content), source types, how facts will be
   separated from inference. Continue unless revised.
4. **Draft the card in the schema below exactly** — cards are diffable across runs, and the watch
   skill's update flags name these sections.

### Card schema (do not reorder)

~~~markdown
# Battle Card: [Your Product] vs [Competitor]
**As-of date:** | **Deal context:** [segment, buyer]

## 1. Thirty-Second Read
- **They win when:** [1-2 bullets, labeled]
- **We win when:** [1-2 bullets, labeled]
- **The one thing to say:** [a single defensible sentence]

## 2. Say This
- [Talking point] — [evidence: URL, date, label]
- [Max 4; every one sourced]

## 3. Ask This (trap questions)
- "[Question whose documented answer favors us]" — [the documented answer: URL, label]
- [Max 3; never ask what you cannot evidence]

## 4. Watch Out For
- [Their strength a rep should not walk into] — [URL, label]
- [Their likely counter to our pitch] — [Inference, basis]

## 5. Pricing & Packaging Snapshot
- [Their tiers/pricing as published] — [URL, as-of date]
- [Where "contact sales" hides the number] — [labeled]

## 6. Do Not Say
- [Claims we cannot evidence, or that invite a counter]

## Appendix: Evidence Table
| Claim | Label | Source | Date |
|---|---|---|---|

### Assumptions to Validate
- [Assumption 1] / [Assumption 2] / [Assumption 3]
~~~

A copy/paste fill-in version of this schema, with quality checks, lives in [`template.md`](template.md).

### Final Step (offer exactly 4 options)

1. Pressure-test the card: role-play the competitor's rep against it
2. Build the card for a second competitor
3. Set up [`competitive-intel-watch`](../competitive-intel-watch/SKILL.md) to keep this card current
4. Compress to a one-screen mobile version for the field

Accept `1`, `2`, `3`, `4`, `1 and 3`, `Verbose Mode`, or a custom path.

## Examples

**A trap question built correctly (fictional):**

> **Ask this:** "How does your migration handle custom fields over the 200-field limit?" — documented
> answer: their own docs state custom-field migration caps at 200 with manual re-entry beyond it —
> **Fact** ([docs page, checked Jul 2026](https://example.com/docs)). Safe to ask: the answer is in
> their documentation, so the rep isn't bluffing — they're citing.

**A "Do Not Say" entry earning its keep:**

> - Don't say "they can't do SSO on the starter tier" — they shipped it in June
>   ([release notes](https://example.com/changelog)); a rep repeating our old card walks into a
>   correction that costs the room's trust.
> - Don't lead with "we're cheaper" — true only below 50 seats ([their pricing](https://example.com/pricing),
>   [ours](https://example.com/our-pricing)); above that the math flips, and enterprise buyers check.

See [`examples/sample.md`](examples/sample.md) for a complete worked card (fictional FSM-software
market) rebuilt from the `competitive-intel-watch` example's update flags — the full chain landing
in a field artifact. [`examples/sample-industrial.md`](examples/sample-industrial.md) builds the
industrial version, where the channel partner is a card audience and pricing is opaque.

## Common Pitfalls

- **The unlabeled card.** Talking points without sources are folklore with formatting. The label is
  what tells a rep how hard they can lean on a claim when the buyer pushes back.
- **The research-report card.** Two pages of landscape context a rep will never read mid-deal. Thirty
  seconds is the budget; the appendix exists for everything else.
- **Trap questions on hope.** Asking a question whose answer you haven't documented hands the
  competitor a stage. If the evidence isn't in the appendix table, the question doesn't ship.
- **Quote invention.** A fabricated customer quote or paraphrased review presented as verbatim is the
  fastest way to destroy the card's credibility — and it's on the do-not-invent list for exactly that
  reason.
- **The immortal card.** Cards rot at SIGINT speed — pricing pages and release notes change monthly.
  A card without an as-of date, or without a watch feeding it update flags, is a liability wearing a
  logo.
- **Skipping "Do Not Say."** The section that protects reps from the team's own stale folklore is the
  one most often omitted — usually because nobody wants to write down which beloved claims are dead.

## FAQ / Wrong way → fix

| Wrong | Fix |
|---|---|
| Card full of talking points, no labels — "everyone knows these are true" | Unlabeled claims are folklore; label every claim Fact/Inference/Assumption with URL + date, or move it to "Do Not Say" |
| A useful claim exists but has no source URL | It ships as Assumption in "Assumptions to Validate," never as a talking point |
| No competitor named — "make us a card against the market" | One card targets one competitor; ask which deal/loss triggered it, build per competitor |
| Their pricing page shows "contact sales" | Record what is published + the hiding, labeled — never estimate the number |
| The evidence contradicts a beloved talking point | It moves to "Do Not Say" with the disproof cited; do not soften or keep it anyway |
| Card finished but no as-of date | The card is invalid without it — add the date and a watch feeding it update flags |

**Failure exits & edge cases:**

- **No evidence at all for the competitor (no network, all sources unreachable):** emit the schema with
  empty sections, every entry Assumption, and one line stating which checks failed ("pricing page and
  reviews unreachable") — an empty labeled card is the honest artifact; an invented one is not.
- **Session evidence is stale (>1 quarter old):** search only for the stale sections and say which were
  refreshed; do not silently reuse old pricing or release data.
- **The "one competitor" turns out to be two** (e.g., product + their platform partner): pick the deal's
  actual blocker, build that card, and note the second as a candidate card in the Final Step.

### Completion checklist (machine-checkable)

- [ ] Every "Say This" and "Ask This" row has a URL, a date, and a label
- [ ] "Do Not Say" section exists and is non-empty (or states explicitly why it is empty)
- [ ] As-of date present in the header
- [ ] Zero claims on the do-not-invent list without a source (features, pricing, market share, customer wins, roadmap items, quotes)
- [ ] Card body fits the thirty-second read; overflow went to the appendix

## 中文速览(Quick Guide)

**这个技能做什么**:从公开证据构建一张销售可现场使用的竞争战卡——每条话术、每个陷阱提问都带来源 URL、日期和 Fact/Inference/Assumption 标签,正文三十秒读完,深度全部进附录;没有证据的说法要么标注 Assumption,要么进"Do Not Say"。

**何时用**:销售在单笔交易中需要针对某一竞品的行动卡时(通常由具体丢单理由或高频异议触发);要研究报告而非行动卡时不用本技能。

**核心步骤**:
1. 优先复用会话内已有的快照/watch 产出,只补缺与过期(超一季度)的部分;
2. 追问至多 3 问(我方产品+目标竞品、客群与买手、触发异议);
3. 若需新调查,先出 3 条搜索计划(定价页、发布说明、评测、客户案例);
4. 严格按 schema 出卡:三十秒速读/该说的/该问的/当心的/定价速写/不可说的+证据附录;
5. 收尾给 4 个选项(对抗演练、第二张卡、接入 watch 保持新鲜、压缩移动版)。

**国内可达性边界**:依赖对竞品官网、定价页、文档、评测站等外网源的访问;全部不可达时按正文出口出一张全空但逐条标 Assumption 的卡并写明哪些检查失败——不虚构证据;部分源可达时优先用可公开核验的渠道(竞品中文官网、公开新闻稿、公开文档)补充并同样保留 URL+日期+标签纪律。

## References

- [`autonomous-investigation`](../autonomous-investigation/SKILL.md) (Workflow) — the governing protocol
- [`intelligence-collection-disciplines`](../intelligence-collection-disciplines/SKILL.md) (Component) — discipline sources; SIGINT keeps this card fresh
- [`competitive-research-snapshot`](../competitive-research-snapshot/SKILL.md) (Workflow) — upstream evidence base
- [`competitive-intel-watch`](../competitive-intel-watch/SKILL.md) (Workflow) — flags when this card's sections go stale
- [`positioning-statement`](../positioning-statement/SKILL.md) (Component) — the strategic layer the card's talking points should agree with
- Adapted from `market-intelligence/battle-card-builder-prompt.md` in the
  `https://github.com/deanpeters/product-manager-prompts` repo.