Skip to main content

deck-craft

从源材料出发、端到端打造投影就绪的高质量 .pptx 演示成片,覆盖设计系统、python-pptx 构建、逐页专家精修、去 AI 味、演讲逐字稿与备注。当用户要做 PPT / 幻灯片 / 演示文稿 / 课程或工作汇报 / slide deck / presentation,尤其是内容密集、面向投影、要求「高质量 / 精修 / 专业 / 不要 AI 味」的报告型 deck,或要把调研材料整合成一套有叙事的幻灯片、需要中文排版与思源字体、需要演讲稿时,都应使用本技能;即便用户只说「帮我做个 PPT」或「把这些材料做成汇报」也要触发。本技能面向中文及中英混排、输出 .pptx 的投影 deck。判定分界:如果用户要的是内容密集、需要逐页精修、需要去 AI 味的报告型 .pptx deck,用本技能;如果只是单页简单图、纯数据表格导出、机械生成单个 .pptx,或已有 deck 仅做一两处微调,则不适用(轻量单文件 .pptx 读写改用公开的 pptx 技能)。

معلومات المصدر

المستودع
O0000-code/paper-deck-reveal
آخر نشاط في المصدر
٢٢ يوليو ٢٠٢٦ في ١٤:٥٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
16 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
deck-craft
description
从源材料出发、端到端打造投影就绪的高质量 .pptx 演示成片,覆盖设计系统、python-pptx 构建、逐页专家精修、去 AI 味、演讲逐字稿与备注。当用户要做 PPT / 幻灯片 / 演示文稿 / 课程或工作汇报 / slide deck / presentation,尤其是内容密集、面向投影、要求「高质量 / 精修 / 专业 / 不要 AI 味」的报告型 deck,或要把调研材料整合成一套有叙事的幻灯片、需要中文排版与思源字体、需要演讲稿时,都应使用本技能;即便用户只说「帮我做个 PPT」或「把这些材料做成汇报」也要触发。本技能面向中文及中英混排、输出 .pptx 的投影 deck。判定分界:如果用户要的是内容密集、需要逐页精修、需要去 AI 味的报告型 .pptx deck,用本技能;如果只是单页简单图、纯数据表格导出、机械生成单个 .pptx,或已有 deck 仅做一两处微调,则不适用(轻量单文件 .pptx 读写改用公开的 pptx 技能)。
license
Apache-2.0. LICENSE.txt has complete terms
compatibility
Requires Python 3.10+ with python-pptx and Pillow; LibreOffice + poppler for render QA. Oriented to Chinese / mixed-CJK projection decks. Built for Claude Code; runs on any agent that loads SKILL.md.
metadata
{"version":"1.0.0"}
# deck-craft Build projection-ready, content-dense, high-quality presentation decks from source material, through a disciplined pipeline: understand → unify the information spine → ready the environment & fonts → research-design round → build → render QA → per-page expert polish → de-AI-ify → speaker script → speaker notes. The output is a `.pptx` (plus a PDF for sharing, and an optional notes version) that reads cleanly when projected and tells one coherent story. This skill encodes a complete, reusable design system in `scripts/deck_kit.py` and the methodology in `references/`. Read this body for what to do and when; go to the referenced files for the detail. ## 1. When to use / not use This skill is oriented to **Chinese / mixed CJK-latin projection decks** (the divider chapter labels and the like are localizable to English; see §3 P-build and the `CHAPTER_LABEL` token in `deck_kit.py`). The dividing line is the **kind of work**, not just the trigger words: - **Light, single-`.pptx` read/write or mechanical generation** (parse a deck, pull its text, emit one slide from data, drop comments in, split/merge files): use the `pptx` skill. It is the right tool when no narrative design or per-page polish is needed. - **Research-driven narrative + per-page expert polish + projection typography + de-AI-ified report-grade deck** (turn a pile of research / interview / report material into one coherent, projection-facing story, then iterate it to high quality): use **this** skill. That is the report-grade case the whole pipeline below exists for. - If you have a more general-purpose slide pipeline available, reach for this skill specifically when the deck must be content-dense, projection-readable (16 pt body floor), and free of AI tone. **Not for:** a single one-off diagram, a plain data-table export, or a one- or two-spot tweak to an existing deck. ## 2. Core principles (three invariants) 1. **Projection floor: body >= 16 pt; quiet luxury.** A 13.333 in canvas on a 2–4 m screen viewed from 3–8 m has a far smaller visual angle than a web page at arm's length, so any text carrying real information stays >= 16 pt. The look is white / near-white foundation (~90%) + a neutral grey scale + ONE desaturated accent used only as garnish (<5% area), with no full-page color blocks. 2. **findings-first.** Introduce the object objectively (what it is, what's there, what's good) BEFORE diagnosing it. "If you don't introduce it, how can you talk about its flaws?" The arc is introduce → diagnose → improve → close. 3. **Iterate only on the real render, never on an imagined one.** python-pptx is invisible; CJK fallback, overflow, and line-breaks only show up rendered. Render after every layout-affecting change and look before judging. ## 3. The nine-step pipeline (P0–P9) **Match the ceremony to the task size.** A 5–10 page small deck trims P3 and P6: build directly with `deck_kit.py` and do one self-review round; the "lead self-builds and self-verifies" lines below are about who owns quality, not a ban on a quick path. Only a content-dense large report walks the full parallel-expert flow. Default for a real report is the whole pipeline; full detail and the WHY of each step is in `references/pipeline.md`. - **P0 · Understand the domain** (lead agent, not outsourced): read the course / brand / business material, align on audience and taste, output a short alignment note. Building context yourself is what lets you judge and synthesize. - **P1 · Absorb sources + lock the information spine** (lead): convert all sources to md, read each, find framework conflicts, and lock ONE backbone (others map under it). A deck's quality is first its information architecture. See `references/content_and_narrative.md`. - **P2 · Environment & fonts ready** (lead): verify python-pptx / Pillow / render chain; install premium fonts and **render-test Regular + Bold before a full build**. Run `scripts/install_fonts.sh`; see `references/build_and_qa.md` §7. No network? `install_fonts.sh` now skips the download and you fall back to an installed system CJK font (macOS PingFang SC, or an already-installed 思源 / Source Han); point `deck_kit.py`'s SANS/SERIF at it and render-verify. - **P3 · Research-design round**: write a per-round planning doc, then launch three parallel experts in ONE message (design-system [load practical-ui if present] ‖ content & narrative [findings-first] ‖ image audit [verify every image]); each persists an md; then the **lead writes the synthesis doc itself** (per-page asset assignment + build increments). See `references/{design_system,content_and_narrative,image_audit}.md`. - **P4 · Build**: prefer the lead self-building the script with `scripts/deck_kit.py` (see `scripts/example_build.py` for the pattern, including `cards()` / `compare()` and the multi-chapter dispatch loop). The lead holding the script is what drives the per-page iteration. If you outsource, force the sub-agent to persist the script to a file and save incrementally (a build sub-agent once dropped its socket having saved nothing). - **P5 · Render QA**: `soffice → pdf → pdftoppm → PIL overview`; look at high-risk layouts first. Run `scripts/render_qa.py deck.pptx`. No LibreOffice? Open the `.pptx` in PowerPoint or Keynote and export a PDF (or per-slide thumbnails), then eyeball those instead. See `references/build_and_qa.md`. - **P6 · Per-page expert polish**: split pages into bands, launch several review experts in parallel (each loads practical-ui if present, uses the design system as yardstick, returns pixel-level findings); the **lead verifies findings itself**, rejecting false positives and taking only real ones, then fixes, re-renders, and runs a regression round. The gate to clear: **at least one parallel review round plus one regression round, with no open P0/P1.** - **P7 · De-AI-ify**: load humanizer-zh (op7418's public MIT skill; if it isn't installed, install it on demand with `npx skills add op7418/Humanizer-zh` and load it — if you truly can't, run `references/humanize.md`'s deck-specific checklist by hand); edit layout-coupled deck text yourself (re-render to watch length); change HOW it's said not WHAT (prove technical content unchanged with grep); **second self-check** so you don't swap one AI pattern for another. See `references/humanize.md`. - **P8 · Speaker script**: if the user hand-edited the deck, extract real per-page text from the LATEST file (the build script is now stale); write a spoken, `---`-paginated, emphasis-marked script; deliver the MD for confirmation BEFORE inserting. - **P9 · Insert speaker notes**: run `scripts/insert_notes.py` (drops headings + 〔...〕 cues, splits the body on blank lines into paragraphs, converts `**bold**`, asserts segment==slide count, writes a NEW file). ## 4. Sub-agent orchestration > This section assumes a Claude Code-style harness (parallel sub-agents; the Skill > tool). On any other agent runtime, read these as their semantic equivalents: > "sub-agents" → background or delegated sub-tasks, and "load a Skill via the Skill > tool" → load the corresponding capability. The method is unchanged; only the > mechanism's name is. - **Research round (P3):** three parallel experts in one message, all blocking (design ‖ content ‖ image audit). Write the per-round planning doc first so all three align on background, locked decisions, source paths, and output contract. - **Review rounds (P6):** several parallel review experts, each prompted to (1) if `practical-ui` is installed, load it via the Skill tool as the usability yardstick — it is a copyrighted-book adaptation this skill does not bundle, so when it is absent fall back to this skill's own quiet-luxury / contrast / hierarchy principles (`references/design_system.md`); (2) read the design system as the yardstick, (3) return page/location/severity findings. - **The lead must verify review findings itself.** Fix observed problems, not reported ones; reject unfounded reports (a "slide N font too small (P0)" that the render disproves) and take only real, actionable items. - **Heavy build:** prefer the lead self-holding context and self-building. If outsourced, require "persist the script to a file before continuing, save incrementally". Parallel = N Agent calls in ONE message, all blocking. One call per message = serial. Independent → parallel; dependent → serial. Full table in `references/pipeline.md`. ## 5. Quality gates (checklists) Full version with the "why" in `references/norms_and_lessons.md` §E. Quick form: **Before build:** [ ] lead read all sources itself · [ ] frameworks unified into one backbone · [ ] narrative is findings-first (setup chapter before diagnosis) · [ ] image-audit list done (figure ≠ file) · [ ] type scale locked (body >= 16 pt) · [ ] copy written plain (no AI tells) · [ ] premium fonts installed + render-verified (or system-font fallback chosen if no network) · [ ] content tied to course/audience theory · [ ] names only on the cover · [ ] heavy build self-built (or sub-agent persists early). **After build:** [ ] every layout change re-rendered and eyeballed (no LibreOffice → PowerPoint/Keynote PDF or thumbnails) · [ ] per-band parallel review experts (each loads practical-ui if present, else the built-in design system) · [ ] lead verified high-impact findings, rejected false positives · [ ] render chain macOS/zsh-safe · [ ] at least one review round plus one regression round, no open P0/P1. **Before delivery:** [ ] de-toning second self-check (no pattern swapped for another) · [ ] versioning `_vN.M`, archive old, new file for user-edited files · [ ] known boundaries/risks listed with a fallback (font fallback → PDF; no LibreOffice → PowerPoint/Keynote) · [ ] citations verified if any. ## 6. Norms quick-reference (the full list) These 13 norms are the deck-making domain knowledge; the full requirement / why / how for each is in `references/norms_and_lessons.md` §A. 1. **findings-first:** introduce before you critique. 2. **De-name:** member names only on the cover role cards; never per-page kickers. 3. **Chapter divider per chapter,** with a "chapter X of N" progress indicator. 4. **Body >= 16 pt:** projection floor; dense tables 14 pt is the only exception. 5. **Premium fonts:** Noto Serif SC (titles) + Noto Sans SC (body) + Inter (numbers); install and render-test both weights before a full build. 6. **Verify every image by eye:** figure number ≠ file number; contact sheet + full-res check; only verified images with corrected captions. 7. **Simplified cover:** white, restrained, accent as garnish. 8. **Minimal ending:** one centered serif line on white; references moved out. 9. **Design yardstick — practical-ui if present, else built-in:** if `practical-ui` is installed, load it as the usability yardstick; it is a copyrighted-book adaptation this skill does not bundle, so when absent, use this skill's own quiet-luxury color, accent <5%, no full-page color blocks (`design_system.md`). 10. **Per-page expert polish, not one-and-done:** render → parallel review → lead verifies → fix → re-render → regression; iterate to no open P0/P1. 11. **De-AI-ify with humanizer-zh:** op7418's public MIT skill — install it on demand if absent (`npx skills add op7418/Humanizer-zh`), else run `humanize.md`'s deck-specific checklist by hand; change how not what; prove technical content unchanged with grep; second self-check. 12. **Speaker script:** extract from the real .pptx; `---` per page; spoken, emphasis-marked; confirm the MD before inserting. 13. **Insert notes, spoken body only:** drop headings & 〔...〕; convert bold; segment==slide assertion; write a new file. This skill carries its own working discipline, self-contained (it needs no external rule files): understand before you act, audit before you execute, back up before irreversible rework, re-render on every visual change and judge only the real render, keep the palette desaturated (quiet luxury), make every iteration state its benefit, resolve multi-source conflicts by authority level, use four-zone directories with `_vN.M` versioning, and verify any citation before delivery. How each plays out in deck work is in `references/norms_and_lessons.md` §B. ## 7. Quick start A typical run: read the user's source material yourself, lock the spine, set the accent token, then drive the build from data. **Work in your own project, not the skill folder.** Copy `deck_kit.py` (and the `example_build.py` skeleton) into your project's working area and write your build script there. Leave the files under the skill directory untouched so the skill stays clean for the next deck. 1. `bash scripts/install_fonts.sh` (once), then render the example and confirm Regular vs Bold are distinct: `python3 scripts/example_build.py && python3 scripts/render_qa.py scripts/example_deck.pptx`. 2. Copy `deck_kit.py` into your project's working area, drop the `example_build.py` skeleton beside it, set `dk.set_accent("#XXXXXX")` and `dk.FOOTER_TEXT`, and replace the EXAMPLE content with your outline (see `assets/content_outline.schema.md`). 3. Build → `python3 render_qa.py your_deck.pptx` → read `/tmp/qa/overview.png` → fix → re-render. Iterate per §3 P6. 4. Speaker script → `python3 insert_notes.py --md script.md --src deck.pptx --out deck_with_notes.pptx`. **Scripts** (`scripts/`): `deck_kit.py` (the reusable design-system library, the heart), `example_build.py` (a worked example with cards/compare + a multi-chapter loop), `insert_notes.py`, `render_qa.py`, `contact_sheet.py`, `install_fonts.sh`. **References** (`references/`): `pipeline.md`, `design_system.md`, `build_and_qa.md`, `image_audit.md`, `content_and_narrative.md`, `humanize.md`, `norms_and_lessons.md`. **Versioning:** non-destructive. New versions go as `_vN.M` to the deliverables zone, superseded versions to the archive zone, and a user-edited file is always copied to a new file, never overwritten.
عرض على GitHub