agents/skills/simple-html-artifact/SKILL.md
Build or refine single-file information-first HTML artifacts, especially index.html or text.html pages, with strong information hierarchy, restrained styling, accessible semantics, and minimal AI-generated frontend tells. Use when creating static HTML reports, research pages, explainers, briefs, dashboards, note indexes, or simple front ends whose goal is comprehension rather than marketing conversion.
npx skillsauth add jxnl/dots simple-html-artifactInstall 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.
Use this for static, single-page HTML artifacts that explain, compare, summarize, or organize information. Default to one browser-openable index.html or text.html file with Tailwind CDN. Add JavaScript only for filtering, sorting, copying, disclosure, or keyboard-safe interaction.
Optimize for comprehension, orientation, retrieval, and trust, not conversion. The first viewport must show real information, not only hero copy.
Default priorities:
Avoid:
Before styling, decide:
Subject:
Audience/context:
Reader job:
Posture:
Primary surface:
Type direction:
Color direction:
Deviation reason, if any:
Carry forward explicit user preferences: information-first pages, no generic AI aesthetics, no line-heavy civic layouts, Tailwind by default, and bg-white by default.
If editing an existing artifact, inspect it first and preserve its copy, IA, density, tokens, and primitives unless they are the defect.
Use web search only when the subject is broad, current, culturally specific, or visually ambiguous. Look for comparable information artifacts, not marketing pages. Extract design logic: type role, density, color relationship, diagram language, label style, and the surface that carries the information.
Choose a posture that constrains taste, such as editorial guide, field guide, research brief, technical reference, museum label, workshop handout, or operating checklist. No posture usually means generic SaaS or government-document drift.
Start with the reader job:
Default order: title and purpose, useful metadata, concrete key points, one primary surface, supporting sections by reader need, caveats/method/sources near the relevant claims or near the end.
For one-pagers, compose one artifact rather than reusable app sections. Add sticky nav, rails, or repeated section chrome only when page length requires navigation.
Use a digestibility ladder:
Headers must be one-column by default: eyebrow, H1, one-sentence purpose, then optional compact rule/metadata below in the same flow. Do not use a header grid/flex split, summary card, metric strip, or side panel beside the H1 unless the user provides a real paired relationship.
Do not default to tables, matrices, dashboards, or two columns. Pick by reader action:
Use tables only when rows share attributes and column scanning beats prose. Use two columns only for paired relationships: overview/detail, map/list, before/after, controls/results, image/annotation, or claim/evidence. Use SVG only when it explains, locates, compares, encodes scale, or gives subject-specific identity.
After the primary surface, choose 1-2 different retrieval shapes. Do not turn every section into another table, card grid, or equal-width column set.
Keep the layout as narrow as the content allows: prose usually fits max-w-3xl to max-w-4xl; wide surfaces can use max-w-5xl to max-w-6xl. Keep prose around 65-80 characters per line. Use stable dimensions for fixed grids, charts, and controls.
Use type, alignment, whitespace, tint, and composition before borders. Leave some modules unboxed. If most sections need lines, the hierarchy is flat.
Default to bg-white. Use off-white, tinted, dark, or textured backgrounds only for user preference, brand/source palette, subject motif, print requirement, or hierarchy. Use Tailwind stock colors: dark text, muted text, light line, one accent scale, at most one supporting tint. Every added hue needs a job: category, sequence, status, warning, selected state, or cited subject cue. If the hue can be swapped without changing comprehension, remove it.
Choose type by posture. Keep four roles at most: display, section heading, body, caption/label. Pair fonts by role contrast, not novelty. If loading external fonts, use at most two families and font-display: swap; otherwise use system serif, sans, and mono intentionally.
Avoid policy-manual drift: no more than one typographic layer uses letterspacing or all-caps labels; borders should separate different information types, not decorate every box.
Set length by job: summaries use 3-5 concrete claims; table cells stay compact; diagram labels explain position or relationship; prose keeps one idea per paragraph; caveats and sources stay near claims they change.
If a section is too long, convert prose into labels, rows, scales, captions, or do/avoid pairs. If too thin, add an example, comparison, caveat, definition, or decision rule. Do not add generic overview paragraphs to make the page feel complete.
For quick-reference artifacts, design around the reader's next decision, not complete coverage. Use 4-6 major sections and one to two desktop screens. After the primary surface, add at most two supporting sections: one explanation/shortcut surface and one caveat/template/check surface. If it grows longer, cut examples, definitions, and source prose before adding navigation.
Mark assumptions, dates, freshness, scope, confidence, sources, and placeholder data when they affect interpretation. Keep source/freshness notes compact: a strip, caption, or short footer unless the user asks for a source section. Do not turn safety-sensitive topics into compliance reports. Do not invent metrics, ratings, examples, or benchmarks to fill a layout. Charts/SVGs need units, labels or legend, and a takeaway caption.
Use Tailwind CDN: <script src="https://cdn.tailwindcss.com"></script>. Use Tailwind classes for layout/color/type/spacing/states. Use <style> only for print styles, details Tailwind cannot express cleanly, or fully offline artifacts. Do not add build tooling, frameworks, npm installs, or generic helper classes unless repetition justifies them.
Avoid template tells: rounded-2xl shadow-xl bg-white p-6, purple-blue gradients, frosted panels, large icon badges, boxed nav chips, and repeated horizontal rules. border, divide-*, and ring-* should separate different information types or interactive states. Arbitrary colors need a reason.
Before finishing:
tools
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).
development
Use when Codex needs to write, rewrite, critique, or reply on Twitter/X in Jason Liu's personal voice. Trigger for requests like "tweet like me", "write this in my style", "make this sound like Jason", "draft a reply", or when Jason asks for Twitter copy about Codex, product building, feedback, launches, quote-tweets, or operator/value takes.
development
Codex-specific, session-driven self-improvement for Codex behavior and project instructions. Use when the user asks to inspect past Codex sessions, run a "dream" pass over prior interactions, mine repeated user corrections/preferences, improve or draft skills, update repo/project `AGENTS.md` guidance, or propose durable edits to global `~/.codex/AGENTS.md`.
tools
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.