html-artifacts
Skill2 starsChanged 6 months agoMITView on GitHub
Create or revise polished, standalone HTML documents for direct human reading. Use for technical documents, proposals, reports, specifications, guides, and review artifacts when the user wants a clear, attractive HTML deliverable.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- langchain-ai/open-swetheir own version, first seen Nov 8, 2026
- fabiandistler/agentstheir own version, first seen Nov 1, 2026
- Astatide1337/Skillstheir own version, first seen Oct 20, 2026
- fernandoxavier02/html-artifactstheir own version, first seen Oct 13, 2026
- PeteChu/skillstheir own version, first seen Oct 11, 2026
- liush2yuxjtu/html-artifactstheir own version, first seen Sep 21, 2026
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- langchain-ai/open-swe★ 11ksame name
- dogum/html-artifacts★ 147same name
- joshuadavidthomas/agent-skills★ 49same name
- fabiandistler/agents★ 2same name
- liush2yuxjtu/html-artifacts★ 2same name
- Astatide1337/Skills★ 1same name
- dovydaskarbutovskis20-art/html-artifacts★ 1same name
- fernandoxavier02/html-artifacts★ 1same name
- Jiliac/skills★ 1same name
- PeteChu/skills★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- gitSkill
- handoff-sessionSkill
- prompt-writerSkill
- swe-executeSkill
- swe-planSkill
- swe-researchSkill
- swe-reviewSkill
- swe-shapeSkill
- swe-specSkill
- swe-worktreeSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. 0 are common, 13 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Read the requested source material and any directly linked local assets.
- Distinctive: line 15
Ask only when a missing choice materially changes content, audience, or output location.
- Distinctive: line 17
Start from the template and write a complete semantic HTML document.
- Distinctive: line 20
When revising, preserve content that remains valid, apply the requested change, and update the displayed date only when the document itself …
- Very specific: line 24
Use semantic HTML: header, main, section, headings in order, nav only for real navigation, figure/figcaption, table, pre/code, and aside …
- Distinctive: line 25
Use the template's calm, neutral technical-document style: restrained color, generous whitespace, clear hierarchy, readable line lengths, …
- Very specific: line 27
Keep content width comfortable for reading.
- Distinctive: line 28
Use cards only to group distinct, short items.
- Very specific: line 29
Use relative links for local files and assets.
- Very specific: line 36
Prefer an inline SVG for a true diagram: include a title/desc, readable labels, visible arrow direction, high contrast, and a responsive …
- Distinctive: line 38
Do not depend on Mermaid, a CDN, JavaScript, or another runtime renderer.
- Very specific: line 46
Keep the visible step number inside <summary> rather than relying on list-marker numbering, since removing the native disclosure triangle …
- Very specific: line 51
Put executable or copyable code in pre > code.
- Very specific: line 52
Use the template's CSS token classes (tok-keyword, tok-string, tok-comment, tok-number, tok-type, tok-function, tok-property, …
- Very specific: line 58
Use a pre.diff block for a compact patch.
- Very specific: line 59
Use ins and del or the template's diff classes so additions and removals remain distinguishable without color.
- Distinctive: line 60
Do not present a diff as an exhaustive implementation claim unless the source explicitly establishes that it is complete.
- Distinctive: line 76
Add a relationship diagram only when it improves on the cards and relationships table.
- Distinctive: line 80
Use a table for comparisons, inventories, contracts, structured facts, or repeated records.
- Distinctive: line 83
Keep cells concise. Move long explanation or code to nearby prose, callouts, or code blocks.
- Distinctive: line 89
Do not redesign a source artifact's content contract while rendering it.
- Distinctive: line 90
Keep changes focused on the requested document and do not edit unrelated documents or assets.
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Purpose
Create a static, human-readable HTML document from the material the user provides or authorizes. Use html.template.html as the visual and structural starting point. The default deliverable opens directly from disk: embed CSS, use system fonts, and require no server, build step, JavaScript, or external network resource.
This skill is document-type neutral. It presents supplied content clearly; it does not prescribe a software workflow, a canonical source format, or a particular artifact type.
Workflow
- Read the requested source material and any directly linked local assets. Identify the audience, document purpose, required sections, output path, and whether an existing source is authoritative.
- Ask only when a missing choice materially changes content, audience, or output location. If the supplied material is incomplete, label gaps or use placeholders rather than inventing facts, commitments, data, or decisions.
- Choose a scannable hierarchy suited to the content: a concise header and summary, then logical sections. Use visual structure to improve comprehension rather than mechanically reproducing source formatting.
- Start from the template and write a complete semantic HTML document. Include only elements that serve the document; remove unused template examples and placeholders.
- Apply the element guidance below whenever the document contains that content.
- Open the local file when practical and check it at desktop and narrow viewport widths. Confirm links and local assets resolve, text is legible, and the page has no horizontal overflow outside intentionally scrollable code, diagrams, or tables.
- When revising, preserve content that remains valid, apply the requested change, and update the displayed date only when the document itself says it was updated.
Document design
- Use semantic HTML:
header,main,section, headings in order,navonly for real navigation,figure/figcaption,table,pre/code, andasidefor supplementary notes. - Use the template's calm, neutral technical-document style: restrained color, generous whitespace, clear hierarchy, readable line lengths, and accessible contrast. Do not apply an organization or product brand unless requested.
- Give the document a useful
<title>, a single clear<h1>, and a short summary when the source supports one. - Keep content width comfortable for reading. Use
minmax(0, ...)for grid tracks. Long paths, identifiers, URLs, and code must wrap or scroll inside their own container rather than overflowing the page. - Use cards only to group distinct, short items. Prefer normal sections for narrative. Use callouts for decisions, assumptions, warnings, risks, or blockers; do not rely on color alone.
- Use relative links for local files and assets. Give meaningful
alttext to informative images. Do not add forms, hidden content, fabricated status, analytics, editing controls, or decorative illustrations unless requested.
Standard elements
Diagrams
- Include a diagram only when it makes relationships, flow, ownership, or sequence clearer than concise prose or a table.
- Prefer an inline SVG for a true diagram: include a
title/desc, readable labels, visible arrow direction, high contrast, and a responsiveviewBox. Keep it understandable without color alone. - For simple flows, use a labelled text-flow block when it is clearer and less brittle than SVG.
- Do not depend on Mermaid, a CDN, JavaScript, or another runtime renderer. Do not paste unrendered Mermaid source as the only diagram.
- Caption the diagram with what it shows and preserve any important source qualification. Keep oversized diagrams in a labelled, locally scrollable frame rather than letting them overflow the page.
Logic and procedure explanations
- Use a numbered, disclosure-based list for a fixed, multi-step algorithm, pipeline, or lookup/decision procedure — especially past four or five steps, or when steps mix ordered actions with guardrails, branches, or exclusions. Use an ordinary numbered list instead when there are only a few steps or nothing worth hiding.
- Build each step as a native
<details>element: a numbered<summary>giving the step's short outcome, and the full explanation inside. This needs no JavaScript — disclosure is native HTML behavior — and the sequence still reads correctly as a flat list if CSS fails to load. - Open the step a first-time reader needs by default (usually step 1, or the happy path); leave the rest collapsed so the whole procedure stays scannable at a glance before the reader opens anything.
- Keep the visible step number inside
<summary>rather than relying on list-marker numbering, since removing the native disclosure triangle also removes any list-style marker. - Pull cross-cutting guarantees, edge cases, and failure or atomicity behavior out of the step list into
callouts placed after it, rather than repeating them inside every step.
Code and syntax highlighting
- Put executable or copyable code in
pre > code; set a language class such aslanguage-ts,language-sql, orlanguage-jsonwhen known. - Use the template's CSS token classes (
tok-keyword,tok-string,tok-comment,tok-number,tok-type,tok-function,tok-property,tok-punctuation) for lightweight static highlighting. Escape HTML characters and retain indentation exactly. - Highlight only when it improves scanning. Do not add a JavaScript syntax-highlighting library or external stylesheet.
- Label the language and, when helpful, the file path or command context adjacent to the code block. Keep code blocks horizontally scrollable.
Diffs
- Use a
pre.diffblock for a compact patch. Prefix added lines with+, removed lines with-, and unchanged context with a space; use@@for hunk headers when applicable. - Use
insanddelor the template's diff classes so additions and removals remain distinguishable without color. Preserve surrounding context needed to interpret the change. - Do not present a diff as an exhaustive implementation claim unless the source explicitly establishes that it is complete.
File structure
- Present a repository or directory layout as a labelled tree with a clearly named root. When no path has a per-file change status to show, use a
pre.file-treemonospace block. When the tree must show which files were added, changed, or removed, use a nested tree of folder and file rows instead: bold folder names read as structure, regular-weight file names read as content, so the two don't compete for attention. - Give each file's status a semantic tag plus color, not color alone: render an added file's name as
ins, a removed file's name asdel(native underline/strikethrough), and a changed file's name in italics; pair each with a consistent status color (for example added green, changed amber, removed red). Do not add a status letter/badge or a per-folder change-count summary — the file name's own styling is the status indicator. - Give a changed, added, or removed file a short one-line reason for the change in a de-emphasized note beside its name, not a line-count delta. Leave an unchanged file's row without a note when it is shown only for structural context.
- Include only material files and directories. Annotate entries briefly only when their role is not apparent from the name.
- Distinguish proposed, changed, and existing paths in nearby prose when a per-file status tree is not used; do not imply a path exists when it is only illustrative or planned.
Database schema
- Present each table or entity as its own card: a header with the table name and a one-line purpose, then a compact column table (column, type, nullability, key) inside it. Use one card per table instead of one long table per entity whenever there is more than one entity, so a reader can scan table boundaries at a glance.
- Mark primary keys, foreign keys, and unique constraints with a small badge in the card's Key column rather than prose. State cardinality, delete/update behavior, indexes, and migration qualification in nearby text or the relationships table below when known. Mark unspecified details as unspecified rather than guessing.
- Color-code the Type column by category (string, number, boolean, date/time, UUID, JSON, or similar) so a reader can spot a column's kind without reading every cell. Keep the same category-to-color mapping consistent across every table card in the document.
- List cross-table relationships (foreign key → referenced key, and cardinality) in one relationships table below the cards rather than repeating them inside every card.
- Add a relationship diagram only when it improves on the cards and relationships table. Keep logical models distinct from physical database details.
Tables
- Use a table for comparisons, inventories, contracts, structured facts, or repeated records; use lists for short, simple sequences.
- Give every table a caption or nearby heading that describes its purpose. Use
thead,tbody, andth scopecorrectly. - Wrap wide tables in
.table-wrap; givetablea sensiblemin-widthso cells remain readable. Do not compress wide information until it is illegible. - Keep cells concise. Move long explanation or code to nearby prose, callouts, or code blocks.
Constraints
- Preserve source truth. Do not introduce facts, requirements, APIs, schema details, file paths, dates, metrics, or decisions that the supplied material does not support.
- Produce valid, complete HTML with embedded CSS by default. Use external assets, scripts, or frameworks only when the user explicitly requests them.
- Do not redesign a source artifact's content contract while rendering it. If the user designates a source as authoritative, update that source first when asked to change substance, then regenerate the HTML.
- Keep changes focused on the requested document and do not edit unrelated documents or assets.
Completion criteria
The requested HTML document exists at the requested path, opens directly from disk without dependencies by default, accurately represents its source material, uses applicable standard elements correctly, and is legible and scan-friendly at desktop and narrow widths.
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.

