
canghe-slide-deck
Generates professional slide deck images from content. Creates outlines with style instructions, then generates individual slide images. Use when user asks to "create slides", "make a presentation", "generate deck", "slide deck", or "PPT".
- Installs
- 502
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/freestylefly/canghe-skills --skill canghe-slide-deck- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads canghe-slide-deck automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Slide Deck Generator
Transform content into professional slide deck images.
Usage
/canghe-slide-deck path/to/content.md
/canghe-slide-deck path/to/content.md --style sketch-notes
/canghe-slide-deck path/to/content.md --audience executives
/canghe-slide-deck path/to/content.md --lang zh
/canghe-slide-deck path/to/content.md --slides 10
/canghe-slide-deck path/to/content.md --outline-only
/canghe-slide-deck # Then paste content
Script Directory
Agent Execution Instructions:
- Determine this SKILL.md file's directory path as
SKILL_DIR - Script path =
${SKILL_DIR}/scripts/<script-name>.ts
| Script | Purpose |
|---|---|
scripts/merge-to-pptx.ts | Merge slides into PowerPoint |
scripts/merge-to-pdf.ts | Merge slides into PDF |
Options
| Option | Description |
|---|---|
--style <name> | Visual style: preset name, custom, or custom style name |
--audience <type> | Target: beginners, intermediate, experts, executives, general |
--lang <code> | Output language (en, zh, ja, etc.) |
--slides <number> | Target slide count (8-25 recommended, max 30) |
--outline-only | Generate outline only, skip image generation |
--prompts-only | Generate outline + prompts, skip images |
--images-only | Generate images from existing prompts directory |
--regenerate <N> | Regenerate specific slide(s): --regenerate 3 or --regenerate 2,5,8 |
Slide Count by Content Length:
| Content | Slides |
|---|---|
| < 1000 words | 5-10 |
| 1000-3000 words | 10-18 |
| 3000-5000 words | 15-25 |
| > 5000 words | 20-30 (consider splitting) |
Style System
Presets
| Preset | Dimensions | Best For |
|---|---|---|
blueprint (Default) | grid + cool + technical + balanced | Architecture, system design |
chalkboard | organic + warm + handwritten + balanced | Education, tutorials |
corporate | clean + professional + geometric + balanced | Investor decks, proposals |
minimal | clean + neutral + geometric + minimal | Executive briefings |
sketch-notes | organic + warm + handwritten + balanced | Educational, tutorials |
watercolor | organic + warm + humanist + minimal | Lifestyle, wellness |
dark-atmospheric | clean + dark + editorial + balanced | Entertainment, gaming |
notion | clean + neutral + geometric + dense | Product demos, SaaS |
bold-editorial | clean + vibrant + editorial + balanced | Product launches, keynotes |
editorial-infographic | clean + cool + editorial + dense | Tech explainers, research |
fantasy-animation | organic + vibrant + handwritten + minimal | Educational storytelling |
intuition-machine | clean + cool + technical + dense | Technical docs, academic |
pixel-art | pixel + vibrant + technical + balanced | Gaming, developer talks |
scientific | clean + cool + technical + dense | Biology, chemistry, medical |
vector-illustration | clean + vibrant + humanist + balanced | Creative, children's content |
vintage | paper + warm + editorial + balanced | Historical, heritage |
Style Dimensions
| Dimension | Options | Description |
|---|---|---|
| Texture | clean, grid, organic, pixel, paper | Visual texture and background treatment |
| Mood | professional, warm, cool, vibrant, dark, neutral | Color temperature and palette style |
| Typography | geometric, humanist, handwritten, editorial, technical | Headline and body text styling |
| Density | minimal, balanced, dense | Information density per slide |
Full specs: references/dimensions/*.md
Auto Style Selection
| Content Signals | Preset |
|---|---|
| tutorial, learn, education, guide, beginner | sketch-notes |
| classroom, teaching, school, chalkboard | chalkboard |
| architecture, system, data, analysis, technical | blueprint |
| creative, children, kids, cute | vector-illustration |
| briefing, academic, research, bilingual | intuition-machine |
| executive, minimal, clean, simple | minimal |
| saas, product, dashboard, metrics | notion |
| investor, quarterly, business, corporate | corporate |
| launch, marketing, keynote, magazine | bold-editorial |
| entertainment, music, gaming, atmospheric | dark-atmospheric |
| explainer, journalism, science communication | editorial-infographic |
| story, fantasy, animation, magical | fantasy-animation |
| gaming, retro, pixel, developer | pixel-art |
| biology, chemistry, medical, scientific | scientific |
| history, heritage, vintage, expedition | vintage |
| lifestyle, wellness, travel, artistic | watercolor |
| Default | blueprint |
Design Philosophy
Decks designed for reading and sharing, not live presentation:
- Each slide self-explanatory without verbal commentary
- Logical flow when scrolling
- All necessary context within each slide
- Optimized for social media sharing
See references/design-guidelines.md for:
- Audience-specific principles
- Visual hierarchy
- Content density guidelines
- Color and typography selection
- Font recommendations
See references/layouts.md for layout options.
File Management
Output Directory
slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│ └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
Slug: Extract topic (2-4 words, kebab-case). Example: "Introduction to Machine Learning" → intro-machine-learning
Conflict Handling: See Step 1.3 for existing content detection and user options.
Language Handling
Detection Priority:
--langflag (explicit)- EXTEND.md
languagesetting - User's conversation language (input language)
- Source content language
Rule: ALL responses use user's preferred language:
- Questions and confirmations
- Progress reports
- Error messages
- Completion summaries
Technical terms (style names, file paths, code) remain in English.
Workflow
Copy this checklist and check off items as you complete them:
Slide Deck Progress:
- [ ] Step 1: Setup & Analyze
- [ ] 1.1 Load preferences
- [ ] 1.2 Analyze content
- [ ] 1.3 Check existing ⚠️ REQUIRED
- [ ] Step 2: Confirmation ⚠️ REQUIRED (Round 1, optional Round 2)
- [ ] Step 3: Generate outline
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images
- [ ] Step 8: Merge to PPTX/PDF
- [ ] Step 9: Output summary
Flow
Input → Preferences → Analyze → [Check Existing?] → Confirm (1-2 rounds) → Outline → [Review Outline?] → Prompts → [Review Prompts?] → Images → Merge → Complete
Step 1: Setup & Analyze
1.1 Load Preferences (EXTEND.md)
Use Bash to check EXTEND.md existence (priority order):
# Check project-level first
test -f .canghe-skills/canghe-slide-deck/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.canghe-skills/canghe-slide-deck/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .canghe-skills/canghe-slide-deck/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.canghe-skills/canghe-slide-deck/EXTEND.md │ User home │ └──────────────────────────────────────────────────┴───────────────────┘
When EXTEND.md Found → Read, parse, output summary to user:
📋 Loaded preferences from [full path]
├─ Style: [preset/custom name]
├─ Audience: [audience or "auto-detect"]
├─ Language: [language or "auto-detect"]
└─ Review: [enabled/disabled]
When EXTEND.md Not Found → First-time setup using AskUserQuestion or proceed with defaults.
EXTEND.md Supports: Preferred style | Custom dimensions | Default audience | Language preference | Review preference
Schema: references/config/preferences-schema.md
1.2 Analyze Content
- Save source content (if pasted, save as
source.md)- Backup rule: If
source.mdexists, rename tosource-backup-YYYYMMDD-HHMMSS.md
- Backup rule: If
- Follow
references/analysis-framework.mdfor content analysis - Analyze content signals for style recommendations
- Detect source language
- Determine recommended slide count
- Generate topic slug from content
1.3 Check Existing Content ⚠️ REQUIRED
MUST execute before proceeding to Step 2.
Use Bash to check if output directory exists:
test -d "slide-deck/{topic-slug}" && echo "exists"
If directory exists, use AskUserQuestion:
header: "Existing"
question: "Existing content found. How to proceed?"
options:
- label: "Regenerate outline"
description: "Keep images, regenerate outline only"
- label: "Regenerate images"
description: "Keep outline, regenerate images only"
- label: "Backup and regenerate"
description: "Backup to {slug}-backup-{timestamp}, then regenerate all"
- label: "Exit"
description: "Cancel, keep existing content unchanged"
Save to analysis.md with:
- Topic, audience, content signals
- Recommended style (based on Auto Style Selection)
- Recommended slide count
- Language detection
Step 2: Confirmation ⚠️ REQUIRED
Two-round confirmation: Round 1 always, Round 2 only if "Custom dimensions" selected.
Language: Use user's input language or saved language preference.
Display summary:
- Content type + topic identified
- Language: [from EXTEND.md or detected]
- Recommended style: [preset] (based on content signals)
- Recommended slides: [N] (based on content length)
Round 1 (Always)
Use AskUserQuestion for all 5 questions:
Question 1: Style
header: "Style"
question: "Which visual style for this deck?"
options:
- label: "{recommended_preset} (Recommended)"
description: "Best match based on content analysis"
- label: "{alternative_preset}"
description: "[alternative style description]"
- label: "Custom dimensions"
description: "Choose texture, mood, typography, density separately"
Question 2: Audience
header: "Audience"
question: "Who is the primary reader?"
options:
- label: "General readers (Recommended)"
description: "Broad appeal, accessible content"
- label: "Beginners/learners"
description: "Educational focus, clear explanations"
- label: "Experts/professionals"
description: "Technical depth, domain knowledge"
- label: "Executives"
description: "High-level insights, minimal detail"
Question 3: Slide Count
header: "Slides"
question: "How many slides?"
options:
- label: "{N} slides (Recommended)"
description: "Based on content length"
- label: "Fewer ({N-3} slides)"
description: "More condensed, less detail"
- label: "More ({N+3} slides)"
description: "More detailed breakdown"
Question 4: Review Outline
header: "Outline"
question: "Review outline before generating prompts?"
options:
- label: "Yes, review outline (Recommended)"
description: "Review slide titles and structure"
- label: "No, skip outline review"
description: "Proceed directly to prompt generation"
Question 5: Review Prompts
header: "Prompts"
question: "Review prompts before generating images?"
options:
- label: "Yes, review prompts (Recommended)"
description: "Review image generation prompts"
- label: "No, skip prompt review"
description: "Proceed directly to image generation"
Round 2 (Only if "Custom dimensions" selected)
Use AskUserQuestion for all 4 dimensions:
Question 1: Texture
header: "Texture"
question: "Which visual texture?"
options:
- label: "clean"
description: "Pure solid color, no texture"
- label: "grid"
description: "Subtle grid overlay, technical"
- label: "organic"
description: "Soft textures, hand-drawn feel"
- label: "pixel"
description: "Chunky pixels, 8-bit aesthetic"
(Note: "paper" available via Other)
Question 2: Mood
header: "Mood"
question: "Which color mood?"
options:
- label: "professional"
description: "Cool-neutral, navy/gold"
- label: "warm"
description: "Earth tones, friendly"
- label: "cool"
description: "Blues, grays, analytical"
- label: "vibrant"
description: "High saturation, bold"
(Note: "dark", "neutral" available via Other)
Question 3: Typography
header: "Typography"
question: "Which typography style?"
options:
- label: "geometric"
description: "Modern sans-serif, clean"
- label: "humanist"
description: "Friendly, readable"
- label: "handwritten"
description: "Marker/brush, organic"
- label: "editorial"
description: "Magazine style, dramatic"
(Note: "technical" available via Other)
Question 4: Density
header: "Density"
question: "Information density?"
options:
- label: "balanced (Recommended)"
description: "2-3 key points per slide"
- label: "minimal"
description: "One focus point, maximum whitespace"
- label: "dense"
description: "Multiple data points, compact"
After Round 2: Store custom dimensions as the style configuration.
After Confirmation:
- Update
analysis.mdwith confirmed preferences - Store
skip_outline_reviewflag from Question 4 - Store
skip_prompt_reviewflag from Question 5 - → Step 3
Step 3: Generate Outline
Create outline using the confirmed style from Step 2.
Style Resolution:
- If preset selected → Read
references/styles/{preset}.md - If custom dimensions → Read dimension files from
references/dimensions/and combine
Generate:
- Follow
references/outline-template.mdfor structure - Build STYLE_INSTRUCTIONS from style or dimensions
- Apply confirmed audience, language, slide count
- Save as
outline.md
After generation:
- If
--outline-only, stop here - If
skip_outline_reviewis true → Skip Step 4, go to Step 5 - If
skip_outline_reviewis false → Continue to Step 4
Step 4: Review Outline (Conditional)
Skip this step if user selected "No, skip outline review" in Step 2.
Purpose: Review outline structure before prompt generation.
Language: Use user's input language or saved language preference.
Display:
- Total slides: N
- Style: [preset name or "custom: texture+mood+typography+density"]
- Slide-by-slide summary table:
| # | Title | Type | Layout |
|---|-------|------|--------|
| 1 | [title] | Cover | title-hero |
| 2 | [title] | Content | [layout] |
| 3 | [title] | Content | [layout] |
| ... | ... | ... | ... |
Use AskUserQuestion:
header: "Confirm"
question: "Ready to generate prompts?"
options:
- label: "Yes, proceed (Recommended)"
description: "Generate image prompts"
- label: "Edit outline first"
description: "I'll modify outline.md before continuing"
- label: "Regenerate outline"
description: "Create new outline with different approach"
After response:
- If "Edit outline first" → Inform user to edit
outline.md, ask again when ready - If "Regenerate outline" → Back to Step 3
- If "Yes, proceed" → Continue to Step 5
Step 5: Generate Prompts
- Read
references/base-prompt.md - For each slide in outline:
- Extract STYLE_INSTRUCTIONS from outline (not from style file again)
- Add slide-specific content
- If
Layout:specified, include layout guidance fromreferences/layouts.md
- Save to
prompts/directory- Backup rule: If prompt file exists, rename to
prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md
- Backup rule: If prompt file exists, rename to
After generation:
- If
--prompts-only, stop here and output prompt summary - If
skip_prompt_reviewis true → Skip Step 6, go to Step 7 - If
skip_prompt_reviewis false → Continue to Step 6
Step 6: Review Prompts (Conditional)
Skip this step if user selected "No, skip prompt review" in Step 2.
Purpose: Review prompts before image generation.
Language: Use user's input language or saved language preference.
Display:
- Total prompts: N
- Style: [preset name or custom dimensions]
- Prompt list:
| # | Filename | Slide Title |
|---|----------|-------------|
| 1 | 01-slide-cover.md | [title] |
| 2 | 02-slide-xxx.md | [title] |
| ... | ... | ... |
- Path to prompts directory:
prompts/
Use AskUserQuestion:
header: "Confirm"
question: "Ready to generate slide images?"
options:
- label: "Yes, proceed (Recommended)"
description: "Generate all slide images"
- label: "Edit prompts first"
description: "I'll modify prompts before continuing"
- label: "Regenerate prompts"
description: "Create new prompts with different approach"
After response:
- If "Edit prompts first" → Inform user to edit prompts, ask again when ready
- If "Regenerate prompts" → Back to Step 5
- If "Yes, proceed" → Continue to Step 7
Step 7: Generate Images
For --images-only: Start here with existing prompts.
For --regenerate N: Only regenerate specified slide(s).
Standard flow:
- Select available image generation skill
- Generate session ID:
slides-{topic-slug}-{timestamp} - For each slide:
- Backup rule: If image file exists, rename to
NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png - Generate image sequentially with same session ID
- Backup rule: If image file exists, rename to
- Report progress: "Generated X/N" (in user's language)
- Auto-retry once on failure before reporting error
Step 8: Merge to PPTX and PDF
npx -y bun ${SKILL_DIR}/scripts/merge-to-pptx.ts <slide-deck-dir>
npx -y bun ${SKILL_DIR}/scripts/merge-to-pdf.ts <slide-deck-dir>
Step 9: Output Summary
Language: Use user's input language or saved language preference.
Slide Deck Complete!
Topic: [topic]
Style: [preset name or custom dimensions]
Location: [directory path]
Slides: N total
- 01-slide-cover.png - Cover
- 02-slide-intro.png - Content
- ...
- {NN}-slide-back-cover.png - Back Cover
Outline: outline.md
PPTX: {topic-slug}.pptx
PDF: {topic-slug}.pdf
Partial Workflows
| Option | Workflow |
|---|---|
--outline-only | Steps 1-3 only (stop after outline) |
--prompts-only | Steps 1-5 (generate prompts, skip images) |
--images-only | Skip to Step 7 (requires existing prompts/) |
--regenerate N | Regenerate specific slide(s) only |
Using --prompts-only
Generate outline and prompts without images:
/canghe-slide-deck content.md --prompts-only
Output: outline.md + prompts/*.md ready for review/editing.
Using --images-only
Generate images from existing prompts (starts at Step 7):
/canghe-slide-deck slide-deck/topic-slug/ --images-only
Prerequisites:
prompts/directory with slide prompt filesoutline.mdwith style information
Using --regenerate
Regenerate specific slides:
# Single slide
/canghe-slide-deck slide-deck/topic-slug/ --regenerate 3
# Multiple slides
/canghe-slide-deck slide-deck/topic-slug/ --regenerate 2,5,8
Flow:
- Read existing prompts for specified slides
- Regenerate images only for those slides
- Regenerate PPTX/PDF
Slide Modification
Quick Reference
| Action | Command | Manual Steps |
|---|---|---|
| Edit | --regenerate N | Update prompt file FIRST → Regenerate image → Regenerate PDF |
| Add | Manual | Create prompt → Generate image → Renumber subsequent → Update outline → Regenerate PDF |
| Delete | Manual | Remove files → Renumber subsequent → Update outline → Regenerate PDF |
Edit Single Slide
- Update prompt file FIRST in
prompts/NN-slide-{slug}.md - Run:
/canghe-slide-deck <dir> --regenerate N - Or manually regenerate image + PDF
IMPORTANT: When updating slides, ALWAYS update the prompt file (prompts/NN-slide-{slug}.md) FIRST before regenerating. This ensures changes are documented and reproducible.
Add New Slide
- Create prompt at position:
prompts/NN-slide-{new-slug}.md - Generate image using same session ID
- Renumber: Subsequent files NN+1 (slugs unchanged)
- Update
outline.md - Regenerate PPTX/PDF
Delete Slide
- Remove
NN-slide-{slug}.pngandprompts/NN-slide-{slug}.md - Renumber: Subsequent files NN-1 (slugs unchanged)
- Update
outline.md - Regenerate PPTX/PDF
File Naming
Format: NN-slide-[slug].png
NN: Two-digit sequence (01, 02, ...)slug: Kebab-case from content (2-5 words, unique)
Renumbering Rule: Only NN changes, slugs remain unchanged.
See references/modification-guide.md for complete details.
References
| File | Content |
|---|---|
references/analysis-framework.md | Content analysis for presentations |
references/outline-template.md | Outline structure and format |
references/modification-guide.md | Edit, add, delete slide workflows |
references/content-rules.md | Content and style guidelines |
references/design-guidelines.md | Audience, typography, colors, visual elements |
references/layouts.md | Layout options and selection tips |
references/base-prompt.md | Base prompt for image generation |
references/dimensions/*.md | Dimension specifications (texture, mood, typography, density) |
references/dimensions/presets.md | Preset → dimension mapping |
references/styles/<style>.md | Full style specifications (legacy) |
references/config/preferences-schema.md | EXTEND.md structure |
Notes
- Image generation: 10-30 seconds per slide
- Auto-retry once on generation failure
- Use stylized alternatives for sensitive public figures
- Maintain style consistency via session ID
- Step 2 confirmation required - do not skip (style, audience, slides, outline review, prompt review)
- Step 4 conditional - only if user requested outline review in Step 2
- Step 6 conditional - only if user requested prompt review in Step 2
Extension Support
Custom configurations via EXTEND.md. See Step 1.1 for paths and supported options.
FAQ
What does the canghe-slide-deck skill do?
Generates professional slide deck images from content. Creates outlines with style instructions, then generates individual slide images. Use when user asks to "create slides", "make a presentation", "generate deck", "slide deck", or "PPT".
How do I install canghe-slide-deck?
Run npx skills add https://github.com/freestylefly/canghe-skills --skill canghe-slide-deck in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/canghe-slide-deck/ (personal) or .claude/skills/canghe-slide-deck/ (project).
Which AI agents can use canghe-slide-deck?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is canghe-slide-deck safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains canghe-slide-deck?
It is published by freestylefly in freestylefly/canghe-skills. It has 502 recorded installs.
More from freestylefly/canghe-skills
manga-drama
freestylefly/canghe-skills
漫剧生成器 - 基于 Seedance 的漫画风格短剧生成工具。支持以主角图片为基础,自动生成漫剧分镜脚本并生成视频。适用于创作漫画风格的短视频、角色故事、动画短片等。当用户想要生成漫画风格的视频短剧、角色故事或漫剧时使用此技能。
manga-style-video
freestylefly/canghe-skills
漫画风格视频生成器 - 专门生成日式治愈系、国风水墨、美式卡通等漫画风格的动画视频。内置8种漫画风格模板,支持图生视频,一键生成高质量漫画动画。当用户需要生成漫画风格、动画风格、手绘风格的视频时使用此技能。
seedance-video
freestylefly/canghe-skills
使用字节跳动 Seedance 模型生成视频。支持文生视频和图生视频功能,通过 volcengine-ark SDK 调用 API。当用户需要生成视频、创建视频内容或基于文字/图片制作视频时激活此技能。
canghe-image-gen
freestylefly/canghe-skills
AI image generation with OpenAI, Google, DashScope and Canghe APIs. Supports text-to-image, reference images, aspect ratios. Sequential by default; parallel generation available on request. Use when user asks to generate, create, or draw images.
canghe-comic
freestylefly/canghe-skills
Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts and sequential image generation. Use when user asks to create "知识漫画", "教育漫画", "biography comic", "tutorial comic", or "Logicomix-style comic".
volcengine-video-understanding
freestylefly/canghe-skills
火山视频理解 - 使用火山方舟视频理解 API 分析视频内容。通过 Files API 上传视频(推荐),支持大文件(最大512MB),可用于视频内容分析、物体识别、动作理解等。当用户需要分析视频、理解视频内容、提取视频信息时激活此技能。
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.