New to Claude Skills? Learn how to install them →

jeremylongshore on GitHub

Generate Doc Template

Free

Create branded document templates as SVG files.

Get this skill

Free · Opens the source repo

What Generate Doc Template does

The Generate Doc Template skill allows users to create on-brand document and deck templates in SVG format directly from their active brand profile. This skill is particularly useful for designers and developers who need to produce consistent branding materials, such as letterheads, presentation slides, and one-pagers, without relying on external services or accounts. The generated SVG files maintain high quality and can be easily scaled for various uses, ensuring that branding remains intact across different formats.

To use this skill, users must first establish an active brand profile using the /brand-new command. This profile includes essential elements such as color schemes and typography settings, which the skill utilizes to generate the templates. Users can customize the output by specifying a title, and optionally a subtitle and body text, which are placed in editable zones within the SVG. The skill's generator constructs the document according to specified dimensions, ensuring that the output is suitable for both print and digital formats.

The skill operates entirely offline, requiring only Node.js and write access to an output directory, making it a convenient tool for quick document generation. Users can trigger the skill with simple commands like "make a letterhead" or "branded slide," streamlining the workflow for creating branded materials. The SVG files produced can later be converted to other formats, such as PDF or PNG, using the /brand-export command, providing flexibility in how the documents are utilized.

Overall, Generate Doc Template is an efficient solution for anyone needing to produce professional and branded documents quickly, ensuring consistency in design and ease of use.

When to use it

Use this skill when you need to generate branded templates for documents or presentations quickly and efficiently.

When not to use it

This skill is not suitable for users who require complex design features or advanced editing capabilities beyond basic text customization.

What you can build with it

Creating a Formal Letterhead

Generate a letterhead for official communications by running `/brand-make a letterhead` with your brand profile.

Designing a Presentation Slide

Easily create a title slide for a presentation deck using the command `/brand-make a title slide`.

Producing an Executive One-Pager

Summarize important information in a one-pager by executing `/brand-make a one-pager` with your brand details.

How to install Generate Doc Template

View source

1. Install with the skills CLI

npx skills add jeremylongshore/claude-code-plugins-plus-skills/generate-doc-template --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by jeremylongshore

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 (a brand/ directory, or brands/[slug]/). Read loads its color-system.json and typography.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

  1. Run /brand-status to confirm the active brand; if none exists, tell the user to run /brand-new and stop.

  2. Use Glob to locate the active brand directory, then Read and validate the profile with validateProfile. Stop with the offending field if validation fails.

  3. Choose the kind — letterhead (default), slide, or one-pager. Ask the user when it is unclear.

  4. 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.',
    });
    
  5. Write the result with the Write tool to output/[slug]-[kind].svg.

  6. Hand the file to the visual-guardian subagent for a palette, contrast, and type pass; apply its fixes or surface its flags.

  7. Report the saved path and point out the editable zones so the user can customize or adapt the copy: id="title", id="subtitle", and id="body".

Output

One SVG file under output/, named for the slug and kind:

output/northwind-letterhead.svg
  • Sized to the chosen kind — letterhead and one-pager at 816×1056 (US Letter @96dpi), slide at 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

ConditionBehavior
No active brand profileStop and direct the user to /brand-new.
Profile fails validateProfileReport the offending field and stop.
Title missingAsk the user for a title before generating.
Unknown kind requestedList the three supported kinds and ask the user to pick one.
Body font unavailable at render timeThe 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-make command.
  • Paper sizes reference (ISO 216) — background on the print dimensions used.
  • Agent Skills documentation — how skills are authored and invoked.

Frequently asked questions about Generate Doc Template

Similar skills