md2ppt
Use when the user wants to turn a Markdown report into a presentation-quality .pptx via interactive design decisions and a reusable hand-coded build script.
Skill by KerberosClaw
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/kerberosclaw-md2ppt
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: documents, presentations, design, data
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/md2ppt
What's inside
- Skill name
md2ppt- Description
- Use when the user wants to turn a Markdown report into a presentation-quality .pptx via interactive design decisions and a reusable hand-coded build script. Drives pre-analysis, global style choices, optional per-slide layout dialogue, python-pptx composition, and optional LibreOffice render self-check. NOT a generic auto-converter, NOT for PDF output, and NOT a fixed brand-template pipeline — brand integration is handled ad hoc through helper primitives.
- License
- MIT
- Instructions
- 422 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (7)
- SKILL.md
- DESIGN.md · docs/
- build_quarterly_review.py · examples/
- build_quarterly_review_branded.py · examples/
- md_analyze.py · scripts/
- pptx_helpers.py · scripts/
- render_mermaid.sh · scripts/
SKILL.md (first lines)
# md2ppt You are a senior presentation designer working interactively with the user to turn a Markdown report into a polished `.pptx`. You do NOT auto-convert — generic markdown → pptx auto-conversion produces low-quality decks. Instead, you: 1. Pre-analyze the input markdown 2. Run a **numbered-list quiz** to lock global design decisions 3. Walk through each slide, proposing layout, asking user when ambiguous 4. Compose a **hand-coded build script** using `scripts/pptx_helpers.py` 5. Render → preview → iterate per-slide patches 6. Save the build script for future content updates ## Trigger ``` /md2ppt path/to/report.md /md2ppt path/to/report.md path/to/output.pptx ``` If output path omitted, default to same dir as input with `.pptx` extension. For brand-template integration (套公版 / inheriting an existing .pptx's theme + chrome), see "Brand template (ad-hoc, optional)" near end. Brand integration is not part of the default workflow — every template is unique and prescribing a generic workflow produces wrong layout choices. Handle via direct LLM-user dialogue using the helper primitives. ## Prerequisites Check **MANDATORY** before anything else: ```bash # Check or create shared venv (~/.venv_pptx) test -d ~/.venv_pptx || python3 -m venv ~/.venv_pptx ~/.venv_pptx/bin/pip install -q python-pptx pillow # Check mmdc (for mermaid rendering, optional but recommended) which mmdc || echo "mmdc missing — install: npm install -g @mermaid-js/mermaid-cli" # Check soffice (for Step 6.5 self-check, optional) SOFFICE="$(which soffice 2>/dev/null || ls /Applications/LibreOffice.app/Contents/MacOS/soffice 2>/dev/null)" test -n "$SOFFICE" || echo "soffice missing — install: brew install --cask libreoffice (optional, enables Step 6.5 visual self-check)" ``` - If `mmdc` missing: ask user install (recommended) or skip mermaid → all diagrams as ASCII monospace. - If `soffice` missing: skip Step 6.5 self-check silently; user does manual review only. ## Workflow ### Step 1: Read input.md + pre-analyze Use `scripts/md_analyze.py`: ```bash ~/.venv_pptx/bin/python ~/.claude/skills/md2ppt/scripts/md_analyze.py <input.md> ``` Output: ``` H1 (cover): <title or "MISSING"> H2 sections: N H3 subsections: M Tables: K (largest: R rows × C cols) Code blocks: X (ASCII art: A, mermaid: B, plain code: C) Bullet lists: Y Estimated slides: Z (1 cover + N H2 + 1 Q&A) ``` Show summary to user. **DO NOT proceed without user seeing this.** ### Step 2: Global design quiz (numbered list) Ask the user the following — one question per turn, wait for answer before next: **Q1. Slide grouping.** Default: 1 H2 = 1 slide + cover + Q&A. Show estimated slide list. User can: (a) accept default (b) merge sections (which → which) (c) split a heavy section into 2-3 slides **Q2. Style preset.** Pick: (a) `corporate_blue` (深藍標題 + PingFang TC + 紅強調 + 綠 OK,商務風) (b) `minimal_dark` (黑底白字 + 簡潔) (c) custom (user 提供 hex 色碼 + 字型) **Q3. Cover + Q&A slides.** Yes / no / 只要 cover / 只要 Q&A **Q4. Diagram rendering strategy.** For mermaid blocks + ASCII art blocks found in step 1: (a) all mermaid → PNG; ASCII art stay monospace (b) all → mermaid PNG (convert ASCII art too — agent attempts conversion, asks user to confirm each) (c) all → ASCII monospace (no mmdc dependency) (d) per-block decide (ask each) **Q5. Per-slide layout granularity.** (a) auto (helpers pick best layout per slide based on content type) (b) walk-through (ask user for each slide — recommended for important deck) If user answers Q5(b), proceed to Step 3. If Q5(a), skip to Step 4. ### Step 3: Per-slide walk-through (if Q5 = b) For each slide group: - Show slide draft as text outline (title / subtitle / blocks summary) - Propose layout from this decision table: | Content type | Suggested layout | |---|---| | Single mermaid / image | Title + image fit + center align | | Single table (≤ 6 rows) | Title + table full width | | Single table (> 6 rows) | Split 2 slides OR shrink font + col widths | | Bullets only | Title + bullet textbox | | Bullets + small table | Two-column (bullets left + table right) | | ASCII art (flow / topology) | Title + monospace textbox + colored highlights | | Bar chart data | Title + python-pptx native bars (helper `add_log_bar`) | | Mixed (bullets + image + para) | Confirm layout with user — too ambiguous | User can override each. Lock final layout for this slide. ### Step 4: Compose build script
From KerberosClaw/kc_ai_skills, MIT.
More from KerberosClaw/kc_ai_skills
- 0.676score
align
KerberosClaw
Reconcile existing repository documentation with the current implementation, especially after verified hotfixes or after QA in an unattended task.
SkillAFreshness: A★ 79Claude Code +9 - 0.676score
goal-engineer
KerberosClaw
Author a self-contained unattended dispatch for a generate-and-select loop (generate candidates, grade, iterate, keep the best for human selection), or for a…
SkillAFreshness: A★ 79Claude Code +9 - 0.676score
ctf-kit
KerberosClaw
Use when the user is solving an authorized CTF / lab reverse-engineering challenge focused on Windows application authentication or license-check bypass.
SkillAFreshness: A★ 79Claude Code - 0.671score
adr
KerberosClaw
Use when a durable technical decision was just made in conversation and should be recorded, or when user asks to write/record an ADR (開 ADR / 記個決策 / 這要不要 ADR).
SkillAFreshness: A★ 79Claude Code +9 - 0.671score
workflow-router
KerberosClaw
Use when the user is unsure which kc_ai_skills workflow skill to use, or describes work involving PRD, SD/software design, FR, AC/acceptance criteria, ADR…
SkillAFreshness: A★ 79Claude Code +9 - 0.651score
spec
KerberosClaw
Use when the user wants a spec-driven development workflow for implementing a feature in the current codebase, from fuzzy idea or existing active spec through…
SkillAFreshness: A★ 79Claude Code +9 - 0.647score
ios-resign
KerberosClaw
Use when the user wants to rebuild, re-sign and reinstall one of their own iOS apps onto their iPhone(s) — typically because a free Apple ID provisioning…
SkillAFreshness: A★ 79Claude Code +9 - 0.632score
wrap-up
KerberosClaw
Use ONLY when the user's latest message explicitly contains the `/wrap-up` command.
SkillBFreshness: B★ 79Claude Code +9 - 0.631score
diagnose
KerberosClaw
Use when the user reports misbehaving software to investigate — a bug, crash, wrong output, flaky behavior, or '為什麼壞掉/不會動/查一下' — and the root cause is not yet…
SkillBFreshness: B★ 79Claude Code +9 - 0.631score
job-scout
KerberosClaw
Use when the user is considering applying to, interviewing with, or accepting an offer from a company and wants due diligence on the company and optionally a…
SkillBFreshness: B★ 79Claude Code +9 - 0.631score
prep-repo
KerberosClaw
Prepare an existing project for GitHub or public release with scope-appropriate checks for sensitive data, documentation, installation, tests and release…
SkillBFreshness: B★ 79Claude Code +9 - 0.611score
memory-lint
KerberosClaw
Use when the user wants to lint a Claude Code memory directory (~/.claude/memory or custom path) for index inconsistency, broken cross-links, stale project…
SkillBFreshness: B★ 79Claude Code +9
Signals
- Stars
- 79
- Forks
- 14
- Open issues
- 0
- Last commit (this folder)
- Jul 15, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/KerberosClaw/kc_ai_skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from KerberosClaw
- 0.676score
align
KerberosClaw
Reconcile existing repository documentation with the current implementation, especially after verified hotfixes or after QA in an unattended task.
SkillAFreshness: A★ 79Claude Code +9 - 0.676score
goal-engineer
KerberosClaw
Author a self-contained unattended dispatch for a generate-and-select loop (generate candidates, grade, iterate, keep the best for human selection), or for a…
SkillAFreshness: A★ 79Claude Code +9 - 0.676score
ctf-kit
KerberosClaw
Use when the user is solving an authorized CTF / lab reverse-engineering challenge focused on Windows application authentication or license-check bypass.
SkillAFreshness: A★ 79Claude Code - 0.671score
adr
KerberosClaw
Use when a durable technical decision was just made in conversation and should be recorded, or when user asks to write/record an ADR (開 ADR / 記個決策 / 這要不要 ADR).
SkillAFreshness: A★ 79Claude Code +9 - 0.671score
workflow-router
KerberosClaw
Use when the user is unsure which kc_ai_skills workflow skill to use, or describes work involving PRD, SD/software design, FR, AC/acceptance criteria, ADR…
SkillAFreshness: A★ 79Claude Code +9 - 0.651score
spec
KerberosClaw
Use when the user wants a spec-driven development workflow for implementing a feature in the current codebase, from fuzzy idea or existing active spec through…
SkillAFreshness: A★ 79Claude Code +9
Cite this page
md2ppt skill. Agent Mart. https://agentmart.dev/skills/kerberosclaw-md2ppt (last updated 2026-10-24)