Use when a single-file HTML technical document should carry a dark developer / terminal aesthetic — monospace type, terminal-green accents, near-black background. Trigger on: "dark terminal doc", "terminal-style HTML", "developer-terminal aesthetic", "make it look like a terminal", "dark developer-facing HTML page", or when the user wants a reference sheet, comparison table, changelog or API cheatsheet rendered in that specific look, or one matching a document already produced in this style. For a document with no stated aesthetic, use the harness design skills instead.
Standard markdown renders poorly in meetings, portfolios, and async handoffs. Notion exports are generic, Confluence is ugly, and spinning up a React/Next.js site for a one-off comparison table is overkill. This skill produces a single self-contained HTML file — no dependencies, no build step, no framework — that looks like a polished internal developer tool: dark IDE aesthetic, dense tables, semantic status colors. The output opens directly in any browser, can be emailed as an attachment, or dropped into GitHub Pages.
Naive approaches fail because: ad-hoc inline styles drift from the design system, font loading order breaks the monospace/sans split, and brand accent colors used directly in body text create contrast issues (they need pastelizing).
Workflow
Confirm the document type from the user's request:
Comparison doc (two subjects side by side) → use all columns + summary cards
Identify brand colors for comparison docs. For single-subject docs, pick one --brand-a accent and omit --brand-b.
Load the CSS design system from references/css-design-system.md and copy the token block verbatim. Override only --brand-a and --brand-b.
Use the HTML skeleton from references/html-skeleton.md. Fill section headers with emoji prefixes. Every row that has a clear winner gets a winner-badge after the explanatory text in the notes column.
Write the file as a single .html file using the Write tool. No external CSS files, no JS frameworks, no CDN scripts (Google Fonts import is the only external call — degrades gracefully offline).
Verify by describing the output structure to the user — number of sections, rows, and which brand wins the summary (for comparison docs).
Hard Rules
Always produce a single self-contained .html file. No external CSS files, no JavaScript frameworks, no CDN scripts beyond the Google Fonts import.
Never use solid backgrounds for tags or badges. All fills must use rgba with 12–15% opacity so the dark --bg bleeds through.
Brand accent colors (--brand-a, --brand-b) must be pastelized for body text in data cells. Using the full-saturation color directly on body text causes glare and contrast issues.
Winner badges belong in the notes column, after the explanatory text — badge is a visual summary, not a lead-in.
Never use light backgrounds, Inter/Roboto fonts, purple gradients, glassmorphism, or rounded hero cards. This is a terminal aesthetic, not a marketing page.
Never drop the generic font fallback.'Syne', sans-serif and 'IBM Plex Mono', monospace keep the page readable when the Google Fonts import is blocked — offline, behind a proxy, or under a strict Content-Security-Policy. The import is the one permitted external call precisely because it degrades; a bare font-family: 'Syne' does not.
No harness features. The output is a .html file opened from file://. It requires no agent runtime, no skills, no subagents, no build step — and must keep requiring none.
Summary cards are mandatory for comparison docs — three boxes: brand-a wins / brand-b wins / tie. Single-subject docs (cheatsheets, changelogs) may omit them.
Max-width is 1200px throughout, not 960px — comparison tables need horizontal breathing room.
Section headers must use text-transform: uppercase, letter-spacing: 2px, and an emoji prefix to create visual rhythm and scanability in long tables.
What NOT To Do
Wrong
Right
color: #D97757 in a table data cell
color: #EBA98C (pastelized)
.tag { background: #4CAF7D; }
.tag-yes { background: rgba(76,175,125,0.15); }
<span class="winner-badge">wins</span> Context is better
Context is better <span class="winner-badge winner-brand-a">brand-a wins</span>
Splitting CSS into a separate .css file
All styles inline in <style> block
font-family: Inter, sans-serif
font-family: 'Syne', sans-serif
box-shadow on .table-wrap
border: 1px solid var(--border) only
border-radius: 8px on .table-wrap
border-radius: 16px
Prose descriptions using IBM Plex Mono
Prose in Syne; metadata/labels in IBM Plex Mono
Quick-Reference Checklist
Before handing off the HTML file, verify:
Single .html file — no external dependencies except Google Fonts import
CSS variables match the token reference exactly (--bg, --surface, --surface2, --border, --text, --muted, --yes, --no, --partial, --brand-a, --brand-b)
--brand-a and --brand-b overridden to match the document's subjects
Table header columns use th-brand-a, th-brand-b, th-meta classes
Data cells use col-brand-a/col-brand-b with pastelized hex values, not full-saturation vars
Winner badges placed after explanatory text in notes column
Summary cards present (for comparison docs only)
Subtitle under h1 in IBM Plex Mono with // title · date pattern
max-width: 1200px on all top-level containers
border-radius: 16px on .table-wrap
Reference Files
File
When to load
references/css-design-system.md
Every document — copy the full CSS token block and component library
references/html-skeleton.md
Starting point for every document — choose column layout by doc type
1---2name: dark-terminal-doc3description: Use when a single-file HTML technical document should carry a dark developer / terminal aesthetic — monospace type, terminal-green accents, near-black background. Trigger on: "dark terminal doc", "terminal-style HTML", "developer-terminal aesthetic", "make it look like a terminal", "dark developer-facing HTML page", or when the user wants a reference sheet, comparison table, changelog or API cheatsheet rendered in that specific look, or one matching a document already produced in this style. For a document with no stated aesthetic, use the harness design skills instead.4---56# Dark Terminal Document Design System78## Why this skill exists910Standard markdown renders poorly in meetings, portfolios, and async handoffs. Notion exports are generic, Confluence is ugly, and spinning up a React/Next.js site for a one-off comparison table is overkill. This skill produces a **single self-contained HTML file** — no dependencies, no build step, no framework — that looks like a polished internal developer tool: dark IDE aesthetic, dense tables, semantic status colors. The output opens directly in any browser, can be emailed as an attachment, or dropped into GitHub Pages.1112Naive approaches fail because: ad-hoc inline styles drift from the design system, font loading order breaks the monospace/sans split, and brand accent colors used directly in body text create contrast issues (they need pastelizing).1314---1516## Workflow17181. **Confirm the document type** from the user's request:19 - Comparison doc (two subjects side by side) → use all columns + summary cards20 - Reference/cheatsheet (one subject, many rows) → Command / Syntax / Description21 - Changelog/release notes (chronological) → Change / Impact / Description22 - Feature breakdown (one product, feature × status) → Feature / Status / Notes23242. **Identify brand colors** for comparison docs. For single-subject docs, pick one `--brand-a` accent and omit `--brand-b`.25263. **Load the CSS design system** from `references/css-design-system.md` and copy the token block verbatim. Override only `--brand-a` and `--brand-b`.27284. **Use the HTML skeleton** from `references/html-skeleton.md`. Fill section headers with emoji prefixes. Every row that has a clear winner gets a `winner-badge` after the explanatory text in the notes column.29305. **Write the file** as a single `.html` file using the `Write` tool. No external CSS files, no JS frameworks, no CDN scripts (Google Fonts import is the only external call — degrades gracefully offline).31326. **Verify** by describing the output structure to the user — number of sections, rows, and which brand wins the summary (for comparison docs).3334---3536## Hard Rules37381. **Always produce a single self-contained `.html` file.** No external CSS files, no JavaScript frameworks, no CDN scripts beyond the Google Fonts import.392. **Never use solid backgrounds for tags or badges.** All fills must use `rgba` with 12–15% opacity so the dark `--bg` bleeds through.403. **Brand accent colors (`--brand-a`, `--brand-b`) must be pastelized for body text** in data cells. Using the full-saturation color directly on body text causes glare and contrast issues.414. **Winner badges belong in the notes column, after the explanatory text** — badge is a visual summary, not a lead-in.425. **Never use light backgrounds, Inter/Roboto fonts, purple gradients, glassmorphism, or rounded hero cards.** This is a terminal aesthetic, not a marketing page.436. **Never drop the generic font fallback.** `'Syne', sans-serif` and `'IBM Plex Mono', monospace` keep the page readable when the Google Fonts import is blocked — offline, behind a proxy, or under a strict Content-Security-Policy. The import is the one permitted external call precisely because it degrades; a bare `font-family: 'Syne'` does not.447. **No harness features.** The output is a `.html` file opened from `file://`. It requires no agent runtime, no skills, no subagents, no build step — and must keep requiring none.456. **Summary cards are mandatory for comparison docs** — three boxes: brand-a wins / brand-b wins / tie. Single-subject docs (cheatsheets, changelogs) may omit them.467. **Max-width is 1200px throughout,** not 960px — comparison tables need horizontal breathing room.478. **Section headers must use `text-transform: uppercase`, `letter-spacing: 2px`, and an emoji prefix** to create visual rhythm and scanability in long tables.4849---5051## What NOT To Do5253| Wrong | Right |54|-------|-------|55| `color: #D97757` in a table data cell | `color: #EBA98C` (pastelized) |56| `.tag { background: #4CAF7D; }` | `.tag-yes { background: rgba(76,175,125,0.15); }` |57| `<span class="winner-badge">wins</span> Context is better` | `Context is better <span class="winner-badge winner-brand-a">brand-a wins</span>` |58| Splitting CSS into a separate `.css` file | All styles inline in `<style>` block |59| `font-family: Inter, sans-serif` | `font-family: 'Syne', sans-serif` |60| `box-shadow` on `.table-wrap` | `border: 1px solid var(--border)` only |61| `border-radius: 8px` on `.table-wrap` | `border-radius: 16px` |62| Prose descriptions using IBM Plex Mono | Prose in Syne; metadata/labels in IBM Plex Mono |6364---6566## Quick-Reference Checklist6768Before handing off the HTML file, verify:6970- [ ] Single `.html` file — no external dependencies except Google Fonts import71- [ ] CSS variables match the token reference exactly (`--bg`, `--surface`, `--surface2`, `--border`, `--text`, `--muted`, `--yes`, `--no`, `--partial`, `--brand-a`, `--brand-b`)72- [ ] `--brand-a` and `--brand-b` overridden to match the document's subjects73- [ ] Table header columns use `th-brand-a`, `th-brand-b`, `th-meta` classes74- [ ] Data cells use `col-brand-a`/`col-brand-b` with pastelized hex values, not full-saturation vars75- [ ] Section headers: uppercase, 2px letter-spacing, emoji prefix76- [ ] Tags use rgba fills (not solid colors)77- [ ] Winner badges placed after explanatory text in notes column78- [ ] Summary cards present (for comparison docs only)79- [ ] Subtitle under h1 in IBM Plex Mono with `// title · date` pattern80- [ ] `max-width: 1200px` on all top-level containers81- [ ] `border-radius: 16px` on `.table-wrap`8283---8485## Reference Files8687| File | When to load |88|------|-------------|89| `references/css-design-system.md` | Every document — copy the full CSS token block and component library |90| `references/html-skeleton.md` | Starting point for every document — choose column layout by doc type |
Run npx skillmds@latest add tamircohen28/dark-terminal-doc in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Use when a single-file HTML technical document should carry a dark developer / terminal aesthetic — monospace type, terminal-green accents, near-black background. Trigger on: "dark terminal doc", "terminal-style HTML", "developer-terminal aesthetic", "make it look like a terminal", "dark developer-facing HTML page", or when the user wants a reference sheet, comparison table, changelog or API cheatsheet rendered in that specific look, or one matching a document already produced in this style. For a document with no stated aesthetic, use the harness design skills instead. It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Tamircohen28 (@tamircohen28) published this skill. Their other Agent Skills are listed on their SkillMD profile.