PowerPoint PPTX Toolkit
XiaomiMiMo/MiMo-Code
Creates, edits and reads PowerPoint .pptx files with python-pptx or PptxGenJS, with scripts for XML edits, text dumps, PDF and image rendering, and thumbnails.
Builds consultant-style PowerPoint decks from scratch with the MckEngine python-pptx wrapper, through a five-stage flow with scripted quality gates.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install likaku/Mck-ppt-design-skill mck-ppt-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mck-ppt-design" agent skill from https://github.com/likaku/Mck-ppt-design-skill/tree/main into .claude/skills/mck-ppt-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mck-ppt-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install likaku/Mck-ppt-design-skill mck-ppt-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mck-ppt-design" agent skill from https://github.com/likaku/Mck-ppt-design-skill/tree/main into .agents/skills/mck-ppt-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mck-ppt-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install likaku/Mck-ppt-design-skill mck-ppt-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mck-ppt-design" agent skill from https://github.com/likaku/Mck-ppt-design-skill/tree/main into .cursor/skills/mck-ppt-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mck-ppt-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install likaku/Mck-ppt-design-skill mck-ppt-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mck-ppt-design" agent skill from https://github.com/likaku/Mck-ppt-design-skill/tree/main into .gemini/skills/mck-ppt-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mck-ppt-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install likaku/Mck-ppt-design-skill mck-ppt-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mck-ppt-design" agent skill from https://github.com/likaku/Mck-ppt-design-skill/tree/main into .github/skills/mck-ppt-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mck-ppt-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install likaku/Mck-ppt-design-skill mck-ppt-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mck-ppt-design" agent skill from https://github.com/likaku/Mck-ppt-design-skill/tree/main into .opencode/skills/mck-ppt-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mck-ppt-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mck-ppt-designBuilds consultant-style PowerPoint decks from scratch with the MckEngine python-pptx wrapper, through a five-stage flow with scripted quality gates.
Pitch decks, strategy decks, quarterly reviews and board slides are built with MckEngine, a python-pptx wrapper. The agent calls high-level methods such as eng.cover(), eng.donut() and eng.timeline(), 67 of them across 12 categories, with consistent typography, native shapes for circular charts and guard rails for spacing, overflow, legend consistency and variable-count layouts. Cover images can be generated with Tencent Hunyuan 2.0.
Every deck goes through a five-stage flow tracked as tasks, with context loaded only for the current stage: requirements, structure, content, rendering and delivery. The skill is blunt about three failure patterns, the first being an agent that announces in words that a gate passed. The content and render gates must instead be run with gate_check_s3.py and gate_check.py, and their JSON result must show passed as true before moving on. Fixes to pattern-level problems are logged in an experiences folder. It needs the Read, Write and Bash tools and pip install python-pptx lxml.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e190e08. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
McKinsey-Style PPT Design loads about 2.1k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 251 tokens; SKILL.md has 398 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from likaku/Mck-ppt-design-skill at commit e190e08, republished under its Apache-2.0 licence (© likaku). 398 words, ~2,096 tokens.
.claude/skills/mck-ppt-design/SKILL.md (or your agent's skills folder). This skill also uses 62 other files; get the full folder from GitHub.Version: 2.3.3-harness-v2 · Engine: MckEngine (python-pptx) · Author: likaku
Required tools: Read, Write, Bash · Requires:
pip install python-pptx lxml
告诉 AI 要做什么效果一般,告诉它前人最容易在哪里塌效果更好。 以下三种反模式均已在真实执行中被验证,每次必须主动警惕。
错误做法:
「S4 QA 共 7 个 errors,判断均为 engine 设计行为,门禁通过,进入 S5」
问题所在:passed 是由 AI 口头判断的,不是由程序派生的。无论理由多充分,这句话都是 AI 在给自己写完成证书。
正确做法:
python references/scripts/gate_check.py <pptx路径> <项目目录><项目目录>/gate_result.jsongate_result.json 中 "passed": true 时,才能进入 S5"passed": false,修复 user_code_errors 列表中的问题,重新渲染,再次执行 gate_check错误做法:
「S3 内容门禁预检:API 格式正确,字数在限制内,通过,进入 S4」(没有执行任何代码)
问题所在:今天真实发生的 3 个 API 格式错误(four_column/matrix_2x2/executive_summary 参数格式),靠脑子过是过不出来的,必须靠代码检查。
正确做法:
python references/scripts/gate_check_s3.py <content.json路径> <项目目录><项目目录>/gate_s3.json"passed": true 时,才能进入 S4fail 项,修正 content.json,重新执行 gate_check_s3错误做法:
「peer_font_inconsistency 是 engine 内部设计行为,不是用户代码问题,可以放行」
问题所在:这个分类本身是正确的,但由 AI 在对话里口头做出,等于把豁免权交给了 AI 自己——而 AI 有动机让自己通过。
正确做法:
gate_check.py 里有硬编码的 ENGINE_BUG_WHITELIST 枚举。只有在白名单里的 error category,才会被豁免。白名单是代码,不是 AI 的判断。如果你认为某类 error 应该加入白名单,修改 gate_check.py 里的枚举,而不是口头声明豁免。
experiences/ 对应文件sys.path.insert(0, os.path.expanduser('~/.workbuddy/skills/mck-ppt-design'))在每个阶段开始时,读对应文件。不要一次性全读。
| 阶段 | 必须读 | 说明 |
|---|---|---|
| S1 需求 | references/team/brand-guide.md | 了解设计约束 |
| S2 结构 | references/framework/engine-api.md + references/layout-matrix.yaml | 版式选择和能力边界 |
| S3 内容 | references/framework/guard-rails.md + experiences/*.md(存在时) | 防溢出规则 + 历史踩坑 |
| S4 渲染 | 用到的 references/layouts/*.md(只读实际用到的版式) | 版式实现细节 |
| S5 交付 | 无 | — |
完整路由表:references/INDEX.md
┌─────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────┐
│ S1 需求 │──▶│ S2 结构 ⭐ │──▶│ S3 内容 ⭐ │──▶│ S4 渲染+QA ⭐⭐│──▶│ S5 交付 │
│ brief.md│ │ outline.json│ │content.json │ │ .pptx │ │ + 沉淀 │
└─────────┘ └─────────────┘ └─────────────┘ └──────────────┘ └──────────┘
⭐ = 门禁(FAIL 则在本阶段修正,不得跳过)
S3/S4 门禁必须运行 gate_check 脚本,读 JSON 结果 — 不得口头宣布通过读文件:references/team/brand-guide.md
收集信息:
产出:在工作目录创建 ppt-project-{slug}/brief.md
门禁:audience + goal + key_messages 三项非空(AI 自评即可)
读文件:references/framework/engine-api.md, references/layout-matrix.yaml
任务:
layout(查 engine-api.md 速查表)key_point(完整句子,不是标签)产出:ppt-project-{slug}/outline.json
{
"brief": {"audience": "董事会", "goal": "战略汇报", "duration_minutes": 15},
"slides": [
{"idx": 1, "layout": "cover", "title": "Q1 2026 战略回顾", "key_point": ""},
{"idx": 2, "layout": "toc", "title": "目录", "key_point": ""},
{"idx": 3, "layout": "table_insight", "title": "市场格局三大转变驱动战略重构", "key_point": ""}
]
}⭐ 门禁 S2(AI 自评):
cover 幻灯片存在count <= duration_minutes * 1.2)layout-matrix.yaml 中有定义two_column_text 数量 ≤ 1读文件:references/framework/guard-rails.md, experiences/*.md(全部存在的文件)
任务:
source 出处layout-matrix.yaml 的 char_budget 控制文字量产出:ppt-project-{slug}/content.json
⭐ 门禁 S3(必须机读化,不得 AI 自评):
python ~/.workbuddy/skills/mck-ppt-design/references/scripts/gate_check_s3.py \
<项目目录>/content.json <项目目录>读取 <项目目录>/gate_s3.json:
"passed": true → 进入 S4"passed": false → 修正 content.json 中 fail_items 列出的问题,重新执行读文件:用到的版式对应的 references/layouts/*.md
任务:
content.json 生成 Python 渲染脚本.pptx⭐⭐ 门禁 S4(必须机读化,不得口头宣布通过):
python ~/.workbuddy/skills/mck-ppt-design/references/scripts/gate_check.py \
<pptx路径> <项目目录>读取 <项目目录>/gate_result.json:
"passed": true → 进入 S5"passed": false → 查看 user_code_errors,修复渲染代码,重新渲染,再次执行注意:engine_bug 类 errors(peer_font_inconsistency 等白名单条目)由脚本自动豁免,不需要 AI 口头判断。
产出:<项目目录>/gate_result.json + .pptx
任务:
gate_result.json 确认 passed: true(不得在无此文件时声称通过).pptx 文件⭐ Self-Refinement 协议:
修正后判断:
ONE-TIME(单次特定调整)→ 不需要沉淀
PATTERN(跨 deck 可重现的问题)→ 必须写入 experiences/
- 溢出类 → experiences/overflow.md
- 图表限制 → experiences/chart-limits.md
- 版式踩坑 → experiences/layout-pitfalls.md
- 中文渲染 → experiences/cjk-issues.md
格式:
## Experience NNN: {title}
**Date**: YYYY-MM-DD
**Problem**: ...
**Root Cause**: ...
**Fix**: ...
**Rule**: ...(门禁层面如何预防)满足全部条件时,AI 可跳过 S2 结构评审和 S3 内容审查:
仍然必须:S1 需求收集 + S4 QA 门禁(gate_check.py 脚本执行)+ S5 交付
当用户说"继续做那个 PPT"时:
import os, json, glob
projects = glob.glob('ppt-project-*/')
for proj in projects:
brief = os.path.exists(f'{proj}brief.md')
outline = os.path.exists(f'{proj}outline.json')
content = os.path.exists(f'{proj}content.json')
gate_s3 = os.path.exists(f'{proj}gate_s3.json')
gate_s4 = os.path.exists(f'{proj}gate_result.json')
pptx = bool(glob.glob(f'{proj}*.pptx'))
if not brief: stage = 1
elif not outline: stage = 2
elif not content: stage = 3
elif not gate_s3: stage = '3-gate' # content 有了但 gate 还没跑
elif not pptx: stage = 4
elif not gate_s4: stage = '4-gate' # pptx 有了但 gate 还没跑
else: stage = 5
print(f"项目 {proj}: 当前处于 Stage {stage}")import sys, os
sys.path.insert(0, os.path.expanduser('~/.workbuddy/skills/mck-ppt-design'))
from mck_ppt import MckEngine
from mck_ppt.constants import *
eng = MckEngine(total_slides=12)
eng.cover(title='标题', subtitle='副标题', author='作者', date='2026年')
eng.toc(items=[('1', '章节一', '一句话描述'), ('2', '章节二', '一句话描述')])
# ... 内容页 ...
eng.closing(title='谢谢', message='期待进一步交流')
eng.save('output/deck.pptx') # 自动 full_cleanup详细 API:references/framework/engine-api.md
版式规范:references/layouts/
10条护栏:references/framework/guard-rails.md
版式能力边界:references/layout-matrix.yaml
历史踩坑:experiences/
S3 门禁脚本:references/scripts/gate_check_s3.py
S4 门禁脚本:references/scripts/gate_check.py
© likaku, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 62 other files (scripts, references, assets) in the repository root of likaku/Mck-ppt-design-skill.
Open the folder on GitHubat commit e190e08
McKinsey-Style PPT Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| McKinsey-Style PPT Design this skilllikaku/Mck-ppt-design-skill | 297 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| PowerPoint PPTX ToolkitXiaomiMiMo/MiMo-Code | 14k | — | ~6.8k | Automated safety check: Notes | Apache-2.0 | |
| Python PPTX Generatorsickn33/agentic-awesome-skills | 47k | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Presentationsericrisco/rsc-harness | 180 | — | ~5.2k | Automated safety check: Pass | MIT | |
| PPT Masterhugohe3/ppt-master | 59k | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| PowerPoint Decksanthropics/skills | 180k | 4 repos | ~5.2k | Automated safety check: Pass | Proprietary |
XiaomiMiMo/MiMo-Code
Creates, edits and reads PowerPoint .pptx files with python-pptx or PptxGenJS, with scripts for XML edits, text dumps, PDF and image rendering, and thumbnails.
sickn33/agentic-awesome-skills
Generate complete Python scripts that build polished PowerPoint decks with python-pptx and real slide content.
ericrisco/rsc-harness
A skill your agent uses when building, theming, or exporting a presentation deck — pitch, sales, keynote, board/QBR, leave-behind one-pager — from slide structure to a token-based theme to PDF or…
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
anthropics/skills
Creates, edits, reads and validates .pptx and .potx files, using pptxgenjs for new decks and direct XML edits for existing ones, with helper scripts for thumbnails and checks.
rvdbreemen/OTGW-firmware
Use this skill any time a .pptx file is involved in any way — as input, output, or both.
Works with
Categories
Builds consultant-style PowerPoint decks from scratch with the MckEngine python-pptx wrapper, through a five-stage flow with scripted quality gates. Pitch decks, strategy decks, quarterly reviews and board slides are built with MckEngine, a python-pptx wrapper.timeline(), 67 of them across 12 categories, with consistent typography, native shapes for circular charts and guard rails for spacing, overflow, legend consistency and variable-count layouts.
McKinsey-Style PPT Design fits situations like: creating a consultant-style deck from a brief; building board or quarterly review slides; adding donut, timeline or comparison layouts to a presentation.
Run `npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a claude-code`. Or copy the skill folder (the likaku/Mck-ppt-design-skill repository) into .claude/skills/mck-ppt-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a codex`. Or copy the skill folder (the likaku/Mck-ppt-design-skill repository) into .agents/skills/mck-ppt-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add likaku/Mck-ppt-design-skill --skill mck-ppt-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mck-ppt-design, .gemini/skills/mck-ppt-design, .github/skills/mck-ppt-design and .opencode/skills/mck-ppt-design in your project.
Going by SKILL.md and its folder, McKinsey-Style PPT Design needs the command-line tools its instructions call (python and pip). Our summary lists: Python with python-pptx and lxml installed through pip.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
McKinsey-Style PPT Design is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with McKinsey-Style PPT Design: PowerPoint PPTX Toolkit (XiaomiMiMo/MiMo-Code, 14k stars), Python PPTX Generator (sickn33/agentic-awesome-skills, 47k stars), Presentations (ericrisco/rsc-harness, 180 stars) and PPT Master (hugohe3/ppt-master, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
likaku (a GitHub user) maintains it in likaku/Mck-ppt-design-skill, which has 297 GitHub stars. The repository was last updated on May 10, 2026.
Source: likaku/Mck-ppt-design-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.