Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Web Artifacts Builder

ASecurity

Build elaborate, multi-component claude.ai HTML artifacts with modern frontend tech (React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui) bundled into a single self-contained HTML file. Use for complex artifacts needing state management, routing, multiple views, or shadcn/ui components - NOT for simple single-file HTML/JSX snippets. Triggers (EN): "build a web artifact", "react artifact", "multi-component artifact", "shadcn artifact", "interactive dashboard artifact", "complex claude.ai artif...

2 stars
0 votes
0 copies
0 views
Added 10/2/2026
ai-agentsjavascripttypescriptjavabashreactnodetestingfrontend

Works with

cli

Security Analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned 10/2/2026

$npx -y skills add agentik-os/claude-code-skills --skill web-artifacts-builder --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Web Artifacts Builder?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Web Artifacts Builder
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/agentik-os-web-artifacts-builder/badge)](https://www.skillsdirectory.com/skills/agentik-os-web-artifacts-builder)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: web-artifacts-builder
description: Build elaborate, multi-component claude.ai HTML artifacts with modern frontend tech (React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui) bundled into a single self-contained HTML file. Use for complex artifacts needing state management, routing, multiple views, or shadcn/ui components - NOT for simple single-file HTML/JSX snippets. Triggers (EN): "build a web artifact", "react artifact", "multi-component artifact", "shadcn artifact", "interactive dashboard artifact", "complex claude.ai artifact". Triggers (FR): "construis un artifact web", "artifact react", "artifact multi-composants", "artifact shadcn", "dashboard interactif en artifact", "artifact complexe".
license: Complete terms in LICENSE.txt
---

# Web Artifacts Builder

To build powerful frontend claude.ai artifacts, follow these steps:
1. Initialize the frontend repo using `scripts/init-artifact.sh`
2. Develop your artifact by editing the generated code
3. Bundle all code into a single HTML file using `scripts/bundle-artifact.sh`
4. Display artifact to user
5. (Optional) Test the artifact

**Stack**: React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui

## Single-voice craft (do NOT parallelize)

Building one artifact is ONE coherent build held by ONE design voice — do not fan out to parallel sub-agents. Splitting the UI across agents fractures the visual language (spacing rhythm, color system, typography, component anatomy) and produces a Frankenstein artifact. Keep state design, layout, and styling decisions in a single head from init → bundle. (If you also need an independent *design critique*, run it as a separate pass AFTER the artifact exists — never as a concurrent builder.)

Craft upgrades:
- **Design a system before components.** Pick one type scale, one spacing unit (e.g. 4px), one accent color, and one corner-radius value up front, then apply them everywhere. Avoid AI-slop tells: no centered-everything, no purple gradients, no uniform pill corners, no default Inter.
- **State & routing first, polish second.** Map the views and the shared state shape (single store or lifted props) before styling. A clean data flow prevents the rework that bloats artifacts.
- **Worked example — a multi-view dashboard:** `bash scripts/init-artifact.sh sales-dashboard` → build `Sidebar` + `<Tabs>` (Overview / Revenue / Customers) with shadcn `Card`, `Table`, `Badge`, sharing one `useState` selected-range filter → `bash scripts/bundle-artifact.sh` → open `bundle.html` and click each tab to confirm state persists → share `bundle.html`.

## Output contract & verification

- **Produces:** a single self-contained `bundle.html` (all JS/CSS/deps inlined) in the project root, plus the editable source project. The ONLY artifact you hand the user is `bundle.html`.
- **Verify before sharing (required):**
  1. `bash scripts/bundle-artifact.sh` exits 0 with no Parcel build errors.
  2. `bundle.html` exists, is non-empty, and contains inlined JS (`grep -c '<script' bundle.html` ≥ 1) — no external `src=`/`href=` to local files.
  3. Open `bundle.html` (Playwright/Puppeteer if testing) and confirm it renders without a blank screen and the browser console is clean of app errors.
- **Evidence / no-hallucination:** Only claim a feature works after observing it in the bundled `bundle.html` — not from the source code (Law L1: runtime is the only truth). Do NOT invent shadcn/ui component names or props; confirm them against https://ui.shadcn.com/docs/components. If a component isn't in the pre-installed set, add it explicitly rather than assuming it exists.

## Design & Style Guidelines

VERY IMPORTANT: To avoid what is often referred to as "AI slop", avoid using excessive centered layouts, purple gradients, uniform rounded corners, and Inter font.

## Quick Start

### Step 1: Initialize Project

Run the initialization script to create a new React project:
```bash
bash scripts/init-artifact.sh <project-name>
cd <project-name>
```

This creates a fully configured project with:
- ✅ React + TypeScript (via Vite)
- ✅ Tailwind CSS 3.4.1 with shadcn/ui theming system
- ✅ Path aliases (`@/`) configured
- ✅ 40+ shadcn/ui components pre-installed
- ✅ All Radix UI dependencies included
- ✅ Parcel configured for bundling (via .parcelrc)
- ✅ Node 18+ compatibility (auto-detects and pins Vite version)

### Step 2: Develop Your Artifact

To build the artifact, edit the generated files. See **Common Development Tasks** below for guidance.

### Step 3: Bundle to Single HTML File

To bundle the React app into a single HTML artifact:
```bash
bash scripts/bundle-artifact.sh
```

This creates `bundle.html` - a self-contained artifact with all JavaScript, CSS, and dependencies inlined. This file can be directly shared in Claude conversations as an artifact.

**Requirements**: Your project must have an `index.html` in the root directory.

**What the script does**:
- Installs bundling dependencies (parcel, @parcel/config-default, parcel-resolver-tspaths, html-inline)
- Creates `.parcelrc` config with path alias support
- Builds with Parcel (no source maps)
- Inlines all assets into single HTML using html-inline

### Step 4: Share Artifact with User

Finally, share the bundled HTML file in conversation with the user so they can view it as an artifact.

### Step 5: Testing/Visualizing the Artifact (Optional)

Note: This is a completely optional step. Only perform if necessary or requested.

To test/visualize the artifact, use available tools (including other Skills or built-in tools like Playwright or Puppeteer). In general, avoid testing the artifact upfront as it adds latency between the request and when the finished artifact can be seen. Test later, after presenting the artifact, if requested or if issues arise.

## Reference

- **shadcn/ui components**: https://ui.shadcn.com/docs/components

Attribution

agentik-osagentik-os
View sourceSee grades on GitHubMore from agentik-os →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →