skills/branded-doc/SKILL.md
Generate professional branded HTML documents from structured content. Use when the user asks to create a proposal, contract feedback, client response, pricing sheet, or any professional document that needs branding. Triggers on: "draft a response", "create proposal", "branded doc", "feedback document", "client document", "/branded-doc".
npx skillsauth add etanhey/golems branded-docInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate A4-ready branded HTML documents with color-coded sections, pricing tables, and RTL support.
bun scripts/branded-doc.ts input.json output.html# Generate from JSON file
bun scripts/branded-doc.ts /tmp/doc-input.json ~/Documents/output.html
# Pipe from stdin
cat /tmp/doc-input.json | bun scripts/branded-doc.ts - ~/Documents/output.html
{
"title": "Document Title",
"date": "1 March 2026",
"recipient": "Name — Company",
"intro": ["Opening line.", "Context line."],
"sections": [
{
"num": 1,
"title": "Section Title",
"tag": "change",
"body": "Section content in natural language."
}
],
"pricing": {
"title": "Pricing",
"headers": ["Plan", "Rate", "Total"],
"rows": [["Retainer", "$100/hr", "$2,000"]],
"note": "Optional footnote."
},
"availability": "Immediately.",
"closing": "Closing line.",
"output": "~/Documents/output.html"
}
| Tag | Label | Color | Use |
|-----|-------|-------|-----|
| remove | Remove | Red | Delete this clause |
| change | Change | Amber | Modify this clause |
| add | Add | Green | Add new clause |
| narrow | Narrow | Amber | Reduce scope |
| note | Note | Blue | Informational |
Personal branding loads from ~/.config/branded-doc.json:
{
"name": "Your Name",
"nameHebrew": "השם שלך",
"title": "Your Title",
"email": "[email protected]",
"phone": "+1 555-000-0000",
"website": "example.com",
"logoBase64": "(optional) base64-encoded PNG/SVG image for header logo"
}
Per-document override via "branding" field in input JSON.
When generating document content:
tools
The human-eval UX contract for Phoenix views: turn-by-turn scrollable replay (not a scorecard), hide-but-copyable IDs, collapsed thinking, identity chips, tool filters, tiny frozen starter datasets, mark-wrong-in-thread, mobile-first. Use when: building or reviewing ANY Phoenix/eval view, annotation UI, session replay, or human-grading surface. Triggers: phoenix view, eval UI, annotation view, session replay, human eval UX, grading interface. NOT for: Phoenix data pipelines/ingest (capture scripts have their own specs).
tools
macOS systems specialist — AppKit NSPanel architecture, launchd services, socket activation, MCP bridge resilience, syspolicyd, and high-frequency SwiftUI dashboards. Use when building menu-bar apps, LaunchAgents, debugging syspolicyd/Gatekeeper/TCC, resilient UDS/MCP bridges, or SwiftUI dashboards at 10Hz+.
development
Bulk LLM-judging protocol for fleet-dispatched verdict runs (KG cluster, eval harness). Use when: dispatching or running judge workers (J1/J2/RT), planning bulk-apply from verdict JSONL, or triaging evidence_degraded outputs. Triggers: judge fleet, bulk judge, R3 verdicts, kg-judge, RT gate, evidence_degraded. NOT for: single-item code review, Phoenix view UX (use phoenix-human-view), or non-judge eval pipelines.
development
Quiet-down protocol for sprint close: when the fleet wraps, delete ALL polling crons and monitors, send ONE final dashboard + ONE message, then go SILENT. Use when: fleet wraps, all workers done, overnight queue exhausted, sprint close, Etan asleep/away with nothing approved left. Triggers: fleet wrap, wrap the fleet, stand down, going quiet, sprint close. NOT for: mid-sprint monitoring (keep your loops), spawning a successor (use /session-handoff first).