Generate doc template
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill generate-doc-templateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Generates on-brand document and deck templates — letterhead, slide, and one-pager — as SVG from the active brand profile, with editable title, subtitle, and body zones. Vector output needs no account, key, or network. Use when a user asks for a letterhead, a slide or deck master, or a branded one-pager. Trigger with "make a letterhead", "branded slide", or "/brand-make letterhead".
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.1 KB, as published. Nobody here has run it
Generate Doc Template
Generates a branded, print- or screen-ready document template as SVG from the active brand profile, with editable content zones.
Overview
The generate-doc-template skill turns a title (and optional subtitle and body) into a
branded document or deck master. Output is vector SVG, so it scales cleanly, prints
crisply, and needs no account, key, or network call. The generator (lib/doctpl.mjs)
draws a shared margin grid, brand mark, and accent rules, then fills the requested
kind; the skill resolves the active profile, picks the kind, runs the generator, and
saves the file. Convert to PDF or PNG downstream with /brand-export.
Prerequisites
- An active brand profile created with
/brand-new(abrand/directory, orbrands/[slug]/). Read loads itscolor-system.jsonandtypography.json. - Node.js on the PATH — the generator runs as
node lib/doctpl.mjs. - Write access to an
output/directory in the working repository. - A title string; subtitle and body are optional parameters.
Instructions
-
Run
/brand-statusto confirm the active brand; if none exists, tell the user to run/brand-newand stop. -
Use Glob to locate the active brand directory, then Read and validate the profile with
validateProfile. Stop with the offending field if validation fails. -
Choose the kind —
letterhead(default),slide, orone-pager. Ask the user when it is unclear. -
Generate the template by running the node generator:
import { loadProfile } from '../../lib/brand.mjs'; import { buildDoc } from '../../lib/doctpl.mjs'; const profile = loadProfile(activeDir); const { svg, kind } = buildDoc(profile, { kind: 'letterhead', title: 'Offer of Employment', body: 'Dear candidate, we are delighted to extend an offer.', }); -
Write the result with the Write tool to
output/[slug]-[kind].svg. -
Hand the file to the
visual-guardiansubagent for a palette, contrast, and type pass; apply its fixes or surface its flags. -
Report the saved path and point out the editable zones so the user can customize or adapt the copy:
id="title",id="subtitle", andid="body".
Output
One SVG file under output/, named for the slug and kind:
output/northwind-letterhead.svg
- Sized to the chosen kind —
letterheadandone-pagerat 816×1056 (US Letter @96dpi),slideat 1280×720 (16:9). - Content sits in editable zones —
id="title",id="subtitle",id="body"— that wrap automatically. A letterhead with no body ships with sample content rules the user replaces. - All copy is HTML-escaped before it enters the markup; colors come from the palette only.
Error Handling
| Condition | Behavior |
|---|---|
| No active brand profile | Stop and direct the user to /brand-new. |
Profile fails validateProfile | Report the offending field and stop. |
| Title missing | Ask the user for a title before generating. |
| Unknown kind requested | List the three supported kinds and ask the user to pick one. |
| Body font unavailable at render time | The declared fallback in typography.json applies — flag the substitution, never mismatch silently. |
To troubleshoot a crowded page, verify the copy against the margins in references/layout-grids.md, then re-run and re-check with the guardian.
Examples
Example — formal letterhead
/brand-make a letterhead for an offer letter
Builds an 816×1056 letterhead with the brand mark, an accent rule, the title, and the body, saved as output/northwind-letterhead.svg.
Example — deck title slide
/brand-make a title slide for our pitch deck
Generates a 1280×720 slide with a left accent bar, the brand mark, and a large title zone.
Example — executive one-pager
/brand-make a one-pager summarizing Q3 results
Produces an 816×1056 one-pager with a primary header band, then title and body zones ready to edit.
Resources
references/layout-grids.md— every kind's size, the shared grid, per-kind layout, editable zones, and how to add a kind.- Sibling skills: generate-logo for marks, and generate-social for platform posts — route between them with the
/brand-makecommand. - Paper sizes reference (ISO 216) — background on the print dimensions used.
- Agent Skills documentation — how skills are authored and invoked.