About html-playground
HTML Playground Builder is a skill for creating self-contained interactive HTML explorers with controls, a live preview, and copyable natural-language prompts. It also supports evidence-based debrief reports saved as interactive HTML.
Key features
- 01Builds HTML with inline CSS and JavaScript
- 02Provides controls and live preview
- 03Generates copyable natural-language prompts
- 04Supports interactive evidence-based debriefs
- 05Verifies controls and browser rendering
Use cases
- 01Exploring design choices with presets
- 02Generating a prompt from selected options
- 03Reviewing data or a concept interactively
- 04Saving findings as an HTML debrief
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ paulrberg/ agent-skills --skill html-playgroundAfter installing, type/html-playgroundin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlscripts/prepare-debrief.shtemplates/code-map.mdconcept-map.mddata-explorer.mddesign-playground.mddiff-review.mddocument-critique.mdDetails
From the project READMEHTML Playground Builder
Build a self-contained interactive HTML explorer with controls, live preview, and a copyable natural-language prompt.
Use debrief mode when the user asks for a debrief or a saved HTML findings/report from the current task, or invokes
debrief [<slug>]. Otherwise, build a general playground.
Workflow
- Infer the audience, decisions, and required states. Explicit requirements override the defaults below. Existing design systems override them, except the layout and theme defaults.
- Read exactly one closest template and adapt it:
templates/design-playground.mdtemplates/data-explorer.mdtemplates/concept-map.mdtemplates/document-critique.mdtemplates/diff-review.mdtemplates/code-map.md
- Write one HTML file with inline CSS and JavaScript and no external runtime dependencies.
- Open it in a desktop browser, interact with every control and preset, and verify live preview, prompt output, copy feedback, empty/error states, and keyboard usability. Fix rendered defects before completion.
Debrief Mode
Persist current-task evidence as an interactive HTML report at ./.ai/debriefs/<slug>/index.html.
- Derive a short topical kebab-case slug when omitted.
- Write only inside the selected debrief directory. If an inferred slug already exists, choose a collision-free semantic qualifier, falling back to a timestamp suffix, and continue without overwriting. If the user explicitly supplied the slug, stop and ask whether to overwrite or choose a new slug.
- Use only evidence present in the current task: real findings, paths, verified locations, metrics, decisions, and unresolved risks. Do not invent filler.
Before step 1, run the bundled preparer from the target repository:
bash <skill-dir>/scripts/prepare-debrief.sh <slug>
Use its DEBRIEFS_DIR, DEBRIEF_PATH, and EXISTS output. When EXISTS is true for an inferred slug, derive a unique
slug and rerun the preparer before writing. When it is true for an explicit slug, request the choice defined above.
Relay slug-validation errors and stop.
Then follow the workflow. Write to DEBRIEF_PATH. Use a template matched to the evidence and an evidence view alongside
the controls and presets. Before completion, also verify that every claim traces to the task transcript or tool evidence
and that the output contains no placeholders. Then run open "$DEBRIEF_PATH".
Opinionated Defaults
Use these layout and theme defaults unless the user specifies otherwise. Product context does not override them:
- a desktop-browser layout. Do not implement or inspect responsive/mobile behavior.
- one polished theme that matches the system appearance: light when the system uses light mode, dark otherwise. Do not
add a second theme, a theme toggle, or a
prefers-color-schemevariant. On macOS,defaults read -g AppleInterfaceStyleprintsDarkin dark mode and fails in light mode.
Use these other defaults when product context does not indicate otherwise:
- controls beside a live preview, with prompt output below.
- system UI font, monospace code/values, minimal chrome.
- sensible non-empty initial state and 3–5 cohesive named presets.
- one state object, one update path, and immediate preview/prompt refresh.
- controls grouped by concern, with advanced controls collapsed.
- prompt text that explains the desired outcome in natural language and mentions only non-default choices.
Invariants
- No Apply button: relevant changes render immediately.
- The prompt is actionable without seeing the playground and is not a raw state dump.
- Copy has visible transient feedback and a usable fallback when the Clipboard API fails.
- Standardize copy microcopy as
Copy prompt, thenCopied. On failure, showCopy failed — select the prompt below. - Presets update controls, preview, and prompt consistently.
- Do not add controls that do not affect either the preview or the generated prompt.
Completion
Completion requires the self-contained file and rendered, interactive inspection evidence. Keep generated prompts free of decorative icons unless the requested content needs them.
- Playground: finish with
### ✨ Playground ready, the linked artifact, and a compact artifact/controls/desktop-browser/copy-fallback table. - Debrief: also require evidence-grounded content at the selected path and collision handling that never silently
overwrites. Finish with
### 📊 Debrief ready — <title>, the clickable absolute path,Opened in desktop browser, and one compact line naming the evidence view and presets. Keep preparerKEY=VALUEoutput, paths, and slug errors exact and undecorated.