theme-template-ppt
Create PowerPoint decks from assets/template.pptx by first structuring each slide's core claim, then inspecting/ranking template slide-master layouts…
Skill by anaregdesign
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/anaregdesign-theme-template-ppt
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations, data, writing, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/theme-template-ppt
What's inside
- Skill name
theme-template-ppt- Description
- Create PowerPoint decks from assets/template.pptx by first structuring each slide's core claim, then inspecting/ranking template slide-master layouts, deciding and locking the assigned layout (`layout_name` or `layout`) when needed, and finally writing content to fit selected placeholders. Use when asked to research a topic, draft slide headers, expand headers into slide-ready content, generate chart/table visuals, run build/lint scripts, and return final .pptx outputs. Do not use for Python environment provisioning (use python-venv).
- License
- MIT
- Instructions
- 378 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (14)
- SKILL.md
- openai.yaml · agents/
- .gitkeep · assets/fonts/
- template.pptx · assets/
- chart-spec-schema.md · references/
- deck-plan-schema.md · references/
- quality-gates.md · references/
- add_slide.py · scripts/
- build_pptx.py · scripts/
- ensure_workdir_key.bash · scripts/
- lint_pptx.py · scripts/
- make_chart.py · scripts/
- requirements.txt · scripts/
- validate_json.py · scripts/
SKILL.md (first lines)
# Theme Template PPT Create a PowerPoint deck from a theme and an assets template while keeping each slide visually clear and non-busy. ## Skill Boundary - This skill handles: - research and draft slide content, - create deck/chart JSON inputs, - inspect template master layouts, - run `make_chart.py`, `build_pptx.py`, and `lint_pptx.py`, - return output paths and source list. - This skill does not provision Python environments. - Run this workflow only after the environment is prepared (for example by `python-venv`). ## Hard Rules - Keep responsibility separation: - `python-venv`: environment creation/switch/dependency install only. - `theme-template-ppt`: research/planning/build/lint/output only. - Do not call `python-venv` scripts from this skill. - In LocalPlayground `skill_run_script`, set `path` to files under this skill's `scripts/` only. - Never pass executables like `python3`, `bash`, or `uv` as `skill_run_script.path`. - Do not use `skill_read_asset` for files under `scripts/` or `references/`. - Do not read `assets/template.pptx` as base64 or plain text. - Do not run `skill_list_resources` just to inspect template internals. - Use only layouts that already exist in template slide masters. - Determine layout first from page intent + master-placeholder composition. - Before writing detailed page copy, verbalize each page intent first (for example: `title_cover`, `text_dense`, `text_brief`, `visual_split`, `visual_focus`, `table_comparison`, `table_focus`, `hybrid_data`). - Match layout by both title semantics and composition features (placeholder counts, column split, title position, visual/table slots), not by a single keyword. - Reduce usage bias by preferring less-used layouts when multiple candidates are similarly suitable. - Fill selected layout placeholders after layout selection (title/subtitle/body/visual/table) and avoid absolute-position overrides unless explicitly required. - When a layout has multiple body placeholders, distribute bullets across suitable body placeholders (prefer larger text slots first) instead of forcing all bullets into one box. - Use scripts only for deterministic steps (layout inspection/ranking, build/lint, placeholder insertion). - Let LLM handle semantic work (per-slide claim structuring, candidate comparison reasoning, and rewriting content to fit selected placeholder slots). - After deciding layout, lock it in plan using `layout_name` (preferred) or `layout` (catalog index). If omitted, renderer auto-selects. - Always include agenda and summary slides. - Control section order via `plan.auto_slide_order` (`agenda,title,content,summary` by default). - The runtime template can be replaced for each use; always inspect and validate masters every run. - If required layout profiles are missing, create and add them to the slide master before appending slides. - If MCP server `mcp-mermaid` is connected, proactively generate architecture/process diagrams through it and prefer those visuals over text-only explanations. - Save Mermaid-rendered diagram files only under the same active work directory, using `"$WORK_DIR/assets/generated/mermaid/"`. - Do not write Mermaid output files outside the active work directory. - Reference Mermaid files from slide `visual.path` using paths resolved from `"$WORK_DIR/deck_plan.json"`. - Never pass non-JSON files to: - `scripts/make_chart.py --spec` - `scripts/build_pptx.py --plan` - Keep output language aligned with user prompt language across: - slide titles/body text, - chart titles/labels/legends, - table headers/cells and captions. - Set `plan.language` (`ja` or `en`) and pass matching `language` in chart specs. - Always run `scripts/ensure_workdir_key.bash` once before build/lint/chart steps. - If required runtime dependencies are missing, stop and ask for environment provisioning handoff. ## Input Contract - Collect: theme, target audience, objective, required decision/action, preferred slide count, and deadline. - Collect: optional `slide_title` for output filename. - Use `assets/template.pptx` as the canonical template. - Place reusable visuals (logo/icons/brand images) in `assets/`. - Ask focused follow-up questions only when required inputs are missing. ## Work Directory and Output Policy - Use this fixed root: `~/.foundry_local_playground/outputs/pptx/`. - Use this fixed working/output directory pattern: `~/.foundry_local_playground/outputs/pptx/<work_key>/`. - Work key priority: - `--thread-key` - `THEME_TEMPLATE_PPT_WORK_KEY` - fallback envs (`PPTX_WORKDIR_KEY`, `CODEX_THREAD_ID`) - auto-generated unique key - In LocalPlayground, persist `THEME_TEMPLATE_PPT_WORK_KEY` across turns via `scripts/ensure_workdir_key.bash`. - Stage template in that directory before building slides. - Insert slides in order into the staged template. - Save final `.pptx` in the same directory. ## Python Dependencies - Do not install dependencies in this skill. - Hand off dependency setup to `python-venv` skill before running this skill. - Packages: - `python-pptx` - `Pillow` - `matplotlib` - `japanize-matplotlib` ## Font Policy (Matplotlib Japanese Safety) - For Japanese charts, ensure one of the following exists: - `japanize-matplotlib` is installed, - `font_path` is specified in chart spec, - Japanese font files are available under `assets/fonts/`. - Prefer explicit `font_path` for deterministic rendering in CI/runtime. - Keep chart font family consistent with template tone (for example Noto Sans JP). ## Script Input Contract (Critical) - `scripts/make_chart.py --spec` accepts: - JSON file path only. - `scripts/make_chart.py` also supports inline quick args when `--spec` is omitted: - `--type`, `--labels`, `--values`, optional `--title`. - `scripts/build_pptx.py --plan` accepts: - JSON file path only. - `scripts/build_pptx.py --suggest-layouts --plan` accepts: - JSON file path only, and prints ranked layout candidates per slide. - `scripts/add_slide.py --spec` accepts: - JSON file path only. - Never pass Markdown, text requirements, or PPT/PPTX files as `--spec` or `--plan`. - Always write machine-readable JSON to files before running build/lint steps. - Always pass absolute JSON file paths to scripts. - Required before build: - `<work_dir>/deck_plan.json` (required) - Optional JSON files: - `<work_dir>/chart_spec_*.json` (when generating charts) - `<work_dir>/slide_spec_*.json` (when appending slides manually) - Run JSON preflight before script execution: - `scripts/validate_json.py <chart_spec.json>` - `scripts/validate_json.py <deck_plan.json>`
From anaregdesign/skills, MIT.
More from anaregdesign/skills
- 0.448score
azure-spa-clean-architecture-bootstrap
anaregdesign
Own Azure platform, identity, secretless config, IaC, and GitHub release and deployment automation for React Router + Prisma v7 web apps that already follow…
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
enforce-react-spa-architecture
anaregdesign
Own code-level clean-architecture guardrails for Vite-powered React Router + Prisma v7 applications.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
spec-driven-workflow
anaregdesign
Own the spec-first planning workflow for feature or behavior work.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
python-current-time
anaregdesign
Return the current local time by running a bundled Python script.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
python-venv
anaregdesign
Always use this skill before any explicit or implicit Python execution in a workspace (for example python/python3 commands, shebang scripts, test/build tools…
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
jp-business-email-reply
anaregdesign
Draft Japanese business email replies by extracting stakeholders, classifying intent, coordinating schedules via Work IQ MCP server, and answering Microsoft…
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
nisa-growth-tech
anaregdesign
NISA成長投資枠で買付可能な個別株(ETF除く)を対象に、産業ごとの非連続成長に着目し、投資テーマごとに複数の強豪銘柄を選定して分散しつつ、最大許容ドローダウンとリスク予算(テーマ/銘柄)を事前定義して、ベンチマーク超のボラティリティとリターンを狙う運用改善提案を行う。
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 2, 2026 (8 months ago)
- Last release
- Mar 11, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/anaregdesign/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from anaregdesign
- 0.448score
azure-spa-clean-architecture-bootstrap
anaregdesign
Own Azure platform, identity, secretless config, IaC, and GitHub release and deployment automation for React Router + Prisma v7 web apps that already follow…
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
enforce-react-spa-architecture
anaregdesign
Own code-level clean-architecture guardrails for Vite-powered React Router + Prisma v7 applications.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
spec-driven-workflow
anaregdesign
Own the spec-first planning workflow for feature or behavior work.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
python-current-time
anaregdesign
Return the current local time by running a bundled Python script.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
python-venv
anaregdesign
Always use this skill before any explicit or implicit Python execution in a workspace (for example python/python3 commands, shebang scripts, test/build tools…
SkillDFreshness: D★ 2Claude Code +9 - 0.440score
jp-business-email-reply
anaregdesign
Draft Japanese business email replies by extracting stakeholders, classifying intent, coordinating schedules via Work IQ MCP server, and answering Microsoft…
SkillDFreshness: D★ 2Claude Code +9
Cite this page
theme-template-ppt skill. Agent Mart. https://agentmart.dev/skills/anaregdesign-theme-template-ppt (last updated 2026-10-24)