About discover-presentation
A conversational skill for gathering presentation requirements and, after confirmation, writing them to DISCOVERY.json and PROJECT.json. It is intended for presentation projects that need structured audience, goal, and content preferences before drafting.
Key features
- 01Conducts a three-round interview
- 02Fills unanswered items with defaults
- 03Writes project state after confirmation
- 04Records language and editorial preferences
- 05Runs the unslop Skill for presentation copy
Use cases
- 01Gather requirements for a new presentation
- 02Clarify audience profiles and presentation goals
- 03Compare changes with existing discovery state
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ken-guru/ skills --skill discover-presentationAfter installing, type/discover-presentationin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
DEFAULTS.mdQUESTIONS.mdRESTART-GUARD.mdWRITE_DISCOVERY.mdevals/discover-presentation.jsonscripts/presentation-theme-invalidation.mjsDetails
From the project READMEDiscover Presentation
Gathers presentation requirements through a conversational interview. Writes results to DISCOVERY.json and PROJECT.json in the project folder.
Output voice
Apply a lightweight human-voice pass to interview questions, assumption
summaries, and confirmation prompts. Keep the conversation specific and warm
without forced enthusiasm. Preserve user wording when it is being recorded as
project content, and keep JSON field names and values exact. Record any
editorial preferences the user gives. Every presentation-copy phase must run
the standalone unslop Skill as a required editorial pass, using those
preferences.
Gotchas
- Advance to Step 2 only after at least 3 of 4 persona dimensions are known — thin personas produce generic slides
- Infer language from how the user writes; ask explicitly only if ambiguous
- Write DISCOVERY.json only after the user confirms the defaults summary in Step 2
Startup
Before proceeding:
- Confirm the project folder is writable — if not, abort:
❌ Cannot write to <path>.
If DISCOVERY.json already exists, read and retain it for change comparison. Do not delete anything yet.
Procedure
Step 1: Interview
Ask the questions in QUESTIONS.md in its three rounds, one message per round. Extract structured data from free-form answers. Accept partial answers and fill the rest with defaults from DEFAULTS.md.
Language detection: Infer the presentation language from how the user writes. If they write in Norwegian, default to Norwegian bokmål. If they write in English or another language, use that. The detected language is recorded in DISCOVERY.json and must be respected throughout all subsequent phases — all generated content (slides, presenter notes, glossary) must be in that language.
Complete the persona depth section before moving to Step 2. A persona is considered sufficient when at least 3 of the 4 depth dimensions (experience level, goal, concerns, takeaways) are known.
Step 2: Confirm defaults
Present a one-shot confirmation summary before writing any files:
📋 Default assumptions — correct anything that doesn’t fit:
- Topic: [topic]
- Audience: [audience]
- Experience level: [experience_level]
- Goal: [goal — implement / understand]
- Concerns: [top_concerns]
- Top 3 takeaways: [top_takeaways]
- Duration: [duration]
- Occasion: [occasion]
- Language: [language]
- Presentation style: [narrative structure from DEFAULTS.md]
- Presentation Theme: [Editorial / Signal / Field Notes] ([identifier])
- Editorial preferences: [tone, preferred styles, and styles to avoid — or none]
- External Font Override: [exact family or none]
- Pagination: Yes
- Max bullet points per slide: 5–6
- Visual preference: [Picture / Diagram / None]
Also confirm file/folder naming:
| File / Folder | Default |
|---|---|
| Agenda | AGENDA.md |
| Presentation | PRESENTASJON.md |
| Images | images/ |
| Videos | videos/ |
| Docs | docs/ |
| Sources | docs/sources/ |
| Themes | themes/ |
Ask: "Would you like to use the default names, or would you like to adjust any?"
Wait for the user to approve or correct before proceeding to Step 3.
If prior Discovery state exists, compare it with the confirmed values now. Run the restart guard per RESTART-GUARD.md, selecting the theme-only, font-only, or general path from the actual diff. Complete the guard before writing new state.
Step 3: Write state files
Read the external pointer file WRITE_DISCOVERY.md for the next steps ONLY AFTER the user confirms the defaults in Step 2.