How to Create Competitive Battlecards Using the Competitive-Battlecard Skill
You create competitive battlecards by invoking the /battlecard slash command in the phuryn/pm-skills toolkit, which triggers the competitive-battlecard skill to execute a four-step workflow that researches competitors and generates a markdown-formatted battlecard.
The phuryn/pm-skills repository provides a declarative prompt-based system for product management workflows. Within the pm-go-to-market command package, the competitive-battlecard skill automates the process to create competitive battlecards by combining structured markdown prompts with real-time web research capabilities.
How the Competitive-Battlecard Skill Works
The skill is defined in pm-go-to-market/commands/battlecard.md and operates through a declarative four-step workflow when you invoke the /battlecard command.
Step 1: Identify the Matchup
You supply your product name and the competitor you want to analyze. The prompt template uses structured placeholders like [Your Product] and [Competitor] to capture these inputs for the LLM.
Step 2: Research the Competitor
The skill automatically triggers the internal competitive-battlecard sub-skill (referenced in lines 30-38 of the command file) to execute web-search queries. This gathers the latest feature lists, pricing data, positioning statements, identified weaknesses, and recent news about the competitor.
Step 3: Generate the Battlecard
The LLM assembles a single-page markdown document containing:
- Quick summary highlighting win/loss situations and key differentiators
- Positioning comparison between your product and the competitor
- Feature-by-feature table using the format
Capability | Us | Them | Verdict - Pricing matrix and objection-handling scripts
- Land-mine questions, trap questions, and win/loss patterns
- Conversation starters for sales engagements
Step 4: Offer Next Steps
The prompt concludes with actionable follow-up suggestions, such as creating battlecards for additional competitors or running a full competitive analysis.
Invoking the Battlecard Command
You can trigger the competitive-battlecard skill through any interface integrated with the pm-toolkit command set.
Basic Invocation
Use the /battlecard slash command followed by your product and competitor:
/battlecard OurCRM vs Salesforce
The model will ask follow-up questions regarding buyer profile and deal stage, then return the completed markdown battlecard as defined in the template (lines 40-95 of the command file).
Providing Competitor Artifacts
Upload existing documents to enrich the research phase:
/battlecard ProjectFlow vs Monday.com for mid-market teams
/upload competitor_pricing.pdf
/upload win_loss_data.xlsx
The skill consumes these artifacts during the "Research the Competitor" step to populate comparison tables with specific data points from your files.
Chaining Further Analysis
Execute subsequent commands after battlecard generation:
/battlecard MyProduct vs XYZInc
# After the battlecard is generated
/run competitive-analysis --market SaaS CRM
The generated battlecard includes clickable suggestions in the "Offer Next Steps" section that you can execute directly to continue your competitive intelligence workflow.
Source Code Architecture
The competitive-battlecard skill relies on a declarative architecture where business logic lives in markdown files while the pm-toolkit handles runtime execution.
Key Components:
- Command Definition (
pm-go-to-market/commands/battlecard.md): Contains the slash-command definition, argument hints, and the full prompt template that drives the skill execution. - Sub-skill Invocation: The
competitive-battlecardskill name is reused inside the prompt to trigger web-research capabilities (lines 30-38). - LLM Execution Engine: Parses the markdown prompt, replaces placeholders with user arguments, runs the web-search sub-skill, and renders the final markdown output.
- Output Format: A single-page Markdown document optimized for rapid consumption by sales representatives.
This design keeps the skill declarative—all instructions and templates reside in the markdown file—while the surrounding pm-toolkit framework provides the runtime plumbing for parsing slash-commands and invoking web searches.
Summary
- Invoke the skill using the
/battlecardslash command with your product and competitor names. - Automated research occurs through the internal
competitive-battlecardsub-skill that queries current web data. - Structured output includes comparison tables, pricing matrices, and objection-handling scripts formatted as a single-page markdown document.
- Source file is located at
pm-go-to-market/commands/battlecard.mdin the phuryn/pm-skills repository. - Extensible inputs allow you to upload PDFs and spreadsheets to enhance the generated battlecard with proprietary data.
Frequently Asked Questions
What triggers the competitive-battlecard skill?
The skill is triggered by the /battlecard slash command defined in pm-go-to-market/commands/battlecard.md. When you type this command followed by product and competitor names, the pm-toolkit framework loads the markdown prompt and executes the four-step workflow.
What file contains the battlecard template?
The complete prompt template and command definition reside in pm-go-to-market/commands/battlecard.md (lines 40-95). This file contains the structured placeholders and output format specifications that the LLM uses to generate the final battlecard.
Can I upload custom competitor data?
Yes. You can upload PDFs, spreadsheets, or other documents using the /upload command immediately after invoking /battlecard. The skill processes these artifacts during the research phase to populate comparison tables with your specific win/loss data and pricing information.
What output format does the skill generate?
The skill generates a single-page Markdown document containing a quick summary, positioning comparison, feature-by-feature tables, pricing matrices, objection-handling scripts, and strategic questions. This format is designed for immediate use by sales teams and can be saved directly as a .md file.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →