.claude/commands/talk-review/SKILL.md
Review and improve conference talk scripts and presentation materials through an exhaustive interview session. Use this skill whenever the user wants to polish, fact-check, or deepen a talk script, presentation draft, or slide deck content for a conference or meetup. Triggers include: "review my talk", "check my presentation", "improve my slides", "validate my talk script against the code", or any request to prepare conference presentation materials by cross-referencing actual source code and implementation details. Also use when the user mentions RubyKaigi, conference talk, talk script, presentation review, or slide review.
npx skillsauth add asonas/dotfiles talk-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Review a conference talk script through an exhaustive interview session, cross-referencing the actual codebase and implementation. Resolve ambiguities, fix inaccuracies, deepen technical content, and improve the narrative flow — then update the script directly.
The user provides a talk script file path as argument: $ARGUMENTS
If no argument is given, ask the user which talk script file to review.
Every talk script file should have a YAML frontmatter block at the very top with metadata about the talk. The frontmatter uses --- delimiters (same as Obsidian properties) and contains these fields:
---
event: RubyKaigi 2026
duration: 30min
language: English
speaker: Yuya Fujiwara (@asonas)
source_code:
- path: ~/src/strudel-rb
description: Main project repository
- path: ~/src/strudel
description: Upstream reference (JavaScript)
---
RubyKaigi 2026, Kaigi on Rails 2026)30min, 20min, 5min LT)English, Japanese)path — filesystem path to the repository or directorydescription — short label explaining what this source is (e.g., "Main project", "Upstream reference", "Ruby implementation for comparison")At the start of the review, check whether the talk script has a valid frontmatter block. If any required field is missing or the frontmatter block doesn't exist at all:
The frontmatter drives the review process: source_code paths tell the reviewer which codebases to read, duration determines timing checks, and language affects which language quality checks to apply.
Before asking any questions, do thorough research:
Read the talk script thoroughly — understand the narrative arc, technical claims, code examples, and demo plans.
Read the actual codebase — use the source_code paths from the frontmatter. Read the source files that correspond to every code example in the talk. Check that:
Read upstream/reference projects — use any additional source_code entries marked as references. Also check their documentation to verify claims about how they work.
Check project history — look at git log, recent commits, and open issues to find new developments that should be mentioned or that invalidate current content.
Assess talk structure — evaluate:
duration from frontmatter as the total budget)Note all discrepancies — collect every mismatch between the script and reality before starting the interview.
Ask questions in focused batches of 2-4 using the AskUserQuestion tool. Group related questions together. After every batch of answers, update the talk script file before continuing to the next batch. This keeps the script current throughout the session.
Interview sessions are expected to be lengthy — often 10+ rounds. Do not rush or skip areas.
Check the frontmatter language field to determine the presentation language, then apply the appropriate checks:
If presenting in English (non-native speaker):
If presenting in Japanese:
For bilingual scripts (English + Japanese):
duration specified in frontmatter?After the interview is complete, do a final validation pass:
duration from frontmatter and flag if it's over or under.--- page separators, ## header + content + > Talk Script (English) + > Japanese (日本語). Don't change the format unless the speaker asks.The talk script uses this format (preserve it):
---
event: RubyKaigi 2026
duration: 30min
language: English
speaker: Yuya Fujiwara (@asonas)
source_code:
- path: ~/src/strudel-rb
description: Main project repository
- path: ~/src/strudel
description: Upstream reference (JavaScript)
---
# Talk Title
---
## Section Title
- Bullet points / content for the slide
- [図: description of figure needed]
> Talk Script
English talk script text here. Conversational, spoken-word style.
> Japanese
日本語のトークスクリプト。英語の内容を自然な日本語で。
---
The script should end with a tracking section. During review, keep it concise:
## Review Status
Review in progress.
Covered:
- Code Accuracy: all snippets verified against strudel-rb main branch
- Narrative Flow: reordered sections X and Y for better progression
Remaining (~8 questions):
- Demos: backup plans, timing
- Timing: full time estimate
- Missing Content: limitations section
After review completes, convert to a preparation checklist:
## Preparation Status
- [ ] Finalize all diagrams and figures
- [ ] Test all demo code on presentation laptop
- [ ] Rehearse full talk (target: under 30 minutes)
- [ ] Prepare backup slides for demo failures
- [ ] ...
### Updates
- 2026-03-23: Initial review complete. All code snippets verified.
data-ai
Summarize the day's work and append to the daily note in Obsidian.
data-ai
memory-vector と memory-graph を横断検索して過去の記憶を呼び出す。「思い出して」「覚えていますか」「前に話した」等の記憶呼び出し時に使う。
development
Review GitHub Pull Requests. When given a PR URL, fetches diff and comments using gh command, then performs objective and critical code review.
tools
Use when starting the day. Organizes tasks, calendar, and context from previous sessions, then coaches through blockers on Linear issues via interactive dialogue.