rich-document-creator
Use this skill whenever the user wants to create rich, visually compelling documents, presentations, or PDFs — especially when they mention images, charts…
Skill by CodeAndCanvasLabs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/codeandcanvaslabs-rich-document-creator
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, presentations, design, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/rich-document-creator
What's inside
- Skill name
rich-document-creator- Description
- Use this skill whenever the user wants to create rich, visually compelling documents, presentations, or PDFs — especially when they mention images, charts, design quality, or need professional output. Triggers include: "create a presentation", "make slides", "build a deck", "write a report with images", "generate a PDF brochure", "make a Word document with visuals", "create a pitch deck", "make a professional presentation on X topic", "generate slides about Y", "create a document with good design", "make a pptx", "make a docx", "make a pdf". This skill is essential for multi-format document creation (PPTX, DOCX, PDF) with real images sourced from the web. It is also the go-to skill for any presentation with more than 5 slides, any document requiring images or charts, and any request explicitly mentioning visual quality. Always prefer this skill over individual pptx/docx/pdf skills when images, design quality, or multi-format output is involved.
- License
- AGPL-3.0
- Instructions
- 208 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (4)
- SKILL.md
- docx-guide.md · references/
- pdf-guide.md · references/
- pptx-guide.md · references/
SKILL.md (first lines)
# Rich Document Creator
Creates professional, image-rich documents across PPTX, DOCX, and PDF formats.
## Quick Decision Guide
| What they want | Format | Guide |
|---|---|---|
| Slides / presentation / deck | PPTX | [pptx-guide.md](references/pptx-guide.md) |
| Report / letter / memo / Word doc | DOCX | [docx-guide.md](references/docx-guide.md) |
| PDF brochure / handout / polished doc | PDF | [pdf-guide.md](references/pdf-guide.md) |
| Multiple formats at once | All | Generate each in sequence |
> **When to skip this skill.** If the user just wants a *plain* document — markdown notes, a text-only report, a basic table-only doc — daemora's built-in `create_document` tool is faster (one call, no install). Use this skill only when the document needs **real images, custom layouts, or visual design** that markdown can't express.
---
## Step 1: Plan Content First
Before writing any code, plan the document structure:
1. **Identify the topic** — extract key subject matter, goals, and audience from the user's request
2. **Decide slide/section count** — use the table below as a baseline
3. **List key themes** — what major points need to be made?
4. **Pick a visual style** — color palette, font, image style (see design guide in each format file)
### Slide / Section Count Guide
| Document Type | Recommended Count |
|---|---|
| Short presentation (intro/overview) | 8–12 slides |
| Standard presentation | 12–18 slides |
| Comprehensive presentation | 18–25 slides |
| Short report / memo (DOCX/PDF) | 3–6 sections |
| Full report | 6–12 sections |
**Always err on the side of MORE content, not less.** A thin 5-slide deck looks unfinished.
---
## Step 2: Source Images
This is the key differentiator of this skill. Every document must include real images.
All downloads land under the project's data directory. Use `./data/images/` (create it once with `mkdir -p ./data/images`) so the artifacts survive the run and are easy to find.
### Image Sourcing Workflow
There is no dedicated image-search tool — use one of these three paths, in this order:
**Path 1 — Direct image URL (fastest, no API key).** Some hosts return a real image straight from a keyword URL. Try first:
```bash
mkdir -p ./data/images
# Unsplash (keyword-driven, returns a real photo)
curl -L --max-time 20 --user-agent "Mozilla/5.0" \
-o ./data/images/hero.jpg \
"https://source.unsplash.com/1600x900/?renewable,energy,solar"
# Lorem Picsum (random, good for abstract / texture backgrounds)
curl -L --max-time 20 -o ./data/images/bg1.jpg \
"https://picsum.photos/1600/900?random=1"
# Always verify the file is a real image, not an HTML error page
file ./data/images/hero.jpg # expect "JPEG image data" or "PNG image data"
ls -lh ./data/images/hero.jpg # expect > 20 KB
```
**Path 2 — `web_search` then download.** Use this when you want a *specific* image (a known landmark, branded product, news photo, etc.). `web_search` is text-only — it returns page URLs and descriptions, not images directly. So:
```
web_search({
query: "<subject> <visual style> site:unsplash.com OR site:commons.wikimedia.org",
count: 8
})
```
Good query patterns:
- `"neural network visualization site:unsplash.com"`
- `"solar farm aerial photo site:commons.wikimedia.org"`
- `"open office team collaboration stock photo"`
- `"data dashboard screenshot site:pexels.com"`
Then `web_fetch` the most promising result page, extract the actual image URL (look for `og:image`, the largest `<img>` `src`, or a `download` link), and `curl` it the same way as Path 1.
**Path 3 — Generated placeholder (fallback).** If both paths above fail or the image is purely decorative, generate one with Pillow via `execute_command`:
```python
from PIL import Image, ImageDraw
def create_placeholder(width, height, text, color1, color2, output_path):
img = Image.new('RGB', (width, height), color1)
draw = ImageDraw.Draw(img)
for y in range(height):
ratio = y / height
r = int(int(color1[1:3], 16) * (1-ratio) + int(color2[1:3], 16) * ratio)
g = int(int(color1[3:5], 16) * (1-ratio) + int(color2[3:5], 16) * ratio)
b = int(int(color1[5:7], 16) * (1-ratio) + int(color2[5:7], 16) * ratio)
draw.line([(0, y), (width, y)], fill=(r, g, b))
draw.text((width//2, height//2), text, fill="white", anchor="mm")
img.save(output_path)
return output_path
create_placeholder(1280, 720, "Section Visual", "#1a3a5c", "#0d7377", "./data/images/hero.jpg")
```
### Image Rules
- **Always try Path 1 first** — it's a single curl, no extra search/fetch steps.
- **Each major slide/section needs at least one image** — never ship a deck with no visuals.
- **Match image content to slide topic** — keywords in the URL or query should reflect the slide's actual subject.
- **Always verify** with `file ./data/images/<name>.jpg` before embedding — a 200-byte HTML error page silently breaks pptxgenjs/docx/reportlab.
- **Download before embedding** — every renderer below loads from a local path, not a URL.
- **Resize if needed** using Pillow before embedding (target ≤ 1600 px on the long edge).
---
## Step 3: Generate the DocumentFrom CodeAndCanvasLabs/Daemora, AGPL-3.0.
More from CodeAndCanvasLabs/Daemora
- 0.555score
video-script-writer
CodeAndCanvasLabs
Generates professional, full-production video scripts from ANY idea, topic, or brief — across ALL industries, domains, and video styles.
SkillCFreshness: C★ 16Claude Code +9 - 0.550score
things-mac
CodeAndCanvasLabs
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database).
SkillCFreshness: C★ 16Claude Code +9 - 0.550score
slack
CodeAndCanvasLabs
Use when you need to control Slack from Daemora via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
SkillCFreshness: C★ 16Claude Code +9 - 0.547score
task-decomposition
CodeAndCanvasLabs
Break a fuzzy goal into independently shippable phases.
SkillCFreshness: C★ 16Claude Code +9 - 0.547score
planning
CodeAndCanvasLabs
Produce structured executable plans from a user goal — any domain.
SkillCFreshness: C★ 16Claude Code +9 - 0.536score
PDF Handling
CodeAndCanvasLabs
Extract text and tables from PDF files.
SkillCFreshness: C★ 16Claude Code +9 - 0.531score
Skill Template
CodeAndCanvasLabs
Copy this folder to add a new skill.
SkillCFreshness: C★ 16Claude Code +9 - 0.525score
apple-notes
CodeAndCanvasLabs
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes).
SkillCFreshness: C★ 16Claude Code +9 - 0.516score
camsnap
CodeAndCanvasLabs
Capture frames or clips from RTSP/ONVIF cameras.
SkillCFreshness: C★ 16Claude Code +9
Signals
- Stars
- 16
- Forks
- 7
- Open issues
- 1
- Last commit (this folder)
- May 2, 2026 (5 months ago)
- Last release
- Mar 8, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/CodeAndCanvasLabs/Daemora
- Website
- daemora.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from CodeAndCanvasLabs
- 0.555score
video-script-writer
CodeAndCanvasLabs
Generates professional, full-production video scripts from ANY idea, topic, or brief — across ALL industries, domains, and video styles.
SkillCFreshness: C★ 16Claude Code +9 - 0.550score
things-mac
CodeAndCanvasLabs
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database).
SkillCFreshness: C★ 16Claude Code +9 - 0.550score
slack
CodeAndCanvasLabs
Use when you need to control Slack from Daemora via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
SkillCFreshness: C★ 16Claude Code +9 - 0.547score
task-decomposition
CodeAndCanvasLabs
Break a fuzzy goal into independently shippable phases.
SkillCFreshness: C★ 16Claude Code +9 - 0.547score
planning
CodeAndCanvasLabs
Produce structured executable plans from a user goal — any domain.
SkillCFreshness: C★ 16Claude Code +9 - 0.536score
PDF Handling
CodeAndCanvasLabs
Extract text and tables from PDF files.
SkillCFreshness: C★ 16Claude Code +9
Cite this page
rich-document-creator skill. Agent Mart. https://agentmart.dev/skills/codeandcanvaslabs-rich-document-creator (last updated 2026-10-24)