docs: add Talk Preparation Pipeline workflow + skill templates

6-stage pipeline: raw material → conference talk → Kimi AI slides.

New files:
- guide/workflows/talk-pipeline.md — Full workflow guide (REX vs Concept
  modes, stage-by-stage breakdown, CHECKPOINT mechanics, Kimi handoff,
  real-world DevWithAI example, 5 design patterns documented)
- examples/skills/talk-pipeline/ — 7 SKILL.md files + orchestrator + 2
  templates (feedback-draft.md, kimi-prompt-template.md)

Updated:
- README.md — badges 164→172 templates, Feb 20 date, 13→14 skills
- guide/workflows/README.md — Talk Pipeline entry under Design & Content
- machine-readable/reference.yaml — 16 new entries for pipeline components
- CHANGELOG.md — [Unreleased] entry

Design patterns showcased: skill chaining + file-based state, tool
permission scoping (Bash only Stage 2), human-in-the-loop CHECKPOINT
(Stage 4), AI-to-AI handoff (Claude → Kimi), dual execution modes
(REX/Concept).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Florian BRUNIAUX 2026-02-20 15:51:29 +01:00
parent 6d847d24de
commit 00cb973bdb
15 changed files with 2297 additions and 8 deletions

View file

@ -0,0 +1,70 @@
# Talk Pipeline Skills
6-stage skill pipeline that transforms raw material (article, transcript, notes) into a complete conference talk with AI-generated slides.
## Install
Copy the `talk-pipeline/` directory to your project's `.claude/skills/` folder:
```bash
cp -r examples/skills/talk-pipeline ~/.claude/skills/
```
Or install only the stages you need (each stage is independent).
## Stages
| Stage | Skill file | Mode | Description |
|-------|-----------|------|-------------|
| 1 | `stage-1-extract/SKILL.md` | REX + Concept | Extract source material into structured summary |
| 2 | `stage-2-research/SKILL.md` | REX only | Git archaeology + timeline |
| 3 | `stage-3-concepts/SKILL.md` | REX + Concept | Scored concept catalogue |
| 4 | `stage-4-position/SKILL.md` | REX + Concept | Angles, titles, descriptions + CHECKPOINT |
| 5 | `stage-5-script/SKILL.md` | REX + Concept | 5-act pitch + slides spec + Kimi prompt |
| 6 | `stage-6-revision/SKILL.md` | REX + Concept | Revision sheets + Q&A cheat-sheet |
| — | `orchestrator/SKILL.md` | REX + Concept | Run the full pipeline from one invocation |
## Quick Start
**Full pipeline (recommended)**:
```
/talk-pipeline
```
The orchestrator asks for metadata and runs all applicable stages.
**Single stage**:
```
/talk-stage1-extract
/talk-stage4-position
```
**With flags**:
```
/talk-pipeline --rex --slug=my-talk --event="Conf 2026" --duration=30
/talk-pipeline --concept --slug=my-idea
```
## Output convention
All files land in `talks/` at your project root:
```
talks/{YYYY}-{slug}-summary.md
talks/{YYYY}-{slug}-git-archaeology.md
talks/{YYYY}-{slug}-concepts.md
talks/{YYYY}-{slug}-angles.md
talks/{YYYY}-{slug}-pitch.md
talks/{YYYY}-{slug}-kimi-prompt.md
...
```
## Using the Kimi prompt
Stage 5 generates `{slug}-kimi-prompt.md`. To generate slides:
1. Open the file and verify no `{PLACEHOLDER}` remains
2. Go to [kimi.com](https://kimi.com) (free, no API needed)
3. Copy-paste the entire prompt
4. Kimi generates a dark-theme presentation with your slide content
## Documentation
Full workflow guide: [guide/workflows/talk-pipeline.md](../../guide/workflows/talk-pipeline.md)

View file

@ -0,0 +1,174 @@
---
name: talk-pipeline
description: Orchestrator for the complete talk preparation pipeline (REX or Concept mode). Runs all 6 stages in sequence with human-in-the-loop checkpoints.
tags: [talk, pipeline, presentation, orchestrator]
allowed-tools:
- Write
- Read
- AskUserQuestion
- Task
---
# Talk Pipeline Orchestrator
Orchestrates the complete talk preparation pipeline — from raw material to revision sheets. Can run the full pipeline or a single isolated stage.
## Modes
- `--rex`: REX talk with git/code proof (changelog, commits, measured metrics)
- `--concept`: Conceptual talk from article, ideas, notes (skips Stage 2)
## Usage
```
/talk-pipeline # full pipeline, asks for context
/talk-pipeline --stage=extract # run a single isolated stage
/talk-pipeline --rex # REX mode (git archaeology included)
/talk-pipeline --concept # Concept mode (skip research)
/talk-pipeline --rex --slug=my-talk --event="Conf 2026" --date=2026-06-15 --duration=30
```
## Context Collection
Ask with AskUserQuestion if not provided:
```
- slug : kebab-case identifier (e.g., my-talk-topic)
- event : event name (e.g., Conf 2026, Tech Meetup)
- date : talk date (YYYY-MM-DD)
- duration : duration in minutes (e.g., 30)
- audience : audience profile (e.g., senior devs, tech leads, non-tech)
- type : --rex or --concept
- source_path : path to source material (article .mdx, transcript .md, notes)
- repo_path : (REX only) path to git repository for archaeology
```
## Workflow
1. **Collect context** — AskUserQuestion for required metadata
2. **Route by mode**`--rex` vs `--concept` (skip Stage 2 if concept)
3. **Run Stage 1**`/talk-stage1-extract` — always first
4. **Run Stages 2-4 in parallel** (after Stage 1 confirmed)
- REX: extract → research + concepts + position (in parallel)
- Concept: extract → concepts + position (in parallel, skip research)
5. **CHECKPOINT** — wait for angle + title choice (Stage 4 output)
6. **Run Stage 5**`/talk-stage5-script` with validated choice
7. **Run Stage 6**`/talk-stage6-revision`
8. **Final summary** — list all generated files with their paths
## Dependency Graph
```
extract (Stage 1)
|
┌──────────┼──────────┐
v v v
research concepts position
(Stage 2) (Stage 3) (Stage 4)
[--rex only] [CHECKPOINT]
| | |
└──────────┼──────────┘
v
script (Stage 5)
|
v
revision (Stage 6)
```
## Stage Routing (--stage=X)
If `--stage` is provided, run only the corresponding skill:
| Stage | Skill to invoke |
|-------|----------------|
| extract | /talk-stage1-extract |
| research | /talk-stage2-research |
| concepts | /talk-stage3-concepts |
| position | /talk-stage4-position |
| script | /talk-stage5-script |
| revision | /talk-stage6-revision |
## Output Naming Convention
```
talks/{YYYY}-{slug}-summary.md # extract
talks/{YYYY}-{slug}-git-archaeology.md # research
talks/{YYYY}-{slug}-changelog-analysis.md
talks/{YYYY}-{slug}-timeline.md
talks/{YYYY}-{slug}-concepts.md # concepts
talks/{YYYY}-{slug}-concepts-enriched.md
talks/{YYYY}-{slug}-angles.md # position
talks/{YYYY}-{slug}-titre.md
talks/{YYYY}-{slug}-descriptions.md
talks/{YYYY}-{slug}-feedback-draft.md
talks/{YYYY}-{slug}-pitch.md # script
talks/{YYYY}-{slug}-slides.md
talks/{YYYY}-{slug}-kimi-prompt.md
talks/{YYYY}-{slug}-revision-sheets.md # revision
```
## Final Summary Format
After Stage 6 completes, display:
```
Pipeline complete. Files generated:
Stage 1 — Extract:
✓ talks/{YYYY}-{slug}-summary.md
Stage 2 — Research (REX only):
✓ talks/{YYYY}-{slug}-git-archaeology.md
✓ talks/{YYYY}-{slug}-changelog-analysis.md
✓ talks/{YYYY}-{slug}-timeline.md
Stage 3 — Concepts:
✓ talks/{YYYY}-{slug}-concepts.md
✓ talks/{YYYY}-{slug}-concepts-enriched.md (if repo available)
Stage 4 — Position:
✓ talks/{YYYY}-{slug}-angles.md
✓ talks/{YYYY}-{slug}-titre.md
✓ talks/{YYYY}-{slug}-descriptions.md
✓ talks/{YYYY}-{slug}-feedback-draft.md
Stage 5 — Script:
✓ talks/{YYYY}-{slug}-pitch.md
✓ talks/{YYYY}-{slug}-slides.md
✓ talks/{YYYY}-{slug}-kimi-prompt.md ← copy-paste into kimi.com
Stage 6 — Revision:
✓ talks/{YYYY}-{slug}-revision-sheets.md
Next step: open kimi-prompt.md, verify no {PLACEHOLDER} remains, paste into kimi.com.
```
## Anti-patterns
- Do not run Stage 5 without an explicit angle + title choice from the user
- Do not run Stage 2 (research) in `--concept` mode
- Do not proceed to the next stage if an upstream stage failed
- Do not invent metrics or dates not present in the source material
## Validation
- [ ] All upstream files exist before launching a downstream stage
- [ ] Stage 4 CHECKPOINT respected before script
- [ ] Outputs named per convention `talks/{YYYY}-{slug}-{stage}.md`
- [ ] No empty placeholders in generated files
## Tips
- The orchestrator is the recommended entry point for first use
- For repeat users who know the pipeline, running individual stage skills is faster
- The `--stage=X` flag is useful for rerunning a single stage without redoing the full pipeline
## Related
- [Stage 1: Extract](../stage-1-extract/SKILL.md)
- [Stage 2: Research](../stage-2-research/SKILL.md)
- [Stage 3: Concepts](../stage-3-concepts/SKILL.md)
- [Stage 4: Position](../stage-4-position/SKILL.md)
- [Stage 5: Script](../stage-5-script/SKILL.md)
- [Stage 6: Revision](../stage-6-revision/SKILL.md)
- [Full workflow guide](../../../guide/workflows/talk-pipeline.md)

View file

@ -0,0 +1,153 @@
---
name: talk-stage1-extract
description: Stage 1 — Extract and structure source material into a talk summary. Auto-detects REX vs Concept type.
tags: [talk, pipeline, presentation, stage-1]
allowed-tools:
- Write
- Read
- AskUserQuestion
---
# Talk Stage 1: Extract
Transforms raw material (article, transcript, notes, or a mix) into a structured summary ready for the pipeline's downstream stages. Auto-detects source type.
## When to Use This Skill
- Starting a new talk from any source material
- First step of the talk pipeline (always run before other stages)
- Auditing existing source material before committing to a talk
## What This Skill Does
1. **Collects metadata** — asks for slug, event, date, duration, audience, mode if not provided
2. **Reads the source** — loads the source file or inline content
3. **Detects source type** — REX (real-world proof) vs Concept (ideas/thesis) based on content signals
4. **Extracts the narrative arc** — chronological for REX, thematic for Concept
5. **Extracts metrics** — every measurable number with its source
6. **Identifies main themes** — 3-7 themes
7. **Flags gaps** — what's missing for a complete talk
8. **Writes `{slug}-summary.md`**
## Input
Required:
- Source file path or inline content (article `.mdx`, transcript `.md`, notes)
- Metadata: `slug`, `event`, `date`, `duration`, `audience`, `type` (--rex or --concept)
If metadata is missing → `AskUserQuestion` before proceeding.
## Output
`talks/{YYYY}-{slug}-summary.md`
## Source Type Detection
| REX signals | Concept signals |
|-------------|-----------------|
| Specific dates | Theses, arguments |
| Measured metrics | General observations |
| Project/tool names | Trend observations |
| Commits, releases, PRs | Analogies, metaphors |
| "I shipped", "We built" | "I think", "In my opinion" |
If hybrid → note both components in the summary.
## Output Format
```markdown
# Talk Summary — {Provisional Title}
**Slug** : {slug}
**Event** : {event}
**Date** : {date}
**Duration** : {duration} min
**Audience** : {audience description}
**Type detected** : REX | Concept | Hybrid
**Source** : {source file path}
---
## Narrative Arc
{Arc description: 3-5 sentences. Chronological if REX, thematic if Concept.}
## Main Themes
| # | Theme | Short description | Weight |
|---|-------|------------------|--------|
| 1 | {theme} | {description} | High/Medium/Low |
...
## Key Metrics Extracted
{All measurable numbers found in the source}
Format: `{value}` — {context} — Source: {section/page/git}
Examples:
- `1,200 commits` over 7 months — Source: "acceleration" section
- `-97% traffic` after SSE migration — Source: CHANGELOG v1.1.0
If none → "No verifiable metrics found (Concept mode)"
## Narrative Potential
{3-5 sentences on the strengths and possible narrative angles.
What makes this talk potentially strong. What might be missing.}
## Gaps Identified
- [ ] {gap 1} — {how to fill it}
- [ ] {gap 2} — {how to fill it}
If no obvious gaps → "No major gaps identified."
## Recommendations for next stages
- **Research**: {recommended / not applicable (Concept mode)} — {why}
- **Concepts**: {priority themes to explore}
- **Position**: {angles already visible from the source material}
---
*Generated by talk-stage1-extract — {date}*
*Source: {source path}*
```
## Metric Extraction Rules
- Do not round without indicating it
- Always include the metric's source
- If two sources contradict → flag both, do not pick one
- No invented metrics to fill gaps
- Use `{before} → {after}` format for evolutions
## Anti-patterns
- Vague summary ("This text is about AI...")
- Omitting metrics — even approximate ones with their source
- Hiding gaps — naming them is better than pretending they don't exist
- Changing the detected type without justification
- Inventing a narrative arc not present in the source
## Validation Checklist
- [ ] Source type detected and justified
- [ ] Narrative arc in 3-5 clear sentences
- [ ] All measurable metrics extracted with their source
- [ ] Main themes listed (3-7 max)
- [ ] Gaps explicitly identified
- [ ] File saved to `talks/{YYYY}-{slug}-summary.md`
## Tips
- Run this before the orchestrator if you want to verify the source material is usable
- The summary is the foundation — every downstream stage reads it
- Hybrid sources (part REX, part Concept) are fine — name both components clearly
## Related
- [Stage 2: Research](../stage-2-research/SKILL.md) — git archaeology (REX mode)
- [Stage 3: Concepts](../stage-3-concepts/SKILL.md) — reads this summary
- [Orchestrator](../orchestrator/SKILL.md) — runs all stages in sequence

View file

@ -0,0 +1,196 @@
---
name: talk-stage2-research
description: Stage 2 (REX mode only) — Git archaeology, changelog analysis, verified factual timeline. Skip automatically in Concept mode.
tags: [talk, pipeline, presentation, stage-2, git]
allowed-tools:
- Write
- Read
- Bash
---
# Talk Stage 2: Research (REX mode only)
Builds the git proof for a REX talk. Cross-references git history, CHANGELOG, and the Stage 1 summary to produce a verified timeline and velocity analysis.
**Automatically skipped in `--concept` mode** — only runs when the source material is a REX with git repository access.
## When to Use This Skill
- After Stage 1 (Extract) when building a REX talk
- When you have access to the project's git repository
- To verify metrics mentioned in the source material against actual git data
## What This Skill Does
1. **Reads the summary** — understands the period and themes from Stage 1
2. **Git archaeology** — extracts velocity metrics (read-only commands only)
3. **Changelog analysis** — scans releases, features, documented metrics
4. **Cross-references** — aligns git, CHANGELOG, and summary
5. **Builds the timeline** — verified dates, not estimated
6. **Writes 3 output files**
## Input
- `talks/{YYYY}-{slug}-summary.md` (from Stage 1 — required)
- `repo_path` — absolute path to the git repository
- Optional: CHANGELOG path if different from `{repo_path}/CHANGELOG.md`
## Output
Three files:
- `talks/{YYYY}-{slug}-git-archaeology.md`
- `talks/{YYYY}-{slug}-changelog-analysis.md`
- `talks/{YYYY}-{slug}-timeline.md`
## Git Commands (read-only only)
```bash
# Commits by month
git -C {repo_path} log --pretty=format:"%Y-%m" | sort | uniq -c
# Commits by contributor
git -C {repo_path} shortlog -sn --no-merges
# First and last date
git -C {repo_path} log --pretty=format:"%ad" --date=short | tail -1
git -C {repo_path} log --pretty=format:"%ad" --date=short | head -1
# Merged PRs (if merge commit convention)
git -C {repo_path} log --merges --oneline | wc -l
# Tags (releases)
git -C {repo_path} tag --sort=version:refname
# Velocity peak (busiest months)
git -C {repo_path} log --pretty=format:"%Y-%m" | sort | uniq -c | sort -rn | head -5
```
## Output Formats
### git-archaeology.md
```markdown
# Git Archaeology — {slug}
**Repo**: {repo_path}
**Period analyzed**: {start date} → {end date}
**Commands run**: {list}
## Global Metrics
| Metric | Value | Source |
|--------|-------|--------|
| Total commits | {n} | git log |
| Total merges/PRs | ~{n} | git log --merges |
| Total releases (tags) | {n} | git tag |
| Human contributors | {n} | git shortlog |
| Period covered | {n} months | first → last date |
## Monthly Velocity
| Month | Commits | Notes |
|-------|---------|-------|
| {YYYY-MM} | {n} | {context if notable} |
...
## Contributors
| Rank | Name | Commits | % |
|------|------|---------|---|
| 1 | {name} | {n} | {%} |
...
---
*Generated by talk-stage2-research — {date}*
```
### changelog-analysis.md
```markdown
# Changelog Analysis — {slug}
**Source**: {CHANGELOG path}
**Releases analyzed**: {n} (v{first} → v{last})
## Features by release (summary)
| Release | Date | Key features | Metrics mentioned |
|---------|------|--------------|------------------|
| {version} | {date} | {features} | {metrics} |
...
## Patterns identified
### Acceleration
{Periods of high velocity and what drove them}
### Inflection points
{Pivots, direction changes, major releases}
### Verifiable metrics in CHANGELOG
{Exhaustive list of numbers mentioned in CHANGELOG with their release}
---
*Generated by talk-stage2-research — {date}*
```
### timeline.md
```markdown
# Factual Timeline — {slug}
**Period**: {start} → {end} ({n} months)
**Cross-referenced sources**: Summary × Git history × CHANGELOG
---
## Month-by-month timeline
| Month | Commits | Releases | Versions | Key features | Talk event |
|-------|---------|----------|----------|--------------|-----------|
| {YYYY-MM} | {n} | {n} | {versions} | {features} | {anecdote/event} |
...
## Cross-reference: Conflicts and inconsistencies
{If dates or metrics contradict between sources, note here}
---
*Generated by talk-stage2-research — {date}*
*Sources: git log × {CHANGELOG path} × {summary path}*
```
## Key Rules
- **Read-only only** — no git commands that modify repo state
- **Verify before asserting** — a date not found in git = "unverified"
- **Cross-reference** — flag inconsistencies between sources, don't pick one arbitrarily
- **Granularity** — month by month minimum; week by week if the period is short (< 2 months)
## Anti-patterns
- Running git commands that modify the repository
- Estimating dates instead of verifying them in git
- Rounding metrics without flagging it
- Silently merging contradictory data from different sources
- Omitting quiet periods — plateaus tell a story too
## Validation Checklist
- [ ] Only read-only git commands executed
- [ ] Timeline covers the full period from summary
- [ ] All metrics have an explicit source (git or CHANGELOG)
- [ ] Conflicts between sources flagged in dedicated section
- [ ] 3 files generated and saved
## Tips
- The timeline is what Stage 3 (Concepts) uses to enrich concept scores — a good timeline makes the concept catalogue stronger
- "Quiet periods" in git velocity often correspond to hardest engineering challenges — worth noting
- If the CHANGELOG has no version tags, fall back to date-based anchoring
## Related
- [Stage 1: Extract](../stage-1-extract/SKILL.md) — prerequisite
- [Stage 3: Concepts](../stage-3-concepts/SKILL.md) — reads this timeline
- [Orchestrator](../orchestrator/SKILL.md)

View file

@ -0,0 +1,161 @@
---
name: talk-stage3-concepts
description: Stage 3 — Build a numbered, scored concept catalogue. Every concept gets HIGH / MEDIUM / LOW talk-potential rating.
tags: [talk, pipeline, presentation, stage-3]
allowed-tools:
- Write
- Read
---
# Talk Stage 3: Concepts
Builds an exhaustive catalogue of all identifiable concepts in the source material. Each concept is numbered, categorized, and scored for its talk potential.
## When to Use This Skill
- After Stage 1 (and Stage 2 if REX mode)
- Before Stage 4 (Position needs the concept catalogue)
- When you want a structured inventory of what's available before choosing an angle
## What This Skill Does
1. **Reads the summary** — loads `{slug}-summary.md`
2. **Reads the timeline** (if available) — enriches scoring with verified dates
3. **Extracts concepts** — full scan of the source material
4. **Categorizes** — assigns each concept to a domain category
5. **Scores** — HIGH / MEDIUM / LOW for talk potential
6. **Optional repo enrichment** — if repo_path is provided, analyzes AI config concepts
7. **Writes output files**
## Input
- `talks/{YYYY}-{slug}-summary.md` (required)
- `talks/{YYYY}-{slug}-timeline.md` (optional — enriches REX concepts)
- `repo_path` (optional — for config/infrastructure concept extraction)
## Output
- `talks/{YYYY}-{slug}-concepts.md` (main catalogue)
- `talks/{YYYY}-{slug}-concepts-enriched.md` (if repo_path provided)
## Scoring Criteria
### HIGH — Strong potential
- Demonstrable live or with a screenshot
- Counter-intuitive or surprising (triggers a reaction)
- Associated with verifiable numbers
- Concrete and actionable (explainable in 30 seconds)
- Differentiator vs other talks on the same topic
### MEDIUM — Moderate potential
- Useful but expected (not surprising)
- Missing concrete proof or numbers
- Too specific to one particular context
- Needs too much explanation for a 30-min talk
### LOW — Weak potential
- Too abstract or philosophical without concrete grounding
- Already heavily covered by other speakers
- Requires specific technical background
- Hard to illustrate in a slide
**Scoring discipline**: Max 30% HIGH. If everything is HIGH, nothing is.
## Standard Categories
| Category | Description |
|----------|-------------|
| **Architecture** | Technical decisions, stack, structural patterns |
| **Tooling** | Tools, workflows, automations |
| **Philosophy** | Principles, mindsets, approaches |
| **Workflow** | Work processes, habits |
| **Knowledge Transfer** | Onboarding, team, knowledge sharing |
| **Problems** | Obstacles encountered, trade-offs |
| **Open Source** | Contributions, sharing, community |
| **AI Config** | AI configuration, profiles, knowledge feeding |
| **AI Infrastructure** | Agents, skills, hooks, commands |
| **AI Quality** | Review, tests, anti-patterns |
| **AI Security** | Security hooks, guardrails |
| **Optimization** | Performance, cost/token reduction |
Adapt or create categories if the talk has domain-specific areas.
## Output Format
### concepts.md
```markdown
# Key Concepts — {provisional title}
**Date**: {date}
**Source**: {source path} × Summary × Timeline (if available)
---
## Concept table
| # | Concept | Category | Short description | Talk potential |
|---|---------|----------|------------------|----------------|
| 1 | **{Concept name}** | {Category} | {1-2 concrete sentences} | HIGH / MEDIUM / LOW |
...
---
## Category breakdown
| Category | Count | HIGH concepts | Examples |
|----------|-------|---------------|---------|
| {category} | {n} | {n} | {examples} |
...
| **TOTAL** | **{N}** | **{N HIGH}** | |
---
## Recommendations for positioning
{3-5 sentences on concept clusters that could form the talk's acts.
Which HIGH concepts reinforce each other? What narrative arc is emerging?}
```
### concepts-enriched.md (if repo available)
Same structure but focused on what the repo analysis reveals:
- Specialized agents (count, size, roles)
- Invocable skills (catalogue, domains covered)
- System hooks (events, logic)
- Modular config (profiles, modules, pipeline)
- Project-specific code patterns
For each enriched concept, include:
- **Exact source**: file and approximate line
- **Demo-able**: yes/no (can it be shown in a slide or live?)
## Anti-patterns
- Creating overly granular concepts (one feature = one concept max)
- Scoring HIGH by default — be selective
- Omitting LOW concepts (they're useful in positioning as "angles to avoid")
- Duplicating very similar concepts (merge them instead)
- Analyzing repo code if the repo isn't accessible
## Validation Checklist
- [ ] Minimum 15 concepts identified (20+ for REX with repo)
- [ ] Each concept has a 1-2 sentence concrete description
- [ ] Scores are calibrated (not all HIGH, not all LOW)
- [ ] Categories cover the summary's themes
- [ ] Positioning recommendations present
- [ ] Files saved to correct paths
## Tips
- The concept catalogue is what Stage 4 (Position) draws from — the richer it is, the better the angle choices
- LOW concepts are valuable: they define the boundaries of what NOT to put in the talk
- If two concepts feel very similar, merge them — a smaller, sharper list beats a long diluted one
## Related
- [Stage 1: Extract](../stage-1-extract/SKILL.md) — prerequisite
- [Stage 2: Research](../stage-2-research/SKILL.md) — provides timeline (REX)
- [Stage 4: Position](../stage-4-position/SKILL.md) — reads this catalogue
- [Orchestrator](../orchestrator/SKILL.md)

View file

@ -0,0 +1,244 @@
---
name: talk-stage4-position
description: Stage 4 — Strategic angles, titles, descriptions, peer feedback draft. Includes mandatory CHECKPOINT before script can start.
tags: [talk, pipeline, presentation, stage-4, checkpoint]
allowed-tools:
- Write
- Read
- AskUserQuestion
---
# Talk Stage 4: Position + CHECKPOINT
Generates strategic angles, titles, descriptions, and a peer-feedback draft. Then **stops and waits** for your angle + title choice before Stage 5 can proceed.
## When to Use This Skill
- After Stage 3 (Concepts) — needs the concept catalogue
- When deciding how to frame the talk
- Before sending the CFP (uses the generated descriptions directly)
## What This Skill Does
1. **Reads inputs** — summary + concepts + event constraints
2. **Generates angles** — 3-4 distinct angles with force/weakness analysis
3. **Recommends** — one clear choice with structured justification
4. **Generates titles** — 3-5 options per angle
5. **Generates descriptions** — short abstract + long CFP description
6. **Generates feedback draft** — ready-to-send message (3 formats)
7. **CHECKPOINT** — displays choice request and waits for user response
8. **Saves 4 files**
## Input
- `talks/{YYYY}-{slug}-summary.md` (required)
- `talks/{YYYY}-{slug}-concepts.md` (required)
- Event constraints: duration, audience, CFP format if applicable
## Output
- `talks/{YYYY}-{slug}-angles.md`
- `talks/{YYYY}-{slug}-titre.md`
- `talks/{YYYY}-{slug}-descriptions.md`
- `talks/{YYYY}-{slug}-feedback-draft.md`
## angles.md Format
```markdown
# Talk Angles — {provisional title}
**Goal**: Choose the angle that maximizes impact for {audience}.
**Audience**: {audience description}
---
## Angle 1: {Angle name}
**Pitch**: {2-3 sentences describing the talk from this angle}
**Strengths**:
- {strength 1}
- {strength 2}
**Weaknesses**:
- {weakness 1}
- {weakness 2}
**Audience fit**: Strong / Medium / Weak — {short justification}
**Verdict**: ⭐⭐⭐⭐⭐ (out of 5)
---
[Angle 2, Angle 3, (optional Angle 4) — same structure]
---
## Recommendation: Angle {X}, enriched by the others
**Angle {X} is the right choice.** Here's why:
### 1. It's the only angle that integrates the others
[Structure showing how other angles feed into the main one]
### 2. The narrative arc is natural and compelling
[Why the story holds better with this angle]
### 3. The metrics lend credibility throughout
[Which metrics support this angle most]
### 4. The final message emerges naturally
[How the conclusion flows from this angle]
---
## Recommended structure with sub-angles
| Act | Duration | Main angle | Integrated sub-angle |
|-----|----------|-----------|---------------------|
| 1. {name} | {n} min | {main angle} | {sub-angle} |
...
```
## titre.md Format
```markdown
# Titles — Talk {slug}
**Selected angle**: Angle {X} — {name}
**Constraints**: {duration} min | {audience}
---
## Titles for the recommended angle
### Option 1 (recommended)
**{Main title}**
*Optional subtitle: {subtitle}*
Strengths: {why this title works}
Audience appeal: {who it hooks}
### Option 2
**{Title}**
Strengths: {strengths}
[Options 3-5]
---
## Titles for alternative angles (backup)
### If Angle 2 chosen
- **{title}**
- **{title}**
[If Angle 3 chosen — same]
---
## Verdict
**Recommendation**: Option 1 — "{title}"
**Why**: {short justification}
```
## descriptions.md Format
```markdown
# Descriptions — Talk {slug}
---
## Short description (abstract, ~100 words)
{Full text — direct, engaging, starts with the impact or concrete promise.
Not "In this talk, we will..."}
---
## Long description (CFP, ~250 words)
{Full text — context, what the audience will learn, who it's for.
Includes key metrics if available.
Direct and factual tone.}
---
## Speaker pitch (bio-ready, ~50 words)
{Speaker introduction in 1-2 sentences, their relationship to the topic}
---
## Tags / Keywords
{5-10 relevant tags for CFP or search}
```
## CHECKPOINT (mandatory — Step 7)
After generating and saving the 4 files, display:
```
---
CHECKPOINT: Angle + Title choice
I've generated 4 files:
- talks/{YYYY}-{slug}-angles.md → {n} angles analyzed
- talks/{YYYY}-{slug}-titre.md → {n} title options
- talks/{YYYY}-{slug}-descriptions.md
- talks/{YYYY}-{slug}-feedback-draft.md
Before starting the script (Stage 5), I need your choice:
1. Which angle do you choose? (recommended: Angle {X} — {name})
2. Which title do you prefer? (recommended: "{title}")
You can also modify, combine, or propose something different.
Reply to start the script.
---
```
**Do not invoke Stage 5 without explicit user confirmation.**
## Angle Generation Rules
- Minimum 3 angles, maximum 4 (beyond that it's noise)
- Each angle must be genuinely distinct (not variations of the same)
- The recommendation must be clear and argued — not "your choice"
- Always test: "can this angle sustain the full duration without repeating?"
## Anti-patterns
- Click-bait titles ("What nobody tells you about AI")
- Recommending the last angle listed by default (recency bias)
- Descriptions that read like slide summaries
- Skipping the CHECKPOINT — it's the pipeline's most important control point
- Marketing language in descriptions (revolutionary, game-changer)
## Validation Checklist
- [ ] 3-4 angles with force/weakness/audience-fit analysis
- [ ] Clear recommendation with structured justification
- [ ] 3-5 titles for the recommended angle
- [ ] Short description (~100 words) and long description (~250 words)
- [ ] Feedback draft generated from template
- [ ] CHECKPOINT displayed clearly
- [ ] 4 files saved
## Tips
- Send `feedback-draft.md` to a peer before the checkpoint — 10 minutes of external feedback can save hours of rework on the script
- The recommendation is a starting point, not an order — your audience knowledge overrides any algorithmic suggestion
- Weak titles are usually too abstract: test each title by asking "would someone in the hallway stop walking to read this?"
## Templates
- Peer feedback formats: [`templates/feedback-draft.md`](templates/feedback-draft.md)
## Related
- [Stage 3: Concepts](../stage-3-concepts/SKILL.md) — prerequisite
- [Stage 5: Script](../stage-5-script/SKILL.md) — starts after this CHECKPOINT
- [Orchestrator](../orchestrator/SKILL.md)

View file

@ -0,0 +1,89 @@
# Template: Peer Feedback Draft
Usage: Send to 1-2 trusted peers BEFORE submitting the CFP or finalizing the script.
Adapt with the actual talk information before sending.
---
## Version 1: DM / short message (Slack, LinkedIn)
```
Hi {firstname},
I'm preparing a talk for {event} ({date}).
Working title: "{title}"
The promise: {1 sentence on what the audience will take away}
Quick context: {2-3 sentences on the content — angle, key metrics, concrete examples}
Would you have 10 minutes this week to give feedback?
Mainly on: does the title hook / is the topic relevant for a {audience} audience?
Thanks
```
---
## Version 2: Email (for less accessible peers)
```
Subject: Feedback on talk "{title}" — {event}
Hi {firstname},
I'm preparing a {duration}-min talk for {event} ({date}), and I'd love your input before finalizing.
**Working title**: "{title}"
**What I'll cover**:
{3-5 bullets describing the content — concrete, not abstract}
**Audience**: {audience description}
**What I need**:
- Does the title hook?
- Does the topic feel relevant for this audience?
- Is there something obvious I'm missing?
No need for a long response — 5 sentences is enough.
Thanks,
{firstname}
```
---
## Version 3: Public validation (LinkedIn post or tweet)
```
I'm preparing a talk for {event}.
Topic: {angle in 1 direct sentence, no official title yet}
A few numbers to set the scene: {2-3 key metrics}
Simple question: would this topic resonate with you if you were in the room?
{optional: open question to spark comments}
```
---
## Pre-send Checklist
- [ ] The title is concrete (no jargon or abstraction)
- [ ] The promise is clear in 1 sentence
- [ ] Key metrics are mentioned (if REX)
- [ ] Target audience is specified
- [ ] The ask is specific (not "give me general feedback")
- [ ] Tone is direct, not apologetic ("it might perhaps be worth...")
## What to look for in the feedback
1. **First reaction**: want to attend or not?
2. **Title**: clear? catchy? too technical?
3. **Angle**: original or already seen 10 times?
4. **Audience fit**: does it match the {audience} profile?
5. **Gaps**: something important that's missing?

View file

@ -0,0 +1,223 @@
---
name: talk-stage5-script
description: Stage 5 — 5-act pitch with speaker notes, slide spec, and Kimi prompt for AI slide generation. Requires validated angle + title from Stage 4.
tags: [talk, pipeline, presentation, stage-5, kimi]
allowed-tools:
- Write
- Read
---
# Talk Stage 5: Script
Produces the complete talk in 3 deliverables: the 5-act narrative with speaker notes, the slide specification, and the Kimi prompt ready to copy-paste.
**Prerequisite**: The user has validated angle + title at the Stage 4 CHECKPOINT. Do not run this stage without that confirmation.
## When to Use This Skill
- After Stage 4 CHECKPOINT is confirmed
- When you have a validated angle + title
- To produce the complete script and slide spec
## What This Skill Does
1. **Verifies inputs** — all upstream files + angle/title confirmation
2. **Loads the Kimi template** — from `templates/kimi-prompt-template.md`
3. **Builds the pitch** — 5-act structure with speaker notes and timing
4. **Builds the slide spec** — slide by slide with visual, text, notes
5. **Generates the Kimi prompt** — fills the template with talk content
6. **Saves 3 files**
## Input
- `talks/{YYYY}-{slug}-summary.md`
- `talks/{YYYY}-{slug}-concepts.md`
- `talks/{YYYY}-{slug}-angles.md`
- `talks/{YYYY}-{slug}-titre.md`
- `talks/{YYYY}-{slug}-timeline.md` (optional — enriches speaker notes)
- **Chosen angle + chosen title** (explicit user confirmation from Stage 4)
## Output
- `talks/{YYYY}-{slug}-pitch.md`
- `talks/{YYYY}-{slug}-slides.md`
- `talks/{YYYY}-{slug}-kimi-prompt.md`
## pitch.md Format
```markdown
# Pitch — {title}
**Event**: {event} | **Duration**: {duration} min | **Slides**: ~{n} slides
**Angle**: {selected angle}
---
## Global structure
| Act | Title | Duration | Slides |
|-----|-------|----------|--------|
| 1 | {act title} | {n} min | {n} slides |
...
| Total | | {duration} min | {n} slides |
---
## ACT 1: {TITLE} (Slides 1-{n}, ~{n} min)
{Narrative description of the act in 2-3 sentences — what happens, the emotion targeted}
---
**Slide {n} — {Slide title}**
- Visual: {visual description — simple, precise}
- Key text: {what appears on screen — max 10 words}
- Speaker notes: "{exact text to say — conversational, natural}"
- Duration: {n} min
- Pause: yes/no | {if yes: why, intended effect}
---
[Repeat for each slide in the act]
---
[Acts 2, 3, 4, 5 — same structure]
---
## Key moments (must not be rushed)
| Moment | Slide | What happens | Technique |
|--------|-------|-------------|-----------|
| {moment} | {n} | {description} | Pause / Number / Anecdote |
---
## Timing check
| Act | Planned | Buffer | Total |
|-----|---------|--------|-------|
| ACT 1 | {n} min | 30s | {n} min |
...
| **Total** | **{n} min** | **{n} min** | **{n} min** |
Q&A planned: {n} min
```
## slides.md Format
Slide-by-slide spec, ready to hand to a designer or pass to Kimi.
```markdown
# Slides Spec — {title}
**Total**: {n} slides | **Event**: {event} | **Date**: {date}
---
### SLIDE 1 — Title Slide
- **Main title**: {title}
- **Subtitle**: {subtitle or tagline}
- **Speaker**: {name}
- **Event**: {event} — {date}
- **Visual**: {background description — texture, image, mood}
- **Speaker notes**: "{text}"
- **Duration**: {n} sec
---
### SLIDE {n} — {Slide title}
- **Title**: {title}
- **Visual**: {precise visual description}
- Type: {bar chart / timeline / diagram / big number / comparison table / screenshot placeholder}
- Data: {specific values if chart}
- **Key text**: {what appears — max 30 words total}
- **Metrics displayed**: {numbers if metrics slide}
- **Speaker notes**: "{exact text}"
- **Duration**: {n} min
- **Act**: {act number}
---
[Repeat for each slide]
---
## Screenshots to capture
| Slide | Screenshot | Source | Status |
|-------|-----------|--------|--------|
| {n} | {description} | {tool/URL} | To capture / Available |
```
## kimi-prompt.md
Fill the template at `templates/kimi-prompt-template.md` with the talk's content.
Required sections to complete:
- Full title and subtitle
- Speaker name + event + date + duration + language + slide count
- Design requirements (adjust color palette if different from default)
- Slide Content Structure (section by section, all 5 acts)
- Screenshot placeholders (slides awaiting real captures)
- Tone reference (adapt to the talk's style)
**Verify no `{PLACEHOLDER}` remains in the final file** before handing to the user.
## Script Construction Rules
- **1 idea per slide** — never more, never less
- **Speaker notes = what you say, not what you read** — minimal slides, conversational notes
- **Numbers are heroes** — metrics appear large and alone on their slide
- **Anecdotes > explanations** — "one Tuesday morning, 3 bugs..." > "git worktrees enable parallelism"
- **Explicit transitions** — note the link between each act in the notes
- **Realistic timing** — add 10% buffer total (slides always run long)
## Anti-patterns
- Slides loaded with bullets (never more than 5 words per line)
- Speaker notes in technical jargon (read them aloud to validate)
- Vague Kimi prompt ("make it look nice") — each slide must be precise
- Omitting screenshot placeholders from the Kimi prompt
- Generating more slides than the duration allows (2-3 min/slide for REX)
## Validation Checklist
- [ ] Pitch covers 5 acts with coherent timing (±10% of target duration)
- [ ] Each slide has visual + text + speaker notes
- [ ] Key moments identified (pauses, punchlines, transitions)
- [ ] Slides spec ready to hand to a designer
- [ ] Kimi prompt complete (all template sections filled)
- [ ] Screenshots to capture listed with source
- [ ] No `{PLACEHOLDER}` remaining in kimi-prompt.md
- [ ] 3 files saved
## Using the Kimi Prompt
1. Open `{slug}-kimi-prompt.md`
2. Verify no `{PLACEHOLDER}` remains (search the file)
3. Go to [kimi.com](https://kimi.com) — free account, no API needed
4. Start a new conversation
5. Copy-paste the entire prompt
6. Kimi generates the presentation
For iterative refinement: add follow-up messages targeting specific slides. "Slide 7: make the number larger, remove the bullet list."
## Tips
- Speaker notes are the heart of this stage — they're what distinguishes a good talk from a good slide deck
- The Kimi template includes a dark design system with orange accent colors. Adapt `Color Palette` in the template if your brand has different colors
- Generate more slides than needed in the first pass, then cut — easier than writing from scratch
## Templates
- Kimi prompt: [`templates/kimi-prompt-template.md`](templates/kimi-prompt-template.md)
## Related
- [Stage 4: Position](../stage-4-position/SKILL.md) — prerequisite (CHECKPOINT required)
- [Stage 6: Revision](../stage-6-revision/SKILL.md) — reads pitch + slides
- [Orchestrator](../orchestrator/SKILL.md)

View file

@ -0,0 +1,163 @@
# Kimi Presentation Template
> Copy-paste this entire prompt into Kimi.com to generate the presentation.
> Fill in all {PLACEHOLDER} values before sending.
> Search for `{` in the file to find remaining placeholders.
---
Please create a professional conference talk presentation with the following specifications:
## Presentation Requirements
**Title**: {FULL_TITLE}
**Speaker**: {SPEAKER_NAME}
**Event**: {EVENT_NAME} — {MONTH_YEAR}
**Target Audience**: {AUDIENCE_DESCRIPTION}
**Duration**: {DURATION} minutes ({SLIDE_COUNT} slides)
**Language**: {LANGUAGE}
**Format**: Conference talk — storytelling, minimal text, big numbers, high visual impact
## Design Requirements
**Visual Style**:
- Dark theme, modern and minimal
- Maximum visual impact with minimal text
- Large typography for key numbers (48pt minimum for metrics)
- Icons over bullet points whenever possible
- Clean sans-serif fonts (Inter, SF Pro, or similar)
- Ample white space even on dark backgrounds
- High contrast for readability on projector screens
**Color Palette**:
- Primary background: Near-black (#0a0a0a)
- Surface background: Dark gray (#141414) — for cards, content blocks
- Elevated background: (#1e1e1e) — for highlighted sections
- Border: (#2a2a2a) — subtle separation between elements
- Primary text: Off-white (#e5e5e5)
- Secondary text: Medium gray (#a3a3a3)
- Muted text: (#8a8a8a) — for labels, captions
- Accent - Orange: (#f97316) — for key numbers, highlights, CTAs
- Accent hover - Light orange: (#fb923c) — for secondary highlights
- Success green: (#22c55e) — for positive metrics only
- Warning red: (#ef4444) — for problems, errors, negative metrics only
**Layout Preferences**:
- 1 idea per slide — never more
- Consistent footer with slide number (discrete, bottom-right)
- Left-aligned text for readability
- Maximum 30 words per slide (excluding titles)
- Numbers displayed extra-large and centered when they are the main point
- Code blocks with slightly lighter background (#1e293b) and monospace font
- Diagrams using simple boxes, arrows, and the accent color palette
## Slide Content Structure
### ACT 1: {ACT1_TITLE} (Slides 1-{ACT1_LAST_SLIDE}, ~{ACT1_DURATION} min)
---
**Slide 1 — Title Slide**
- Main title: "{FULL_TITLE}"
- Subtitle: "{SUBTITLE_OR_TAGLINE}"
- Speaker: {SPEAKER_NAME}
- Event: {EVENT_NAME} — {MONTH_YEAR}
- Visual: {BACKGROUND_DESCRIPTION}
- Speaker notes: "{OPENING_NOTES}"
- Duration: {TITLE_SLIDE_DURATION} min
---
**Slide 2 — {SLIDE2_TITLE}**
- Title: "{SLIDE2_TITLE}"
- Visual: {SLIDE2_VISUAL_DESCRIPTION}
- Key text: "{SLIDE2_KEY_TEXT}"
- Speaker notes: "{SLIDE2_NOTES}"
- Duration: {SLIDE2_DURATION} min
---
{REPEAT_FOR_REMAINING_SLIDES_IN_ACT1}
---
### ACT 2: {ACT2_TITLE} (Slides {ACT2_FIRST}-{ACT2_LAST}, ~{ACT2_DURATION} min)
---
{SLIDES_FOR_ACT2}
---
### ACT 3: {ACT3_TITLE} (Slides {ACT3_FIRST}-{ACT3_LAST}, ~{ACT3_DURATION} min)
---
{SLIDES_FOR_ACT3}
---
### ACT 4: {ACT4_TITLE} (Slides {ACT4_FIRST}-{ACT4_LAST}, ~{ACT4_DURATION} min)
---
{SLIDES_FOR_ACT4}
---
### ACT 5 + CONCLUSION: {ACT5_TITLE} (Slides {ACT5_FIRST}-{LAST_SLIDE}, ~{ACT5_DURATION} min)
---
{SLIDES_FOR_ACT5}
---
## Speaker Notes Guidelines
For each slide, speaker notes include:
- The key narrative beat (what emotion/reaction to aim for)
- Exact phrasing for critical moments (punchlines, transitions)
- Timing guidance
- Pause indicators for dramatic effect
Key storytelling moments requiring deliberate pauses:
1. {PAUSE_MOMENT_1} — {WHY_PAUSE}
2. {PAUSE_MOMENT_2} — {WHY_PAUSE}
3. {PAUSE_MOMENT_3} — {WHY_PAUSE}
## Screenshot Placeholders
Several slides are designed to accommodate real screenshots. Mark these areas clearly with a placeholder rectangle labeled "SCREENSHOT AREA":
| Slide | Screenshot | Source |
|-------|-----------|--------|
| {SLIDE_N} | {SCREENSHOT_DESCRIPTION} | {SOURCE} |
{REPEAT_FOR_ALL_SCREENSHOT_SLIDES}
## Additional Requirements
- Total slide count: Exactly {SLIDE_COUNT} slides
- Include page numbers on all slides except slide 1 (title)
- Add subtle section transition markers between acts (small act number in corner)
- Dark background throughout (#0a0a0a base, #141414 for cards) — projector-friendly
- All diagrams use the accent color palette (orange #f97316 on dark, #1e1e1e for elevated elements)
- Numbers are the hero of this presentation — make them unmissable
- No animations or complex transitions — simple fade between slides
- Footer: discrete slide number bottom-right, speaker name bottom-left
- The overall feel should be: {TONE_DESCRIPTION}
## Accessibility
- Ensure text contrast ratio meets WCAG AA standards (4.5:1 minimum)
- Use large, readable fonts (minimum 20pt for body text, 28pt+ for headers, 48pt+ for key numbers)
- Don't rely on color alone to convey information (use icons + color)
- Test readability at typical projector resolution (1920x1080)
## Tone Reference
{TONE_PARAGRAPH}
---
**End of Prompt**

View file

@ -0,0 +1,230 @@
---
name: talk-stage6-revision
description: Stage 6 — Revision sheets for during and after the talk. Master concept table, Q&A cheat-sheet, glossary, external resources.
tags: [talk, pipeline, presentation, stage-6]
allowed-tools:
- Write
- Read
---
# Talk Stage 6: Revision
Produces revision sheets usable during and after the talk. Quick navigation by act, master concept table with URLs to share, Q&A cheat-sheet, and glossary.
## When to Use This Skill
- After Stage 5 (Script) — needs pitch + slides
- Before a talk where Q&A is expected
- To create a shareable resource for attendees
## What This Skill Does
1. **Reads all inputs** — pitch + slides + concepts (+ timeline if available)
2. **Extracts navigation** — table of contents with anchors per act
3. **Rebuilds by act** — key concepts + metrics + anecdotes + probable Q&A
4. **Builds master table** — all concepts + definitions + URLs
5. **Builds Q&A cheat-sheet** — 6-10 questions + short answers + links
6. **Builds glossary** — technical terms from the talk
7. **Lists external resources**
8. **Assembles and saves**
## Input
- `talks/{YYYY}-{slug}-pitch.md` (required)
- `talks/{YYYY}-{slug}-slides.md` (required)
- `talks/{YYYY}-{slug}-concepts.md` (required)
- `talks/{YYYY}-{slug}-timeline.md` (optional — for metrics accuracy)
## Output
`talks/{YYYY}-{slug}-revision-sheets.md`
## Output Format
```markdown
# Revision Sheets — {title}
**Date**: {date} · **Talk duration**: {n} min + {n} min Q&A
**Purpose**: Someone asks a question → find the section → share the URL in 5 seconds
---
## Quick navigation
| Section | Content |
|---------|---------|
| [Act 1](#act-1) | {1-line summary} |
| [Act 2](#act-2) | {1-line summary} |
| [Act 3](#act-3) | {1-line summary} |
| [Act 4](#act-4) | {1-line summary} |
| [Act 5](#act-5) | {1-line summary} |
| [Conclusion](#conclusion) | {1-line summary} |
| [Master Table](#master-table) | All concepts + URLs |
| [Q&A Cheat-sheet](#qa-cheat-sheet) | {n} anticipated questions + answers |
| [Resources](#external-resources) | Links mentioned in the talk |
---
## ACT 1: {Title} (Slides 1-{n})
**~{n} min · {period or context}**
### Key concepts
| Concept | Short definition | URL to share |
|---------|-----------------|--------------|
| **{Concept}** | {1-2 concrete sentences} | {URL or "no direct link"} |
...
### Metrics to know
```
{Metrics as code block — one per line, format: value → context}
```
### Storytelling / Anecdotes
- **{Anecdote name}**: "{Quote or summary}"
### Probable Q&A for Act {n}
| Question | Short answer |
|----------|-------------|
| "{probable question}" | {direct answer, 2-3 sentences max} |
---
[Repeat for each act]
---
## Conclusion (Slides {n}-{n})
**~{n} min**
### Summary metrics (the big numbers)
```
{All summary metrics — one per line}
```
### {N} actions for Monday (if applicable)
1. **{Action 1}**: {description + why}
2. **{Action 2}**: {description + why}
3. **{Action 3}**: {description + why}
---
## Master Table: Concept → Definition → URL to share
**The core deliverable. Every technical concept from the talk.**
| Concept | Definition (1-2 sentences) | Slide | URL to share | Notes |
|---------|--------------------------|-------|--------------|-------|
| **{Concept}** | {precise, concise definition} | {n} | {URL or "pure storytelling"} | {guide section if applicable} |
...
---
## Q&A Cheat-sheet
**The {n} most probable questions + short answers + URL to send**
---
### Q1 — "{Question}"
**Short answer**:
{Answer in 3-5 bullets}
**To go further**:
- {Link 1 with context}
- {Link 2 with context}
---
[Q2 through Q{n} — same structure]
---
## External Resources Mentioned in the Talk
### Priority URLs to share
| Resource | URL | Context |
|----------|-----|---------|
| **{Resource}** | `{url}` | {why it's important} |
...
### Studies and external sources (if applicable)
| Source | URL | How used in the talk |
|--------|-----|---------------------|
| **{Source}** | `{url}` | {how it's cited} |
---
## Quick Glossary (memory aid if you blank)
| Term | Ultra-short definition |
|------|----------------------|
| {term} | {10 words max} |
...
---
*Generated {date}. Source: slides, concepts, pitch.*
```
## Construction Rules
### Master Table
- Include ALL technical concepts mentioned in pitch and slides
- URL = link to a public resource (GitHub, docs, guide) — no dead links
- If no link: note "pure storytelling, no guide section" or "concept specific to the project"
- Definition = what you'd say if someone in the room asked "what's that?"
### Q&A Cheat-sheet
- 6 questions minimum, 10 maximum
- Select the most probable questions for the audience
- Short answer = what you'd say orally in 20 seconds max
- "To go further" = actionable links, not vague references
### Metrics
- Code block format for metrics (faster to scan)
- One metric per line: `{value}` — {context}
- Always with units (%, ms, K, days...)
### Anecdotes
- Extract verbatim from pitch where possible (for memorization)
- Quote format for phrases to say exactly
## Anti-patterns
- Incomplete Master Table (missing concepts = unusable in Q&A)
- Q&A answers that are too long (if it exceeds 5 bullets, cut)
- Invented or approximate URLs (verify every link is real)
- Copy-pasting pitch descriptions without adapting to cheat-sheet format
- Forgetting the glossary (essential when you have a memory blank)
## Validation Checklist
- [ ] Quick navigation with working anchor links
- [ ] Each act has its section (concepts + metrics + Q&A)
- [ ] Master Table covers all pitch concepts (cross-check)
- [ ] Minimum 6 questions in Q&A cheat-sheet
- [ ] External resources listed with verified URLs
- [ ] Glossary present
- [ ] File saved: `talks/{YYYY}-{slug}-revision-sheets.md`
## Tips
- The revision sheets are the most re-used output — attendees ask for links, you pull up the master table in 5 seconds
- Build the Q&A from the audience profile: what are the 3 most skeptical questions a senior dev in that room would ask?
- The glossary is your safety net: you blank on a term mid-talk, glance at the glossary, recover in 2 seconds
## Related
- [Stage 5: Script](../stage-5-script/SKILL.md) — prerequisite
- [Orchestrator](../orchestrator/SKILL.md)