DeckCraft
AI PPT creation skill with structured 5-stage generation, machine-readable QA gates, checkpoint recovery, and experience accumulation. 20 layout methods, nat... Skill: DeckCraft Owner: simon2256928 Summary: AI PPT creation skill with structured 5-stage generation, machine-readable QA gates, checkpoint recovery, and experience accumulation. 20 layout methods, nat... Tags: ai:5.3.0, canvas:5.3.0, docx:5.3.0, importer:5.3.0, latest:6.0.0, pdf:5.3.0, ppt:5.3.0, pptx:5.3.0, presentation:5.3.0 Version history: v6.0.0 | 2026-06-11T12:02:59.632Z | user v6.0.0: PPT Master integration
Rank
62
Safety
84
Downloads
1.5k
Updated
Oct 10, 2026
Version
6.0.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.5K downloadsadoption · observed Oct 10, 2026
- Latest release
- 6.0.0release · observed Jun 11, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s1748cg1a8j1ccg72hajzkk8m1846mzf:deckcraft- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-simon2256928-deckcraft/snapshot"
Documentation
CLAWHUB
150,003 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: deckcraft
description: >
AI PPT creation skill with structured 5-stage generation, machine-readable QA gates,
checkpoint recovery, and experience accumulation. 20 layout methods, native charts,
visual QA pipeline, automated gate checks, and multi-canvas output (16:9/9:16/1:1/4:3/A4).
---
# DeckCraft v6 — Harness Engineering
> **Version**: 6.0.0 · **Engine**: DeckEngine (python-pptx native charts) + ChartEngine (native)
>
> **Required tools**: Read, Write, Bash
> **Requires**: `pip install python-pptx lxml Pillow`
> **Render QA**: LibreOffice Impress (soffice --headless) + poppler-utils (pdftoppm)
---
## Anti-Patterns (Read Before Every Generation)
### Anti-Pattern 1: Declaring "Gate Passed" Verbally
**Wrong**: "QA found 5 errors but all are minor, gate passed."
**Correct**: Run `gate_check.py`, read the JSON, only `"passed": true` means pass.
### Anti-Pattern 2: "I Checked In My Head"
Format errors in content JSON are invisible to mental review.
**Correct**: Run `gate_check_content.py`, read the JSON output.
### Anti-Pattern 3: Skipping the Process for "Simple" Decks
Even simple decks can have overflow, font issues, or broken layouts.
**Correct**: Use Fast Track (see below), but **never skip the QA gate**.
---
## HARD RULES
1. **Every generation must follow the 5-stage flow**
2. **Gates must be machine-readable** — run the script, read the JSON
3. **Experience accumulation is recommended** — note pattern-level fixes for future improvement
4. **All positioning values must use `int()` wrapping** for python-pptx
5. **Clear paragraphs before adding runs** — never assume `p.runs[0]` exists
---
## 5-Stage Generation Flow
```
S1 Brief → S2 Structure → S3 Content → S4 Render+QA → S5 Deliver
⭐ gate ⭐⭐ gate
```
### Stage 1: Brief
Collect: audience, goal, duration, key messages, style preference.
**Output**: `<project>/brief.md`
**Design Spec Template (v6.0+)**: Use `templates/design_spec.md` to capture structured design decisions (canvas, page count, audience, color scheme, typography, speaker notes). A filled example is at `templates/design_spec_demo.md`. Recommended for any deck ≥ 8 pages.
### Stage 2: Structure
Assign page types, write key points (full insight sentences).
**Output**: `<project>/outline.json`
### Stage 3: Content
Fill copy, numbers, chart data. Respect char budgets in `designs/layout_matrix.yaml`.
**Output**: `<project>/content.json`
**⭐ Gate S3**:
```bash
python3 scripts/gate_check_content.py <project>/content.json <project>
```
Read `gate_content.json` — only `"passed": true` allows proceeding.
### Stage 4: Render + QA
Generate PPTX from content.json, then run QA.
```bash
python3 scripts/gate_check.py <pptx_path> <project>
```
Read `gate_result.json` — only `"passed": true` allows proceeding.
**Visual QA (render preview)**:
```bash
# Render PPT → PDF → PNG for visual inspection
soffice --headless --convert-to pdf <pptx_path> --outdir <project>/
pdftoppm -pREADME.md
# DeckCraft
> **AI-native PPTX generation with structured workflow, machine-readable QA gates, and multi-canvas output.**
Generate professional, **natively-editable** PowerPoint files (`.pptx`) with a 5-stage structured workflow. Every shape is a real DrawingML object — not an image — so users can click and edit any element in PowerPoint.
[]()
[]()
[]()
---
## ✨ Features
- 🎨 **20+ high-level layout methods** — cover, TOC, content, comparison, table, chart, timeline, matrix, quote, summary, closing, and more
- 📐 **6 canvas presets** — `16:9`, `9:16`, `1:1`, `4:3`, `A4`, `A4-portrait` (mobile, square, classic, print)
- 🎨 **10 built-in themes** — business, tech, elegant, creative, green, red, ocean, etc.
- 📊 **Native charts** — bar, pie, line, gauge (using python-pptx's chart engine, not images)
- ✅ **5-stage structured workflow** — Brief → Structure → Content → Render+QA → Deliver
- 🚦 **Machine-readable QA gates** — `gate_check.py` + `gate_check_content.py` produce JSON verdict
- 🔄 **Checkpoint recovery** — resume mid-project without restarting
- 🌏 **CJK font support** — Noto Sans CJK SC built-in
- 🛠️ **3 interfaces** — Python API, CLI (`generate_ppt.py`), and outline-JSON mode
---
## 📦 Installation
```bash
pip install python-pptx lxml Pillow
```
Optional (for visual QA preview):
```bash
apt install libreoffice-impress poppler-utils fonts-noto-cjk
```
From source (after cloning):
```bash
git clone <repo> deckcraft
cd deckcraft
pip install -r requirements.txt
```
---
## 🚀 Quick Start
### Python API
```python
import sys
sys.path.insert(0, "path/to/deckcraft")
from engine import DeckEngine
# 16:9 widescreen (default)
eng = DeckEngine(theme_name="business")
eng.cover(title="Q3 Marketing Plan", subtitle="Strategic Roadmap", author="Marketing Team", date="2026-06-03")
eng.toc(items=[("01", "Market Analysis", "Industry trends & competitor landscape")])
eng.content(title="Key Insights", bullets=["Gen-Z prefers short-form video", "ROI 2.3x on creator partnerships"], key_point="Lean into TikTok + Xiaohongshu")
eng.summary(title="Takeaways", key_points=["Lead with creative, not media"], conclusion="Approve 60% budget shift by June 15")
eng.closing(message="Questions?")
eng.save("q3_plan.pptx")
```
### CLI
```bash
python3 scripts/generate_ppt.py outline.json -o output.pptx --theme business --canvas 16:9
```
### Multi-canvas
```python
# 9:16 for social media (mobile, TikTok, Instagram Reels)
eng = DeckEngine(canvas="9:16")
eng.cover(title="Product Launch")
eng.content(title="Features", bullets=["Fast", "Beautiful", "Affordable"])
eng.save("launch_vertical.pptx")
# 1:1 for Instagram square
eng = DeckEngine(canvas="1:1")
# ...
# A4 for printing
eng = DeckEngine(canvas="A4")
# ...
```
### Importing from existing documents (v5.3+)
Turn a PDF, DOCX, or Mark_meta.json
{
"ownerId": "kn7d5t4546sckyvpj7bb694dn9846fsf",
"slug": "deckcraft",
"version": "6.0.0",
"publishedAt": 1781179379632
}CHANGELOG.md
# DeckCraft Changelog
## [6.0.0] - 2026-06-11 — PPT Master Integration (Icon Library / Source Auto-Fetch / CRAP Optimizer / Multi-Role Workflow / 9 New Charts / Industry Colors)
> **Major release** — borrows select capabilities from PPT Master (@lzfxxx, ClawHub score 3.69) while preserving DeckCraft's core philosophy: **python-pptx native (PPTX is editable, not a SVG image dump) + machine-readable gates + 5-stage discipline**.
### Tier 1 (Must-Have)
- **Icon Library (`engine/icons.py`)** — 37 hand-built icons rendered as `python-pptx` native freeform shapes
- No SVG embedding — every icon is editable in PowerPoint
- `from engine import icon, ICON_NAMES` — 37 icons: `arrow-right`, `arrow-up`, `arrow-up-right`, `bell`, `bookmark`, `calendar`, `chart-bar`, `check`, `circle-checkmark`, `clock`, `cog`, `download`, `edit`, `file`, `filter`, `mail`, `map-pin`, `phone`, `rocket`, `search`, `settings`, `shield`, `star`, `target`, `trending-up`, `user`, `users`, `video`, `zap`, etc.
- New example: `examples/05_icons.py`
- **URL → Markdown importer (`importers/url.py`)** — fetch any URL and convert HTML → MD
- CLI: `python3 scripts/import_source.py url https://example.com -o out.md`
- **WeChat Article → Markdown importer (`importers/wechat.py`)** — bypass WeChat anti-scraping with custom UA + Referer
- CLI: `python3 scripts/import_source.py wechat https://mp.weixin.qq.com/s/xxx -o out.md`
- **CRAP Design Optimizer (`scripts/optimize_crap.py`)** — optional Stage 4.5 diagnostic
- Four-dimension analysis: **C**ontrast / **R**epetition / **A**lignment / **P**roximity
- Reads PPTX shapes via python-pptx, outputs MD report (does NOT modify the deck)
- Use the report to drive a follow-up LLM-driven optimization pass
- **Speaker Notes Module (`scripts/add_notes.py` + `generate_ppt.py --notes-file`)**
- Input: `notes.json` (format: `{"1": "page 1 notes", "2": "page 2 notes"}`)
- Writes to `slide.notes_slide.notes_text_frame.text` for every slide
- Integrated as post-processing step in `generate_ppt.py`
### Tier 2 (Recommended)
- **9 New Chart Types (`engine/chart_engine.py`)** — all python-pptx native, no SVG fallback
- `chart_funnel(title, stages, values)` — horizontal funnel, 5-7 stages
- `chart_gantt(title, tasks, start_date, end_date)` — timeline + task bars
- `chart_swot(title, strengths, weaknesses, opportunities, threats)` — 2x2 SWOT matrix
- `chart_porter(title, forces)` — Porter's Five Forces (5 circles around center)
- `chart_sankey(title, nodes, links)` — simplified flow diagram (rectangles + trapezoid connectors)
- `chart_heatmap(title, rows, cols, values)` — color-mapped grid (green→yellow→red)
- `chart_radar(title, axes, series_data, series_names)` — polygon-based radar
- `chart_treemap(title, items)` — squarified single-level treemap
- `chart_waterfall(title, categories, values, is_total)` — waterfall (start/+/-/end + connector line)
- New test file: `tests/test_charts_extended.py` (23 tests, all pasMIGRATION.md
# DeckCraft — Migration Guides
How to upgrade between major versions without breaking your existing code.
---
## v5.3 → v6.0 (PPT Master Integration)
### What changed
- **New `role_mode` parameter** on `DeckEngine.__init__` (default `"single"` — backward-compatible)
- **New canvas aliases** recognized by `DeckEngine` (8 new names: `xiaohongshu`, `moments`, `weibo`, `story`, `reels`, `ppt`, `mobile`, `square`)
- **New chart methods** on `chart_engine`: `chart_funnel`, `chart_gantt`, `chart_swot`, `chart_porter`, `chart_sankey`, `chart_heatmap`, `chart_radar`, `chart_treemap`, `chart_waterfall`
- **New icon API**: `from engine import icon, ICON_NAMES`
- **New industry color API**: `from engine import INDUSTRY_COLORS, get_industry_theme`
- **New source importers**: URL and WeChat article → MD (extends `scripts/import_source.py`)
- **New tools**: `scripts/optimize_crap.py` (CRAP design diagnostic), `scripts/add_notes.py` (speaker notes injection)
- **New templates**: `templates/design_spec.md` and `templates/design_spec_demo.md`
- **New test files**: `tests/test_charts_extended.py` (23 tests), `tests/test_role_mode.py` (12 tests)
- **New examples**: `examples/05_icons.py`, `examples/06_role_mode.py`
### Migration steps
#### If you used `DeckEngine()` with no args
**No changes needed.** Default `theme_name="business"`, `canvas="16:9"`, `role_mode="single"` preserves exact v5.3 behavior.
```python
# v5.3 and v6.0 — same code, same output
eng = DeckEngine(theme_name="business")
eng.cover(title="Hello")
eng.save("out.pptx")
```
#### If you specified `canvas="16:9"` (or any existing preset)
**No changes needed.** All v5.3 canvas names (`16:9`, `9:16`, `1:1`, `4:3`, `A4`, `A4-portrait`, `ppt-16x9`, `mobile`, `square`, `ppt`) still work.
#### If you want to try a new alias
```python
# v6.0: new alias names map to existing canvases
eng = DeckEngine(canvas="xiaohongshu") # → 9:16
eng = DeckEngine(canvas="moments") # → 1:1
eng = DeckEngine(canvas="story") # → 9:16
```
#### If you want to try multi-role workflow (optional)
```python
# v6.0: opt-in multi-role mode
eng = DeckEngine(theme_name="business", canvas="16:9", role_mode="multi")
plan = eng.strategist_plan(brief={...}) # LLM fills this
eng.execute_plan(plan) # LLM-driven generation
```
Default `role_mode="single"` keeps the v5.3 single-pass behavior.
#### If you want new chart types
```python
eng.chart_funnel(title="Funnel", stages=["A","B","C","D"], values=[100, 80, 40, 20])
eng.chart_swot(title="SWOT", strengths=[...], weaknesses=[...], opportunities=[...], threats=[...])
eng.chart_heatmap(title="Heatmap", rows=[...], cols=[...], values=[[...]])
# ... and 6 more
```
#### If you want icons
```python
from engine import icon
icon(slide=eng._current_slide, name="rocket", x=100, y=100, size=48, color="FF6B35")
```
#### If you want industry colors
```python
from engine import get_industry_theme
theme = get_industry_theme("tech") # {"primary": "#1565C0", "AionUi
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!
activepieces
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
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/simon2256928/skills/deckcraft",
"sourceUrl": "https://clawhub.ai/simon2256928/skills/deckcraft",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T09:00:31.943Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-simon2256928-deckcraft/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-simon2256928-deckcraft/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T09:00:31.943Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.5K downloads",
"href": "https://clawhub.ai/simon2256928/deckcraft",
"sourceUrl": "https://clawhub.ai/simon2256928/deckcraft",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T09:00:31.943Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "6.0.0",
"href": "https://clawhub.ai/simon2256928/deckcraft",
"sourceUrl": "https://clawhub.ai/simon2256928/deckcraft",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-11T12:02:59.632Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-simon2256928-deckcraft/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-simon2256928-deckcraft/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 6.0.0",
"description": "v6.0.0: PPT Master integration. 37 icon library, URL/WeChat source auto-fetch, CRAP design optimizer, speaker notes, 9 new chart types (funnel/gantt/swot/porter/sankey/heatmap/radar/treemap/waterfall), optional multi-role workflow, 8 new canvas aliases, 14 industry color palettes, image resource manifest. 184 tests pass. python-pptx native preserved (PPTX remains editable). Backward-compatible with v5.3.",
"href": "https://clawhub.ai/simon2256928/deckcraft",
"sourceUrl": "https://clawhub.ai/simon2256928/deckcraft",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-11T12:02:59.632Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
