html-artifacts
Skill11k starsChanged 16 days agoMITView on GitHub
Author the HTML for a plan artifact, dashboard iframe, or Slack attachment — structure, design plan, available runtime, theming, and craft. Read this before writing HTML for publish_artifact, output_iframe, or slack_attach_html.
12 other projects use a version of this.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- 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
- dogum/html-artifactstheir own version, first seen Sep 14, 2026
Who's talking about langchain-ai/open-swe
- LangChain“Introducing Open SWE: An Open-Source Asynchronous Coding Agent”YouTube · Aug 6, 2025 · 30k views
- WorldofAI“Open-SWE: Opensource Jules! FULLY FREE Async AI Coder IS INSANELY GOOD!”YouTube · Aug 12, 2025 · 8.5k views
- Codedigipt“Open SWE : Open Source Asynchronous Coding Agent (Auto-Code+Review+PR) | CURSOR Alternative Free”YouTube · Aug 7, 2025 · 2.2k views
- Gourcer“langchain-ai/open-swe - Gource visualisation”YouTube · Mar 19, 2026 · 798 views
- TechWealth Hub“Open SWE Setup Explained: LangChain's Issue to PR Coding Agent”YouTube · Apr 29, 2026 · 390 views
The biggest 5 of 75 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 75
Talked about on GitHub, YouTube, Bluesky, Hacker News and the web (75 times).
On GitHub · 50
- Sep 4, 2025Support for go mod operations against private repositories — copilot-coding-agent/user-feedback5 reactions · 2 comments
- Oct 20, 2026fix(langchain): avoid full-state copies in parallel tool tasks — langchain-ai/langchainjs1 reaction · 1 comment
- Oct 18, 2026fix: confine repository chat writes to wiki docs — langchain-ai/openwiki1 reaction · 1 comment
- Mar 21, 2026feat: Support plugin system in opencli — jackwener/OpenCLI1 reaction · 1 comment
- Mar 19, 2026chore(vendor): add open-swe submodule — pleaseai/agent-please1 reaction · 3 comments
45 more on GitHub
- Mar 18, 2026Implement all development tasks required by ADR for SWE agent integration — abuxton/pheromone1 reaction
- Mar 18, 2026review SWE as ADR for integration — abuxton/pheromone1 reaction
- Oct 12, 2025Integrate open swe — wafflestudio/retrochat1 reaction
- Nov 6, 2026agent-skills.github.langchain-ai.open-swe: c2d9d42 → fa9d147 — sudosubin/agents.nix0 reactions
- Nov 5, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-11-04 → 0-unstable-2026-11-05 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.langchain-ai.open-swe: 0.3.12-unstable-2026-11-04 → 0-unstable-2026-11-04 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.langchain-ai.open-swe: 0.3.12-unstable-2026-11-03 → 0.3.12-unstable-2026-11-04 — sudosubin/agents.nix0 reactions
- Nov 4, 2026agent-skills.github.langchain-ai.open-swe: b59ac4f → 59bdb78 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-skills.github.langchain-ai.open-swe: 0.3.11-unstable-2026-11-03 → 0.3.12-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 3, 2026agent-skills.github.langchain-ai.open-swe: 0.3.11-unstable-2026-11-02 → 0.3.11-unstable-2026-11-03 — sudosubin/agents.nix0 reactions
- Nov 2, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-11-02 → 0.3.11-unstable-2026-11-02 — sudosubin/agents.nix0 reactions
- Nov 2, 2026agent-skills.github.langchain-ai.open-swe: 6f10c9f → 80877db — sudosubin/agents.nix0 reactions
- Nov 2, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-11-01 → 0-unstable-2026-11-02 — sudosubin/agents.nix0 reactions
- Nov 1, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-31 → 0-unstable-2026-11-01 — sudosubin/agents.nix0 reactions
- Oct 31, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-30 → 0-unstable-2026-10-31 — sudosubin/agents.nix0 reactions
- Oct 30, 2026agent-skills.github.langchain-ai.open-swe: 6fb4fab → 1f88969 — sudosubin/agents.nix0 reactions
- Oct 30, 2026agent-skills.github.langchain-ai.open-swe: 638cb5e → 6fb4fab — sudosubin/agents.nix0 reactions
- Oct 30, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-29 → 0-unstable-2026-10-30 — sudosubin/agents.nix0 reactions
- Oct 30, 2026agent-skills.github.langchain-ai.open-swe: 1e55aeb → 93b4ffb — sudosubin/agents.nix0 reactions
- Oct 29, 2026agent-skills.github.langchain-ai.open-swe: e0df828 → 1e55aeb — sudosubin/agents.nix0 reactions
- Oct 29, 2026agent-skills.github.langchain-ai.open-swe: 965f28c → e0df828 — sudosubin/agents.nix0 reactions
- Oct 29, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-28 → 0-unstable-2026-10-29 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-skills.github.langchain-ai.open-swe: 0.3.10-unstable-2026-10-28 → 0-unstable-2026-10-28 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-skills.github.langchain-ai.open-swe: 0.3.10-unstable-2026-10-27 → 0.3.10-unstable-2026-10-28 — sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-27 → 0.3.10-unstable-2026-10-27 — sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-26 → 0-unstable-2026-10-27 — sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.langchain-ai.open-swe: 918a104 → 6511cff — sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-skills.github.langchain-ai.open-swe: 0.3.9-unstable-2026-10-26 → 0-unstable-2026-10-26 — sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-skills.github.langchain-ai.open-swe: 0.3.9-unstable-2026-10-25 → 0.3.9-unstable-2026-10-26 — sudosubin/agents.nix0 reactions
- Oct 25, 2026agent-skills.github.langchain-ai.open-swe: b508b13 → a37f08a — sudosubin/agents.nix0 reactions
- Oct 25, 2026agent-skills.github.langchain-ai.open-swe: 0.3.9-unstable-2026-10-24 → 0.3.9-unstable-2026-10-25 — sudosubin/agents.nix0 reactions
- Oct 24, 2026agent-skills.github.langchain-ai.open-swe: 4cac1c9 → 398e681 — sudosubin/agents.nix0 reactions
- Oct 24, 2026agent-skills.github.langchain-ai.open-swe: 0.3.9-unstable-2026-10-23 → 0.3.9-unstable-2026-10-24 — sudosubin/agents.nix0 reactions
- Oct 23, 2026agent-skills.github.langchain-ai.open-swe: 891eed6 → dcb41ea — sudosubin/agents.nix0 reactions
- Oct 23, 2026agent-skills.github.langchain-ai.open-swe: c21ca49 → 891eed6 — sudosubin/agents.nix0 reactions
- Oct 23, 2026agent-skills.github.langchain-ai.open-swe: 0.3.9-unstable-2026-10-22 → 0.3.9-unstable-2026-10-23 — sudosubin/agents.nix0 reactions
- Oct 23, 2026agent-skills.github.langchain-ai.open-swe: 99fc415 → b2eef1a — sudosubin/agents.nix0 reactions
- Oct 22, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-22 → 0.3.9-unstable-2026-10-22 — sudosubin/agents.nix0 reactions
- Oct 22, 2026agent-skills.github.langchain-ai.open-swe: 5d85a52 → 99fc415 — sudosubin/agents.nix0 reactions
- Oct 22, 2026agent-skills.github.langchain-ai.open-swe: 794eaa7 → 5d85a52 — sudosubin/agents.nix0 reactions
- Oct 22, 2026agent-skills.github.langchain-ai.open-swe: 0-unstable-2026-10-21 → 0-unstable-2026-10-22 — sudosubin/agents.nix0 reactions
- Oct 21, 2026agent-skills.github.langchain-ai.open-swe: 584e8e2 → 3656d24 — sudosubin/agents.nix0 reactions
- Oct 21, 2026agent-skills.github.langchain-ai.open-swe: f2c51f7 → 584e8e2 — sudosubin/agents.nix0 reactions
- Oct 21, 2026agent-skills.github.langchain-ai.open-swe: 0.3.8-unstable-2026-10-20 → 0-unstable-2026-10-21 — sudosubin/agents.nix0 reactions
- Oct 21, 2026agent-skills.github.langchain-ai.open-swe: 5a72aff → bebbbe6 — sudosubin/agents.nix0 reactions
On YouTube · 9
- Aug 6, 2025Introducing Open SWE: An Open-Source Asynchronous Coding Agent — LangChain30k views · 76 comments
- Aug 12, 2025Open-SWE: Opensource Jules! FULLY FREE Async AI Coder IS INSANELY GOOD! — WorldofAI8.5k views · 14 comments
- Aug 7, 2025Open SWE : Open Source Asynchronous Coding Agent (Auto-Code+Review+PR) | CURSOR Alternative Free — Codedigipt2.2k views · 1 comment
- Mar 19, 2026langchain-ai/open-swe - Gource visualisation — Gourcer798 views · 1 comment
- Apr 29, 2026Open SWE Setup Explained: LangChain's Issue to PR Coding Agent — TechWealth Hub390 views
4 more on YouTube
- Oct 16, 2026Open SWE GitHub Explained: Async Coding Agents, Sandboxes, and Review Loops — Alex Hitt259 views
- Aug 20, 2025Open SWE GitHub App Permissions Walkthrough — Brace Sproul157 views
- Aug 10, 2026Open-SWE Architecture: Multi-Graph Agent Harness — Latent AI99 views
- Sep 1, 2026Open-SWE Architecture: Multi-Graph Agent Harness (Audio Deep Dive) — Latent AI30 views
On Bluesky · 9
- Mar 21, 2026I stumbled upon this excellent GitHub project about building safe, automated coding agents for internal tools - with sandboxing,… — @alexiskirke.bsky.social6 likes and reposts · 3 replies
- Mar 19, 2026Stripe, Coinbase, and Ramp all built internal coding agents independently and converged on the same architecture, LangChain packaged those… — @ai-nerd.bsky.social3 likes and reposts
- Mar 19, 2026🚀 Skyrocketing! 🚀 (200+ new stars) 📦 langchain-ai / open-swe ⭐ 5,813 (+454) 🗒 Python An Open-Source Asynchronous Coding Agent — @github-trending.bsky.social3 likes and reposts · 1 reply
- Mar 20, 2026https://github.com/langchain-ai/open-swe — @tom-doerr.bsky.social2 likes and reposts
- Mar 21, 2026Anybody played with open-swe yet ? github.com/langchain-ai... — @0xmeow.bsky.social1 likes and repost
4 more on Bluesky
- Mar 20, 2026今日のGitHubトレンド langchain-ai/open-swe 組織内のコーディングエージェントを構築するためのオープンソースフレームワークです。 SlackbotやCLIなど、社内システムと連携し、安全な環境で自動的にPR作成を行うエージェントを構築できます。… — @dailygithubtrends.bsky.social1 likes and repost
- Mar 18, 2026今日のGitHubトレンド langchain-ai/open-swe 組織内のコーディングエージェントを構築するためのオープンソースフレームワークです。 SlackbotやCLIなど、社内システムと連携し、安全な環境で自動的にPR作成を行うエージェントを構築できます。… — @dailygithubtrends.bsky.social1 likes and repost
- Aug 11, 2025GitHub CopilotはAIがコードを提案してくれるツールらしい。コーディングのスピードアップに役立つかもしれない。 yug1224 starred langchain-ai/open-swe https://github.com/langchain-ai/open-swe — @yug1224.com1 likes and repost
- Aug 11, 2025ほう。LangChainから。 — @matsuu.bsky.social1 likes and repost
On Hacker News · 4
- Aug 6, 2025An Open-Source Asynchronous Coding Agent5 points
- Aug 7, 2025OpenSWE: Open Source Devin alternative2 points
- Mar 18, 2026OpenSWE1 point
- May 29, 2025Open SWE is an open-source cloud based coding agent1 point
On the web · 3
- Oct 29, 2026langchain-ai/open-swe · 10.5K Stars · GitHub 趋势 — open-repo.com
- Sep 22, 2026An Open-Source Asynchronous Coding Agent - NsN — namns.i234.me
- Aug 11, 2025Langchain Ai Open Swe | MAGI//ARCHIVE — tom-doerr.github.io
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- dogum/html-artifacts★ 147same name
- joshuadavidthomas/agent-skills★ 49same name
- fabiandistler/agents★ 2same name
- liush2yuxjtu/html-artifacts★ 2same name
- SNIKO/agent-skills★ 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 repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- openswe/database/migrations/AGENTS.mdAGENTS.md
- openswe/middleware/AGENTS.mdAGENTS.md
- openswe/sandboxes/AGENTS.mdAGENTS.md
- openswe/sandbox_scripts/AGENTS.mdAGENTS.md
- openswe/tools/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- writing-pr-body-title-descriptionSkill
- connectSkill
- threadSkill
- dashboard-previewSkill
- local-gh-devSkill
- baby-sitSkill
- linear-ticketsSkill
- web-appsSkill
- workspacesSkill
- baby-sitSkill
- html-artifactsSkill
- linear-ticketsSkill
- web-appsSkill
- workspacesSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 4 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Write the page content directly.
- Very specific: line 11
When you omit <html>, <head>, and <body>, the tool wraps your content in that skeleton with a minimal CSS reset.
- Very specific: line 12
Write a <title> yourself — a specific 2–4 word name for this page, not a summary or a category label.
- Very specific: line 38
Default user-facing HTML to the viewer's system light/dark preference using prefers-color-scheme.
- Distinctive: line 57
Only a user-requested single-theme artifact may omit both dark layers, and every background and foreground must still be explicit.
- Very specific: line 62
Keep running text near 65 characters, set a type scale and stay on it, give headings text-wrap: balance, uppercase labels a touch of …
- Very specific: line 67
Keep keyboard focus visible, honor prefers-reduced-motion, close every non-void element, and watch selector specificity: classes that …
- Distinctive: line 69
When the artifact is a tool or dashboard rather than a document, the craft shifts to information design.
- Distinctive: line 77
Avoid generic AI defaults: cream/terracotta serif pages, black with one neon accent, purple-blue gradient heroes, broadsheet hairlines over …
- Distinctive: line 83
Write copy as design material: active voice, from the reader's side of the screen, specific over clever.
“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
HTML artifacts
publish_artifact, output_iframe, and slack_attach_html all publish a self-contained HTML artifact, and one contract covers all three.
Write the page content directly.
When you omit <html>, <head>, and <body>, the tool wraps your content in that skeleton with a minimal CSS reset.
Write a <title> yourself — a specific 2–4 word name for this page, not a summary or a category label.
A Slack attachment is opened as a standalone file, so include the full skeleton there.
Design plan first
Sketch a compact plan before writing HTML, then follow it:
- Color: 4–6 named hex values grounded in the subject, including deliberately tinted neutrals. A pure mid-grey reads as unconsidered; a grey biased toward the accent reads as chosen.
- Type: at least a display and a body role, plus a utility/data face when useful. Google Fonts may be linked directly; every face needs a real fallback stack.
- Layout: the layout concept in one or two sentences. A plan or memo is polished and utilitarian — most pages need no oversized landing-page hero.
Derive every color and type decision in the page from that plan.
Runtime
Inline CSS and JavaScript, Canvas, WebGL, and inline SVG all run — prefer Canvas or WebGL over hand-authored SVG path data for generative graphics. Google Fonts stylesheets are the only permitted external resource; inline or data-URI every other asset.
Assume no network at runtime: no CDN scripts, fetch, or XHR.
The viewer frames have an opaque origin, so localStorage, sessionStorage, and cookies throw on access — wrap any use in try/catch and render correctly with no stored value.
Theming
Default user-facing HTML to the viewer's system light/dark preference using prefers-color-scheme; provide both palettes unless the user explicitly requests a single theme.
Honor an explicit viewer theme supplied by the dashboard over the system preference.
The dashboard stamps data-theme="light" or data-theme="dark" on <html>, so :root[data-theme="dark"] is the authoritative dark layer and must be complete on its own.
:root { /* the full light palette, as tokens */ }
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) { /* redefine only the tokens */ }
}
:root[data-theme="dark"] { /* redefine them again — this layer wins */ }Declare color-scheme in each layer too (light on :root, dark in both dark layers) so scrollbars, form controls, and UA defaults follow the artifact instead of staying light under a dark palette.
The dashboard seeds it from the viewer's theme; your own declaration wins.
The media-query layer covers surfaces that stamp nothing, such as a downloaded file or a Slack attachment.
Paint body with an explicit token background and style components only through tokens: a color whose only definition sits inside a media or [data-theme] block is the classic unreadable-artifact bug.
Give the second theme the same care as the first — don't naively invert; keep contrast legible and the accent working on both grounds.
Only a user-requested single-theme artifact may omit both dark layers, and every background and foreground must still be explicit.
Craft
Semantic structure and real content, never lorem.
Keep running text near 65 characters, set a type scale and stay on it, give headings text-wrap: balance, uppercase labels a touch of letter-spacing, and columns of digits font-variant-numeric: tabular-nums.
Space sibling groups with flex or grid gap rather than per-element margins that collapse or double.
Wide content — tables, code, diagrams — gets its own overflow-x: auto container so the body never scrolls sideways.
Keep keyboard focus visible, honor prefers-reduced-motion, close every non-void element, and watch selector specificity: classes that cancel each other out silently undo your spacing.
When the artifact is a tool or dashboard rather than a document, the craft shifts to information design. Surface the summary before the detail and encode state in form as well as number — a pill, a chip, a severity stripe — so what needs attention reads at a glance. Semantic color (good / warning / critical) is separate from the accent hue and does not count as your accent.
Point of view
Ground visual choices in the task's subject and audience, and honor any design system already in the repo (AGENTS.md, a tokens or theme file, existing component styles) over your own choices.
Avoid generic AI defaults: cream/terracotta serif pages, black with one neon accent, purple-blue gradient heroes, broadsheet hairlines over dense columns, centered-everything layouts, ubiquitous rounded cards, decorative numbering, emoji section markers, and defaulting to Inter or Space Grotesk. Where the user names a visual direction, follow it exactly — including when they ask for one of these.
Structural devices — numbering, eyebrows, dividers, labels — must encode something true about the content. Numbered markers belong on a real sequence, not on an unordered list of points.
Write copy as design material: active voice, from the reader's side of the screen, specific over clever. A control says exactly what happens; an error says what went wrong and how to fix it.
For an editorial request — something the user will keep or share — review the design plan for choices you would produce for any similar page, revise at least one of them, spend boldness in one place, and keep everything around it quiet.
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.

