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:
parent
6d847d24de
commit
00cb973bdb
15 changed files with 2297 additions and 8 deletions
70
examples/skills/talk-pipeline/README.md
Normal file
70
examples/skills/talk-pipeline/README.md
Normal 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)
|
||||
174
examples/skills/talk-pipeline/orchestrator/SKILL.md
Normal file
174
examples/skills/talk-pipeline/orchestrator/SKILL.md
Normal 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)
|
||||
153
examples/skills/talk-pipeline/stage-1-extract/SKILL.md
Normal file
153
examples/skills/talk-pipeline/stage-1-extract/SKILL.md
Normal 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
|
||||
196
examples/skills/talk-pipeline/stage-2-research/SKILL.md
Normal file
196
examples/skills/talk-pipeline/stage-2-research/SKILL.md
Normal 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)
|
||||
161
examples/skills/talk-pipeline/stage-3-concepts/SKILL.md
Normal file
161
examples/skills/talk-pipeline/stage-3-concepts/SKILL.md
Normal 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)
|
||||
244
examples/skills/talk-pipeline/stage-4-position/SKILL.md
Normal file
244
examples/skills/talk-pipeline/stage-4-position/SKILL.md
Normal 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)
|
||||
|
|
@ -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?
|
||||
223
examples/skills/talk-pipeline/stage-5-script/SKILL.md
Normal file
223
examples/skills/talk-pipeline/stage-5-script/SKILL.md
Normal 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)
|
||||
|
|
@ -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**
|
||||
230
examples/skills/talk-pipeline/stage-6-revision/SKILL.md
Normal file
230
examples/skills/talk-pipeline/stage-6-revision/SKILL.md
Normal 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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue