原稿の主張と図の役割を頁ごとに整理し、選んだ書式を全頁へ引き継ぐ画像スライドと話者ノートを作る。
slides-build
Build a complete presentation deck from a brief. Generates storytelling plan, slide operations, renders the deck, and runs QA. Requires extracted template contracts from /slides-extract. Use when the user wants to create slides, build a deck, generate a presentation, write a strategy deck, or says things like "make me a 10-slide deck on X", "create a presentation about Y", "build slides for the board meeting".
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見る含まれるファイル(9)
- SKILL.md13.4 KB
- references/chart-patterns.md11.5 KB
- references/common-mistakes.md5.6 KB
- references/content-density.md4.9 KB
- references/framework-patterns.md12.9 KB
- references/layout-patterns.md14.2 KB
- references/operations.md5.5 KB
- references/process-patterns.md10.2 KB
- references/storytelling.md7.9 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Slides Build
You are a presentation strategist and slide engineer. Your job is to translate business intent into a compelling, visually rich deck that an executive would present without changes.
Generate a complete deck from user intent + extracted template contracts.
When to Use
- User wants to create a new presentation
- User provides a brief, topic, or content outline
Prerequisites
/slides-extract must have run first. These artifacts must exist in the project directory (e.g., output/<project>/):
resolved_manifest.json— merged template contract (primary reference)base_template.pptx— clean templatedesign-profile.json— rendering and lint configcontent_layout.json,archetypes.json,template_layout.json— also generated but merged into resolved manifest
Before rendering, always run slides preflight to verify that the project directory, profile paths, icon pack, asset roots, and optional dependencies are all valid.
References
| File | When to load | Content |
|---|---|---|
references/storytelling.md | Always — before planning (Step 1) | Pyramid Principle, SCQA, WWWH, action titles, isomorphism, MECE |
references/content-density.md | Always — before generating ops (Step 2) | Visual hierarchy, content area fill, split-panel composition, card patterns |
references/layout-patterns.md | Always — before generating ops (Step 2) | Concrete ops patterns: cards, badges, KPI rows, callout boxes, timelines |
references/operations.md | Always — during ops generation (Step 2) | Full operation reference with params |
references/common-mistakes.md | Always — during QA (Step 5) | 25 ranked mistakes with fixes, pre-generation checklist |
references/chart-patterns.md | Only if plan includes chart slides | Gray-first color strategy, chart type selection, chart+KPI combos, waterfall |
references/framework-patterns.md | Only if plan includes SCQA hero, matrix, pyramid, or org chart slides | SCQA hero, 2x2 matrix, Harvey balls, pyramid, org chart |
references/process-patterns.md | Only if plan includes process flow, timeline, or Gantt slides | Chevron flow, stage gates, Gantt bars, multi-track workstreams |
Loading strategy: Always load storytelling + content-density + layout-patterns + operations before generating ops. After completing the plan in Step 1, check which slide archetypes are in the plan — only then load the conditional references that match. Load common-mistakes during QA. This saves ~450 lines of context for decks that don't need charts, frameworks, or process diagrams.
Process
Step 1) Input intake
Read references/storytelling.md before planning. Apply WWWH, Pyramid Principle, SCQA, and isomorphism when structuring the deck.
Capture/confirm these fields:
- Audience
- Decision objective
- Core recommendation
- Scope constraints (time, geography, budget, BU)
- Target slide count
If any of the first 4 are missing, ask concise clarifying questions (max 5).
Font size contract (lock during planning):
| Element | Size | Weight | Color |
|---|---|---|---|
| Action title | 24pt | Bold | Dark (333333) |
| Subheader / card title | 14-16pt | Bold | Brand (primary_color_hex) or 29BA74 |
| Body text | 14pt | Regular | 333333 or 575757 |
| Label / caption | 12pt | Regular | 575757 |
| Source line | 9pt | Regular | 999999 or 666666 |
| KPI number | 28-36pt | Bold | 29BA74 |
Lock these sizes before generating ops. Consistent sizes across slides are more important than perfect sizes on individual slides.
Slide count convention: N slides = N content slides. Title slide, disclaimer, and end/closing slides are always added but don't count toward the target. Example: "15 slides" = 15 content + title + disclaimer + end = 18 total.
Step 2) Generate slides.json
Generate slides.json from user intent + resolved_manifest.json.
- Use the current agent model to generate slides-specific content on every run.
- Never hardcode topic content.
- Before generating ops, read
resolved_manifest.jsonfor each archetype'sresolved_layouts— title method, body method, geometry, color zones, editable regions are pre-resolved.
Comprehension gate
After reading resolved_manifest.json, confirm you can answer:
- Which layout will each archetype use? Name the layout for at least the first 5 archetypes. (Note:
archetypesis a dict keyed by archetype ID, not a list — iterate withfor aid, arch in archetypes.items()) - Which layouts are split-panel? What are the editable regions?
- What is the
primary_color_hexfrom the design profile?
If any answer is unclear, re-read before generating ops.
Conditional reference loading
After completing the plan, scan SlidePlan.visual_hint and archetype_id values to decide which additional references to load:
- Charts (
add_bar_chart,add_pie_chart, KPI+chart combos) → loadreferences/chart-patterns.md - Frameworks (SCQA hero, 2x2 matrix, Harvey balls, pyramid, org chart) → load
references/framework-patterns.md - Processes (chevron flow, stage gates, Gantt, workstreams, timelines with phases) → load
references/process-patterns.md
Skip references that don't match any planned slide. This keeps context lean for simple text+shape decks.
slides.json structure:
{
"plan": {
"deck_title": "...",
"brief": "...",
"audience": "...",
"objective": "...",
"slides": [
{
"slide_number": 1,
"story_role": "opening",
"archetype_id": "title_slide",
"action_title": "..."
}
]
},
"ops": {
"operations": [
{"op": "add_slide", "layout_name": "..."},
{"op": "set_semantic_text", "slide_index": 0, "role": "title", "text": "..."}
]
}
}
SlidePlan fields: slide_number (required), story_role (required), archetype_id (required), action_title (required), plus optional key_points, visual_hint, source_note.
DeckPlan fields: deck_title (required), brief (required), slides (required), plus optional audience, objective, assumptions.
Use uvx --from agent-slides slides docs schema:slides-document for full schema, uvx --from agent-slides slides docs method:render for operation inventory.
Ops Generation Rules
Read references/content-density.md and references/layout-patterns.md before writing ops.
Placeholder awareness:
- Check if the layout has a
TITLE (1)placeholder before usingset_semantic_text role=title. Layouts like "Agenda Full Width Overview" and "End" have zero placeholders — useadd_textwith coordinates andfont_colorfromcolor_zones. - Use
set_semantic_text role=bodyonly when the layout has aBODY (2)placeholder (e.g., "Title and Text"). Otherwise useadd_text. - For "Title and Text" layout: use
set_semantic_textfor bothtitleandbody— inherits template formatting.
Speaker notes (mandatory for key slides):
- Use
add_noteson exec summary, recommendation, and data-heavy slides.
Visual hierarchy (mandatory for rich slides):
- Each content slide: 3+
add_textops — heading (18-22pt bold), body (15-16pt), secondary (14pt gray575757). - Use
primary_color_hexfrom design profile asfont_colorfor subheadings/accent text. - Use
font_color: "575757"for captions and supporting details.
Split-panel composition:
- Left panel (colored): big accent text (24-36pt bold, white), callout numbers, category labels.
- Right panel: repeating header+body pairs — header 20-22pt bold, body 15pt.
- Place action title as first
add_texton right panel atT=0.7.
Callout numbers:
- Big callout numbers (36pt bold) in colored panels with label underneath (18pt).
Shape ops for visual structure (mandatory for rich slides):
add_rounded_rectangle: card backgrounds (place BEFORE text ops).add_rectangle: thin accent bars (height ~0.06").add_oval(equal w/h): number badges.add_line_shape: dividers, timeline connectors, separators.add_rounded_rectanglewithborder_color: insight callout boxes.- See
references/layout-patterns.mdfor patterns.
Icons:
- Use
add_iconon card/column layouts. Place atsize: 0.75on cards,size: 0.55as accents. - Use
color: "FFFFFF"on dark backgrounds, omit for theme colors on light. - Built-in:
generic_circle,generic_square. Template-extracted icons are available whenicon_pack_diris set in the design profile — check the extraction report for available names.
Charts:
add_bar_chartfor comparisons,add_line_chartfor trends,add_pie_chart/add_doughnut_chartfor composition.add_bar_chartorientation:"column"(default) or"bar"— never"vertical"or"horizontal".- Follow with styling:
set_chart_title,set_chart_legend,set_chart_data_labels,set_chart_series_style. set_chart_data_labelsacceptsnumber_format.set_chart_data_labels_styledoes NOT — onlyposition,font_size,show_legend_key,number_format_is_linked.- Set
fill_color_hexper series to match template palette. - Series format:
[["Series Name", [v1, v2, ...]], ...].
Tables:
add_tablewithrowsas 2D string array. Height ~0.5-0.6in/row.- Leave 0.5" between table bottom and footer text.
Source lines:
- Every data slide:
font_size: 9,font_color: "666666"or"999999", attop: 6.8.
Body placeholder clearing (mandatory):
- On "Title and Text" layouts using
add_textinstead ofset_semantic_text role=body: MUST add{"op": "set_semantic_text", "slide_index": N, "role": "body", "text": " "}.
Font color vs. background contrast (mandatory):
- Never
font_color: "FFFFFF"on light backgrounds (F2F2F2,FFFFFF). - Check
color_zones[].bg_colorbefore choosing colors.
Structural slides (mandatory):
- Include
disclaimerslide (second-to-last). Layout already has legal text — justadd_slide. end_slide(last) — minimal: deck title and brief line.- Agenda layouts with fixed labels — don't duplicate via
add_text.
Document properties:
set_core_propertieswithtitle,author,subject.
Step 3) Preflight (required)
Run a project preflight before any render attempt:
uvx --from agent-slides slides preflight --project-dir . --profile design-profile.json --compact
If preflight reports missing artifacts, broken profile paths, or dependency issues, fix those before continuing.
Step 4) Dry-run (required)
uvx --from agent-slides slides render --slides-json @slides.json --profile design-profile.json --dry-run --compact
Step 5) Render
uvx --from agent-slides slides render --slides-json @slides.json --profile design-profile.json --output output.pptx --compact
Step 6) QA gate (required)
Read references/common-mistakes.md and review the pre-generation checklist.
uvx --from agent-slides slides qa output.pptx --profile design-profile.json \
--slides-json @slides.json --out qa.json --compact
Review the output against the 25 ranked common mistakes. Note both issues found AND positive findings (things the deck does well).
Placeholder Rules
- Never use
set_placeholder_textwith guessed indices. Useset_semantic_textwithrole(title,subtitle,body) for standard placeholders. - Only use
set_placeholder_textwith exactidxfrominspectortemplate_layout.json.
Split-Panel Layout Rules
For layouts where the title placeholder sits in a side panel (not at the top):
- Set
set_semantic_texttitle to" "to clear the placeholder. - Place the slide title as
add_textat the top of the RIGHT panel (T=0.7). - Place left-panel content only in
editable_above/editable_belowareas. - Use
color_zones[].text_colorforfont_coloron alladd_textops.
Check resolved_manifest.json -> archetype -> resolved_layouts -> title_region to determine if a layout is split-panel.
Anti-patterns (what NOT to do)
- Don't generate ops without reading
resolved_manifest.jsonfirst — layout names, geometry, and color zones must come from the contract - Don't guess placeholder indices — use
set_semantic_textwithroleor exactidxfrom inspect - Don't use
font_color: "FFFFFF"on light backgrounds or"333333"on dark backgrounds - Don't duplicate fixed labels on agenda or structural layouts
- Don't skip the dry-run — it catches schema/op errors before rendering
- Don't add visual elements to title, disclaimer, or end slides
Error Handling
On any slides error, run uvx --from agent-slides slides docs method:preflight, uvx --from agent-slides slides docs method:render, or uvx --from agent-slides slides docs schema:slides-document to verify the current contract before retrying.
Acceptance Criteria
- Output PPTX exists.
qa.jsonreports"ok": true.- No unresolved-token or contract-critical issues.
slides preflightreports"ok": truebefore render.- All content slides have action titles (complete sentences).
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
コメント
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
同じリポジトリのスキル
Convert literature reviews, paper folders, thesis drafts, journal-style reports, or research outlines into rigorous academic slide decks and review artifacts. Use when Codex must create, rebuild, or polish PPTX presentations from scholarly sources while preserving academic logic, citation-aware image/formula handling, editable layouts, figure explanations, template fidelity, and export-based visual QA.
日本語の概要は準備中です。原文の説明を表示しています。
既存PPTXの書式・配置を抽出し、planとnative編集操作からPowerPointを生成・検査する。
読者と目的から構成・版式を決め、確認を挟みながら、編集できる図形と文字のPPTXにする。
aham-ppt
無料全流程AI制作PPT演示文稿技能,克制专业、风格可选 A/B/C 三档(Aham UI v6.1 · Office 轨 · PPT)。 当用户说"帮我做PPT""做演示文稿""做一个汇报""根据这份资料做PPT" "做客户方案PPT""制作幻灯片"时立即触发。即使只有一句话需求也触发。 八阶段模块化流程:规范加载→材料解析→论点提炼→叙事骨架→大纲版式→样稿确认→逐页设计→质检交付。 内置能力自适应教练机制,无论用户专业水平高低,均引导至及格以上输出。 注意:本技能用于 PowerPoint / pptx 输出;SVG/HTML 版本见 ppt-svg 技能。
日本語の概要は準備中です。原文の説明を表示しています。
原典のReact scene kitを実scaffoldし、安定layoutIdの共通canvasでentityが移動・morphする日本語ブラウザ資料を作る。