ads
無料Generates paid ad copy for Google, Meta, and LinkedIn. Produces platform-ready variants using a creative matrix approach with headlines, descriptions, and image briefs.
日本語の概要は準備中です。原文の説明を表示しています。
Creates B2B sales narrative decks using April Dunford's methodology. Outputs slide-by-slide Markdown outline plus optional PPTX generation. For external sales prospects.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
This skill creates highly effective B2B sales decks using April Dunford's 8-step sales pitch methodology. It produces a slide-by-slide Markdown outline and can generate a PPTX file.
The goal of a sales pitch is not to list product features. It is to help customers understand their choices, evaluate trade-offs, and realize exactly when and why they should choose your solution.
The framework has two distinct phases:
This structure combats "no decision" paralysis by giving buyers a clear framework before asking them to evaluate your solution.
SCQA alignment: This framework naturally follows the McKinsey SCQA pattern. Status Quo = Situation, Disruption = Complication, Perfect World = Question, Product Introduction = Answer. The narrative logic should feel inevitable by the time you reveal your product.
Read from repo automatically:
| File | What to extract |
|---|---|
docs/inputs/product_brief.md | Product name, key capabilities, limitations, customer names |
docs/inputs/messaging_positioning.md | Positioning statements, pain points, value propositions |
docs/inputs/competitor_intel.md | Competitor approaches, weaknesses, market categories |
docs/inputs/testimonials.md | Approved quotes, customer results, case study data |
docs/inputs/target_personas.md | Who feels the pain, titles, buying triggers |
Read these files BEFORE asking for additional inputs.
Then ask the user:
Wait for answers before generating.
Construct the deck following the 8-step structure below. Each step maps to specific slides.
Do not mention your product during the Setup phase.
Purpose: Open with a bold claim about what is fundamentally shifting. This frames the conversation and points toward your differentiated value.
Slide 1: Title/Thesis
Slide 2: TLDR / Executive Summary
Purpose: Acknowledge how the current world was built and why those choices were rational at the time. This builds credibility with experienced buyers.
Slide 3: How We Got Here
Slide 4: The Architecture of Today's Leaders
Purpose: Explain exactly what changed to make the status quo no longer viable.
Slide 5: What Changed
Slide 6: Why Legacy Fails Now
Purpose: Survey other approaches buyers will consider. Group by approach, not vendor name.
Slide 7: Right Then vs. Wrong Now
Slide 8: The Alternatives Landscape
Purpose: The "and therefore..." step. Describe what the ideal solution must look like.
Slide 9: The New Purchase Criteria
Slide 10: The Design Primitives
Now that the buyer agrees with the Perfect World criteria, introduce your solution.
Purpose: Introduce your company and product in context.
Slide 11: [Product Name]
Purpose: Map your unique capabilities directly back to the Perfect World criteria.
Slide 12: Capability 1
Slide 13: Capability 2
Slide 14: Capability 3
Rules:
Purpose: Validate claims with evidence aligned to the prospect's situation.
Slide 15: Proof Points
testimonials.mdPurpose: Proactively address common unspoken concerns.
Slide 16: Common Questions
Purpose: Recap with urgency and secure commitment to next step.
Slide 17: Next Steps
Apply these to every slide:
| Principle | Implementation |
|---|---|
| Action titles | Every slide title is a thesis, not a label. "A $40B market with no dominant player below enterprise" not "Market Opportunity." A reader who sees only the titles can reconstruct the full argument. Keep titles to two lines maximum. |
| One slide, one message | Each slide carries exactly one insight. If a slide has two conclusions, split it into two slides. Every element on the slide exists to serve the title. |
| Minimalist text | No paragraphs. Maximum 6 bullets per slide, 10 words per bullet. |
| Punchline statements | Anchor the bottom of most slides with a bold summary that drives the narrative forward. |
| Typographic emphasis | Bold key phrases within statements to make them scannable. |
| Evidence via tables | Use comparison tables for alternatives, architectures, before/after. |
| Respectful framing | Acknowledge why the status quo was rational before explaining why it fails. |
| No product in Setup | The product name appears only in Slide 11 and later. |
Generate the deck as a Markdown outline with this structure:
# [Deck Title: The Provocative Insight]
## Metadata
- **Target audience:** [From Step 1]
- **The ask:** [From Step 1]
- **Alternatives addressed:** [From Step 1]
---
## Part 1: The Setup
### Slide 1: [Action title: the provocative thesis as a statement of fact]
**[Bold thesis statement]**
Speaker notes: [What to say when presenting this slide]
---
### Slide 2: [Action title: TLDR framed as the argument's conclusion]
- [Bullet 1]
- [Bullet 2]
- [Bullet 3]
- [Bullet 4]
Speaker notes: [What to say]
---
[Continue for all slides...]
---
## Part 2: The Follow-Through
### Slide 11: [Action title: product positioning as a thesis statement]
[Content]
Speaker notes: [What to say]
---
[Continue for all slides...]
---
## Review Checklist
[Auto-generated checklist - see below]
After generating the deck, verify it passes these checks:
product_brief.md exactlytestimonials.md onlycompetitor_intel.mdAfter the Markdown outline is approved, generate a PPTX file.
To generate PPTX, run this Python script:
# Save as generate_deck.py
# Requires: pip install python-pptx
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RgbColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
import re
def create_sales_deck(outline_path: str, output_path: str):
"""
Generate a PPTX from a Markdown outline.
Args:
outline_path: Path to the Markdown outline file
output_path: Path for the output PPTX file
"""
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
# Define layouts
blank_layout = prs.slide_layouts[6] # Blank
# Parse the Markdown outline
with open(outline_path, 'r') as f:
content = f.read()
# Split into slides (### Slide N: Title)
slide_pattern = r'### Slide \d+: (.+?)\n(.*?)(?=### Slide|\Z)'
slides = re.findall(slide_pattern, content, re.DOTALL)
for title, body in slides:
slide = prs.slides.add_slide(blank_layout)
# Add title
title_box = slide.shapes.add_textbox(
Inches(0.5), Inches(0.5), Inches(12.333), Inches(1)
)
title_frame = title_box.text_frame
title_para = title_frame.paragraphs[0]
title_para.text = title.strip()
title_para.font.size = Pt(36)
title_para.font.bold = True
# Extract bullets (lines starting with -)
bullets = re.findall(r'^- (.+)$', body, re.MULTILINE)
if bullets:
body_box = slide.shapes.add_textbox(
Inches(0.5), Inches(1.75), Inches(12.333), Inches(5)
)
body_frame = body_box.text_frame
body_frame.word_wrap = True
for i, bullet in enumerate(bullets):
if i == 0:
para = body_frame.paragraphs[0]
else:
para = body_frame.add_paragraph()
para.text = bullet.strip()
para.font.size = Pt(24)
para.level = 0
# Extract bold statement (lines starting with **)
punchline = re.search(r'\*\*(.+?)\*\*', body)
if punchline and not bullets:
body_box = slide.shapes.add_textbox(
Inches(0.5), Inches(3), Inches(12.333), Inches(2)
)
body_frame = body_box.text_frame
para = body_frame.paragraphs[0]
para.text = punchline.group(1)
para.font.size = Pt(32)
para.font.bold = True
para.alignment = PP_ALIGN.CENTER
prs.save(output_path)
print(f"Deck saved to {output_path}")
if __name__ == "__main__":
import sys
if len(sys.argv) < 3:
print("Usage: python generate_deck.py <outline.md> <output.pptx>")
sys.exit(1)
create_sales_deck(sys.argv[1], sys.argv[2])
Usage:
pip install python-pptx
python generate_deck.py output/decks/outline.md output/decks/sales-deck.pptx
When docs are incomplete:
product_brief.md is empty, ask user for product name, 3 capabilities, and limitationsmessaging_positioning.md is empty, ask user for the provocative insight and 3 pain pointscompetitor_intel.md is empty, ask user to describe 2 to 3 alternatives buyers considertestimonials.md is empty, use generic framing ("[Industry] teams") or ask for customer namesWhen the provocative insight is unclear:
When the deck needs to be shorter:
When the deck needs more depth:
Save the Markdown outline to: output/decks/[product-name]-sales-deck.md
Save the PPTX to: output/decks/[product-name]-sales-deck.pptx
Create the output/decks/ directory if it does not exist.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Generates paid ad copy for Google, Meta, and LinkedIn. Produces platform-ready variants using a creative matrix approach with headlines, descriptions, and image briefs.
日本語の概要は準備中です。原文の説明を表示しています。
Use when you want paid ad copy for Google, Meta, or LinkedIn, including headlines, descriptions, and image briefs.
日本語の概要は準備中です。原文の説明を表示しています。
Use when you want campaign performance reviewed against benchmarks, with a health score and prioritized optimization recommendations.
日本語の概要は準備中です。原文の説明を表示しています。
Use when you want a strict review of a marketing asset against style rules, factual accuracy, and messaging alignment.
日本語の概要は準備中です。原文の説明を表示しています。
Skill Optimization: Auto Research. Autonomously optimize any Claude Code skill by running it repeatedly, scoring outputs against binary evals, mutating the prompt, and keeping improvements. Based on Karpathy's autoresearch methodology. Use when: optimize this skill, improve this skill, run autoresearch on, make this skill better, self-improve skill, benchmark skill, eval my skill, run evals on. Outputs: an improved SKILL.md, a results log, and a changelog of every mutation tried.
日本語の概要は準備中です。原文の説明を表示しています。
Use when you want to benchmark and improve an existing repo skill through repeated evals, prompt mutations, and score tracking.
日本語の概要は準備中です。原文の説明を表示しています。