Imported from jeremylongshore/tons-of-skills-marketplace (
plugins/design/brand-forge/skills/generate-doc-template/SKILL.md). Install upstream withnpx skills add jeremylongshore/tons-of-skills-marketplace --skill generate-doc-template. Copyright stays with the author (MIT).
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.