视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
generate-doc-template【文档与办公】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 slid…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: generate-doc-template description: | 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". allowed-tools: Read, Write, Glob, Bash(node:*) argument-hint: '[kind] [title] [optional subtitle] [optional body]' version: "0.5.1" author: localplugins localplugins@proton.me license: MIT compatibility: Designed for Claude Code tags:
Generates a branded, print- or screen-ready document template as SVG from the active brand profile, with editable content zones.
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.
/brand-new (a brand/ directory, or brands/[slug]/). Read loads its color-system.json and typography.json.node lib/doctpl.mjs.output/ directory in the working repository.Run /brand-status to confirm the active brand; if none exists, tell the user to run /brand-new and 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, or one-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-guardian subagent 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", and id="body".
One SVG file under output/, named for the slug and kind:
output/northwind-letterhead.svg
letterhead and one-pager at 816×1056 (US Letter @96dpi), slide at 1280×720 (16:9).id="title", id="subtitle", id="body" — that wrap automatically. A letterhead with no body ships with sample content rules the user replaces.| 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.
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.
references/layout-grids.md — every kind's size, the shared grid, per-kind layout, editable zones, and how to add a kind./brand-make command.