present
Use when the user says /present, "create a presentation", "make slides", "build a deck", or wants to create or update a Slidev presentation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when the user says /present, "create a presentation", "make slides", "build a deck", or wants to create or update a Slidev presentation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when the user says /org-design <org>, "analyze the org I inherited", "inherited org analysis", "span of control / SPOF / on-call distribution review", or wants a descriptive read of the org structure they just walked into during a senior eng leader ramp. The analyze mode reads a manual org/structure.md + stakeholder memory graph into a 7-section analysis under ~/repos/onboard-<org>/decisions/. The scenario mode projects a reorg (split-team, add-headcount, merge-teams, change-reporting, reduce-headcount), validates it structurally, and gates on explicit user review before writing. reduce-headcount adds a machine layoff-acknowledgment gate (machine-enforced deliberateness; the human confirmation behind the flag is prose-bound, not machine-verified). Do NOT use for codebase architecture (use /architecture-overview).
Use when the user says /risk-register, "add a risk", "review risks", "escalate R-N", "ack R-N", "resolve R-N", or "show my risk register" during a 90-day ramp or any initiative. Tracks org-level technical risks in any initiative workspace. Six actions: add, review, ack, escalate, resolve, list.
Use when the user says /strategy-doc <org>, "draft my 90-day plan", "review the 90-day plan", or "challenge the 90-day plan" during a senior eng leader ramp. Phase 1 supports the 90-day-plan mode only — collates /swot + /stakeholder-map + /architecture-overview + free-form notes/*.md into a 7-section markdown artifact under ~/repos/onboard-<org>/decisions/. Cross-org RFC mode is Phase 2 (separate spec).
Use when the user explicitly invokes /glossary, asks to canonicalize a domain term in ./CONTEXT.md, or wants to record agreed-upon project-specific terminology so future sessions and downstream artifacts (ADRs, SDRs, systems-analysis output) stay consistent. Also invoked by define-the-problem and systems-analysis at end-of-skill via the caller-hook contract to offer canonicalization for terms resolved during planning. Write-only format-owner for per-project ./CONTEXT.md. Lazy-create on first term resolution; never auto-write — user approval gates every entry. Do NOT use for: casual term mentions in conversation, code-level naming questions, architectural primitives (Module, Interface, Adapter, Seam — those belong in LANGUAGE.md owned by architecture-overview), general programming concepts, or decisions about why a term was chosen (those belong in docs/superpowers/decisions/ or an ADR).
Use when the user says /ring-review-tiered, "ring review these PRs", "antagonistic ring on this batch", "review PR #N with the ring", or asks to run adversarial / critic review across one or more pull requests. Calibrates critic count to per-PR risk tier — trivial PRs skip the ring, surgical PRs get one cross-dimension critic, medium PRs get two dimension-targeted critics, large/boundary/security PRs get the full 5-critic ring plus arbiter. Use even when the user names a uniform critic count — surface the tier and let them override. Do NOT use for solo single-PR review where the user explicitly asks for the full ring; that's `pr-review-toolkit:review-pr`.
Use when the user says /swot, "landscape analysis", "SWOT analysis", "strengths and weaknesses", or wants to capture, review, or challenge organizational observations.
| name | present |
| description | Use when the user says /present, "create a presentation", "make slides", "build a deck", or wants to create or update a Slidev presentation. |
| disable-model-invocation | true |
Creates professional presentations using Slidev + Bun. Source-controllable Markdown → live preview → PDF/PPTX export.
Announce at start: "I'm using the present skill to help you build a presentation."
Before anything else, verify Slidev is available:
bunx @slidev/cli --version
If this fails, tell the user:
"Slidev isn't installed. Run:
bun add -g @slidev/clithen try again."
Stop here if installation fails.
Determine how the user invoked the skill:
| Input | Mode |
|---|---|
| A brief or topic string | Generate mode — Claude drives content from scratch |
| Pasted notes, doc, or outline | Assist mode — Claude restructures provided content |
A path to slides.md | Revise mode — Claude reads and modifies existing deck |
If unclear, ask: "Are you starting from scratch, working from existing notes, or revising a deck you already have?"
When the entry path is a slides.md path (Revise mode) OR the user pastes
content from a workspace path (Assist mode), MUST run the refusal guard
before reading the source:
bun run "$CLAUDE_PROJECT_DIR/skills/onboard/scripts/onboard-guard.ts" refuse-raw <path>
The guard is a no-op for non-workspace paths — exits 0, /present proceeds.
Exit codes, repo-root resolution, and override policy: see ../onboard/refusal-contract.md.
Ask these questions one at a time:
Audience type — choose one or more:
Key message — "What's the one thing the audience must walk away knowing?"
Length — How many slides approximately? (Or: how much time do you have?)
Must-include elements — Any specific data, diagrams, or constraints to include?
In Revise mode, skip intake and ask instead: "What needs to change — audience shift, new data, restructure, or something else?"
In Assist mode, run the full intake — but when asking about length (question 3), note that the provided content may naturally determine slide count. Offer a suggested count based on the content volume and let the user override.
Generate a slide-by-slide outline based on the intake. Apply audience content rules:
| Audience | Content rules |
|---|---|
| Executive | Max 3 bullets/slide, lead with business impact, use fact layout for key metrics |
| Technical | Code blocks welcome, architecture diagrams encouraged, higher density allowed |
| Client/external | Clean visuals, minimal jargon, strong narrative arc with clear call-to-action |
Present the outline to the user. Ask: "Does this narrative arc look right? Any slides to add, remove, or reorder?"
Iterate on the outline until the user approves it. Do not write Markdown until the outline is approved.
Once the outline is approved, write the presentation to:
~/presentations/<slug>/slides.md
Where <slug> is a kebab-case version of the presentation title (e.g., "Q3 Engineering Roadmap" → q3-engineering-roadmap).
Slidev syntax (frontmatter, layouts, separator, diagram blocks): see References.
After writing slides.md, tell the user:
"Slides written to
~/presentations/<slug>/slides.md. Start the preview with:"cd ~/presentations/<slug> && bunx @slidev/cli slides.md"This opens at http://localhost:3030 and hot-reloads on every save."
Stay in the conversation for revision requests. Edit slides.md directly — the user never needs to touch the file manually.
Handle requests like:
colorSchema: dark to colorSchema: lightAfter each edit, confirm what changed: "Updated slide 3 — shortened to 2 bullets and sharpened the headline."
When the user is ready to export:
# PDF
cd ~/presentations/<slug> && bunx @slidev/cli export slides.md --format pdf
# PowerPoint
cd ~/presentations/<slug> && bunx @slidev/cli export slides.md --format pptx
Both files land in ~/presentations/<slug>/.
Export failure recovery (missing theme, missing Chromium, PPTX limitations): see References.
.docx) insteadslides.md before the outline is approved — always iterate on the narrative arc first; writing Markdown early wastes cycles when the structure changes.fact layout for key metrics (per the audience content rules).default for every slide loses visual rhythm; use cover, fact, center, and two-cols where they fit.Each presentation directory is independently git-trackable:
cd ~/presentations/<slug>
git init
git add slides.md
git commit -m "Initial deck: <title>"
slides.pdf and slides.pptx should be gitignored (generated artifacts). The slides.md file is the source of truth.