AgentStack
SKILL verified MIT Self-run

Battlecard

skill-swan-gtm-gtm-skills-battlecard · by swan-gtm

Creates or updates a competitor battlecard. Use when the user needs positioning, strengths, weaknesses, objections, win conditions, and practical talk tracks saved into competitive knowledge.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-swan-gtm-gtm-skills-battlecard

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Battlecard? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Instructions

State check. This skill assumes the org has at least basic positioning established — a value prop and competition notes saved to org knowledge. Load org competition knowledge via swan-get-memory. If there's no competition slot at all and no value prop on file, the battlecard will end up generic — build out positioning first (the positioning capability has its own setup flow) before generating a battlecard. If competition notes exist for some competitors but not this one, that's fine: this run becomes the create-from-scratch path.

When to use

  • "Build me a battlecard for X."
  • "Update our notes on competitor X."
  • "How do we beat X?"
  • Before a competitive deal cycle.

What it produces

A six-section battlecard in canonical format, saved to org knowledge via swan-update-knowledge-competition and returned to the user.


Step 1 — Identify the competitor

Get the competitor name and primary URL from the user. Confirm the spelling. If the user has prior notes, load them first via swan-update-knowledge-competition (the read path is via swan-get-memory on the competition slot).

Step 2 — Pull existing intelligence

swan-get-memory for org competition knowledge. If there's already a section on this competitor, treat the task as update, not create from scratch. Preserve what's true; only revise what's stale.

Step 3 — Gather fresh signals

Make a small number of cheap queries. Do not dump everything; pick the highest-signal sources first.

  • swan-fetch-scraped-url on the competitor's homepage and pricing page. Capture: the headline value prop, the primary CTA, the named target customer/segment.
  • swan-fetch-scraped-url on their /customers or case-study page if linked. Capture 3-5 named customers and any pattern.
  • swan-linkedin-social-media-presence on the competitor's company LinkedIn. Capture: posting cadence, hiring areas (titles in recent posts), leadership announcements.
  • swan-website-traffic on the competitor's domain. Capture: traffic order of magnitude (10k, 100k, 1M monthly) and trend direction.
  • swan-fetch-business-events for funding/leadership/partnership events.

If the user already has fresh intelligence, skip the corresponding fetch. Don't burn credits re-pulling.

Step 4 — Compose the six sections

Write the battlecard in this exact structure:

## Battlecard — 
*Last updated: *

### 1. One-line description

### 2. Where they win

### 3. Where they lose

### 4. Common objections we hear

### 5. Win conditions

### 6. Where to push in a deal

Be honest about strengths. A battlecard that pretends the competitor has no advantages doesn't get used.

Step 5 — Save the result

swan-update-knowledge-competition with the new battlecard content. Use append or find-and-replace depending on whether this is a new competitor or an update.

Step 6 — Return to the user

Return the full battlecard in the response. The user typically wants to read it once and share it.


Rules

  • MUST cite real evidence in strengths and weaknesses sections — not opinion. If you can't cite, leave it out.
  • MUST keep total length under one page of dense text (~600 words).
  • MUST save the final to swan-update-knowledge-competition. A battlecard that lives only in chat history is wasted.
  • NEVER include speculation framed as fact. If a weakness is rumored, label it ("reported in G2 reviews").
  • NEVER include legally sensitive claims (e.g. "their product is insecure") without a citation.
  • If the competitor has < 1,000 monthly visitors and no LinkedIn presence, flag that — usually means the user is fighting a ghost. Suggest they reassess whether this competitor is worth a battlecard.
  • Date-stamp the battlecard. Competitive intel rots fast.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.