Install
$ agentstack add skill-fourierwang66666-f-founder-founder-pitch-deck ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Preamble (run first)
_FF_DIR="${FFOUNDER_DIR:-$(find ~/.claude/skills -maxdepth 1 -name 'f-founder' -type d 2>/dev/null | head -1)}"
[ -z "$_FF_DIR" ] && _FF_DIR="$(find .claude/skills -maxdepth 1 -name 'f-founder' -type d 2>/dev/null | head -1)"
if [ -n "$_FF_DIR" ] && [ -f "$_FF_DIR/bin/f-founder-update-check" ]; then
_UPD=$("$_FF_DIR/bin/f-founder-update-check" 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
fi
_FF_VER=$(cat "$_FF_DIR/VERSION" 2>/dev/null | tr -d '[:space:]' || echo "unknown")
echo "F-FOUNDER: v$_FF_VER"
If output shows UPGRADE_AVAILABLE: tell user to upgrade before proceeding.
founder-pitch-deck: Startup Pitch Deck Generator
Generate a single-file HTML pitch deck that looks like it was designed by a top-tier agency. The workflow walks the founder through 7 steps: design extraction, content input, copy & layout confirmation, narrative review, HTML generation, visual QA, and deployment.
Overview
What it produces: A single index.html file containing an entire pitch deck -- no external dependencies, no build step, no framework. Just open it in a browser.
Key features:
- Auth gate -- password-protected entry screen; investors type a code to view
- Bilingual ZH/EN -- every text element has both languages; toggle with a single click
- PDF export with watermark -- Ctrl+P or export button; watermark auto-applies on print
- Responsive scaling -- looks correct on 13" laptop, 27" monitor, iPad, or phone
- Keyboard + touch navigation -- arrow keys, swipe, spacebar, click-to-advance
- Self-contained -- all CSS and JS inline; Google Fonts loaded via ``; images base64 or external URL
Example result: A 14-slide Series A deck with animated stat counters, staggered reveal items, dark/light slide alternation, brand-consistent color palette, and a bilingual ZH/EN toggle in the corner.
Installation (Bundle)
One-command setup that checks and links all dependencies:
bash ~/.claude/skills/founder-pitch-deck/scripts/setup.sh
The setup script will:
- Verify founder-pitch-deck skill is installed
- Check for Gstack (browse, office-hours) — link if present
- Check for Impeccable skills (animate, delight, frontend-design) — link from
~/.agents/skills/if present - Report missing optional skills (pptx, pdf)
Manual install
If you prefer to install dependencies individually:
# Gstack (provides browse + office-hours)
# See: https://gstack.dev
# Impeccable skills (provides animate, delight, frontend-design)
# See: https://impeccable.dev
反讨好规则
Pitch deck 的价值在于帮 founder 赢得投资,不是讨好 founder。禁止:
- 接受没有数据来源的数字("市场很大" → 要求给出具体 TAM/SAM/SOM + 数据来源)
- 接受虚荣指标("10000 注册用户" → 追问 MAU、留存率、付费转化率)
- 美化竞争格局(如果竞品在各维度都领先,不要画一个 founder 占右上角的矩阵)
- 跳过弱点(如果没有 traction,不要假装有——直接说"你的 traction slide 需要更多真实数据")
- 给空洞的愿景配华丽的视觉效果来掩盖内容不足
必须:
- Traction slide 的每个数字都要有来源
- Competition slide 必须诚实——如果竞品确实更强,在 narrative 中解释你的差异化
- 问题描述必须来自真实用户痛点,不是 founder 的想象
- 如果 founder 提供的内容不足以做一个有说服力的 deck,直接说,建议先做需求澄清或竞品分析
MANDATORY: Sub-Skill Invocation Policy
You MUST call the Skill tool for each sub-skill listed below BEFORE using any fallback. Do NOT skip sub-skill calls. Do NOT assume they are unavailable without trying. The ONLY acceptable reason to use a fallback is if the Skill tool returns an actual error. "I can handle this myself" is NOT a valid reason to skip.
Sub-Skills
This skill chain-orchestrates several other skills. You MUST attempt to invoke each one via the Skill tool. Fallbacks are ONLY for when the Skill tool returns an error (skill not installed).
| Skill | Source | Purpose | Fallback (ONLY if Skill tool errors) | |-------|--------|---------|--------------------------------------| | office-hours | Gstack | YC-style narrative review -- six forcing questions | Lightweight self-review + tell founder to install Gstack | | frontend-design | Impeccable | Design quality guidance for slide layout | Use references/html-engine.md + tell founder to install Impeccable | | animate | Impeccable | CSS animations -- entrance choreography, stat counters | Base CSS transitions + tell founder to install Impeccable | | delight | Impeccable | Micro-interactions, hover states, personality | Base transitions + tell founder to install Impeccable | | browse | Gstack | Headless browser for screenshot-based visual QA | Ask founder to open in browser and confirm | | pptx | Built-in | Parse .pptx to extract slide text | Ask founder to paste as markdown | | pdf | Built-in | Parse brand guideline PDFs | Use interactive Q&A instead |
Quick Start
Minimal happy path:
User: /founder-pitch-deck
Claude: What is your company's website URL? (I will extract brand colors, fonts, and mood.)
User: https://example.com
Claude: [extracts design tokens] Now provide your deck content -- markdown file, .pptx, or just describe your startup.
User: Here is our deck outline: [pastes markdown]
Claude: [generates slide outline, runs narrative review, confirms copy with founder, designs slide layouts, builds HTML, screenshots each slide for QA]
Result: index.html written to project directory, ready to open.
If the source arg is provided, skip the first question and detect the input type automatically:
- URL ending in
.pptx--> download and parse withpptxskill - URL ending in
.pdf--> download and parse withpdfskill - URL with no file extension --> treat as brand website, extract design tokens
- Local file path --> detect by extension (
.md,.pptx,.pdf,.txt)
Step 1 -- Design Specification
Extract or build a design token set that drives the entire deck's look and feel. This step requires visually seeing the brand — not just reading code.
Detect which input the founder provides and follow the corresponding path. For detailed extraction procedures (JS snippets, font identification flow, logo extraction), read references/brand-extraction.md.
Input paths
Path A: Brand Website URL (preferred) — Use browse skill to screenshot the site, visually analyze colors/typography/mood, extract logo via JS, then parse CSS for exact values. Three phases: visual analysis → code extraction → present summary. See references/brand-extraction.md Sections 1-3.
Path A2: Reference Deck — Use browse to screenshot slides, analyze design language, extract tokens. See references/brand-extraction.md Section 2.
Path B: Brand Guideline PDF — Use pdf skill to parse colors, fonts, logo. See references/brand-extraction.md Section 3.
Path C: Interactive Q&A — If no source is available, ask five questions:
- Primary color — hex code, or pick from logo
- Style mood —
minimal|bold|elegant|tech - Font pairing — present 3 curated options from
references/font-system.mdSection 2 - CJK requirement — SC, TC, JP, or none
- Company name — for cover slide and watermark
Path D: Logo File — Read visually, extract colors, infer mood. See references/brand-extraction.md Section 4.
Output: Design Tokens
Produce a JSON object with these fields (see references/brand-extraction.md Section 5 for full schema):
{
"colors": { "primary": "#da3d3d", "accent": "#0f8e61", "bg": "#faf9f6", "text": "rgba(0,0,0,0.82)" },
"fonts": { "heading": "Inter", "body": "Inter", "cjk": "Noto Sans SC", "source": "google" },
"mood": "minimal",
"visualSummary": "Clean, spacious design with warm off-white backgrounds...",
"logo": "https://example.com/logo.svg",
"companyName": "ExampleCo",
"watermark": "ExampleCo Confidential"
}
visualSummary is the most important field — it captures what you SAW, not what you parsed. Trust the visual summary over hex values when they conflict.
Store these tokens in memory — they feed into Step 5.
References:
references/brand-extraction.mdfor detailed extraction procedures, JS snippets, and font identification flowreferences/font-system.mdfor curated pairings, substitution table, and typography fine-tuningreferences/html-engine.mdfor the full token list and CSS variable mapping
Step 2 -- Content Input + Outline
Multi-Format Input
Detect and handle:
- Markdown (
.md) -- parse## headingsas slide breaks; bullets become slide content - Old
.pptx-- invokepptxskill to extract text via markitdown; map slides 1:1 - PDF (
.pdf) -- invokepdfskill to extract text; founder confirms slide mapping - Plain text or conversation -- Claude asks structured questions per template below
Template Selection
Present three options and let the founder choose:
Seed Round (12-16 slides) Cover --> Market --> Problem --> Solution --> Product --> How it Works --> Traction --> Business Model --> Competition --> Team --> Vision --> Ask
Series A (14-18 slides) Cover --> Market --> Problem --> Solution --> Product --> How it Works --> Traction --> Unit Economics --> Growth Strategy --> Business Model --> Competition --> Financials --> Case Studies --> Team --> Vision --> Ask
Demo Day (8-10 slides) Cover --> Problem --> Solution --> Demo --> Traction --> Business Model --> Team --> Ask
Reference: references/slide-structures.md for full templates with per-slide guidance and example bullets.
Outline Generation
Produce outline.md with this structure per slide:
## Slide 3: Problem
**Title ZH:** 问题
**Title EN:** The Problem
**Visual:** Full-bleed photo of frustrated freelancer at laptop
**Layout:** dark slide, centered text
**Bullets:**
- 67% of freelancers report payment delays > 30 days
- Average chasing time: 8 hours/month per freelancer
- $1.4T annual freelancer economy with broken payment rails
**Data source:** Payoneer 2025 Freelancer Survey
**Speaker notes:** Pause here. Let the number sink in.
Present the complete outline to the founder. Allow:
- Add / remove / reorder slides
- Edit any bullet or title
- Change slide type (light / dark / accent)
Confirm the outline before moving to Step 3.
Step 3 -- Copy & Layout Confirmation
Compile all slide content into a single document for the founder to review. This combines text copy and visual layout into one confirmation step — the founder sees exactly what each slide will contain and how it will be arranged.
3a. Generate copy-layout document
Create copy.md in the project directory. For each slide, include both the text content and a simple ASCII wireframe showing layout:
# [Company Name] Pitch Deck — Copy & Layout
## Slide 1: Cover (.slide.red)
- Logo: [BRAND LOGO]
- Eyebrow: SEED ROUND · $1M
- Tagline: "One line that captures the company"
- Subtitle: 一句话中文描述 / One-line English description
- Footer: Confidential · April 2026
## Slide 2: Problem (.slide.dark)
- Eyebrow: PROBLEM
- Headline: The Problem Statement
- Layout: 3 pain points, left-aligned with icons
┌──────────────────────────────┐
│ 🔍 Pain 1 title + desc │
│ 💸 Pain 2 title + desc │
│ ⏱ Pain 3 title + desc │
│ [callout: key stat] │
└──────────────────────────────┘
- Supporting stat: 67% of freelancers report payment delays
- Source: Payoneer 2025 Freelancer Survey
(continue for all slides)
For each slide, include:
- Every piece of visible text (headline, bullets, stats, sources, footnotes)
- Layout type in parentheses:
.slide,.slide.dark, or.slide.red - Visual elements as ASCII wireframes or bracketed placeholders:
[CHART: 2x2 quadrant],[DIAGRAM: flow],[PHOTO: team] - Data points with their sources
- Which language is primary (ZH or EN); the other will be translated
For complex visual slides (competition quadrants, timelines, flow diagrams), sketch the layout and confirm element placement — these will be built as pure CSS (no charting libraries). Reference references/slide-structures.md for standard layout patterns.
3b. Present to founder
Tell the founder: > Here is the complete copy and layout for all slides. Please review: > - Are all data points accurate and sourced? > - Does each slide layout capture what you want to show? > - Any text or layout changes? > > Edit copy.md directly or tell me what to change.
Wait for confirmation. Apply edits and re-present if changes are significant. Once confirmed, this document becomes the source of truth for all downstream steps.
Step 4 -- Narrative Review
IMPORTANT: You MUST attempt to invoke the office-hours skill before falling back to self-review.
Run the narrative review on the confirmed copy (from Step 3's copy.md), not the raw outline.
Reference: references/storytelling.md provides the 7-beat narrative arc, YC/a16z frameworks, data presentation rules, and common mistakes. Use it to evaluate narrative structure and identify weak spots.
4a. Invoke office-hours (REQUIRED first attempt)
DO THIS NOW: Call the Skill tool with skill="office-hours" and args="startup mode — review this pitch deck copy for investment readiness". Pass the full copy.md content.
office-hours will stress-test six dimensions: Demand Reality, Status Quo, Desperate Specificity, Narrowest Wedge, Observation, Future-fit.
After the review, present the critique. Iterate: founder revises copy.md → re-run on changed sections → confirm final copy.
4b. Fallback (ONLY if office-hours skill is not installed)
If the Skill tool returns an error, perform a self-review using references/storytelling.md as your framework:
- Data credibility -- are stats sourced and recent (` tag for Google Fonts
- Write the result to
index.htmlin the project directory.
Layer 2: Slide Content
DO THIS NOW: Call the Skill tool with skill="frontend-design" and args containing the design tokens JSON + slide outline. Follow its guidance for layout, spacing, and visual hierarchy.
If the Skill tool returns an error (skill not installed), use references/html-engine.md for layout conventions. Tell the founder: "frontend-design skill is not installed. Install Impeccable for better design quality."
For each slide in the confirmed outline:
- Generate semantic HTML following
references/html-engine.mdconventions - Insert into `` container
- Apply bilingual spans on all visible text:
``html 中文内容English content ``
- Use utility classes:
.eyebrow,.stat-big,.flex,.col,.reveal-item,.beat-num - Match slide type to CSS class:
.slide(light),.slide.dark,.slide.red - Inline any SVG icons or illustrations; reference external images by URL
Layer 3: Animation + Delight
DO THIS NOW — two sequential Skill tool calls:
Step 3a — Call the Skill tool with skill="animate" and args="Review and enhance the pitch deck at index.html with purposeful animations. Focus on: count-up animation on .beat-num elements, staggered .reveal-item entrance (100ms offset, fade + translateY), smooth slide transitions (opacity crossfade 400ms), scroll-progress indicator."
Step 3b — Call the Skill tool with skill="delight" and args="Add micro-interactions and personality to the pitch deck at index.html. Focus on: auth gate background animation + input focus glow, hover micro-interactions on team photos / stat cards / CTA buttons, progress bar gradient with brand colors, language toggle smooth text crossfade."
Fallback (ONLY if the Skill tool returns an error for animate/delight):
If the Skill tool returns an error indicating the skill is not installed, use base CSS transitions. Tell the founder: "animate/delight skills are not installed. Install Impeccable for richer animations."
.reveal-item { opacity: 0; transform: translateY(20px); transition: all 0.5s ease-out; }
.reveal-item.visible { opacity: 1; transform: translateY(0); }
Tell the founder: "The animate/delight skills are not installed. The deck uses basic transitions. Install Impeccable for richer animations."
Step 6 -- V
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: fourierwang66666
- Source: fourierwang66666/f-founder
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.