{"id":"e5b191d8-b662-4fc6-a316-44f3df3cdbee","entityType":"agent","slug":"clawhub-tseng71-image-deck","name":"image-deck: PPT Presentation & Slides","canonicalUrl":"https://www.xpersona.co/agent/clawhub-tseng71-image-deck","canonicalPath":"/agent/clawhub-tseng71-image-deck","generatedAt":"2026-10-10T06:43:24.777Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:09:46.071Z","emptyReason":null},"description":"Create visual PPT and PowerPoint decks with GPT Image 2.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 3K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173wy90twmq3hscnwy0dnragx85yp98:image-deck","sourceUrl":"https://clawhub.ai/tseng71/image-deck","homepage":"https://clawhub.ai/tseng71/skills/image-deck","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/tseng71/image-deck","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/tseng71/skills/image-deck","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":70,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"image-deck: PPT Presentation & Slides technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:09:46.071Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:09:46.071Z","emptyReason":null},"stars":null,"forks":null,"downloads":3030,"packageName":null,"latestVersion":"0.1.32","tractionLabel":"3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:09:45.890Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T10:09:46.071Z","lastCrawledAt":"2026-10-09T10:09:45.890Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T10:09:45.890Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.32","createdAt":"2026-08-31T04:14:43.088Z","changelog":"Keep the public package exactly synchronized with the canonical image-deck skill and improve discovery for PPT, presentation, and slides searches.","fileCount":6,"zipByteSize":28108},{"version":"0.1.31","createdAt":"2026-08-31T04:12:08.133Z","changelog":"Improve discovery for PPT, presentation, and slides searches while keeping GPT Image 2 in the description and tags.","fileCount":5,"zipByteSize":25233},{"version":"0.1.30","createdAt":"2026-08-31T03:05:52.202Z","changelog":"Add PPT, PowerPoint, slide-deck, image-generation, and GPT Image 2 discovery topics; preserve the existing title.","fileCount":6,"zipByteSize":28168},{"version":"0.1.29","createdAt":"2026-08-31T02:45:51.113Z","changelog":"Improve PPT and PowerPoint search discovery while preserving the existing public title.","fileCount":6,"zipByteSize":28031},{"version":"0.1.28","createdAt":"2026-08-31T02:43:15.034Z","changelog":"Improve discovery for PPT and PowerPoint searches by moving those keywords into the card summary and leading description.","fileCount":6,"zipByteSize":27970},{"version":"0.1.27","createdAt":"2026-08-30T04:38:48.896Z","changelog":"Republish directly from the current local canonical image-deck directory, unchanged, and refresh all install tags.","fileCount":6,"zipByteSize":28066},{"version":"0.1.26","createdAt":"2026-08-28T17:39:26.943Z","changelog":"Align the published skill exactly with the final local and GitHub canonical file set while retaining the PowerPoint native slide-number compatibility fix.","fileCount":6,"zipByteSize":28156},{"version":"0.1.25","createdAt":"2026-08-28T17:29:50.499Z","changelog":"Fix native PowerPoint slide numbers by using standard slide-number placeholders across the master, layout, and slides.","fileCount":6,"zipByteSize":28251}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173wy90twmq3hscnwy0dnragx85yp98:image-deck","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s173wy90twmq3hscnwy0dnragx85yp98:image-deck` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/tseng71/image-deck before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T06:43:24.769Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-tseng71-image-deck/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T10:09:46.071Z","emptyReason":null},"readme":"Skill: image-deck: PPT Presentation & Slides\n\nOwner: tseng71\n\nSummary: Create visual PPT and PowerPoint decks with GPT Image 2.\n\nTags: carousel:0.1.32, codex:0.1.32, deck:0.1.32, gpt-image-2:0.1.32, image-deck:0.1.32, image-generation:0.1.32, latest:0.1.32, openclaw:0.1.32, powerpoint:0.1.32, ppt:0.1.32, pptx:0.1.32, presentation:0.1.32, single-slide:0.1.32, slide:0.1.32, slide-deck:0.1.32, slides:0.1.32\n\nVersion history:\n\nv0.1.32 | 2026-08-31T04:14:43.088Z | user\n\nKeep the public package exactly synchronized with the canonical image-deck skill and improve discovery for PPT, presentation, and slides searches.\n\nv0.1.31 | 2026-08-31T04:12:08.133Z | user\n\nImprove discovery for PPT, presentation, and slides searches while keeping GPT Image 2 in the description and tags.\n\nv0.1.30 | 2026-08-31T03:05:52.202Z | user\n\nAdd PPT, PowerPoint, slide-deck, image-generation, and GPT Image 2 discovery topics; preserve the existing title.\n\nv0.1.29 | 2026-08-31T02:45:51.113Z | user\n\nImprove PPT and PowerPoint search discovery while preserving the existing public title.\n\nv0.1.28 | 2026-08-31T02:43:15.034Z | user\n\nImprove discovery for PPT and PowerPoint searches by moving those keywords into the card summary and leading description.\n\nv0.1.27 | 2026-08-30T04:38:48.896Z | user\n\nRepublish directly from the current local canonical image-deck directory, unchanged, and refresh all install tags.\n\nv0.1.26 | 2026-08-28T17:39:26.943Z | user\n\nAlign the published skill exactly with the final local and GitHub canonical file set while retaining the PowerPoint native slide-number compatibility fix.\n\nv0.1.25 | 2026-08-28T17:29:50.499Z | user\n\nFix native PowerPoint slide numbers by using standard slide-number placeholders across the master, layout, and slides.\n\nv0.1.24 | 2026-08-28T10:44:17.108Z | user\n\nMirror the local image-deck skill exactly.\n\nv0.1.23 | 2026-08-28T07:58:04.242Z | user\n\nRemove page-number requirements from image generation and add native PowerPoint slide-number fields only during PPTX assembly.\n\nv0.1.20 | 2026-07-22T15:20:26.028Z | user\n\nUse concise, natural user-facing wording for overall-design and sample-style confirmations.\n\nv0.1.19 | 2026-07-22T14:47:46.085Z | user\n\nRequire two distinct approvals: overall design confirmation, then sample-style confirmation before generating remaining slides.\n\nv0.1.18 | 2026-05-06T14:31:13.559Z | user\n\nMove the preview image before the install section and include it in SKILL.md for ClawHub display.\n\nv0.1.17 | 2026-05-06T13:46:30.262Z | user\n\nAdd a hosted preview image to the README.\n\nv0.1.16 | 2026-05-06T13:06:13.782Z | user\n\nRemove the personal repository sentence from the public docs.\n\nv0.1.15 | 2026-05-05T04:59:18.875Z | user\n\nDefault the text richness recommendation to information-rich while keeping balanced and concise modes available.\n\nv0.1.14 | 2026-05-05T02:47:21.285Z | user\n\nAdd a text richness/content density choice and support concise-text slide generation mode.\n\nv0.1.13 | 2026-05-04T16:56:47.790Z | user\n\nRemove lightweight/deep research wording and keep the source step as read, extract, and research before planning.\n\nv0.1.12 | 2026-05-04T16:06:00.006Z | user\n\nMake the ClawHub display name start with image-deck and stop recommending a language during intake.\n\nv0.1.11 | 2026-05-04T15:48:05.376Z | user\n\nImprove slide search metadata by starting the display name and summary with Slide Deck / PPT wording.\n\nv0.1.10 | 2026-05-04T15:36:39.873Z | user\n\nIncrease default information density for normal content slides and require recommended choices when asking page count, language, and style.\n\nv0.1.9 | 2026-05-04T10:55:59.452Z | user\n\nAdd broader PPT/slide trigger wording, prevent prompt packages from being withdrawn and re-output, keep one confirmation gate, and publish the skill under skills/image-deck.\n\nv0.1.8 | 2026-05-04T04:41:11.917Z | user\n\nKeep cover text strict while allowing natural supporting detail text on content slides.\n\nv0.1.7 | 2026-05-04T04:34:55.246Z | user\n\nSoften cover guidance to allow tasteful supporting detail text when it improves the style.\n\nv0.1.6 | 2026-05-04T04:30:47.889Z | user\n\nUse one combined approval gate and relax small supporting text rules so rich report/editorial slides are not over-cleaned.\n\nv0.1.5 | 2026-05-03T16:25:35.652Z | user\n\nImprove display name for slide and PPT search discovery.\n\nv0.1.4 | 2026-05-03T16:22:05.235Z | user\n\nImprove search keywords and metadata for slide, presentation, PowerPoint, PPT, and PPTX discovery.\n\nv0.1.3 | 2026-05-03T10:19:29.412Z | user\n\nAdd ClawHub page link to public install documentation.\n\nv0.1.2 | 2026-05-03T07:34:30.340Z | user\n\nImprove OpenClaw intake, slide design document review, and default text-rich slide guidance while respecting explicit low-text requests.\n\nv0.1.1 | 2026-05-03T07:11:45.984Z | user\n\nPut the user-facing README-style description at the top of SKILL.md for clearer ClawHub display.\n\nv0.1.0 | 2026-05-02T18:03:59.109Z | user\n\nInitial public release of image-deck.\n\nArchive index:\n\nArchive v0.1.32: 6 files, 28108 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (248b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2637b), SKILL.md (48641b)\n\nFile v0.1.32:SKILL.md\n\n---\nname: image-deck\ndescription: \"image-deck creates PPT and PowerPoint presentations, slide decks, single slides, carousel pages, and full-image decks through Codex built-in image_gen (GPT Image 2). Trigger for requests to make PPT, PowerPoint, slides, a deck, presentation, or carousel, including 做PPT, 制作PPT, 帮我做PPT, 生成PPT, 做deck, 做slides, and 做演示文稿. Each page is one complete generated raster image with visible text inside it. Before planning, confirm page count, language, style, and text richness/content density; recommend page count, style, and text richness, but let the user choose language. Use two mandatory, distinct gates: overall design approval authorizes exactly one master sample; sample-style approval after the sample is displayed authorizes the remaining slides. Default to information-rich 图文并茂 pages unless the user chooses concise or image-led pages.\"\n---\n\n# image-deck\n\n## English\n\n`image-deck` is used to create PPT, PowerPoint-style presentations, slide decks, and carousel decks where every page is a complete generated image. It uses Codex built-in `image_gen` (GPT Image 2) to generate slides one by one, with each slide's title, labels, and short copy generated inside the same image.\n\nThis skill requires Codex built-in `image_gen` (GPT Image 2).\n\nSearch keywords: `slide`, `slides`, `slide deck`, `presentation`, `PowerPoint`, `PPT`, `PPTX`, `deck`, `carousel`, `GPT Image 2`, `image generation`, `OpenClaw`, `Codex`.\n\n## Trigger\n\nUse this skill by default when the user asks to make a PPT, PowerPoint-style presentation, slide deck, slides, single slide, deck, or carousel, including requests like \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"生成PPT\", or \"做演示文稿\".\n\nIf the user explicitly asks for an ordinary editable PPT, a text-overlay workflow, or precise editable tables/charts, use a normal presentation workflow instead.\n\n## Best For\n\n- Every PPT page should be one complete generated image\n- Images and text should be generated together in the same image\n- Page count, language, style, and text richness/content density should be confirmed before planning; recommend page count, style, and text richness, but let the user choose language\n- A slide-by-slide design document should be shown before prompt generation\n- Prompts should be shown before generation so the user can review or edit them\n- Exactly one master sample should be generated and shown before the remaining slides; generation must pause until the user explicitly approves that sample\n- Normal content slides should follow the selected text richness mode: information-rich, balanced, or concise\n- After the deck is created, the user can revise one slide or several slides\n- After the deck is created, the user can add new generated image slides\n\n## Preview\n\n![image-deck preview](https://raw.githubusercontent.com/tseng71/skills/main/skills/image-deck/assets/preview.jpg)\n\n## Install\n\nClawHub page:\n\n```text\nhttps://clawhub.ai/tseng71/image-deck\n```\n\nGitHub repository / Codex install URL:\n\n```text\nhttps://github.com/tseng71/skills\n```\n\nCodex:\n\n```bash\nmkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck\n```\n\nRestart Codex after installing.\n\n## 中文说明\n\n这是 `tseng71` 的个人 AI Agent Skills 仓库中的一个 skill。\n\n`image-deck` 用于制作“每一页都是完整生成图片”的 PPT、PowerPoint 风格演示、slide deck 和 carousel deck。它会通过 Codex 内置的 `image_gen`（GPT Image 2）逐页生成，每页的标题、标签和短文案都在同一张生成图里完成。\n\n使用这个 skill 需要可用的 Codex 内置 `image_gen`（GPT Image 2）。\n\n搜索关键词：`slide`、`slides`、`slide deck`、`presentation`、`PowerPoint`、`PPT`、`PPTX`、`deck`、`carousel`、`GPT Image 2`、`image generation`、`OpenClaw`、`Codex`。\n\n## 触发方式\n\n用户说“做 PPT”“制作 PPT”“帮我做一个 PPT”“生成 PPT”“做 slides”“做 deck”“做演示文稿”等，都应默认触发这个 skill。\n\n如果用户明确要求普通可编辑 PPT、后期叠文字流程，或者需要大量精确可编辑表格/图表，再改用普通演示文稿流程。\n\n## 适合使用\n\n- 每一页 PPT 都要是一张完整生成图\n- 图片和文字要一起生成在同一张图里\n- 制作前先确认页数、语言、风格和内容密度；页数、风格和内容密度给出推荐，语言由用户自己选择\n- 生成提示词前先展示 PPT 逐页设计文档\n- 生成前先输出提示词，让用户确认或修改\n- 先只生成一张样张并展示；必须等待用户明确确认样张后，才能继续生成其余页面\n- 普通内容页按用户选择的内容密度生成：文字丰富、平衡或文字简洁\n- 制作完成后，用户可以指定修改某一页或几页\n- 制作完成后，用户可以继续追加新的图片页\n\n## 安装\n\nClawHub 页面：\n\n```text\nhttps://clawhub.ai/tseng71/image-deck\n```\n\nGitHub 仓库 / Codex 安装地址：\n\n```text\nhttps://github.com/tseng71/skills\n```\n\nCodex:\n\n```bash\nmkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck\n```\n\n安装后重启 Codex。\n\n## Agent Execution Notes\n\nUse this skill to produce decks where each slide is a complete finished PPT page generated through Codex built-in `image_gen` (GPT Image 2), including the slide's visible text and visual elements inside the same image. Then assemble those images into PPTX/PDF if requested. The core job is consistency control: ask for topic, style, page count, language, and text richness/content density; research the topic when no source document is supplied; build a visual bible; show the slide-by-slide design document and complete prompt groups inline in the chat for one combined review; generate exactly one master sample through Codex `image_gen` (GPT Image 2); show the sample and stop; wait for explicit user approval of the sample; only then generate each remaining slide through Codex `image_gen` (GPT Image 2) using the same locked system; inspect every result; and regenerate only the slides that drift, fall below the selected text richness mode, or that the user asks to revise.\n\nUse the regular `imagegen` skill as the execution path for Codex built-in `image_gen` (GPT Image 2). This skill supplies the art-direction workflow around that image generation capability.\n\nDo not call the Presentations skill/plugin just because the user asks for a PPT. This skill is not an editable-presentation workflow. During intake, attachment reading, source extraction, outlining, prompt planning, image generation, QA, and prompt revision, do not use Presentations. If a PPTX is needed at the end, prefer a minimal image-to-PPTX assembly path that places the already-generated slide images full-bleed, with no extra visible content.\n\n## Trigger Policy\n\nPrefer this skill for broad deck-making requests, even when the user does not say \"image-deck\" explicitly:\n\n- English: \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"make a carousel\"\n- Chinese: \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"做一个ppt\", \"生成PPT\", \"做deck\", \"做slides\", \"做演示文稿\"\n\nOnly route away from this skill when the user explicitly asks for a normal editable PPT, editable text boxes, editable charts/tables, or a workflow where images are generated first and text is overlaid later.\n\n## Required Run Order\n\nFollow this order for every new deck request. Do not skip a step because the user said \"make a PPT\", attached a file, or mentioned this skill by name.\n\n1. **Ask required setup questions** before planning: page count, language, style, text richness/content density, and topic if no source is present.\n2. **Read source material or research the topic** before writing the deck plan.\n3. **Show a PPT slide-by-slide design document directly in the chat** as the planning preview.\n4. **Self-check the complete prompt package internally before showing it**, then show prompt groups directly in the chat, up to 8 slides per group.\n5. **Ask for overall design approval only after both the design document and prompt groups are shown.** This confirmation covers the full-deck structure, slide-by-slide content, visual bible, and prompts. Do not ask the user to confirm the design document separately and then confirm prompts again.\n6. **After overall design approval, generate exactly one master sample and no other slide.** Approval at this stage authorizes only the sample, even if the user says \"confirm generation,\" \"proceed,\" or similar.\n7. **Show the generated master sample in the chat and stop.** Ask the user to approve the sample style or request changes. The review covers the actual palette, typography mood, layout grammar, information density, and overall visual feel. Do not generate another slide, assemble a PPTX/PDF, or start background generation while waiting.\n8. **Only after the user explicitly approves the displayed sample style**, generate the remaining slides through Codex `image_gen` (GPT Image 2). Silence, lack of objection, or approval of the earlier overall design is not sample-style approval.\n\nThe two gates are mandatory and distinct: Gate 1 is **overall design approval** and authorizes one sample; Gate 2 is **sample-style approval** after the sample is displayed and authorizes the remaining slides. Never merge, skip, or infer either gate from urgency or from a generic first-stage approval.\n\nKeep the gate mechanics internal. In user-facing copy, do not say \"this is the first confirmation,\" \"this only authorizes one sample,\" or explain what will not be generated unless the user asks. Use natural production language instead:\n\n```text\n以上是这套 PPT 的整体设计方案。请确认内容结构、页面安排和视觉方向是否合适。\n如无修改，请回复“确认整体设计”。我会先制作第 <N> 页样张供你查看；样张风格确认后，再完成其余 <M> 页。\n```\n\nSet `<M>` to the total requested page count minus the one sample page. Keep this confirmation concise; do not repeat the full two-gate policy in the message.\n\nOnce prompt groups have been shown to the user, treat them as the visible review package. Do not withdraw, replace, or re-output the entire package because of later self-corrections. If a correction is needed after display, append a short revision note and show only the affected slide prompts or affected group.\n\nIf an OpenClaw or other runtime cannot show a structured UI question, ask the questions as plain text in one message and wait for the user's answer. Do not infer missing page count, language, style, or text richness silently, except that page count may be offered as \"about 15 slides\" for the user to accept or change.\n\n## Non-Negotiable Generation Boundary\n\nWhen this skill is active, a slide is valid only if the complete slide image came from one of these sources:\n\n- a Codex `image_gen` (GPT Image 2) call made for that specific slide\n- a Codex `image_gen` (GPT Image 2) regeneration call made for that specific slide\n\nIf Codex built-in `image_gen` (GPT Image 2) is unavailable in the active environment, stop and tell the user that this skill needs Codex `image_gen` (GPT Image 2).\n\nDo not satisfy this skill by rendering slides with HTML/CSS, Python drawing, matplotlib, PowerPoint shapes, screenshots, PDF page renders, stock photos, local templates, or presentation JSX. Those tools may be used only after generation to assemble, crop, inspect, contact-sheet, or export the already-generated slide images.\n\nDo not treat \"background generated by an image model plus locally overlaid slide layout\" as valid output. There is no hybrid mode in this skill. If the slide needs a title, caption, label, chart title, or short bullet, that visible text must be requested in the Codex `image_gen` (GPT Image 2) prompt and must appear inside the generated image itself.\n\nWhen assembling PPTX/PDF, each slide must contain the generated image as the only visible slide content, except for native PowerPoint slide-number fields added to PPTX after image generation. Do not add separate text boxes, captions, icons, shapes, charts, or labels after generation. If text is missing, wrong, or unreadable, regenerate the slide image instead of overlaying corrected text locally.\n\nDo not invoke Presentations to design, analyze, convert, or recreate slide content for this skill. It is acceptable only as a last-mile packaging/inspection fallback after all images already exist, and only if the simpler image-to-PPTX path is unavailable or the user explicitly asks for that route.\n\nKeep an `image-generation-log.md` with one row per slide:\n\n- slide number\n- prompt file or prompt text reference\n- Codex `image_gen` (GPT Image 2) call/output path\n- QA status\n- regeneration notes, if any\n\n## Done Criteria\n\nBefore reporting completion:\n\n- Every requested slide image exists at the target aspect ratio.\n- Every slide has a generation record showing it came from Codex `image_gen` (GPT Image 2).\n- Page count, language, style, and text richness/content density were explicitly asked and answered, or the user had already provided them in the request. Page count, style, and text richness included recommendations; language was left for the user to choose.\n- The PPT slide-by-slide design document was displayed directly in the chat before image generation.\n- The user explicitly approved the overall design—the slide-by-slide design document, visual bible, and complete per-slide prompt groups—before the master sample was generated.\n- Exactly one master sample was generated after plan/prompt approval, displayed to the user, and followed by a hard pause.\n- The user explicitly approved the displayed master sample's style before any remaining slide was generated.\n- Prompt groups were displayed directly in the chat, not only attached as files or offered as downloads. Each group contains at most 8 slide prompts and explicitly says the slides are independent image-generation tasks, not a collage or thumbnail wall.\n- Every slide's visible text and visual elements match its role as a PPT page and the selected text richness/content density. In information-rich mode, normal content slides should be 图文并茂 and carry a substantial part of the slide's meaning in the image. In balanced mode, normal content slides should still include useful explanatory copy, but with fewer and tighter text blocks. In concise mode, normal content slides may use fewer words and stronger visuals, but should not become empty backgrounds unless the user explicitly asks for visual-only pages. Cover, divider, closing, and visual emphasis slides may use lighter text when appropriate.\n- The cover has strict text rules: it contains only the main title and, if needed, one subtitle, unless the user explicitly asks for additional cover text. Do not apply the normal content-slide small-text policy to the cover.\n- Unless the user chooses concise, low-text, or image-led pages, normal content slides should not contain only a title plus a few short labels, icons, or item names. They should contain distinct information units where appropriate: a central claim, concrete explanations, evidence, examples, steps, comparisons, cautions, or decisions. The exact form is determined by the topic, audience, slide role, and selected text richness mode; do not hard-code a fixed count.\n- For normal content slides, prompts must draft the actual visible copy, not just say \"add details\" or \"include useful text.\" In information-rich mode, use complete short phrases or compact sentences with concrete information from the source, research, or deck argument. In balanced mode, use fewer but still useful callouts. In concise mode, use short claims, captions, or labels that are intentional and readable rather than filler.\n- If a normal content slide's design document or prompt falls below the selected text richness mode, revise it before generation. In concise mode, fewer words are acceptable; do not enrich it into a dense report page unless the user changes the mode or asks for more detail.\n- Every slide's visible title, explanatory text, labels, bullets/callouts, and short copy, when used, are inside the generated image itself, not overlaid later.\n- The deck has one visual style: the selected PPT style, typography mood, layout quality, graphic language, and overall polish feel related.\n- Do not interpret style consistency as copying the same literal background or hero image across the deck.\n- Each slide passes readable-title and low-artifact checks at full size and contact-sheet size.\n- Do not reject a good slide just because it includes tasteful small supporting text or visual-detail text. Regenerate only when the main message becomes unreadable, the page looks broken, or the visual quality clearly fails.\n- If the final deck is assembled, verify that each slide is one full-bleed generated image with no extra visible text/shape objects except one native PowerPoint slide-number field on each numbered inner slide. Use the helper defaults: cover unnumbered, 16 pt Arial, automatic black/white contrast, and a standard hyphenated PowerPoint field ID.\n\n## Workflow\n\n### 1. Intake: ask before generating\n\nAsk exactly these required setup questions before writing final prompts unless the user already supplied the answers. Do not ask them as bare questions. Include your recommended answer for page count, style, and text richness/content density, but do not recommend a language; ask the user to choose the language.\n\n- **Topic/source:** Ask what the deck is about when no attachment, document, notes, outline, link, or other source material is present. If source material exists, confirm whether to use it as the primary source.\n- **Style:** Offer a short menu, allow a custom answer, and recommend 2-3 styles based on the topic, source material, audience, and desired tone. Mark the best fit as recommended.\n- **Page count:** Recommend a page count based on scope before asking. Default recommendation: about 15 slides for a standard deck; 8-10 for a short overview; 18-20 for a complex research/report deck.\n- **Language:** Ask the user to choose Chinese, English, or bilingual. Do not recommend or default the language unless the user already specified it. Do not default to mostly visual unless the user explicitly asks for visual-only pages.\n- **Text richness / content density:** Ask how much visible text the PPT pages should contain. Recommend **Information-rich / 文字丰富** by default. Offer:\n  - **Information-rich / 文字丰富:** more explanatory in-image copy, suitable for report, analysis, training, policy, strategy, and knowledge decks.\n  - **Balanced / 平衡:** enough useful text to explain the slide, but with tighter copy and more visual breathing room; use when the user wants a less dense but still substantive deck.\n  - **Concise / 文字简洁:** fewer words, stronger visual focus, short claims/captions/labels; suitable for keynote, teaser, social carousel, or image-led storytelling.\n\nThese questions are mandatory in OpenClaw too. If there is no structured question tool, ask in plain text as a compact checklist:\n\n```text\nBefore I design the deck, please confirm:\n1. Page count: I recommend <recommended count> because <short reason>. Use this, or another number?\n2. Language: please choose Chinese, English, or bilingual.\n3. Style: I recommend <best style> first, with <second style> and <third style> as alternatives. Choose one from the menu below, or describe a custom style.\n4. Text richness/content density: I recommend information-rich / 文字丰富 by default, so the deck has enough useful in-image explanation. Choose information-rich, balanced, concise, or describe another preference.\n5. Topic/source: if no file or notes were attached, what is the topic?\n```\n\nDo not proceed to deck design, prompt writing, or image generation until the required answers are known. If the user replies with only partial answers, ask only for the missing items.\n\nAsk for output format only when the user asks for a deliverable instead of prompt planning.\n\nOffer this style menu by default. Keep it visible enough for the user to choose, but allow a custom reference:\n\n1. **premium editorial:** magazine-like, strong imagery, restrained text, polished presentation rhythm\n2. **minimal executive:** clean, spacious, high signal, boardroom-ready\n3. **futuristic tech:** luminous interfaces, systems diagrams, dark or high-contrast depth\n4. **bold keynote:** high contrast, large type, dramatic visual metaphors\n5. **consulting report:** structured business presentation, clear hierarchy, charts/diagrams as supporting visuals\n6. **corporate annual report:** formal, stable, institutional, polished report-like pages\n7. **flat vector illustration:** clean vector scenes, icons, simple shapes, bright but controlled palette\n8. **soft editorial illustration:** elegant illustrated scenes, gentle texture, refined magazine feel\n9. **watercolor / ink wash:** soft watercolor texture, hand-painted atmosphere, warmer human tone\n10. **hand-drawn sketch note:** marker/sketch style, educational, friendly, annotation-heavy\n11. **3D isometric / clay render:** dimensional objects, isometric scenes, tactile product-like visuals\n12. **cinematic photo-real:** dramatic lighting, realistic scenes, visual storytelling, low-to-medium text\n13. **collage / mixed media:** cutout photos, paper texture, editorial composition, energetic layout\n14. **product launch:** polished launch-deck style, product hero visuals, feature sections, crisp claims\n15. **Chinese modern / 国风:** restrained Chinese visual motifs, ink texture or modern cultural design\n16. **luxury dark / premium brand:** dark background, metallic accents, sparse high-end composition\n17. **custom:** user's own reference image, brand guide, or description\n\nIf the user asks for 15 pages and does not specify a style, propose two fitting styles from the menu based on the topic instead of asking a long follow-up. If the topic is known but the user gave no page count, include your page-count recommendation in the same question.\n\n### 2. Source and research pass\n\nBefore writing the deck spine or image prompts, establish the content basis:\n\n- **With source material:** read and analyze the source. Extract the title/topic, structure, key claims, important facts, examples, figures, evidence, decisions, caveats, and visual opportunities needed for the deck spine. Use the source as the main factual basis. Do not invent missing facts to fill pages.\n- **Without source material:** perform topic research before creating the slide plan. Search for current, credible sources; collect the core facts, framing, examples, dates, vocabulary, tensions, implications, and visual material needed for the deck; and save `research-notes.md` with source links and usable takeaways.\n\nAttachment reading rules:\n\n- Do not call Presentations for attachment reading, even if the attachment is PPT/PPTX.\n- For PDF, DOCX, PPTX, Markdown, text, or spreadsheet sources, use reliable extraction methods that preserve the information needed for deck planning: plain text extraction, document XML/text extraction, page titles, headings, notes, outline, tables, figures, and important annotations where relevant.\n- For long files, create `source-map.md` with sections/pages and usable takeaways, then build the slide spine from that map and the requested page count.\n- If the source is too long or extraction is slow, prioritize the sections most relevant to the user's goal and continue with a clear deck-oriented analysis.\n- If the user provided an existing PPT/PPTX as source, treat it as content reference only. Do not use its editable layout as the output workflow; the new output still uses full-slide images generated by Codex `image_gen` (GPT Image 2).\n\nFor time-sensitive, technical, legal, medical, financial, company, product, market, or news topics, browse current sources before committing to slide claims. Prefer official or primary sources when available.\n\nKeep research deck-oriented:\n\n- topic definition and audience-relevant framing\n- key facts, claims, evidence, examples, and caveats needed for the deck\n- useful examples, timelines, people, products, market context, or concepts\n- visual metaphors or scenes that can become image prompts\n- source links for facts that matter\n\nOnly after this pass, create the slide list and visual bible.\n\n### 3. Use full PPT page mode only\n\nAll visible content must be generated inside each slide image. This includes the title, subtitle, bullet-style callouts, labels, section tag, captions, and any short copy.\n\nDefault to 图文并茂的 PPT 页面, not decorative backgrounds. Match text density to the selected content-density mode and slide role:\n\n- **Cover:** must use a cover-style hero visual and only a main title, with at most one subtitle, unless the user explicitly asks for additional cover text. Do not add small supporting text to covers by default.\n- **Divider/closing:** may use a strong visual with a title, theme line, or short statement.\n- **Normal content slide in information-rich mode:** should contain enough concrete in-image explanatory copy to feel like a useful finished PPT page, not only labels, icon names, or decorative slogans.\n- **Normal content slide in balanced mode:** should contain a clear title/claim plus a smaller number of useful callouts, captions, or short explanations, leaving more visual space than information-rich mode.\n- **Normal content slide in concise mode:** should use fewer words and a stronger visual focus, with short claims, captions, or labels. Do not force dense copy in this mode, but avoid accidental empty-background slides unless the user asked for visual-only pages.\n- **Process/timeline/comparison slide:** should include labeled steps, stages, axes, or comparison captions plus short explanations inside the image.\n- **Visual emphasis slide:** may be lighter on text, but only when the deck spine intentionally marks it as visual emphasis.\n\nKeep text concise enough for Codex `image_gen` (GPT Image 2) to render. Prefer readable, useful phrases over long paragraphs. In information-rich and balanced modes, a normal content slide should carry meaningful information in the image itself: the main point plus concrete explanation, evidence, examples, steps, comparisons, cautions, or decision logic as appropriate to the slide. If a content slide falls below the selected content-density mode, regenerate with clearer PPT-page text instructions.\n\nWhen planning text density, honor the selected mode. If the user has not chosen a mode yet, ask before planning. If the user chooses concise, keep the page intentionally concise instead of silently turning it into an information-rich report page.\n\nIf exact long copy, dense tables, detailed charts, or perfect typography are required, explain that this skill is not the right fit and suggest a normal editable PPT workflow instead. Do not switch to local text overlays inside this skill.\n\n### 4. Build and show the PPT slide-by-slide design document\n\nCreate a PPT slide-by-slide design document before generating prompts. Display it directly in the chat, not only as a file or attachment. The design document is the user's planning preview and must be shown before prompt groups.\n\nFor each slide, include:\n\n- slide number\n- slide role, such as cover, chapter, proof, comparison, process, summary\n- working slide title or cover title\n- page message / communication goal\n- visible text plan appropriate to the slide role\n- title, central claim, bullets/callouts, labels, captions, or annotations as needed\n- content detail plan: what information units will appear, and what each unit adds beyond a label\n- visual object, such as scene, diagram, chart metaphor, portrait, product view, map, or timeline\n- information density: cover-light, divider-light, concise, balanced, or high, based on slide role and the selected content-density mode\n\nUse this inline format:\n\n```text\nPPT Slide-by-Slide Design Document\n\nSlide 1 - Cover\nRole:\nVisible text:\nVisual design:\nNotes:\n\nSlide 2 - ...\nRole:\nVisible text:\nVisual design:\nNotes:\n```\n\nFor normal content slides, the \"Visible text\" field must draft concrete in-image copy. In information-rich mode, it should be substantial and specific to the topic. In balanced mode, it should be tighter but still useful. In concise mode, it may be shorter and more visual, but the short text should still feel intentional and useful rather than generic placeholders.\n\nDo not ask the user to approve this design document as a separate confirmation gate. Show it as the planning preview, then continue to the visual bible and prompt groups. If the user interrupts with changes to page count, language, slide order, text richness, or style at this stage, update the design document and show the revised affected slides inline.\n\nThe cover must be planned as a cover, not as a normal inner content page. It should have a title-page composition: cover-suitable hero visual, large main title, and at most one subtitle. Do not plan any other cover text unless the user explicitly asks for it. Chapter/divider pages may use a different rhythm from content pages, while still sharing the same visual system.\n\nWhen writing prompts, choose whatever background, scene, diagram, or visual metaphor best serves each slide. Keep the selected PPT style consistent, but do not force matching backgrounds or repeated hero scenes.\n\nFor image-only decks, avoid dense tables, long paragraphs, exact financial disclosures, and tiny body copy that must be read precisely. Convert complex content into PPT-friendly generated slide text: concise claims, bullets, callouts, captions, labels, and annotations. For content slides, do not over-constrain the model to remove all small text; naturally generated supporting detail text is often useful for making a slide feel rich and complete.\n\nFor any deck type, choose the type and amount of detail that best serves the slide. Do not hard-code a fixed text count or fixed detail categories unless the user asks for them.\n\n### 5. Lock the visual bible\n\nWrite a reusable visual bible and keep it fixed across all slide prompts. Include:\n\n- aspect ratio and safe margins\n- palette with 3-5 named colors\n- optional palette and lighting preferences if they are part of the selected style\n- typography mood for generated in-image text, not font names unless a known font is required and available\n- role system for cover, divider, normal content, comparison/process, and closing slides\n- selected text richness/content density and how it changes normal content slides\n- grid, title zone, text/callout zone, and main visual zone for inner pages\n- illustration/photo/render style\n- shape language, line weight, texture, depth, and shadow rules\n- small-text policy: allow purposeful supporting detail text on content slides when it improves richness and realism; do not apply this to covers unless the user explicitly requests it\n- quality target: main message readable, supporting detail text natural, overall page polished and coherent\n\nRead `references/prompt-patterns.md` when writing the visual bible or per-slide prompt template.\n\n### 6. Create prompt files and prompt groups\n\nEach prompt must contain:\n\n1. the fixed visual bible\n2. the slide-specific role and message\n3. exact allowed visible text to generate inside the image, appropriate to the slide role\n4. content detail target for normal content slides, chosen by topic, audience, slide role, and selected text richness/content density\n5. exact visible explanatory copy for normal content slides, written as complete short phrases or compact sentences\n6. composition instructions\n7. negative constraints\n\nChange only the slide-specific block between slides. Keep the rest verbatim unless deliberately iterating the global style.\n\nCreate prompt groups for review:\n\n- Group prompts into batches of at most 8 slides, such as slides 1-8 and 9-15.\n- Display every prompt group directly in the chat inside fenced code blocks. Do not replace this with attachments, downloads, or \"open these files\" cards.\n- Each group must explicitly state that it contains independent image-generation tasks, not one collage, 4x2 grid, overview image, or thumbnail wall.\n- Every group must repeat the locked visual bible or a complete fixed visual-system block, so style remains consistent across groups.\n- Every group must state that style consistency does not mean repeating the same literal background or hero image.\n- Every group must include role-specific instructions so the cover has only a main title plus optional subtitle and does not look like an inner page. Divider/closing pages should not accidentally become dense content pages.\n- Every group must include allowed visible text that matches the selected content-density mode. Information-rich mode should include more concrete explanatory copy; balanced mode should include tighter but useful callouts; concise mode should use fewer words and stronger visuals without drifting into accidental empty-background pages.\n- Do not let normal content slide prompts use vague placeholders such as \"add detailed text\" or \"include key points.\" Write the actual visible text to generate.\n- Before showing a prompt group, check every normal content slide against the selected content-density mode. If it is below that mode, revise the prompt before the final combined approval request. Add concrete visible copy, not abstract instructions.\n- Finish this self-check before posting the prompt groups. Do not stream or attach a draft prompt package, then retract it and output a new full package because of self-correction.\n- The saved prompt files are only a backup/source record. The user-facing review artifact is the inline prompt group text in the conversation.\n\nAlso save prompts in a task workspace, usually:\n\n```text\nprompts/\n├── visual-bible.md\n├── 00-master-sample.md\n├── 01-slide.md\n├── 02-slide.md\n└── ...\n```\n\nRead `references/prompt-patterns.md` for the per-slide prompt template and regeneration patch patterns.\n\n### 7. First gate: overall design approval\n\nBefore any Codex `image_gen` (GPT Image 2) call, show the user:\n\n- the PPT slide-by-slide design document, or a concise reference to the version shown immediately above\n- the locked visual bible\n- complete prompt groups in the chat, each covering up to 8 slides and including exact allowed visible text for each slide\n- the chosen master-sample slide prompt inside the relevant group or repeated separately if needed\n\nAsk the user once to approve the overall design or request edits. This confirmation covers the full-deck structure, slide-by-slide content, visual bible, and prompts, but it is not authorization to generate all slides. It authorizes generation of exactly one master sample. Do not first ask for design-document approval and then ask again for prompt approval. Accept edits at any level:\n\n- global style or palette changes\n- text richness/content density changes\n- title/text changes for one or more slides\n- visual scene changes\n- slide count changes\n- reordering, removing, or adding slides\n- changing one whole prompt group while preserving the locked visual bible\n- replacing the cover concept without adding extra cover text or turning it into an inner page\n- enriching or simplifying slide text when the design document or prompt does not match the selected content-density mode\n\nDo not call Codex `image_gen` (GPT Image 2) until the overall design is explicitly approved.\n\nIf the user says the prompts are hidden in downloadable files or attachments, correct the workflow by pasting the prompt groups inline in the next response.\n\nWhen the user modifies prompts after the prompt groups are shown, update the affected prompt group and show the revised group inline again. Keep the locked visual bible unchanged unless the user explicitly changes the global style. If one group changes, check whether the same change should be mirrored in later groups to preserve style consistency.\n\nIf the assistant finds its own issue after prompt groups are already visible, do not add another separate design-document confirmation and do not replace the whole package. Add a concise \"Revision note\" that states the reason, affected slides, and exact replacement prompts. The original package remains the base except for those replacements, and the overall design still requires approval before sample generation.\n\n### 8. Generate one master sample, show it, and stop\n\nAfter prompt approval, generate one representative slide before the rest. Usually choose slide 2 or 3, not the cover, because content slides reveal whether the system works.\n\nGenerate exactly one sample image. Do not generate the cover, the next slide, or any other remaining slide in the same tool call, batch, background task, or uninterrupted run. Display the sample in the chat, summarize any visible QA concern briefly, and ask the user to choose either:\n\n- **Approve sample style and continue:** use this sample as the visual reference and generate the remaining slides.\n- **Revise sample:** collect the requested change, update the affected visual-bible or prompt text, regenerate exactly one sample, show it, and pause again.\n\nEnd the turn after asking for sample-style approval. Do not continue generation until a later user message explicitly approves the displayed sample's style. Approval of the earlier overall design does not carry forward to this gate.\n\nUse natural user-facing wording after displaying the sample:\n\n```text\n请确认这张样张的整体风格。若满意，请回复“确认样张风格”，我会按这套视觉体系完成其余页面；如需调整，请告诉我具体修改方向。\n```\n\nDo not label this as \"Gate 2\" or restate the internal authorization rules to the user.\n\nInspect the sample for:\n\n- visual quality\n- title readability\n- reusable layout grammar\n- enough blank/safe space\n- whether it can support the full deck without becoming repetitive\n\nIf it fails, adjust the visual bible and affected prompts, explain the targeted change, and regenerate exactly one sample. Show the new sample and pause again. Do not generate the whole deck before the user explicitly accepts the sample.\n\n### 9. Generate one slide at a time\n\nThe skill itself is an instruction pack for Codex `image_gen` (GPT Image 2) slide generation. When executing the deck in Codex, use the built-in image generation path.\n\nDo not enter this step unless the user has explicitly approved the displayed master sample's style.\n\nGenerate each slide through Codex `image_gen` (GPT Image 2). Use one generation request per slide when slides have distinct content. Only use a multi-image request if the active Codex `image_gen` path supports separate prompts and returns separately trackable outputs.\n\nFor visual consistency, use the approved master sample as a style reference when the active image generation path supports reference images. If reference-image use is unavailable, repeat the visual bible exactly and keep prompts structurally identical.\n\nRecord every call in `image-generation-log.md`. Inspect every generated slide before assembling. Regenerate failed slides through Codex `image_gen` (GPT Image 2); do not repair failed full-image slides by redrawing them locally or adding text overlays.\n\n### 10. QA and regenerate\n\nMake a contact sheet or otherwise view all slide thumbnails together. Mark each slide:\n\n- **pass:** consistent and readable\n- **minor:** acceptable if the deck deadline is tight\n- **regen:** must redo\n\nRegenerate a slide when any of these appears:\n\n- illegible or malformed title\n- missing visible text that was supposed to be inside the generated image\n- cover contains more than a main title and one optional subtitle, or uses an inner-page visual structure\n- user or reviewer flags the deck as visually monotonous because too many slides accidentally reuse the same literal background or hero image\n- slide is mostly decorative image with too little information for its role and selected content-density mode\n- normal content slide looks too empty, like a poster or scenic image with minimal copy, when the user selected information-rich or balanced mode\n- normal content slide contains only a title plus icon labels, attraction names, category names, or very short tags without useful explanation\n- normal content slide prompt failed to specify concrete visible explanatory copy and instead used vague text-density instructions\n- obvious artifact or stray mark that makes the slide look broken or unprofessional\n- small supporting text becomes distracting enough to weaken the main slide message\n- visual style clearly differs from the sample\n- slide is much denser or emptier than neighboring slides\n- slide text density conflicts with the selected content-density mode\n- wrong aspect ratio, cropped content, broken layout, or unreadable chart\n- key subject does not match the slide message\n\nWhen regenerating, keep the visual bible stable and change only the failure-specific instruction.\n\nIf the user complains that the deck looks monotonous or backgrounds are too similar, do not defend it as \"consistent.\" Revise only the affected prompts so those pages use more suitable visuals while preserving the selected PPT style. Do not add a rigid scene taxonomy unless the user asks for one.\n\n### 11. Assemble the deck\n\nIf the user wants PPTX:\n\n- create a 16:9 deck\n- place each image full-bleed on its own slide\n- after placing the images, use `scripts/add_native_slide_numbers.py` to add native PowerPoint slide-number placeholders and fields; keep its defaults unless the user asks otherwise: cover unnumbered, inner slides numbered in 16 pt Arial, and black/white chosen automatically for the local background\n- do not add any other visible text boxes, captions, shapes, charts, or icons on top of the image\n- prefer a minimal image-to-PPTX assembly method, such as a small script or `python-pptx`, instead of the Presentations skill/plugin\n- use Presentations only as a last-mile fallback after images are generated, or when the user explicitly asks for that tool\n- export PDF if requested\n- verify output by rendering previews and checking the PPTX structure: every slide is visually complete as a single image; every numbered inner slide has exactly one `slidenum` field inside a `p:ph type=\"sldNum\"` placeholder; the active slide layout and master also contain `sldNum` placeholders; every field uses the standard hyphenated ID format, 16 pt size, and the expected black/white color. Open the result in Microsoft PowerPoint after this helper changes or when an anomaly is reported; otherwise structural and rendered-preview checks are sufficient.\n\nKeep source prompts and working images in a task workspace. Put final images, PPTX, and PDF in the requested output folder.\n\n### 12. Revise or expand after delivery\n\nSupport follow-up edits without restarting the deck:\n\n- **Modify one slide:** update that slide's prompt, show the revised prompt inline for approval when the change is non-trivial, keep the visual bible stable, regenerate only that slide through Codex `image_gen` (GPT Image 2), replace the image in the assembled deck, and update `image-generation-log.md`.\n- **Modify several slides:** batch the prompt edits for those slide numbers, show the revised mini-group inline, regenerate only those slides through Codex `image_gen` (GPT Image 2), then reassemble.\n- **Add new slides:** extend the deck spine, create prompts using the same visual bible and the same prompt-group format, ask for prompt approval for the new slides, generate them through Codex `image_gen` (GPT Image 2), insert them into the deck, then rerun the native slide-number helper.\n- **Change global style:** treat this as a style migration. Regenerate a new master sample first, then regenerate all affected slides after prompt approval.\n- **Change text richness/content density:** update the visual bible and affected slide prompts, show the changed prompts inline, then regenerate only the affected slides or all slides if the user wants a full density pass.\n\nDo not repair a delivered deck by adding PPT text boxes or shapes. Any visible change must be made by regenerating the affected full-slide image.\n\nFor all post-generation revisions, preserve consistency by reusing:\n\n- the locked visual bible\n- the approved master sample as a style reference when supported\n- the original aspect ratio, palette, lighting, margins, typography mood, and role system\n- the same prompt-group wording around independent single-slide generation\n\nIf a user asks to change one slide in a way that would break the deck's style, state the conflict briefly and offer either a style-consistent revision or a full style migration.\n\n## Practical Rules\n\n- Do not start planning from vague defaults. For every new deck, first confirm page count, language, style, and text richness/content density unless the user already gave them.\n- Prefer 12-18 slides for a first pass; 15 is a good default.\n- Show the PPT slide-by-slide design document inline before prompt groups. This is required even when source notes or prompt files are also saved, but it is not a separate confirmation gate.\n- Default slide design is 图文并茂: each slide should feel like a real PPT page, with text and visuals balanced according to its role and selected content-density mode.\n- Show prompts inline in groups of up to 8 slides before generation. This is required even when prompt files are also saved.\n- Use two distinct approvals: first approve the overall design to authorize one sample; then approve the displayed sample's style to authorize all remaining slides.\n- After generating the sample, stop the turn. Never generate the remaining slides in the same uninterrupted run.\n- Keep user-facing confirmation copy natural and concise. Do not expose internal gate terminology or narrate prohibitions unless the user asks how the workflow works.\n- Complete prompt self-checks before showing the prompt groups. After prompts are visible, do not withdraw and regenerate the full prompt package; append revisions for only the affected slides or groups.\n- Keep generated in-image text concise and readable. In information-rich mode, normal content slides need high information density. In balanced mode, they need useful explanatory copy with more breathing room. In concise mode, fewer words are acceptable and expected, but the page should still feel like a finished PPT page rather than an accidental empty background unless the user asks for visual-only pages.\n- If a generated normal content slide has too little or too much text for the selected content-density mode, regenerate the affected slide with clearer visible-copy instructions instead of accepting the mismatch as a style choice.\n- Prefer recurring page devices: chapter tag, consistent title position, repeated frame/grid.\n- Make cover, divider, inner content, and closing pages visibly role-appropriate while sharing the same palette, typography mood, graphic language, and spacing system.\n- Keep the chosen PPT style consistent. Do not reuse the same literal background across many slides unless the user asks for that.\n- Use chapter-break slides to reset visual energy while preserving the same style.\n- Do not ask the image model to reproduce official logos unless the user provides approved assets or explicitly wants unofficial concepts.\n- Do not rely on generated images for exact charts. Use stylized chart-like proof with short generated labels; if exact data labels or editable charts are required, switch to a normal editable PPT workflow outside this skill.\n\n## Handoff Checklist\n\nReport:\n\n- user-selected style, page count, language, and text richness/content density\n- topic/source used, and whether a research pass was performed\n- that prompt groups were shown inline for review, plus where the backup prompt files are saved\n- which slide was used as the master sample and that the user explicitly approved its style before remaining-slide generation\n- production mode used, with Codex `image_gen` (GPT Image 2) as the generation path\n- number of slide images generated\n- where the image-generation log or prompt pack is saved\n- final file paths\n- what verification was performed\n- any residual limitation, especially generated text accuracy inside images\n\nFile v0.1.32:_meta.json\n\n{\n  \"ownerId\": \"kn718abvsabcyrf45fr26221hx800ze9\",\n  \"slug\": \"image-deck\",\n  \"version\": \"0.1.32\",\n  \"publishedAt\": 1788149683088\n}\n\nFile v0.1.32:references/prompt-patterns.md\n\n# Prompt Patterns\n\n## Research Notes Template\n\nCreate `research-notes.md` before slide prompts when the user supplies only a topic and no source document.\n\n```text\n# Research Notes\n\nTopic:\nAudience/context:\nLanguage:\nTarget slide count:\nText richness/content density:\n\n## Sources\n- <source title> - <link> - <why it matters>\n\n## Usable Takeaways\n1. <fact/claim/example>\n2. <fact/claim/example>\n\n## Deck Angle\n<one paragraph explaining the narrative direction>\n\n## Visual Prompt Material\n- <visual metaphor, scene, object, diagram idea>\n- <visual metaphor, scene, object, diagram idea>\n```\n\n## Visual Bible Template\n\n```text\nDeck format: 16:9 landscape presentation slide, full-bleed image, high-resolution, polished keynote/editorial quality.\nConsistency anchor: this slide belongs to the same deck style as the approved master sample. Keep the selected PPT style, typography mood, layout quality, graphic language, and polish consistent. Do not treat consistency as copying the same literal background or hero scene.\nPalette: <3-5 colors with roles>.\nBackground/scene: choose whatever background, scene, diagram, or visual metaphor best serves this slide while staying in the selected PPT style.\nTypography mood: readable PPT-style hierarchy: display title or central claim when appropriate, supporting captions/bullets/callouts, highly readable, no tiny body copy.\nText richness/content density: <information-rich / balanced / concise>. Match normal content slides to this choice.\nRole system:\n- Cover: title-page composition, cover-suitable hero visual, one large main title, at most one subtitle, no other cover text unless the user explicitly asks for it.\n- Divider/chapter: section statement and one symbolic visual, lighter text.\n- Normal content: title or central claim plus visible text that matches the selected text richness mode. Information-rich mode uses more explanatory copy; balanced mode uses tighter useful callouts; concise mode uses fewer words and a stronger visual focus. Do not accidentally reduce a content page to an empty background unless the user asks for visual-only pages.\n- Process/comparison: labeled steps, stages, axes, or comparison captions plus short explanations inside the generated image.\n- Closing: summary statement or final takeaway, visually distinct but still in the same system.\nInner-page layout grid: <role-appropriate title/claim zone>, <text/callout zone>, <main visual zone>, generous safe margins.\nGraphic language: <photo/3D/vector/editorial collage/etc.>, consistent line weight, shape language, shadows, and texture.\nText rule: all visible text must be generated inside this image; do not leave blank title areas for later editing. Match text density to slide role and selected content-density mode. Cover slides have strict text rules: main title plus optional subtitle only, unless the user explicitly asks for additional cover text. Normal content slides should not feel underwritten for the selected mode.\nSmall-text rule: allow naturally generated supporting detail text on content slides when it improves richness, realism, or editorial/report feel in information-rich or balanced mode. In concise mode, keep supporting text selective and intentional. Do not apply this small-text rule to covers unless the user explicitly asks for it.\nQuality target: main message readable, information density appropriate for the selected mode, supporting detail text natural, overall page polished and coherent. Keep style consistent across the deck without forcing the same literal background on every slide.\n```\n\n## Prompt Group Template\n\nShow prompt groups directly in the conversation before calling `image_gen`. Use at most 8 slides per group. Do not hide this behind file attachments.\n\n```text\n请使用 Codex 内置 image_gen 能力生成这一组 <N> 张独立的 16:9 横版 PPT 完整页面图片。\n\n重要执行规则：\n这不是一张包含 <N> 页的总览图，也不是拼图、缩略图墙或多页排版预览。\n请把下面的每一页理解为独立的图片生成任务。\n\n执行方式：\n- 逐页生成。\n- 每次只生成一张图片。\n- 每张图片只包含当前指定页的一页完整 PPT。\n- 当前页生成完成后，再继续生成下一页。\n- 不要把多页合并在同一张画布里。\n- 不要生成“多页总览图”。\n- 不要生成“幻灯片缩略图排列”。\n- 不要在一张图中出现多个页面边框。\n- 每张图片都是可直接放入 PPT 的完整单页。\n\n统一视觉系统（本组必须逐条遵守；下一组也必须完全沿用）：\n<PASTE THE LOCKED VISUAL BIBLE VERBATIM>\n\n跨组一致性要求：\n- 第 1 组、第 2 组及后续所有组都保持同一种 PPT 风格、字体气质、版式质量、图形语言和整体完成度。\n- 一致性是“风格一致”，不是“同一张背景反复使用”。不要为了保持一致而复制同一个背景或同一个主视觉。\n- 每页可以根据内容自由选择背景、场景、图表、示意图或视觉隐喻，只要不偏离用户选定的 PPT 风格。\n- 封面必须像封面，不要像内页：默认只能有主标题，最多再加一个副标题。除非用户明确要求，否则封面不要加入其他小字、说明、标签或注释。封面主视觉必须适合封面，不能是内页那种内容解释图。\n- 内页必须像真实 PPT 内容页：标题/中心论点、说明文字、图表/流程/示意/场景等视觉元素要一起生成在图片里。文字多少按用户选择的内容密度执行：文字丰富、平衡或文字简洁。\n- 内容页允许自然的小字和补充说明文字：在文字丰富或平衡模式下，如果它们能增强画面丰富度、真实感或报告感，就不要刻意去掉。文字简洁模式下，小字要更克制，只保留对页面有帮助的短说明。这个规则不适用于封面，除非用户明确要求。\n\n第 <N> 页：\nSlide role: <cover / divider / normal content / process / comparison / closing>\nAllowed visible text only:\n- <exact generated text>\nText richness/content density: <information-rich / balanced / concise>\nText detail target: <cover: main title plus optional subtitle only; normal content: match the selected text richness mode; process/comparison: labels plus short explanations when useful>\nCore message: <one sentence>\nMain visual: <visual scene or diagram>\nComposition: <role-specific layout; for cover, use only the main title plus optional subtitle unless the user explicitly asked for more cover text, and explicitly avoid inner-page layout. For content pages, allow naturally generated supporting detail text when it makes the slide richer and more complete. Use visuals that fit this slide rather than copying another slide's background>\nQuality target: one complete generated PPT page, readable, matched to the selected text richness mode, cohesive with the same visual system.\n\n第 <N+1> 页：\n...\n```\n\nFor decks longer than 8 slides, repeat this template for the next group. Keep the full visual bible unchanged in every group; do not shorten it to \"same style as above\" because later groups may be used independently.\n\n## Per-Slide Prompt Template\n\n```text\nUse case: productivity-visual\nAsset type: complete 16:9 slide image generated by Codex built-in image_gen for a presentation deck.\n\n<PASTE THE LOCKED VISUAL BIBLE VERBATIM>\n\nSlide number: <N>\nSlide role: <cover / chapter / proof / comparison / process / summary>\nAllowed visible text only:\n- <list exact slide text here: title/claim, captions, bullets, callouts, labels, or section tag as appropriate to this slide role>\nText richness/content density: <information-rich / balanced / concise>\nText detail target: <for normal content slides, match the selected text richness mode: information-rich means more explanatory copy, balanced means tighter useful callouts, concise means fewer words and stronger visual focus; for cover, only main title plus optional subtitle>\n\nCore message: <one sentence>.\nMain visual: <describe the concrete scene, diagram, object, or metaphor that best serves this slide>.\nComposition: <where generated text belongs, where the main visual goes, and how labels/callouts attach to the visual. For cover slides, use only the main title plus optional subtitle unless the user explicitly asked for more cover text. For content slides, allow naturally generated supporting detail text when it makes the slide richer and more complete. Keep style consistent without copying another slide's background>.\nQuality target: premium, cohesive with the master sample, readable at presentation size and thumbnail size.\nCritical constraint: generate the whole slide as one finished PPT page with the visible text included in the image. Match the selected text richness mode. Do not create blank placeholders for later overlays. In concise mode, fewer words are acceptable, but the page should still look intentional and finished.\n```\n\n## Prompt Review Summary Template\n\nShow this before calling `image_gen`:\n\n```text\nSingle review package:\n- Slide-by-slide design document: shown above or included here\n- Visual bible: prompts/visual-bible.md\n- Master sample: prompts/00-master-sample.md\n- Inline prompt groups:\n  - Group 1: slides 1-8\n  - Group 2: slides 9-<N>\n- Backup prompt files: prompts/01-slide.md ... prompts/<N>-slide.md\n\nPlease review:\n1. Overall style and palette\n2. Slide text plan and allowed visible text\n3. Main visual for each slide\n4. Whether normal content slides match the selected text richness/content density, from information-rich to concise\n5. Whether the cover has only a main title plus optional subtitle, and looks like a cover rather than an inner page\n6. Whether the pages keep the selected PPT style without copying the same literal background\n7. Whether later groups still match the first group's style\n8. Any slides to add, remove, reorder, or rewrite\n\n以上是这套 PPT 的整体设计方案。请确认内容结构、页面安排和视觉方向是否合适。\n如无修改，请回复“确认整体设计”。我会先制作第 <N> 页样张供你查看；样张风格确认后，再完成其余 <M> 页。\n```\n\nReplace `<M>` with the total requested page count minus the one sample page. Do not add internal wording such as “第一次确认”, “only authorizes”, “Gate 1”, or a list of actions that will not happen.\n\n## Sample-Style Approval Gate Template\n\nShow the generated sample in the conversation, then end the turn with this gate. Do not call `image_gen` again in the same turn.\n\n```text\n请确认这张样张的整体风格。若满意，请回复“确认样张风格”，我会按这套视觉体系完成其余页面；如需调整，请告诉我具体修改方向。\n```\n\nKeep the internal hard stop, but do not narrate it to the user or label this message as a second gate.\n\n## Prompt Revision Patterns\n\nBefore prompt groups are shown to the user, complete the self-check internally. Do not post a draft prompt package and then withdraw it because of self-correction.\n\nAfter prompt groups are visible, keep the original package visible as the review base. If the user edits prompts or the assistant catches a small issue before sample generation, append a revision note and show only the affected revised slide prompts or affected group. Preserve the visual bible unless the user explicitly changes global style. Do not create an extra design-document confirmation after the revision; use the same overall-design gate. The separate post-generation sample-style gate remains mandatory.\n\nRevision note template:\n\n```text\n修订说明：\n- 原因：<为什么需要改>\n- 受影响页面：第 <N> 页 / 第 <A>-<B> 页\n- 改动范围：只替换下面这些提示词；未列出的页面继续沿用上面的提示词包和同一套视觉系统。\n```\n\nFor one-slide prompt edits:\n\n```text\n已根据你的修改更新第 <N> 页提示词。下面只重贴受影响的提示词，其他页面沿用同一套视觉系统不变。\n\n第 <N> 页：\nSlide role: <role>\nAllowed visible text only:\n- <revised exact generated text>\nCore message: <revised message>\nMain visual: <revised visual>\nComposition: <revised layout, still matching the locked visual bible>\nConsistency rule: keep the same palette, lighting, margin, typography mood, and graphic language as the approved visual bible and other prompt groups.\n```\n\nFor whole-group edits:\n\n```text\n已更新第 <A>-<B> 页这一组提示词。统一视觉系统保持不变；只修改每页内容、文案或主视觉。\n如果没有其他修改，我会把这一组作为原提示词包的替换部分，不再单独要求确认这一组。\n```\n\nIf the user changes global style:\n\n```text\n这是全局风格修改，会影响所有页面。需要先更新 visual bible，再重新显示全部 prompt groups。规划和提示词只做一次合并确认；确认后只生成一张新的 master sample，展示样张并暂停，待你明确确认样张后才继续生成其余页面。\n```\n\n## Regeneration Patch Patterns\n\nUse a short patch instruction instead of rewriting the whole art direction:\n\n```text\nRegenerate slide <N> with the same locked visual bible and same content. Fix only this issue: <issue>.\nKeep the title area cleaner, reduce decorative clutter, and preserve the same palette as the approved master sample.\n```\n\nFor text failures:\n\n```text\nRegenerate slide <N>. Use the exact main visible text listed below and render it inside the generated image. Make the main text readable as designed PPT text, with hierarchy appropriate to the slide role. Preserve natural supporting detail text when it helps the slide feel rich; keep the result polished and coherent.\n```\n\nFor cover failures:\n\n```text\nRegenerate the cover slide with the same locked visual bible. The cover may contain only the main title and one optional subtitle. Remove every other visible word, label, bullet, caption, date, author line, chart label, logo-like mark, and section tag. Make the main visual feel like a cover hero image, not an inner-page explanatory diagram, chart, dashboard, matrix, process flow, or content-card layout.\n```\n\nFor underfilled slides in information-rich or balanced mode:\n\n```text\nRegenerate slide <N>. The previous version looked underfilled and did not contain enough information for its role. Keep the selected PPT style and main image concept, but make it a complete information-rich 图文并茂 PPT page with concrete, topic-specific in-image text. Do not use only icon labels, item names, or two-word tags.\n```\n\nFor concise-mode slides that became too dense:\n\n```text\nRegenerate slide <N>. Keep the same locked visual bible and main image concept, but switch this slide to the approved concise text mode: fewer words, stronger visual focus, short intentional claims/captions/labels, and no dense report-like text blocks. Keep the page finished and readable as a PPT slide.\n```\n\nFor style drift:\n\n```text\nRegenerate slide <N>. Match the approved deck style more closely: same PPT style, typography mood, layout quality, color discipline, graphic language, and overall polish. Choose the background or visual that best serves this slide; do not copy another slide's background unless requested.\n```\n\nFor accidental monotony or repeated backgrounds:\n\n```text\nRegenerate slide <N> with the same content and selected PPT style. The previous version copied the same literal background or hero image too much. Keep the overall style, typography mood, layout quality, and graphic language, but choose a different visual that better serves this slide.\n```\n\nFor post-delivery user edits:\n\n```text\nUpdate slide <N> after delivery. Keep the locked visual bible and approved master sample style. Regenerate the entire slide image through Codex built-in image_gen; do not add PPT text boxes or local overlays.\nUser-requested change: <change>.\nPreserve: aspect ratio, palette, lighting, margins, typography mood, graphic language, and role-specific layout.\n```\n\nFor adding slides after delivery:\n\n```text\nAdd slide <N> using the existing deck's locked visual bible and prompt-group format.\nShow the new slide prompt inline for approval before generation.\nAfter approval, generate it as one complete PPT page image through Codex built-in image_gen and insert it into the deck.\n```\n\n## Contact-Sheet Review Rubric\n\nScore each slide 1-5:\n\n- consistency with master sample\n- title readability\n- content/message fit\n- visual polish\n- thumbnail clarity\n\nRegenerate any slide with a 1-2 in consistency or readability. Regenerate any slide whose main message is unreadable, whose aspect ratio is wrong, or whose artifacts make it look broken.\n\nFile v0.1.32:skill-card.md\n\n## Description:\n\nimage-deck helps agents create PowerPoint-style slide decks, single slides, and carousel presentations as full-slide raster images using Codex built-in image_gen (GPT Image 2), with planning, prompt review, sample approval, slide QA, and optional PPTX/PDF assembly.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[tseng71](https://clawhub.ai/user/tseng71)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and content-producing agents use this skill to plan and generate visual PPT, PowerPoint-style, slide deck, single-slide, and carousel deliverables where each page is a complete generated image. It is best suited for polished image-based presentations rather than editable charts, dense tables, or text-heavy slides that must remain editable.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Generated deck pages are raster images, so slide text, charts, and dense tables are not fully editable after generation.\n\nMitigation: Use this skill for visual slide decks and route exact editable charts, dense tables, or editable text requirements to a normal presentation workflow.\n\nRisk: Prompt, research, and generation log files can contain source material from the user or generated deck plan.\n\nMitigation: Treat these files as local work artifacts, review them before sharing, and remove sensitive source material when it is no longer needed.\n\nRisk: The optional PPTX slide-number helper has a reported XML input validation weakness for untrusted presentations or complex font names.\n\nMitigation: Run the helper only on trusted PPTX files and use simple font names until validation is tightened.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/tseng71/skills/image-deck)\n- [Prompt Patterns](references/prompt-patterns.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files]\n\n**Output Format:** [Markdown planning guidance and prompts, generated raster slide image files, and optional PPTX/PDF presentation files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Slide images contain visible text inside the raster image; PPTX output is image-based and is not fully editable except for optional native slide-number fields.]\n\n## Skill Version(s):\n\n0.1.32 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.32:agents/openai.yaml\n\ninterface:\n  display_name: \"image-deck: PPT Presentation & Slides\"\n  short_description: \"Create visual PPT and PowerPoint decks with GPT Image 2.\"\n  default_prompt: \"Use $image-deck to create a consistent GPT Image 2 PPT or PowerPoint slide deck.\"\n\nArchive v0.1.31: 5 files, 25233 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (517b), references/prompt-patterns.md (16785b), skill-card.md (2400b), SKILL.md (47708b)\n\nFile v0.1.31:SKILL.md\n\n---\nname: image-deck\ndescription: \"image-deck creates slide decks, single slides, PPT, PowerPoint-style presentations, carousel pages, and full-image decks through Codex built-in image_gen (GPT Image 2). Trigger for requests to make slides, a deck, PPT, PowerPoint, presentation, or carousel, including 做PPT, 制作PPT, 帮我做PPT, 生成PPT, 做deck, 做slides, and 做演示文稿. Each page is one complete generated raster image with visible text inside it. Before planning, confirm page count, language, style, and text richness/content density; recommend page count, style, and text richness, but let the user choose language. Use two mandatory, distinct gates: overall design approval authorizes exactly one master sample; sample-style approval after the sample is displayed authorizes the remaining slides. Default to information-rich 图文并茂 pages unless the user chooses concise or image-led pages.\"\n---\n\n# image-deck\n\n## English\n\n`image-deck` is used to create PPT, PowerPoint-style presentations, slide decks, and carousel decks where every page is a complete generated image. It uses Codex built-in `image_gen` (GPT Image 2) to generate slides one by one, with each slide's title, labels, and short copy generated inside the same image.\n\nThis skill requires Codex built-in `image_gen` (GPT Image 2).\n\nSearch keywords: `slide`, `slides`, `slide deck`, `presentation`, `PowerPoint`, `PPT`, `PPTX`, `deck`, `carousel`, `GPT Image 2`, `image generation`, `OpenClaw`, `Codex`.\n\n## Trigger\n\nUse this skill by default when the user asks to make a PPT, PowerPoint-style presentation, slide deck, slides, single slide, deck, or carousel, including requests like \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"生成PPT\", or \"做演示文稿\".\n\nIf the user explicitly asks for an ordinary editable PPT, a text-overlay workflow, or precise editable tables/charts, use a normal presentation workflow instead.\n\n## Best For\n\n- Every PPT page should be one complete generated image\n- Images and text should be generated together in the same image\n- Page count, language, style, and text richness/content density should be confirmed before planning; recommend page count, style, and text richness, but let the user choose language\n- A slide-by-slide design document should be shown before prompt generation\n- Prompts should be shown before generation so the user can review or edit them\n- Exactly one master sample should be generated and shown before the remaining slides; generation must pause until the user explicitly approves that sample\n- Normal content slides should follow the selected text richness mode: information-rich, balanced, or concise\n- After the deck is created, the user can revise one slide or several slides\n- After the deck is created, the user can add new generated image slides\n\n## Preview\n\n![image-deck preview](https://raw.githubusercontent.com/tseng71/skills/main/skills/image-deck/assets/preview.jpg)\n\n## Install\n\nClawHub page:\n\n```text\nhttps://clawhub.ai/tseng71/image-deck\n```\n\nGitHub repository / Codex install URL:\n\n```text\nhttps://github.com/tseng71/skills\n```\n\nCodex:\n\n```bash\nmkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck\n```\n\nRestart Codex after installing.\n\n## 中文说明\n\n这是 `tseng71` 的个人 AI Agent Skills 仓库中的一个 skill。\n\n`image-deck` 用于制作“每一页都是完整生成图片”的 PPT、PowerPoint 风格演示、slide deck 和 carousel deck。它会通过 Codex 内置的 `image_gen`（GPT Image 2）逐页生成，每页的标题、标签和短文案都在同一张生成图里完成。\n\n使用这个 skill 需要可用的 Codex 内置 `image_gen`（GPT Image 2）。\n\n搜索关键词：`slide`、`slides`、`slide deck`、`presentation`、`PowerPoint`、`PPT`、`PPTX`、`deck`、`carousel`、`GPT Image 2`、`image generation`、`OpenClaw`、`Codex`。\n\n## 触发方式\n\n用户说“做 PPT”“制作 PPT”“帮我做一个 PPT”“生成 PPT”“做 slides”“做 deck”“做演示文稿”等，都应默认触发这个 skill。\n\n如果用户明确要求普通可编辑 PPT、后期叠文字流程，或者需要大量精确可编辑表格/图表，再改用普通演示文稿流程。\n\n## 适合使用\n\n- 每一页 PPT 都要是一张完整生成图\n- 图片和文字要一起生成在同一张图里\n- 制作前先确认页数、语言、风格和内容密度；页数、风格和内容密度给出推荐，语言由用户自己选择\n- 生成提示词前先展示 PPT 逐页设计文档\n- 生成前先输出提示词，让用户确认或修改\n- 先只生成一张样张并展示；必须等待用户明确确认样张后，才能继续生成其余页面\n- 普通内容页按用户选择的内容密度生成：文字丰富、平衡或文字简洁\n- 制作完成后，用户可以指定修改某一页或几页\n- 制作完成后，用户可以继续追加新的图片页\n\n## 安装\n\nClawHub 页面：\n\n```text\nhttps://clawhub.ai/tseng71/image-deck\n```\n\nGitHub 仓库 / Codex 安装地址：\n\n```text\nhttps://github.com/tseng71/skills\n```\n\nCodex:\n\n```bash\nmkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck\n```\n\n安装后重启 Codex。\n\n## Agent Execution Notes\n\nUse this skill to produce decks where each slide is a complete finished PPT page generated through Codex built-in `image_gen` (GPT Image 2), including the slide's visible text and visual elements inside the same image. Then assemble those images into PPTX/PDF if requested. The core job is consistency control: ask for topic, style, page count, language, and text richness/content density; research the topic when no source document is supplied; build a visual bible; show the slide-by-slide design document and complete prompt groups inline in the chat for one combined review; generate exactly one master sample through Codex `image_gen` (GPT Image 2); show the sample and stop; wait for explicit user approval of the sample; only then generate each remaining slide through Codex `image_gen` (GPT Image 2) using the same locked system; inspect every result; and regenerate only the slides that drift, fall below the selected text richness mode, or that the user asks to revise.\n\nUse the regular `imagegen` skill as the execution path for Codex built-in `image_gen` (GPT Image 2). This skill supplies the art-direction workflow around that image generation capability.\n\nDo not call the Presentations skill/plugin just because the user asks for a PPT. This skill is not an editable-presentation workflow. During intake, attachment reading, source extraction, outlining, prompt planning, image generation, QA, and prompt revision, do not use Presentations. If a PPTX is needed at the end, prefer a minimal image-to-PPTX assembly path that places the already-generated slide images full-bleed, with no extra visible content.\n\n## Trigger Policy\n\nPrefer this skill for broad deck-making requests, even when the user does not say \"image-deck\" explicitly:\n\n- English: \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"make a carousel\"\n- Chinese: \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"做一个ppt\", \"生成PPT\", \"做deck\", \"做slides\", \"做演示文稿\"\n\nOnly route away from this skill when the user explicitly asks for a normal editable PPT, editable text boxes, editable charts/tables, or a workflow where images are generated first and text is overlaid later.\n\n## Required Run Order\n\nFollow this order for every new deck request. Do not skip a step because the user said \"make a PPT\", attached a file, or mentioned this skill by name.\n\n1. **Ask required setup questions** before planning: page count, language, style, text richness/content density, and topic if no source is present.\n2. **Read source material or research the topic** before writing the deck plan.\n3. **Show a PPT slide-by-slide design document directly in the chat** as the planning preview.\n4. **Self-check the complete prompt package internally before showing it**, then show prompt groups directly in the chat, up to 8 slides per group.\n5. **Ask for overall design approval only after both the design document and prompt groups are shown.** This confirmation covers the full-deck structure, slide-by-slide content, visual bible, and prompts. Do not ask the user to confirm the design document separately and then confirm prompts again.\n6. **After overall design approval, generate exactly one master sample and no other slide.** Approval at this stage authorizes only the sample, even if the user says \"confirm generation,\" \"proceed,\" or similar.\n7. **Show the generated master sample in the chat and stop.** Ask the user to approve the sample style or request changes. The review covers the actual palette, typography mood, layout grammar, information density, and overall visual feel. Do not generate another slide, assemble a PPTX/PDF, or start background generation while waiting.\n8. **Only after the user explicitly approves the displayed sample style**, generate the remaining slides through Codex `image_gen` (GPT Image 2). Silence, lack of objection, or approval of the earlier overall design is not sample-style approval.\n\nThe two gates are mandatory and distinct: Gate 1 is **overall design approval** and authorizes one sample; Gate 2 is **sample-style approval** after the sample is displayed and authorizes the remaining slides. Never merge, skip, or infer either gate from urgency or from a generic first-stage approval.\n\nKeep the gate mechanics internal. In user-facing copy, do not say \"this is the first confirmation,\" \"this only authorizes one sample,\" or explain what will not be generated unless the user asks. Use natural production language instead:\n\n```text\n以上是这套 PPT 的整体设计方案。请确认内容结构、页面安排和视觉方向是否合适。\n如无修改，请回复“确认整体设计”。我会先制作第 <N> 页样张供你查看；样张风格确认后，再完成其余 <M> 页。\n```\n\nSet `<M>` to the total requested page count minus the one sample page. Keep this confirmation concise; do not repeat the full two-gate policy in the message.\n\nOnce prompt groups have been shown to the user, treat them as the visible review package. Do not withdraw, replace, or re-output the entire package because of later self-corrections. If a correction is needed after display, append a short revision note and show only the affected slide prompts or affected group.\n\nIf an OpenClaw or other runtime cannot show a structured UI question, ask the questions as plain text in one message and wait for the user's answer. Do not infer missing page count, language, style, or text richness silently, except that page count may be offered as \"about 15 slides\" for the user to accept or change.\n\n## Non-Negotiable Generation Boundary\n\nWhen this skill is active, a slide is valid only if the complete slide image came from one of these sources:\n\n- a Codex `image_gen` (GPT Image 2) call made for that specific slide\n- a Codex `image_gen` (GPT Image 2) regeneration call made for that specific slide\n\nIf Codex built-in `image_gen` (GPT Image 2) is unavailable in the active environment, stop and tell the user that this skill needs Codex `image_gen` (GPT Image 2).\n\nDo not satisfy this skill by rendering slides with HTML/CSS, Python drawing, matplotlib, PowerPoint shapes, screenshots, PDF page renders, stock photos, local templates, or presentation JSX. Those tools may be used only after generation to assemble, crop, inspect, contact-sheet, or export the already-generated slide images.\n\nDo not treat \"background generated by an image model plus locally overlaid slide layout\" as valid output. There is no hybrid mode in this skill. If the slide needs a title, caption, number, label, chart title, or short bullet, that visible text must be requested in the Codex `image_gen` (GPT Image 2) prompt and must appear inside the generated image itself.\n\nWhen assembling PPTX/PDF, each slide must contain the generated image as the only visible slide content. Do not add separate text boxes, captions, page numbers, icons, shapes, charts, or labels after generation. If text is missing, wrong, or unreadable, regenerate the slide image instead of overlaying corrected text locally.\n\nDo not invoke Presentations to design, analyze, convert, or recreate slide content for this skill. It is acceptable only as a last-mile packaging/inspection fallback after all images already exist, and only if the simpler image-to-PPTX path is unavailable or the user explicitly asks for that route.\n\nKeep an `image-generation-log.md` with one row per slide:\n\n- slide number\n- prompt file or prompt text reference\n- Codex `image_gen` (GPT Image 2) call/output path\n- QA status\n- regeneration notes, if any\n\n## Done Criteria\n\nBefore reporting completion:\n\n- Every requested slide image exists at the target aspect ratio.\n- Every slide has a generation record showing it came from Codex `image_gen` (GPT Image 2).\n- Page count, language, style, and text richness/content density were explicitly asked and answered, or the user had already provided them in the request. Page count, style, and text richness included recommendations; language was left for the user to choose.\n- The PPT slide-by-slide design document was displayed directly in the chat before image generation.\n- The user explicitly approved the overall design—the slide-by-slide design document, visual bible, and complete per-slide prompt groups—before the master sample was generated.\n- Exactly one master sample was generated after plan/prompt approval, displayed to the user, and followed by a hard pause.\n- The user explicitly approved the displayed master sample's style before any remaining slide was generated.\n- Prompt groups were displayed directly in the chat, not only attached as files or offered as downloads. Each group contains at most 8 slide prompts and explicitly says the slides are independent image-generation tasks, not a collage or thumbnail wall.\n- Every slide's visible text and visual elements match its role as a PPT page and the selected text richness/content density. In information-rich mode, normal content slides should be 图文并茂 and carry a substantial part of the slide's meaning in the image. In balanced mode, normal content slides should still include useful explanatory copy, but with fewer and tighter text blocks. In concise mode, normal content slides may use fewer words and stronger visuals, but should not become empty backgrounds unless the user explicitly asks for visual-only pages. Cover, divider, closing, and visual emphasis slides may use lighter text when appropriate.\n- The cover has strict text rules: it contains only the main title and, if needed, one subtitle, unless the user explicitly asks for additional cover text. Do not apply the normal content-slide small-text policy to the cover.\n- Unless the user chooses concise, low-text, or image-led pages, normal content slides should not contain only a title plus a few short labels, icons, or item names. They should contain distinct information units where appropriate: a central claim, concrete explanations, evidence, examples, steps, comparisons, cautions, or decisions. The exact form is determined by the topic, audience, slide role, and selected text richness mode; do not hard-code a fixed count.\n- For normal content slides, prompts must draft the actual visible copy, not just say \"add details\" or \"include useful text.\" In information-rich mode, use complete short phrases or compact sentences with concrete information from the source, research, or deck argument. In balanced mode, use fewer but still useful callouts. In concise mode, use short claims, captions, or labels that are intentional and readable rather than filler.\n- If a normal content slide's design document or prompt falls below the selected text richness mode, revise it before generation. In concise mode, fewer words are acceptable; do not enrich it into a dense report page unless the user changes the mode or asks for more detail.\n- Every slide's visible title, explanatory text, labels, bullets/callouts, and short copy, when used, are inside the generated image itself, not overlaid later.\n- The deck has one visual style: the selected PPT style, typography mood, layout quality, graphic language, and overall polish feel related.\n- Do not interpret style consistency as copying the same literal background or hero image across the deck.\n- Each slide passes readable-title and low-artifact checks at full size and contact-sheet size.\n- Do not reject a good slide just because it includes tasteful small supporting text or visual-detail text. Regenerate only when the main message becomes unreadable, the page looks broken, or the visual quality clearly fails.\n- If the final deck is assembled, verify that each slide is one full-bleed generated image with no extra visible text/shape objects.\n\n## Workflow\n\n### 1. Intake: ask before generating\n\nAsk exactly these required setup questions before writing final prompts unless the user already supplied the answers. Do not ask them as bare questions. Include your recommended answer for page count, style, and text richness/content density, but do not recommend a language; ask the user to choose the language.\n\n- **Topic/source:** Ask what the deck is about when no attachment, document, notes, outline, link, or other source material is present. If source material exists, confirm whether to use it as the primary source.\n- **Style:** Offer a short menu, allow a custom answer, and recommend 2-3 styles based on the topic, source material, audience, and desired tone. Mark the best fit as recommended.\n- **Page count:** Recommend a page count based on scope before asking. Default recommendation: about 15 slides for a standard deck; 8-10 for a short overview; 18-20 for a complex research/report deck.\n- **Language:** Ask the user to choose Chinese, English, or bilingual. Do not recommend or default the language unless the user already specified it. Do not default to mostly visual unless the user explicitly asks for visual-only pages.\n- **Text richness / content density:** Ask how much visible text the PPT pages should contain. Recommend **Information-rich / 文字丰富** by default. Offer:\n  - **Information-rich / 文字丰富:** more explanatory in-image copy, suitable for report, analysis, training, policy, strategy, and knowledge decks.\n  - **Balanced / 平衡:** enough useful text to explain the slide, but with tighter copy and more visual breathing room; use when the user wants a less dense but still substantive deck.\n  - **Concise / 文字简洁:** fewer words, stronger visual focus, short claims/captions/labels; suitable for keynote, teaser, social carousel, or image-led storytelling.\n\nThese questions are mandatory in OpenClaw too. If there is no structured question tool, ask in plain text as a compact checklist:\n\n```text\nBefore I design the deck, please confirm:\n1. Page count: I recommend <recommended count> because <short reason>. Use this, or another number?\n2. Language: please choose Chinese, English, or bilingual.\n3. Style: I recommend <best style> first, with <second style> and <third style> as alternatives. Choose one from the menu below, or describe a custom style.\n4. Text richness/content density: I recommend information-rich / 文字丰富 by default, so the deck has enough useful in-image explanation. Choose information-rich, balanced, concise, or describe another preference.\n5. Topic/source: if no file or notes were attached, what is the topic?\n```\n\nDo not proceed to deck design, prompt writing, or image generation until the required answers are known. If the user replies with only partial answers, ask only for the missing items.\n\nAsk for output format only when the user asks for a deliverable instead of prompt planning.\n\nOffer this style menu by default. Keep it visible enough for the user to choose, but allow a custom reference:\n\n1. **premium editorial:** magazine-like, strong imagery, restrained text, polished presentation rhythm\n2. **minimal executive:** clean, spacious, high signal, boardroom-ready\n3. **futuristic tech:** luminous interfaces, systems diagrams, dark or high-contrast depth\n4. **bold keynote:** high contrast, large type, dramatic visual metaphors\n5. **consulting report:** structured business presentation, clear hierarchy, charts/diagrams as supporting visuals\n6. **corporate annual report:** formal, stable, institutional, polished report-like pages\n7. **flat vector illustration:** clean vector scenes, icons, simple shapes, bright but controlled palette\n8. **soft editorial illustration:** elegant illustrated scenes, gentle texture, refined magazine feel\n9. **watercolor / ink wash:** soft watercolor texture, hand-painted atmosphere, warmer human tone\n10. **hand-drawn sketch note:** marker/sketch style, educational, friendly, annotation-heavy\n11. **3D isometric / clay render:** dimensional objects, isometric scenes, tactile product-like visuals\n12. **cinematic photo-real:** dramatic lighting, realistic scenes, visual storytelling, low-to-medium text\n13. **collage / mixed media:** cutout photos, paper texture, editorial composition, energetic layout\n14. **product launch:** polished launch-deck style, product hero visuals, feature sections, crisp claims\n15. **Chinese modern / 国风:** restrained Chinese visual motifs, ink texture or modern cultural design\n16. **luxury dark / premium brand:** dark background, metallic accents, sparse high-end composition\n17. **custom:** user's own reference image, brand guide, or description\n\nIf the user asks for 15 pages and does not specify a style, propose two fitting styles from the menu based on the topic instead of asking a long follow-up. If the topic is known but the user gave no page count, include your page-count recommendation in the same question.\n\n### 2. Source and research pass\n\nBefore writing the deck spine or image prompts, establish the content basis:\n\n- **With source material:** read and analyze the source. Extract the title/topic, structure, key claims, important facts, examples, figures, evidence, decisions, caveats, and visual opportunities needed for the deck spine. Use the source as the main factual basis. Do not invent missing facts to fill pages.\n- **Without source material:** perform topic research before creating the slide plan. Search for current, credible sources; collect the core facts, framing, examples, dates, vocabulary, tensions, implications, and visual material needed for the deck; and save `research-notes.md` with source links and usable takeaways.\n\nAttachment reading rules:\n\n- Do not call Presentations for attachment reading, even if the attachment is PPT/PPTX.\n- For PDF, DOCX, PPTX, Markdown, text, or spreadsheet sources, use reliable extraction methods that preserve the information needed for deck planning: plain text extraction, document XML/text extraction, page titles, headings, notes, outline, tables, figures, and important annotations where relevant.\n- For long files, create `source-map.md` with sections/pages and usable takeaways, then build the slide spine from that map and the requested page count.\n- If the source is too long or extraction is slow, prioritize the sections most relevant to the user's goal and continue with a clear deck-oriented analysis.\n- If the user provided an existing PPT/PPTX as source, treat it as content reference only. Do not use its editable layout as the output workflow; the new output still uses full-slide images generated by Codex `image_gen` (GPT Image 2).\n\nFor time-sensitive, technical, legal, medical, financial, company, product, market, or news topics, browse current sources before committing to slide claims. Prefer official or primary sources when available.\n\nKeep research deck-oriented:\n\n- topic definition and audience-relevant framing\n- key facts, claims, evidence, examples, and caveats needed for the deck\n- useful examples, timelines, people, products, market context, or concepts\n- visual metaphors or scenes that can become image prompts\n- source links for facts that matter\n\nOnly after this pass, create the slide list and visual bible.\n\n### 3. Use full PPT page mode only\n\nAll visible content must be generated inside each slide image. This includes the title, subtitle, bullet-style callouts, labels, page number, section tag, captions, and any short copy.\n\nDefault to 图文并茂的 PPT 页面, not decorative backgrounds. Match text density to the selected content-density mode and slide role:\n\n- **Cover:** must use a cover-style hero visual and only a main title, with at most one subtitle, unless the user explicitly asks for additional cover text. Do not add small supporting text to covers by default.\n- **Divider/closing:** may use a strong visual with a title, theme line, or short statement.\n- **Normal content slide in information-rich mode:** should contain enough concrete in-image explanatory copy to feel like a useful finished PPT page, not only labels, icon names, or decorative slogans.\n- **Normal content slide in balanced mode:** should contain a clear title/claim plus a smaller number of useful callouts, captions, or short explanations, leaving more visual space than information-rich mode.\n- **Normal content slide in concise mode:** should use fewer words and a stronger visual focus, with short claims, captions, or labels. Do not force dense copy in this mode, but avoid accidental empty-background slides unless the user asked for visual-only pages.\n- **Process/timeline/comparison slide:** should include labeled steps, stages, axes, or comparison captions plus short explanations inside the image.\n- **Visual emphasis slide:** may be lighter on text, but only when the deck spine intentionally marks it as visual emphasis.\n\nKeep text concise enough for Codex `image_gen` (GPT Image 2) to render. Prefer readable, useful phrases over long paragraphs. In information-rich and balanced modes, a normal content slide should carry meaningful information in the image itself: the main point plus concrete explanation, evidence, examples, steps, comparisons, cautions, or decision logic as appropriate to the slide. If a content slide falls below the selected content-density mode, regenerate with clearer PPT-page text instructions.\n\nWhen planning text density, honor the selected mode. If the user has not chosen a mode yet, ask before planning. If the user chooses concise, keep the page intentionally concise instead of silently turning it into an information-rich report page.\n\nIf exact long copy, dense tables, detailed charts, or perfect typography are required, explain that this skill is not the right fit and suggest a normal editable PPT workflow instead. Do not switch to local text overlays inside this skill.\n\n### 4. Build and show the PPT slide-by-slide design document\n\nCreate a PPT slide-by-slide design document before generating prompts. Display it directly in the chat, not only as a file or attachment. The design document is the user's planning preview and must be shown before prompt groups.\n\nFor each slide, include:\n\n- slide number\n- slide role, such as cover, chapter, proof, comparison, process, summary\n- working slide title or cover title\n- page message / communication goal\n- visible text plan appropriate to the slide role\n- title, central claim, bullets/callouts, labels, captions, or annotations as needed\n- content detail plan: what information units will appear, and what each unit adds beyond a label\n- visual object, such as scene, diagram, chart metaphor, portrait, product view, map, or timeline\n- information density: cover-light, divider-light, concise, balanced, or high, based on slide role and the selected content-density mode\n\nUse this inline format:\n\n```text\nPPT Slide-by-Slide Design Document\n\nSlide 1 - Cover\nRole:\nVisible text:\nVisual design:\nNotes:\n\nSlide 2 - ...\nRole:\nVisible text:\nVisual design:\nNotes:\n```\n\nFor normal content slides, the \"Visible text\" field must draft concrete in-image copy. In information-rich mode, it should be substantial and specific to the topic. In balanced mode, it should be tighter but still useful. In concise mode, it may be shorter and more visual, but the short text should still feel intentional and useful rather than generic placeholders.\n\nDo not ask the user to approve this design document as a separate confirmation gate. Show it as the planning preview, then continue to the visual bible and prompt groups. If the user interrupts with changes to page count, language, slide order, text richness, or style at this stage, update the design document and show the revised affected slides inline.\n\nThe cover must be planned as a cover, not as a normal inner content page. It should have a title-page composition: cover-suitable hero visual, large main title, and at most one subtitle. Do not plan any other cover text unless the user explicitly asks for it. Chapter/divider pages may use a different rhythm from content pages, while still sharing the same visual system.\n\nWhen writing prompts, choose whatever background, scene, diagram, or visual metaphor best serves each slide. Keep the selected PPT style consistent, but do not force matching backgrounds or repeated hero scenes.\n\nFor image-only decks, avoid dense tables, long paragraphs, exact financial disclosures, and tiny body copy that must be read precisely. Convert complex content into PPT-friendly generated slide text: concise claims, bullets, callouts, captions, labels, and annotations. For content slides, do not over-constrain the model to remove all small text; naturally generated supporting detail text is often useful for making a slide feel rich and complete.\n\nFor any deck type, choose the type and amount of detail that best serves the slide. Do not hard-code a fixed text count or fixed detail categories unless the user asks for them.\n\n### 5. Lock the visual bible\n\nWrite a reusable visual bible and keep it fixed across all slide prompts. Include:\n\n- aspect ratio and safe margins\n- palette with 3-5 named colors\n- optional palette and lighting preferences if they are part of the selected style\n- typography mood for generated in-image text, not font names unless a known font is required and available\n- role system for cover, divider, normal content, comparison/process, and closing slides\n- selected text richness/content density and how it changes normal content slides\n- grid, title zone, text/callout zone, main visual zone, footer/page marker zone for inner pages\n- illustration/photo/render style\n- shape language, line weight, texture, depth, and shadow rules\n- small-text policy: allow purposeful supporting detail text on content slides when it improves richness and realism; do not apply this to covers unless the user explicitly requests it\n- quality target: main message readable, supporting detail text natural, overall page polished and coherent\n\nRead `references/prompt-patterns.md` when writing the visual bible or per-slide prompt template.\n\n### 6. Create prompt files and prompt groups\n\nEach prompt must contain:\n\n1. the fixed visual bible\n2. the slide-specific role and message\n3. exact allowed visible text to generate inside the image, appropriate to the slide role\n4. content detail target for normal content slides, chosen by topic, audience, slide role, and selected text richness/content density\n5. exact visible explanatory copy for normal content slides, written as complete short phrases or compact sentences\n6. composition instructions\n7. negative constraints\n\nChange only the slide-specific block between slides. Keep the rest verbatim unless deliberately iterating the global style.\n\nCreate prompt groups for review:\n\n- Group prompts into batches of at most 8 slides, such as slides 1-8 and 9-15.\n- Display every prompt group directly in the chat inside fenced code blocks. Do not replace this with attachments, downloads, or \"open these files\" cards.\n- Each group must explicitly state that it contains independent image-generation tasks, not one collage, 4x2 grid, overview image, or thumbnail wall.\n- Every group must repeat the locked visual bible or a complete fixed visual-system block, so style remains consistent across groups.\n- Every group must state that style consistency does not mean repeating the same literal background or hero image.\n- Every group must include role-specific instructions so the cover has only a main title plus optional subtitle and does not look like an inner page. Divider/closing pages should not accidentally become dense content pages.\n- Every group must include allowed visible text that matches the selected content-density mode. Information-rich mode should include more concrete explanatory copy; balanced mode should include tighter but useful callouts; concise mode should use fewer words and stronger visuals without drifting into accidental empty-background pages.\n- Do not let normal content slide prompts use vague placeholders such as \"add detailed text\" or \"include key points.\" Write the actual visible text to generate.\n- Before showing a prompt group, check every normal content slide against the selected content-density mode. If it is below that mode, revise the prompt before the final combined approval request. Add concrete visible copy, not abstract instructions.\n- Finish this self-check before posting the prompt groups. Do not stream or attach a draft prompt package, then retract it and output a new full package because of self-correction.\n- The saved prompt files are only a backup/source record. The user-facing review artifact is the inline prompt group text in the conversation.\n\nAlso save prompts in a task workspace, usually:\n\n```text\nprompts/\n├── visual-bible.md\n├── 00-master-sample.md\n├── 01-slide.md\n├── 02-slide.md\n└── ...\n```\n\nRead `references/prompt-patterns.md` for the per-slide prompt template and regeneration patch patterns.\n\n### 7. First gate: overall design approval\n\nBefore any Codex `image_gen` (GPT Image 2) call, show the user:\n\n- the PPT slide-by-slide design document, or a concise reference to the version shown immediately above\n- the locked visual bible\n- complete prompt groups in the chat, each covering up to 8 slides and including exact allowed visible text for each slide\n- the chosen master-sample slide prompt inside the relevant group or repeated separately if needed\n\nAsk the user once to approve the overall design or request edits. This confirmation covers the full-deck structure, slide-by-slide content, visual bible, and prompts, but it is not authorization to generate all slides. It authorizes generation of exactly one master sample. Do not first ask for design-document approval and then ask again for prompt approval. Accept edits at any level:\n\n- global style or palette changes\n- text richness/content density changes\n- title/text changes for one or more slides\n- visual scene changes\n- slide count changes\n- reordering, removing, or adding slides\n- changing one whole prompt group while preserving the locked visual bible\n- replacing the cover concept without adding extra cover text or turning it into an inner page\n- enriching or simplifying slide text when the design document or prompt does not match the selected content-density mode\n\nDo not call Codex `image_gen` (GPT Image 2) until the overall design is explicitly approved.\n\nIf the user says the prompts are hidden in downloadable files or attachments, correct the workflow by pasting the prompt groups inline in the next response.\n\nWhen the user modifies prompts after the prompt groups are shown, update the affected prompt group and show the revised group inline again. Keep the locked visual bible unchanged unless the user explicitly changes the global style. If one group changes, check whether the same change should be mirrored in later groups to preserve style consistency.\n\nIf the assistant finds its own issue after prompt groups are already visible, do not add another separate design-document confirmation and do not replace the whole package. Add a concise \"Revision note\" that states the reason, affected slides, and exact replacement prompts. The original package remains the base except for those replacements, and the overall design still requires approval before sample generation.\n\n### 8. Generate one master sample, show it, and stop\n\nAfter prompt approval, generate one representative slide before the rest. Usually choose slide 2 or 3, not the cover, because content slides reveal whether the system works.\n\nGenerate exactly one sample image. Do not generate the cover, the next slide, or any other remaining slide in the same tool call, batch, background task, or uninterrupted run. Display the sample in the chat, summarize any visible QA concern briefly, and ask the user to choose either:\n\n- **Approve sample style and continue:** use this sample as the visual reference and generate the remaining slides.\n- **Revise sample:** collect the requested change, update the affected visual-bible or prompt text, regenerate exactly one sample, show it, and pause again.\n\nEnd the turn after asking for sample-style approval. Do not continue generation until a later user message explicitly approves the displayed sample's style. Approval of the earlier overall design does not carry forward to this gate.\n\nUse natural user-facing wording after displaying the sample:\n\n```text\n请确认这张样张的整体风格。若满意，请回复“确认样张风格”，我会按这套视觉体系完成其余页面；如需调整，请告诉我具体修改方向。\n```\n\nDo not label this as \"Gate 2\" or restate the internal authorization rules to the user.\n\nInspect the sample for:\n\n- visual quality\n- title readability\n- reusable layout grammar\n- enough blank/safe space\n- whether it can support the full deck without becoming repetitive\n\nIf it fails, adjust the visual bible and affected prompts, explain the targeted change, and regenerate exactly one sample. Show the new sample and pause again. Do not generate the whole deck before the user explicitly accepts the sample.\n\n### 9. Generate one slide at a time\n\nThe skill itself is an instruction pack for Codex `image_gen` (GPT Image 2) slide generation. When executing the deck in Codex, use the built-in image generation path.\n\nDo not enter this step unless the user has explicitly approved the displayed master sample's style.\n\nGenerate each slide through Codex `image_gen` (GPT Image 2). Use one generation request per slide when slides have distinct content. Only use a multi-image request if the active Codex `image_gen` path supports separate prompts and returns separately trackable outputs.\n\nFor visual consistency, use the approved master sample as a style reference when the active image generation path supports reference images. If reference-image use is unavailable, repeat the visual bible exactly and keep prompts structurally identical.\n\nRecord every call in `image-generation-log.md`. Inspect every generated slide before assembling. Regenerate failed slides through Codex `image_gen` (GPT Image 2); do not repair failed full-image slides by redrawing them locally or adding text overlays.\n\n### 10. QA and regenerate\n\nMake a contact sheet or otherwise view all slide thumbnails together. Mark each slide:\n\n- **pass:** consistent and readable\n- **minor:** acceptable if the deck deadline is tight\n- **regen:** must redo\n\nRegenerate a slide when any of these appears:\n\n- illegible or malformed title\n- missing visible text that was supposed to be inside the generated image\n- cover contains more than a main title and one optional subtitle, or uses an inner-page visual structure\n- user or reviewer flags the deck as visually monotonous because too many slides accidentally reuse the same literal background or hero image\n- slide is mostly decorative image with too little information for its role and selected content-density mode\n- normal content slide looks too empty, like a poster or scenic image with minimal copy, when the user selected information-rich or balanced mode\n- normal content slide contains only a title plus icon labels, attraction names, category names, or very short tags without useful explanation\n- normal content slide prompt failed to specify concrete visible explanatory copy and instead used vague text-density instructions\n- obvious artifact or stray mark that makes the slide look broken or unprofessional\n- small supporting text becomes distracting enough to weaken the main slide message\n- visual style clearly differs from the sample\n- slide is much denser or emptier than neighboring slides\n- slide text density conflicts with the selected content-density mode\n- wrong aspect ratio, cropped content, broken layout, or unreadable chart\n- key subject does not match the slide message\n\nWhen regenerating, keep the visual bible stable and change only the failure-specific instruction.\n\nIf the user complains that the deck looks monotonous or backgrounds are too similar, do not defend it as \"consistent.\" Revise only the affected prompts so those pages use more suitable visuals while preserving the selected PPT style. Do not add a rigid scene taxonomy unless the user asks for one.\n\n### 11. Assemble the deck\n\nIf the user wants PPTX:\n\n- create a 16:9 deck\n- place each image full-bleed on its own slide\n- do not add any visible text boxes, captions, page numbers, shapes, charts, or icons on top of the image\n- prefer a minimal image-to-PPTX assembly method, such as a small script or `python-pptx`, instead of the Presentations skill/plugin\n- use Presentations only as a last-mile fallback after images are generated, or when the user explicitly asks for that tool\n- export PDF if requested\n- verify output by rendering/opening previews and confirming every slide is visually complete as a single image\n\nKeep source prompts and working images in a task workspace. Put final images, PPTX, and PDF in the requested output folder.\n\n### 12. Revise or expand after delivery\n\nSupport follow-up edits without restarting the deck:\n\n- **Modify one slide:** update that slide's prompt, show the revised prompt inline for approval when the change is non-trivial, keep the visual bible stable, regenerate only that slide through Codex `image_gen` (GPT Image 2), replace the image in the assembled deck, and update `image-generation-log.md`.\n- **Modify several slides:** batch the prompt edits for those slide numbers, show the revised mini-group inline, regenerate only those slides through Codex `image_gen` (GPT Image 2), then reassemble.\n- **Add new slides:** extend the deck spine, create prompts using the same visual bible and the same prompt-group format, ask for prompt approval for the new slides, generate them through Codex `image_gen` (GPT Image 2), insert them into the deck, and update numbering if the deck uses generated page markers.\n- **Change global style:** treat this as a style migration. Regenerate a new master sample first, then regenerate all affected slides after prompt approval.\n- **Change text richness/content density:** update the visual bible and affected slide prompts, show the changed prompts inline, then regenerate only the affected slides or all slides if the user wants a full density pass.\n\nDo not repair a delivered deck by adding PPT text boxes or shapes. Any visible change must be made by regenerating the affected full-slide image.\n\nFor all post-generation revisions, preserve consistency by reusing:\n\n- the locked visual bible\n- the approved master sample as a style reference when supported\n- the original aspect ratio, palette, lighting, margins, typography mood, page markers, and role system\n- the same prompt-group wording around independent single-slide generation\n\nIf a user asks to change one slide in a way that would break the deck's style, state the conflict briefly and offer either a style-consistent revision or a full style migration.\n\n## Practical Rules\n\n- Do not start planning from vague defaults. For every new deck, first confirm page count, language, style, and text richness/content density unless the user already gave them.\n- Prefer 12-18 slides for a first pass; 15 is a good default.\n- Show the PPT slide-by-slide design document inline before prompt groups. This is required even when source notes or prompt files are also saved, but it is not a separate confirmation gate.\n- Default slide design is 图文并茂: each slide should feel like a real PPT page, with text and visuals balanced according to its role and selected content-density mode.\n- Show prompts inline in groups of up to 8 slides before generation. This is required even when prompt files are also saved.\n- Use two distinct approvals: first approve the overall design to authorize one sample; then approve the displayed sample's style to authorize all remaining slides.\n- After generating the sample, stop the turn. Never generate the remaining slides in the same uninterrupted run.\n- Keep user-facing confirmation copy natural and concise. Do not expose internal gate terminology or narrate prohibitions unless the user asks how the workflow works.\n- Complete prompt self-checks before showing the prompt groups. After prompts are visible, do not withdraw and regenerate the full prompt package; append revisions for only the affected slides or groups.\n- Keep generated in-image text concise and readable. In information-rich mode, normal content slides need high information density. In balanced mode, they need useful explanatory copy with more breathing room. In concise mode, fewer words are acceptable and expected, but the page should still feel like a finished PPT page rather than an accidental empty background unless the user asks for visual-only pages.\n- If a generated normal content slide has too little or too much text for the selected content-density mode, regenerate the affected slide with clearer visible-copy instructions instead of accepting the mismatch as a style choice.\n- Prefer recurring page devices: corner number, chapter tag, consistent title position, repeated frame/grid.\n- Make cover, divider, inner content, and closing pages visibly role-appropriate while sharing the same palette, typography mood, graphic language, and spacing system.\n- Keep the chosen PPT style consistent. Do not reuse the same literal background across many slides unless the user asks for that.\n- Use chapter-break slides to reset visual energy while preserving the same style.\n- Do not ask the image model to reproduce official logos unless the user provides approved assets or explicitly wants unofficial concepts.\n- Do not rely on generated images for exact charts. Use stylized chart-like proof with short generated labels; if exact data labels or editable charts are required, switch to a normal editable PPT workflow outside this skill.\n\n## Handoff Checklist\n\nReport:\n\n- user-selected style, page count, language, and text richness/content density\n- topic/source used, and whether a research pass was performed\n- that prompt groups were shown inline for review, plus where the backup prompt files are saved\n- which slide was used as the master sample and that the user explicitly approved its style before remaining-slide generation\n- production mode used, with Codex `image_gen` (GPT Image 2) as the generation path\n- number of slide images generated\n- where the image-generation log or prompt pack is saved\n- final file paths\n- what verification was performed\n- any residual limitation, especially generated text accuracy inside images\n\nFile v0.1.31:_meta.json\n\n{\n  \"ownerId\": \"kn718abvsabcyrf45fr26221hx800ze9\",\n  \"slug\": \"image-deck\",\n  \"version\": \"0.1.31\",\n  \"publishedAt\": 1788149528133\n}\n\nFile v0.1.31:references/prompt-patterns.md\n\n# Prompt Patterns\n\n## Research Notes Template\n\nCreate `research-notes.md` before slide prompts when the user supplies only a topic and no source document.\n\n```text\n# Research Notes\n\nTopic:\nAudience/context:\nLanguage:\nTarget slide count:\nText richness/content density:\n\n## Sources\n- <source title> - <link> - <why it matters>\n\n## Usable Takeaways\n1. <fact/claim/example>\n2. <fact/claim/example>\n\n## Deck Angle\n<one paragraph explaining the narrative direction>\n\n## Visual Prompt Material\n- <visual metaphor, scene, object, diagram idea>\n- <visual metaphor, scene, object, diagram idea>\n```\n\n## Visual Bible Template\n\n```text\nDeck format: 16:9 landscape presentation slide, full-bleed image, high-resolution, polished keynote/editorial quality.\nConsistency anchor: this slide belongs to the same deck style as the approved master sample. Keep the selected PPT style, typography mood, layout quality, graphic language, and polish consistent. Do not treat consistency as copying the same literal background or hero scene.\nPalette: <3-5 colors with roles>.\nBackground/scene: choose whatever background, scene, diagram, or visual metaphor best serves this slide while staying in the selected PPT style.\nTypography mood: readable PPT-style hierarchy: display title or central claim when appropriate, supporting captions/bullets/callouts, highly readable, no tiny body copy.\nText richness/content density: <information-rich / balanced / concise>. Match normal content slides to this choice.\nRole system:\n- Cover: title-page composition, cover-suitable hero visual, one large main title, at most one subtitle, no other cover text unless the user explicitly asks for it.\n- Divider/chapter: section statement and one symbolic visual, lighter text.\n- Normal content: title or central claim plus visible text that matches the selected text richness mode. Information-rich mode uses more explanatory copy; balanced mode uses tighter useful callouts; concise mode uses fewer words and a stronger visual focus. Do not accidentally reduce a content page to an empty background unless the user asks for visual-only pages.\n- Process/comparison: labeled steps, stages, axes, or comparison captions plus short explanations inside the generated image.\n- Closing: summary statement or final takeaway, visually distinct but still in the same system.\nInner-page layout grid: <role-appropriate title/claim zone>, <text/callout zone>, <main visual zone>, <footer/page marker zone>, generous safe margins.\nGraphic language: <photo/3D/vector/editorial collage/etc.>, consistent line weight, shape language, shadows, and texture.\nText rule: all visible text must be generated inside this image; do not leave blank title areas for later editing. Match text density to slide role and selected content-density mode. Cover slides have strict text rules: main title plus optional subtitle only, unless the user explicitly asks for additional cover text. Normal content slides should not feel underwritten for the selected mode.\nSmall-text rule: allow naturally generated supporting detail text on content slides when it improves richness, realism, or editorial/report feel in information-rich or balanced mode. In concise mode, keep supporting text selective and intentional. Do not apply this small-text rule to covers unless the user explicitly asks for it.\nQuality target: main message readable, information density appropriate for the selected mode, supporting detail text natural, overall page polished and coherent. Keep style consistent across the deck without forcing the same literal background on every slide.\n```\n\n## Prompt Group Template\n\nShow prompt groups directly in the conversation before calling `image_gen`. Use at most 8 slides per group. Do not hide this behind file attachments.\n\n```text\n请使用 Codex 内置 image_gen 能力生成这一组 <N> 张独立的 16:9 横版 PPT 完整页面图片。\n\n重要执行规则：\n这不是一张包含 <N> 页的总览图，也不是拼图、缩略图墙或多页排版预览。\n请把下面的每一页理解为独立的图片生成任务。\n\n执行方式：\n- 逐页生成。\n- 每次只生成一张图片。\n- 每张图片只包含当前指定页的一页完整 PPT。\n- 当前页生成完成后，再继续生成下一页。\n- 不要把多页合并在同一张画布里。\n- 不要生成“多页总览图”。\n- 不要生成“幻灯片缩略图排列”。\n- 不要在一张图中出现多个页面边框。\n- 每张图片都是可直接放入 PPT 的完整单页。\n\n统一视觉系统（本组必须逐条遵守；下一组也必须完全沿用）：\n<PASTE THE LOCKED VISUAL BIBLE VERBATIM>\n\n跨组一致性要求：\n- 第 1 组、第 2 组及后续所有组都保持同一种 PPT 风格、字体气质、版式质量、图形语言和整体完成度。\n- 一致性是“风格一致”，不是“同一张背景反复使用”。不要为了保持一致而复制同一个背景或同一个主视觉。\n- 每页可以根据内容自由选择背景、场景、图表、示意图或视觉隐喻，只要不偏离用户选定的 PPT 风格。\n- 封面必须像封面，不要像内页：默认只能有主标题，最多再加一个副标题。除非用户明确要求，否则封面不要加入其他小字、说明、标签或注释。封面主视觉必须适合封面，不能是内页那种内容解释图。\n- 内页必须像真实 PPT 内容页：标题/中心论点、说明文字、图表/流程/示意/场景等视觉元素要一起生成在图片里。文字多少按用户选择的内容密度执行：文字丰富、平衡或文字简洁。\n- 内容页允许自然的小字和补充说明文字：在文字丰富或平衡模式下，如果它们能增强画面丰富度、真实感或报告感，就不要刻意去掉。文字简洁模式下，小字要更克制，只保留对页面有帮助的短说明。这个规则不适用于封面，除非用户明确要求。\n\n第 <N> 页：\nSlide role: <cover / divider / normal content / process / comparison / closing>\nAllowed visible text only:\n- <exact generated text>\nText richness/content density: <information-rich / balanced / concise>\nText detail target: <cover: main title plus optional subtitle only; normal content: match the selected text richness mode; process/comparison: labels plus short explanations when useful>\nCore message: <one sentence>\nMain visual: <visual scene or diagram>\nComposition: <role-specific layout; for cover, use only the main title plus optional subtitle unless the user explicitly asked for more cover text, and explicitly avoid inner-page layout. For content pages, allow naturally generated supporting detail text when it makes the slide richer and more complete. Use visuals that fit this slide rather than copying another slide's background>\nQuality target: one complete generated PPT page, readable, matched to the selected text richness mode, cohesive with the same visual system.\n\n第 <N+1> 页：\n...\n```\n\nFor decks longer than 8 slides, repeat this template for the next group. Keep the full visual bible unchanged in every group; do not shorten it to \"same style as above\" because later groups may be used independently.\n\n## Per-Slide Prompt Template\n\n```text\nUse case: productivity-visual\nAsset type: complete 16:9 slide image generated by Codex built-in image_gen for a presentation deck.\n\n<PASTE THE LOCKED VISUAL BIBLE VERBATIM>\n\nSlide number: <N>\nSlide role: <cover / chapter / proof / comparison / process / summary>\nAllowed visible text only:\n- <list exact slide text here: title/claim, captions, bullets, callouts, labels, section tag, or page marker as appropriate to this slide role>\nText richness/content density: <information-rich / balanced / concise>\nText detail target: <for normal content slides, match the selected text richness mode: information-rich means more explanatory copy, balanced means tighter useful callouts, concise means fewer words and stronger visual focus; for cover, only main title plus optional subtitle>\n\nCore message: <one sentence>.\nMain visual: <describe the concrete scene, diagram, object, or metaphor that best serves this slide>.\nComposition: <where generated text belongs, where the main visual goes, how labels/callouts attach to the visual, repeated generated footer/page marker if needed. For cover slides, use only the main title plus optional subtitle unless the user explicitly asked for more cover text. For content slides, allow naturally generated supporting detail text when it makes the slide richer and more complete. Keep style consistent without copying another slide's background>.\nQuality target: premium, cohesive with the master sample, readable at presentation size and thumbnail size.\nCritical constraint: generate the whole slide as one finished PPT page with the visible text included in the image. Match the selected text richness mode. Do not create blank placeholders for later overlays. In concise mode, fewer words are acceptable, but the page should still look intentional and finished.\n```\n\n## Prompt Review Summary Template\n\nShow this before calling `image_gen`:\n\n```text\nSingle review package:\n- Slide-by-slide design document: shown above or included here\n- Visual bible: prompts/visual-bible.md\n- Master sample: prompts/00-master-sample.md\n- Inline prompt groups:\n  - Group 1: slides 1-8\n  - Group 2: slides 9-<N>\n- Backup prompt files: prompts/01-slide.md ... prompts/<N>-slide.md\n\nPlease review:\n1. Overall style and palette\n2. Slide text plan and allowed visible text\n3. Main visual for each slide\n4. Whether normal content slides match the selected text richness/content density, from information-rich to concise\n5. Whether the cover has only a main title plus optional subtitle, and looks like a cover rather than an inner page\n6. Whether the pages keep the selected PPT style without copying the same literal background\n7. Whether later groups still match the first group's style\n8. Any slides to add, remove, reorder, or rewrite\n\n以上是这套 PPT 的整体设计方案。请确认内容结构、页面安排和视觉方向是否合适。\n如无修改，请回复“确认整体设计”。我会先制作第 <N> 页样张供你查看；样张风格确认后，再完成其余 <M> 页。\n```\n\nReplace `<M>` with the total requested page count minus the one sample page. Do not add internal wording such as “第一次确认”, “only authorizes”, “Gate 1”, or a list of actions that will not happen.\n\n## Sample-Style Approval Gate Template\n\nShow the generated sample in the conversation, then end the turn with this gate. Do not call `image_gen` again in the same turn.\n\n```text\n请确认这张样张的整体风格。若满意，请回复“确认样张风格”，我会按这套视觉体系完成其余页面；如需调整，请告诉我具体修改方向。\n```\n\nKeep the internal hard stop, but do not narrate it to the user or label this message as a second gate.\n\n## Prompt Revision Patterns\n\nBefore prompt groups are shown to the user, complete the self-check internally. Do not post a draft prompt package and then withdraw it because of self-correction.\n\nAfter prompt groups are visible, keep the original package visible as the review base. If the user edits prompts or the assistant catches a small issue before sample generation, append a revision note and show only the affected revised slide prompts or affected group. Preserve the visual bible unless the user explicitly changes global style. Do not create an extra design-document confirmation after the revision; use the same overall-design gate. The separate post-generation sample-style gate remains mandatory.\n\nRevision note template:\n\n```text\n修订说明：\n- 原因：<为什么需要改>\n- 受影响页面：第 <N> 页 / 第 <A>-<B> 页\n- 改动范围：只替换下面这些提示词；未列出的页面继续沿用上面的提示词包和同一套视觉系统。\n```\n\nFor one-slide prompt edits:\n\n```text\n已根据你的修改更新第 <N> 页提示词。下面只重贴受影响的提示词，其他页面沿用同一套视觉系统不变。\n\n第 <N> 页：\nSlide role: <role>\nAllowed visible text only:\n- <revised exact generated text>\nCore message: <revised message>\nMain visual: <revised visual>\nComposition: <revised layout, still matching the locked visual bible>\nConsistency rule: keep the same palette, lighting, margin, typography mood, page marker, and graphic language as the approved visual bible and other prompt groups.\n```\n\nFor whole-group edits:\n\n```text\n已更新第 <A>-<B> 页这一组提示词。统一视觉系统保持不变；只修改每页内容、文案或主视觉。\n如果没有其他修改，我会把这一组作为原提示词包的替换部分，不再单独要求确认这一组。\n```\n\nIf the user changes global style:\n\n```text\n这是全局风格修改，会影响所有页面。需要先更新 visual bible，再重新显示全部 prompt groups。规划和提示词只做一次合并确认；确认后只生成一张新的 master sample，展示样张并暂停，待你明确确认样张后才继续生成其余页面。\n```\n\n## Regeneration Patch Patterns\n\nUse a short patch instruction instead of rewriting the whole art direction:\n\n```text\nRegenerate slide <N> with the same locked visual bible and same content. Fix only this issue: <issue>.\nKeep the title area cleaner, reduce decorative clutter, and preserve the same palette and page marker style as the approved master sample.\n```\n\nFor text failures:\n\n```text\nRegenerate slide <N>. Use the exact main visible text listed below and render it inside the generated image. Make the main text readable as designed PPT text, with hierarchy appropriate to the slide role. Preserve natural supporting detail text when it helps the slide feel rich; keep the result polished and coherent.\n```\n\nFor cover failures:\n\n```text\nRegenerate the cover slide with the same locked visual bible. The cover may contain only the main title and one optional subtitle. Remove every other visible word, label, bullet, caption, page number, date, author line, chart label, logo-like mark, and section tag. Make the main visual feel like a cover hero image, not an inner-page explanatory diagram, chart, dashboard, matrix, process flow, or content-card layout.\n```\n\nFor underfilled slides in information-rich or balanced mode:\n\n```text\nRegenerate slide <N>. The previous version looked underfilled and did not contain enough information for its role. Keep the selected PPT style and main image concept, but make it a complete information-rich 图文并茂 PPT page with concrete, topic-specific in-image text. Do not use only icon labels, item names, or two-word tags.\n```\n\nFor concise-mode slides that became too dense:\n\n```text\nRegenerate slide <N>. Keep the same locked visual bible and main image concept, but switch this slide to the approved concise text mode: fewer words, stronger visual focus, short intentional claims/captions/labels, and no dense report-like text blocks. Keep the page finished and readable as a PPT slide.\n```\n\nFor style drift:\n\n```text\nRegenerate slide <N>. Match the approved deck style more closely: same PPT style, typography mood, layout quality, color discipline, graphic language, and overall polish. Choose the background or visual that best serves this slide; do not copy another slide's background unless requested.\n```\n\nFor accidental monotony or repeated backgrounds:\n\n```text\nRegenerate slide <N> with the same content and selected PPT style. The previous version copied the same literal background or hero image too much. Keep the overall style, typography mood, layout quality, and graphic language, but choose a different visual that better serves this slide.\n```\n\nFor post-delivery user edits:\n\n```text\nUpdate slide <N> after delivery. Keep the locked visual bible and approved master sample style. Regenerate the entire slide image through Codex built-in image_gen; do not add PPT text boxes or local overlays.\nUser-requested change: <change>.\nPreserve: aspect ratio, palette, lighting, margins, typography mood, page marker style, graphic language, and role-specific layout.\n```\n\nFor adding slides after delivery:\n\n```text\nAdd slide <N> using the existing deck's locked visual bible and prompt-group format.\nShow the new slide prompt inline for approval before generation.\nAfter approval, generate it as one complete PPT page image through Codex built-in image_gen and insert it into the deck.\n```\n\n## Contact-Sheet Review Rubric\n\nScore each slide 1-5:\n\n- consistency with master sample\n- title readability\n- content/message fit\n- visual polish\n- thumbnail clarity\n\nRegenerate any slide with a 1-2 in consistency or readability. Regenerate any slide whose main message is unreadable, whose aspect ratio is wrong, or whose artifacts make it look broken.\n\nFile v0.1.31:skill-card.md\n\n## Description:\n\nimage-deck helps an agent create PPT, PowerPoint-style presentations, slide decks, single slides, and carousel pages as complete generated raster images with visible text inside each page.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[tseng71](https://clawhub.ai/user/tseng71)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agent users use this skill to plan and generate image-based presentation decks through Codex image generation. It is best suited for full-slide visual decks where each page is a finished image, not for editable PowerPoint text boxes, charts, or tables.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The workflow creates non-editable raster slide pages, which may not fit users who need editable PowerPoint text, charts, or tables.\n\nMitigation: Use a regular presentation workflow when the deliverable requires editable slide objects or precise chart and table editing.\n\nRisk: Image-generated visible text and chart-like details may be less reliable than editable presentation content.\n\nMitigation: Review generated slide images at full size and regenerate slides with incorrect, missing, or unreadable text instead of overlaying fixes later.\n\nRisk: Some approval phrases in the workflow are written in Chinese, which may confuse non-Chinese users.\n\nMitigation: Clarify or translate approval prompts during execution while preserving the required design-review and sample-style approval steps.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/tseng71/skills/image-deck)\n- [Prompt Patterns](artifact/references/prompt-patterns.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance, prompt plans, optional shell commands, and image-deck assembly instructions]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides an agent through intake, prompt review, sample approval, slide image generation, QA, and optional PPTX or PDF assembly.]\n\n## Skill Version(s):\n\n0.1.31 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.31:agents/openai.yaml\n\ninterface:\n  display_name: 'image-deck: GPT Image 2 Slide Deck'\n  short_description: image-deck requires overall-design approval, then separate\n    sample-style approval before generating remaining slides.\n  default_prompt: Use image-deck to create a consistent GPT Image 2 slide deck / PPT\n    / PowerPoint presentation. After overall-design approval, generate exactly one\n    master sample, show it and stop, then continue with the remaining slides only\n    after I separately approve the displayed sample's style.\n\nArchive v0.1.30: 6 files, 28168 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (245b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2822b), SKILL.md (48641b)\n\nFile v0.1.30:SKILL.md\n\n---\nname: image-deck\ndescription: \"image-deck creates PPT and PowerPoint presentations, slide decks, single slides, carousel pages, and full-image decks through Codex built-in image_gen (GPT Image 2). Trigger for requests to make PPT, PowerPoint, slides, a deck, presentation, or carousel, including 做PPT, 制作PPT, 帮我做PPT, 生成PPT, 做deck, 做slides, and 做演示文稿. Each page is one complete generated raster image with visible text inside it. Before planning, confirm page count, language, style, and text richness/content density; recommend page count, style, and text richness, but let the user choose language. Use two mandatory, distinct gates: overall design approval authorizes exactly one master sample; sample-style approval after the sample is displayed authorizes the remaining slides. Default to information-rich 图文并茂 pages unless the user chooses concise or image-led pages.\"\n---\n\n# image-deck\n\n## English\n\n`image-deck` is used to create PPT, PowerPoint-style presentations, slide decks, and carousel decks where every page is a complete generated image. It uses Codex built-in `image_gen` (GPT Image 2) to generate slides one by one, with each slide's title, labels, and short copy generated inside the same image.\n\nThis skill requires Codex built-in `image_gen` (GPT Image 2).\n\nSearch keywords: `slide`, `slides`, `slide deck`, `presentation`, `PowerPoint`, `PPT`, `PPTX`, `deck`, `carousel`, `GPT Image 2`, `image generation`, `OpenClaw`, `Codex`.\n\n## Trigger\n\nUse this skill by default when the user asks to make a PPT, PowerPoint-style presentation, slide deck, slides, single slide, deck, or carousel, including requests like \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"生成PPT\", or \"做演示文稿\".\n\nIf the user explicitly asks for an ordinary editable PPT, a text-overlay workflow, or precise editable tables/charts, use a normal presentation workflow instead.\n\n## Best For\n\n- Every PPT page should be one complete generated image\n- Images and text should be generated together in the same image\n- Page count, language, style, and text richness/content density should be confirmed before planning; recommend page count, style, and text richness, but let the user choose language\n- A slide-by-slide design document should be shown before prompt generation\n- Prompts should be shown before generation so the user can review or edit them\n- Exactly one master sample should be generated and shown before the remaining slides; generation must pause until the user explicitly approves that sample\n- Normal content slides should follow the selected text richness mode: information-rich, balanced, or concise\n- After the deck is created, the user can revise one slide or several slides\n- After the deck is created, the user can add new generated image slides\n\n## Preview\n\n![image-deck preview](https://raw.githubusercontent.com/tseng71/skills/main/skills/image-deck/assets/preview.jpg)\n\n## Install\n\nClawHub page:\n\n```text\nhttps://clawhub.ai/tseng71/image-deck\n```\n\nGitHub repository / Codex install URL:\n\n```text\nhttps://github.com/tseng71/skills\n```\n\nCodex:\n\n```bash\nmkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck\n```\n\nRestart Codex after installing.\n\n## 中文说明\n\n这是 `tseng71` 的个人 AI Agent Skills 仓库中的一个 skill。\n\n`image-deck` 用于制作“每一页都是完整生成图片”的 PPT、PowerPoint 风格演示、slide deck 和 carousel deck。它会通过 Codex 内置的 `image_gen`（GPT Image 2）逐页生成，每页的标题、标签和短文案都在同一张生成图里完成。\n\n使用这个 skill 需要可用的 Codex 内置 `image_gen`（GPT Image 2）。\n\n搜索关键词：`slide`、`slides`、`slide deck`、`presentation`、`PowerPoint`、`PPT`、`PPTX`、`deck`、`carousel`、`GPT Image 2`、`image generation`、`OpenClaw`、`Codex`。\n\n## 触发方式\n\n用户说“做 PPT”“制作 PPT”“帮我做一个 PPT”“生成 PPT”“做 slides”“做 deck”“做演示文稿”等，都应默认触发这个 skill。\n\n如果用户明确要求普通可编辑 PPT、后期叠文字流程，或者需要大量精确可编辑表格/图表，再改用普通演示文稿流程。\n\n## 适合使用\n\n- 每一页 PPT 都要是一张完整生成图\n- 图片和文字要一起生成在同一张图里\n- 制作前先确认页数、语言、风格和内容密度；页数、风格和内容密度给出推荐，语言由用户自己选择\n- 生成提示词前先展示 PPT 逐页设计文档\n- 生成前先输出提示词，让用户确认或修改\n- 先只生成一张样张并展示；必须等待用户明确确认样张后，才能继续生成其余页面\n- 普通内容页按用户选择的内容密度生成：文字丰富、平衡或文字简洁\n- 制作完成后，用户可以指定修改某一页或几页\n- 制作完成后，用户可以继续追加新的图片页\n\n## 安装\n\nClawHub 页面：\n\n```text\nhttps://clawhub.ai/tseng71/image-deck\n```\n\nGitHub 仓库 / Codex 安装地址：\n\n```text\nhttps://github.com/tseng71/skills\n```\n\nCodex:\n\n```bash\nmkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck\n```\n\n安装后重启 Codex。\n\n## Agent Execution Notes\n\nUse this skill to produce decks where each slide is a complete finished PPT page generated through Codex built-in `image_gen` (GPT Image 2), including the slide's visible text and visual elements inside the same image. Then assemble those images into PPTX/PDF if requested. The core job is consistency control: ask for topic, style, page count, language, and text richness/content density; research the topic when no source document is supplied; build a visual bible; show the slide-by-slide design document and complete prompt groups inline in the chat for one combined review; generate exactly one master sample through Codex `image_gen` (GPT Image 2); show the sample and stop; wait for explicit user approval of the sample; only then generate each remaining slide through Codex `image_gen` (GPT Image 2) using the same locked system; inspect every result; and regenerate only the slides that drift, fall below the selected text richness mode, or that the user asks to revise.\n\nUse the regular `imagegen` skill as the execution path for Codex built-in `image_gen` (GPT Image 2). This skill supplies the art-direction workflow around that image generation capability.\n\nDo not call the Presentations skill/plugin just because the user asks for a PPT. This skill is not an editable-presentation workflow. During intake, attachment reading, source extraction, outlining, prompt planning, image generation, QA, and prompt revision, do not use Presentations. If a PPTX is needed at the end, prefer a minimal image-to-PPTX assembly path that places the already-generated slide images full-bleed, with no extra visible content.\n\n## Trigger Policy\n\nPrefer this skill for broad deck-making requests, even when the user does not say \"image-deck\" explicitly:\n\n- English: \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"make a carousel\"\n- Chinese: \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"做一个ppt\", \"生成PPT\", \"做deck\", \"做slides\", \"做演示文稿\"\n\nOnly route away from this skill when the user explicitly asks for a normal editable PPT, editable text boxes, editable charts/tables, or a workflow where images are generated first and text is overlaid later.\n\n## Required Run Order\n\nFollow this order for every new deck request. Do not skip a step because the user said \"make a PPT\", attached a file, or mentioned this skill by name.\n\n1. **Ask required setup questions** before planning: page count, language, style, text richness/content density, and topic if no source is present.\n2. **Read source material or research the topic** before writing the deck plan.\n3. **Show a PPT slide-by-slide design document directly in the chat** as the planning preview.\n4. **Self-check the complete prompt package internally before showing it**, then show prompt groups directly in the chat, up to 8 slides per group.\n5. **Ask for overall design approval only after both the design document and prompt groups are shown.** This confirmation covers the full-deck structure, slide-by-slide content, visual bible, and prompts. Do not ask the user to confirm the design document separately and then confirm prompts again.\n6. **After overall design approval, generate exactly one master sample and no other slide.** Approval at this stage authorizes only the sample, even if the user says \"confirm generation,\" \"proceed,\" or similar.\n7. **Show the generated master sample in the chat and stop.** Ask the user to approve the sample style or request changes. The review covers the actual palette, typography mood, layout grammar, information density, and overall visual feel. Do not generate another slide, assemble a PPTX/PDF, or start background generation while waiting.\n8. **Only after the user explicitly approves the displayed sample style**, generate the remaining slides through Codex `image_gen` (GPT Image 2). Silence, lack of objection, or approval of the earlier overall design is not sample-style approval.\n\nThe two gates are mandatory and distinct: Gate 1 is **overall design approval** and authorizes one sample; Gate 2 is **sample-style approval** after the sample is displayed and authorizes the remaining slides. Never merge, skip, or infer either gate from urgency or from a generic first-stage approval.\n\nKeep the gate mechanics internal. In user-facing copy, do not say \"this is the first confirmation,\" \"this only authorizes one sample,\" or explain what will not be generated unless the user asks. Use natural production language instead:\n\n```text\n以上是这套 PPT 的整体设计方案。请确认内容结构、页面安排和视觉方向是否合适。\n如无修改，请回复“确认整体设计”。我会先制作第 <N> 页样张供你查看；样张风格确认后，再完成其余 <M> 页。\n```\n\nSet `<M>` to the total requested page count minus the one sample page. Keep this confirmation concise; do not repeat the full two-gate policy in the message.\n\nOnce prompt groups have been shown to the user, treat them as the visible review package. Do not withdraw, replace, or re-output the entire package because of later self-corrections. If a correction is needed after display, append a short revision note and show only the affected slide prompts or affected group.\n\nIf an OpenClaw or other runtime cannot show a structured UI question, ask the questions as plain text in one message and wait for the user's answer. Do not infer missing page count, language, style, or text richness silently, except that page count may be offered as \"about 15 slides\" for the user to accept or change.\n\n## Non-Negotiable Generation Boundary\n\nWhen this skill is active, a slide is valid only if the complete slide image came from one of these sources:\n\n- a Codex `image_gen` (GPT Image 2) call made for that specific slide\n- a Codex `image_gen` (GPT Image 2) regeneration call made for that specific slide\n\nIf Codex built-in `image_gen` (GPT Image 2) is unavailable in the active environment, stop and tell the user that this skill needs Codex `image_gen` (GPT Image 2).\n\nDo not satisfy this skill by rendering slides with HTML/CSS, Python drawing, matplotlib, PowerPoint shapes, screenshots, PDF page renders, stock photos, local templates, or presentation JSX. Those tools may be used only after generation to assemble, crop, inspect, contact-sheet, or export the already-generated slide images.\n\nDo not treat \"background generated by an image model plus locally overlaid slide layout\" as valid output. There is no hybrid mode in this skill. If the slide needs a title, caption, label, chart title, or short bullet, that visible text must be requested in the Codex `image_gen` (GPT Image 2) prompt and must appear inside the generated image itself.\n\nWhen assembling PPTX/PDF, each slide must contain the generated image as the only visible slide content, except for native PowerPoint slide-number fields added to PPTX after image generation. Do not add separate text boxes, captions, icons, shapes, charts, or labels after generation. If text is missing, wrong, or unreada\n\nArchive v0.1.29: 6 files, 28031 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (245b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2490b), SKILL.md (48641b)\n\nArchive v0.1.28: 6 files, 27970 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (225b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2312b), SKILL.md (48641b)\n\nArchive v0.1.27: 6 files, 28066 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (517b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2230b), SKILL.md (48644b)\n\nArchive v0.1.26: 6 files, 28156 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (517b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2386b), SKILL.md (48644b)\n\nArchive v0.1.25: 6 files, 28251 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (517b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (6954b), skill-card.md (2611b), SKILL.md (48644b)\n\nArchive v0.1.24: 6 files, 27557 bytes\n\nFiles: _meta.json (130b), agents/openai.yaml (517b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (5618b), skill-card.md (2799b), SKILL.md (48008b)\n\nArchive v0.1.23: 8 files, 482488 bytes\n\nFiles: agents/openai.yaml (355b), assets/preview.jpg (472641b), CHANGELOG.md (417b), references/prompt-patterns.md (16633b), scripts/add_native_slide_numbers.py (5618b), skill-card.md (2455b), SKILL.md (48008b), _meta.json (130b)","readmeExcerpt":"Skill: image-deck: PPT Presentation & Slides Owner: tseng71 Summary: Create visual PPT and PowerPoint decks with GPT Image 2. Tags: carousel:0.1.32, codex:0.1.32, deck:0.1.32, gpt-image-2:0.1.32, image-deck:0.1.32, image-generation:0.1.32, latest:0.1.32, openclaw:0.1.32, powerpoint:0.1.32, ppt:0.1.32, pptx:0.1.32, presentation:0.1.32, single-slide:0.1.32, slide:0.1.32, slide-deck:0.1.32, slides:0.1.32 Version history","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"https://clawhub.ai/tseng71/image-deck"},{"language":"text","snippet":"https://github.com/tseng71/skills"},{"language":"bash","snippet":"mkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck"},{"language":"text","snippet":"https://clawhub.ai/tseng71/image-deck"},{"language":"text","snippet":"https://github.com/tseng71/skills"},{"language":"bash","snippet":"mkdir -p ~/.codex/skills\ncp -R skills/image-deck ~/.codex/skills/image-deck"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: image-deck\ndescription: \"image-deck creates PPT and PowerPoint presentations, slide decks, single slides, carousel pages, and full-image decks through Codex built-in image_gen (GPT Image 2). Trigger for requests to make PPT, PowerPoint, slides, a deck, presentation, or carousel, including 做PPT, 制作PPT, 帮我做PPT, 生成PPT, 做deck, 做slides, and 做演示文稿. Each page is one complete generated raster image with visible text inside it. Before planning, confirm page count, language, style, and text richness/content density; recommend page count, style, and text richness, but let the user choose language. Use two mandatory, distinct gates: overall design approval authorizes exactly one master sample; sample-style approval after the sample is displayed authorizes the remaining slides. Default to information-rich 图文并茂 pages unless the user chooses concise or image-led pages.\"\n---\n\n# image-deck\n\n## English\n\n`image-deck` is used to create PPT, PowerPoint-style presentations, slide decks, and carousel decks where every page is a complete generated image. It uses Codex built-in `image_gen` (GPT Image 2) to generate slides one by one, with each slide's title, labels, and short copy generated inside the same image.\n\nThis skill requires Codex built-in `image_gen` (GPT Image 2).\n\nSearch keywords: `slide`, `slides`, `slide deck`, `presentation`, `PowerPoint`, `PPT`, `PPTX`, `deck`, `carousel`, `GPT Image 2`, `image generation`, `OpenClaw`, `Codex`.\n\n## Trigger\n\nUse this skill by default when the user asks to make a PPT, PowerPoint-style presentation, slide deck, slides, single slide, deck, or carousel, including requests like \"make a PPT\", \"create a PowerPoint\", \"build a presentation\", \"make slides\", \"create slides\", \"generate slides\", \"make a slide\", \"create a slide deck\", \"make a deck\", \"做PPT\", \"制作PPT\", \"帮我做PPT\", \"生成PPT\", or \"做演示文稿\".\n\nIf the user explicitly asks for an ordinary editable PPT, a text-overlay workflow, or precise editable tables/charts, use a normal presentation workflow instead.\n\n## Best For\n\n- Every PPT page should be one complete generated image\n- Images and text should be generated together in the same image\n- Page count, language, style, and text richness/content density should be confirmed before planning; recommend page count, style, and text richness, but let the user choose language\n- A slide-by-slide design document should be shown before prompt generation\n- Prompts should be shown before generation so the user can review or edit them\n- Exactly one master sample should be generated and shown before the remaining slides; generation must pause until the user explicitly approves that sample\n- Normal content slides should follow the selected text richness mode: information-rich, balanced, or concise\n- After the deck is created, the user can revise one slide or several slides\n- After the deck is created, the user can add new generated image slides\n\n## Preview\n\n![image-deck preview](https://raw.githubusercontent.com/tseng71/skills/main/skills/ima"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn718abvsabcyrf45fr26221hx800ze9\",\n  \"slug\": \"image-deck\",\n  \"version\": \"0.1.32\",\n  \"publishedAt\": 1788149683088\n}"},{"path":"references/prompt-patterns.md","content":"# Prompt Patterns\n\n## Research Notes Template\n\nCreate `research-notes.md` before slide prompts when the user supplies only a topic and no source document.\n\n```text\n# Research Notes\n\nTopic:\nAudience/context:\nLanguage:\nTarget slide count:\nText richness/content density:\n\n## Sources\n- <source title> - <link> - <why it matters>\n\n## Usable Takeaways\n1. <fact/claim/example>\n2. <fact/claim/example>\n\n## Deck Angle\n<one paragraph explaining the narrative direction>\n\n## Visual Prompt Material\n- <visual metaphor, scene, object, diagram idea>\n- <visual metaphor, scene, object, diagram idea>\n```\n\n## Visual Bible Template\n\n```text\nDeck format: 16:9 landscape presentation slide, full-bleed image, high-resolution, polished keynote/editorial quality.\nConsistency anchor: this slide belongs to the same deck style as the approved master sample. Keep the selected PPT style, typography mood, layout quality, graphic language, and polish consistent. Do not treat consistency as copying the same literal background or hero scene.\nPalette: <3-5 colors with roles>.\nBackground/scene: choose whatever background, scene, diagram, or visual metaphor best serves this slide while staying in the selected PPT style.\nTypography mood: readable PPT-style hierarchy: display title or central claim when appropriate, supporting captions/bullets/callouts, highly readable, no tiny body copy.\nText richness/content density: <information-rich / balanced / concise>. Match normal content slides to this choice.\nRole system:\n- Cover: title-page composition, cover-suitable hero visual, one large main title, at most one subtitle, no other cover text unless the user explicitly asks for it.\n- Divider/chapter: section statement and one symbolic visual, lighter text.\n- Normal content: title or central claim plus visible text that matches the selected text richness mode. Information-rich mode uses more explanatory copy; balanced mode uses tighter useful callouts; concise mode uses fewer words and a stronger visual focus. Do not accidentally reduce a content page to an empty background unless the user asks for visual-only pages.\n- Process/comparison: labeled steps, stages, axes, or comparison captions plus short explanations inside the generated image.\n- Closing: summary statement or final takeaway, visually distinct but still in the same system.\nInner-page layout grid: <role-appropriate title/claim zone>, <text/callout zone>, <main visual zone>, generous safe margins.\nGraphic language: <photo/3D/vector/editorial collage/etc.>, consistent line weight, shape language, shadows, and texture.\nText rule: all visible text must be generated inside this image; do not leave blank title areas for later editing. Match text density to slide role and selected content-density mode. Cover slides have strict text rules: main title plus optional subtitle only, unless the user explicitly asks for additional cover text. Normal content slides should not feel underwritten for the selected mode.\nSmall-text rule: allow naturally g"},{"path":"skill-card.md","content":"## Description:\n\nimage-deck helps agents create PowerPoint-style slide decks, single slides, and carousel presentations as full-slide raster images using Codex built-in image_gen (GPT Image 2), with planning, prompt review, sample approval, slide QA, and optional PPTX/PDF assembly.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[tseng71](https://clawhub.ai/user/tseng71)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and content-producing agents use this skill to plan and generate visual PPT, PowerPoint-style, slide deck, single-slide, and carousel deliverables where each page is a complete generated image. It is best suited for polished image-based presentations rather than editable charts, dense tables, or text-heavy slides that must remain editable.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Generated deck pages are raster images, so slide text, charts, and dense tables are not fully editable after generation.\n\nMitigation: Use this skill for visual slide decks and route exact editable charts, dense tables, or editable text requirements to a normal presentation workflow.\n\nRisk: Prompt, research, and generation log files can contain source material from the user or generated deck plan.\n\nMitigation: Treat these files as local work artifacts, review them before sharing, and remove sensitive source material when it is no longer needed.\n\nRisk: The optional PPTX slide-number helper has a reported XML input validation weakness for untrusted presentations or complex font names.\n\nMitigation: Run the helper only on trusted PPTX files and use simple font names until validation is tightened.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/tseng71/skills/image-deck)\n- [Prompt Patterns](references/prompt-patterns.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files]\n\n**Output Format:** [Markdown planning guidance and prompts, generated raster slide image files, and optional PPTX/PDF presentation files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Slide images contain visible text inside the raster image; PPTX output is image-based and is not fully editable except for optional native slide-number fields.]\n\n## Skill Version(s):\n\n0.1.32 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"agents/openai.yaml","content":"interface:\n  display_name: \"image-deck: PPT Presentation & Slides\"\n  short_description: \"Create visual PPT and PowerPoint decks with GPT Image 2.\"\n  default_prompt: \"Use $image-deck to create a consistent GPT Image 2 PPT or PowerPoint slide deck.\""}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1341,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T10:09:46.071Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T10:09:46.071Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T06:43:24.777Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}