Skip to content
Agentmart
Submit a tool

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

IndexedAGPL-3.0★ 16
Write a review

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.

We use your email only for this newsletter. Privacy

About

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.

Use cases: documents, presentations, design, writing

No 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 Document

From CodeAndCanvasLabs/Daemora, AGPL-3.0.

More from CodeAndCanvasLabs/Daemora

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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from CodeAndCanvasLabs

Cite this page

rich-document-creator skill. Agent Mart. https://agentmart.dev/skills/codeandcanvaslabs-rich-document-creator (last updated 2026-10-24)