视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
presentation-builder【文档与办公】Use when the user asks to build a presentation, create slides, make a deck, PowerPoint, PPTX, pitch deck, status update deck, architecture review presentation, or steering committee deck. Parent skill for the presentation-* skill family.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Parent skill that handles intake, environment detection, routing, and asset repository management for the presentation family.
[PLACEHOLDER: description of needed data].<project>/.presentations/output/ (or ./presentations/output/ if no project root is detected).Runs once per session and caches the result as the capability map.
| Capability | Detection Command |
|---|---|
| python3 + python-pptx | python3 -c "import pptx; print(pptx.__version__)" |
| Node.js + Marp CLI | npx @marp-team/marp-cli --version 2>/dev/null |
| Node.js + mermaid-cli (mmdc) | npx @mermaid-js/mermaid-cli --version 2>/dev/null |
| Java (for Apache POI fallback) | java -version 2>&1 |
| PowerShell | pwsh --version 2>/dev/null || powershell -Command '$PSVersionTable.PSVersion' |
| Graphviz | dot -V 2>&1 |
| vertex-banana (image gen) | Check for vertex-banana skill availability |
| matplotlib | python3 -c "import matplotlib; print(matplotlib.__version__)" |
| Internet connectivity | curl -s --max-time 5 -o /dev/null -w '%{http_code}' https://httpbin.org/get |
Produces a JSON object conforming to capability-map-schema.md (see Reference Files). Example:
{
"python_pptx": true,
"marp_cli": false,
"mmdc": true,
"java": false,
"powershell": false,
"graphviz": true,
"image_gen": "vertex-banana",
"matplotlib": true,
"internet": false,
"timestamp": "2026-03-27T10:00:00Z"
}
If critical tools are missing but installable, offer to install them:
pip install python-pptx matplotlibnpm install -g @marp-team/marp-clinpm install -g @mermaid-js/mermaid-cliAlways ask the user before installing anything.
Before routing to a child skill:
~/.claude/skills/<path>)~/.claude/skills/research-for-skills/gap-detection.mdAdapted from the GROW framework. Gather these four inputs before routing.
What are you presenting? Classify the presentation type:
Who sees this? Select the audience profile:
Reference audience-profiles.md for tone, depth, and terminology guidance per profile.
Where does the content come from?
PROJECT.md, problem statements, design docs, user-provided documentsWhat output format?
If the user does not specify, auto-select based on the capability map (prefer PPTX if python-pptx is available).
After intake is complete, route to the appropriate companion skill.
| User Need | Route To |
|---|---|
| "Build a presentation about X" / narrative / outline | presentation-narrative |
| Charts, data visualization, data-driven slides | presentation-datavis |
| Architecture diagrams, flowcharts, system visuals | presentation-diagrams |
| Template, branding, styling, "make it professional" | presentation-styling |
| "Export", "generate the file", format conversion | presentation-renderer |
Multiple skills may be invoked in sequence or parallel depending on the request (see Orchestration Flow).
Assets are resolved from a layered structure. Project-local overrides global.
~/.claude/skills/presentation-builder/assets/
templates/ # Base slide templates
logos/ # Reusable logos
palettes/ # Colour palettes (JSON)
tone-profiles/ # Writing tone definitions
<project>/.presentations/
templates/ # Project-specific templates
logos/ # Project / client logos
palettes/ # Project colour palettes
tone-profiles/ # Project tone overrides
output/ # Generated presentations
<project>/.presentations/<asset-type>/ first~/.claude/skills/presentation-builder/assets/<asset-type>/On first invocation in a project, create the .presentations/ directory structure:
mkdir -p .presentations/{templates,logos,palettes,tone-profiles,output}
The parent skill resolves the merged asset context before routing to any companion skill.
The standard end-to-end flow for building a presentation:
1. Environment scan --> capability map (cached)
2. Intake --> goal, audience, context, format
3. Route to presentation-narrative --> slide outline generated
4. User approves outline (HARD RULE #3)
5. Dispatch in parallel:
- presentation-diagrams (architecture/flow visuals)
- presentation-datavis (charts/data slides)
- presentation-styling (template, branding, layout)
6. All visuals complete --> presentation-renderer assembles final output
7. Output files written to .presentations/output/
Steps 5a, 5b, and 5c run in parallel when independent. The renderer waits for all upstream assets before assembly.
| Request | Use Instead |
|---|---|
| Image generation only (not for slides) | vertex-banana |
| Report / document EXPERIENCE (layout, reading path, information architecture) | audience-experience-design |
| Report / document PROSE (the writing itself) | content-writer |
| General diagram creation not destined for slides | Use the appropriate diagram tool directly (Mermaid, Graphviz, etc.) |
~/.claude/skills/presentation-builder/references/narrative-flows.md — Narrative arc templates and slide sequencing patterns~/.claude/skills/presentation-builder/references/audience-profiles.md — Audience-specific tone, depth, and terminology guidance~/.claude/skills/presentation-builder/references/capability-map-schema.md — JSON schema for the environment capability map| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| Starting with slides before defining the narrative | Content-first presentations are disjointed; no storyline means audiences cannot follow the argument | Define audience, purpose, and narrative framework first; slides serve the story, not the other way around |
| Putting everything on one slide | Cognitive overload; audience reads instead of listening; key message is buried in visual noise | One idea per slide; use builds/animations for progressive disclosure; if it needs more, use two slides |
| Using default PowerPoint templates without customization | Signals lack of effort; audience immediately recognizes generic templates; undermines credibility | Apply branding (colors, fonts, logo placement) consistent with your organization; even minimal customization helps |
| Skipping speaker notes | Presenters forget key points; different presenters deliver different messages from the same deck | Write speaker notes for every slide with key talking points, transition phrases, and timing estimates |
| Not tailoring content to the audience | A technical deep-dive for executives or a strategic overview for engineers — both fail | Use the presentation-narrative skill to select audience-appropriate frameworks; match depth to audience |