explanatory-doc
Skill0 starsChanged 15 days agoApache-2.0View on GitHub
Generate visual, branded HTML documents that explain concepts to non-technical audiences. Use when creating explanatory content for friends, partners, investors, or anyone who needs to understand a technical topic in simple language. NOT for contracts or proposals (use branded-doc). Triggers on: "explain to", "make a document for", "explanatory doc", "visual explanation", "send him/her an explanation", "/explanatory-doc".
In this repository64 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- verify-lead-waitSkill
- verify-merge-receiptsSkill
- branded-docSkill
- 1passwordSkill
- agada-benchSkill
- agent-browserSkill
- agent-routingSkill
- architectural-conformance-auditSkill
- audio-dashboardSkill
- brain-store-fallbackSkill
- claude-desktop-researchSkill
- cmux-agentsSkill
- cmuxSkill
- coachSkill
- coderabbitSkill
- codex-workflowsSkill
- collab-monitorSkill
- content-demo-creationSkill
- convention-auditSkill
- cursor-workflowsSkill
- cyberSkill
- deploy-verifySkill
- drive-filingSkill
- eas-prebuild-checkSkill
- ecosystem-healthSkill
- eli5Skill
- false-green-gateSkill
- figma-loopSkill
- fleet-wrap-gateSkill
- fleet-wrapSkill
- frustration-captureSkill
- gemini-researchSkill
- git-guardianSkill
- github-researchSkill
- golem-installSkill
- grill-meSkill
- heredoc-guardSkill
- html-dashboardSkill
- human-confirm-gateSkill
- i-have-adhdSkill
- install-runbook-linterSkill
- large-planSkill
- m1-window-gateSkill
- model-pin-gateSkill
- never-fabricateSkill
- orcSkill
- plan-councilSkill
- pr-loopSkill
- qa-verdict-gateSkill
- qa-videoSkill
- repogolemSkill
- research-lifecycleSkill
- reviewer-order-gateSkill
- session-handoffSkill
- skill-creatorSkill
- stitch-designSkill
- t3-visualsSkill
- tmp-blockSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 95
All sections use the same green numbered circle for visual consistency (matching the Avi Huberman style).
- Very specific: line 132
No personal branding (no name/email/phone).
- Distinctive: line 142
When generating content for explanatory docs:
- Distinctive: line 143
Write in simple, everyday language — the reader is smart but not technical
- Distinctive: line 144
Use bold for key terms when they first appear
- Distinctive: line 146
Keep paragraphs short — 2-3 sentences max
- Distinctive: line 147
Use callouts for the most important takeaways
- Distinctive: line 148
Use phases for step-by-step processes
- Distinctive: line 149
Use Q&A for anticipated questions
- Distinctive: line 150
Use checklists for safeguards or summary items
- Distinctive: line 160
Write JSON to temp file
- Very specific: line 161
Run bun skills/explanatory-doc/scripts/explanatory-doc.ts to generate HTML
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Explanatory Document Generator
Generate branded, visual RTL Hebrew HTML documents with colored sections, callout boxes, phase cards, checklists, Q&A cards, and tables.
When to use this vs branded-doc:
explanatory-doc= Explaining concepts (trading bot to a friend, study tips, project overview)branded-doc= Contract feedback, proposals, pricing sheets, client documents
How It Works
- Build a JSON file with the document content
- Run
bun skills/explanatory-doc/scripts/explanatory-doc.ts input.json output.html - Generate PDF:
/Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser --headless --disable-gpu --print-to-pdf="output.pdf" --no-margins "output.html"
Quick Start
# Generate from JSON file
bun skills/explanatory-doc/scripts/explanatory-doc.ts docs.local/doc-input.json ~/Documents/output.html
# Pipe from stdin
cat docs.local/doc-input.json | bun skills/explanatory-doc/scripts/explanatory-doc.ts - ~/Documents/output.html
# Generate PDF from HTML
/Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser \
--headless --disable-gpu --no-margins \
--print-to-pdf="$HOME/Documents/output.pdf" \
"$HOME/Documents/output.html"JSON Schema
{
"title": "Document Title",
"subtitle": "Optional context line (sources, date range, etc.)",
"date": "March 2026",
"recipient": "Name (optional)",
"sections": [
{
"num": 1,
"title": "Section Title",
"color": "blue",
"blocks": [
{ "type": "text", "content": "Paragraph. Use **bold** for emphasis." },
{ "type": "callout", "style": "warn", "title": "Note Title", "content": "Callout content" },
{ "type": "table", "headers": ["Col1", "Col2"], "rows": [["Cell", "Cell"], [{"text": "+22%", "style": "pos"}, {"text": "-30%", "style": "neg"}]] },
{ "type": "phase", "title": "Phase 1", "risk": "zero", "riskLabel": "Risk: None", "items": ["Step 1", "Step 2"], "note": "Optional note" },
{ "type": "list", "items": ["Bullet 1", "Bullet 2"] },
{ "type": "checklist", "items": ["Green checkmark item 1", "Green checkmark item 2"] },
{ "type": "qa", "items": [{ "q": "Question?", "a": "Answer." }] },
{ "type": "divider" }
]
}
],
"closing": "Optional closing text",
"output": "~/Documents/output.html"
}Block Types
| Type | Visual | Use |
text | Paragraph | Regular content |
callout | Colored sidebar box | Key insights, warnings, tips |
table | Striped table with dark header | Data, comparisons |
phase | Rounded card with risk badge | Project phases, steps |
list | Bullet list | Features, items |
checklist | Green checkmark list | Safeguards, done items |
qa | Card with blue question | FAQ section |
divider | Horizontal line | Section separator |
Callout Styles
| Style | Color | Use |
info (default) | Blue | General notes, tips |
warn | Amber | Warnings, caveats |
danger | Red | Critical warnings, risks |
success | Green | Positive outcomes, recommendations |
Section Colors
All sections use the same green numbered circle for visual consistency (matching the Avi Huberman style). The color field is available for future customization but currently maps to the same green.
| Color | Use |
blue | Default, informational |
red | Problems, risks, warnings |
green | Solutions, positives |
amber | Caution, expectations |
purple | People, roles, meta |
Table Cell Styling
Regular cells are plain strings. For colored cells (positive/negative):
{ "text": "+22.8%", "style": "pos" }
{ "text": "-62.7%", "style": "neg" }Phase Risk Levels
| Risk | Badge Color | Use |
zero | Green | No risk at all |
low | Yellow | Controlled, limited risk |
medium | Orange | Moderate risk |
high | Red | High risk |
Visual Style
The document uses a dark slate banner header with the document title (NOT freelancing branding). Modeled after the "Avi Huberman Tips" visual style:
- Header: Dark charcoal (#0f172a), white title text, centered
- Number badges: Muted teal (#0d9488), rounded rectangles (not circles)
- Table headers: Teal (#0d9488), with light gray alternating rows (#f8fafc)
- Section dividers: Teal top-border line on each section
- Callouts: Info=blue, Warn=amber (insight boxes), Danger=red, Success=green (action boxes)
- Q&A cards: Teal question text (#0d9488)
No personal branding (no name/email/phone). The document is about the topic, not the sender.
Page Break Rules
Each section gets its own page. The script forces page-break-before: always on every section (except the first). This guarantees no component is ever split across pages. The <hr> dividers between sections are hidden — replaced by teal top-border lines on each section.
Because each section gets a full page, make sure sections have enough content to fill the page well. A section with just a 2-row table and one line of text will look sparse. Add explanatory text, callouts with key takeaways, or context paragraphs to fill out short sections.
Writing Rules
When generating content for explanatory docs:
- Write in simple, everyday language — the reader is smart but not technical
- Use bold for key terms when they first appear
- Explain jargon in parentheses: "Stop Loss (automatic exit when price drops)"
- Keep paragraphs short — 2-3 sentences max
- Use callouts for the most important takeaways
- Use phases for step-by-step processes
- Use Q&A for anticipated questions
- Use checklists for safeguards or summary items
- Hebrew RTL — write naturally, the template handles direction
- Each section = one page, so fill each section with enough content: explanatory paragraphs, real data/facts, callouts with key insights. A sparse section with just a table looks empty.
- Be genuinely explanatory — add context, real numbers, analogies. The goal is that the reader walks away understanding the topic deeply, not just seeing bullet points.
Full Workflow
- User asks to explain something to someone
- Gather content (research, notes, conversation)
- Structure into sections with appropriate block types
- Write JSON to temp file
- Run
bun skills/explanatory-doc/scripts/explanatory-doc.tsto generate HTML - Generate PDF via Brave headless
- Copy to Obsidian:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/personal/Personal/
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

