Skip to content
Agent Orchestration
Skill

/playground

Creates interactive HTML playgrounds — self-contained single-file explorers that let users configure something visually through controls, see a live preview, and copy out a prompt. Use when the user asks to make a playground, explorer, or interactive tool for a topic.

BOOST
From plugin
aigc
20029 skills15 agents19 commands10 MCP
Install
$ npx -y skills add xiaoyuge886/aigc --skill playground --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/playground

Context preview

The summary Claude sees to decide when to auto-load this skill.

Creates interactive HTML playgrounds — self-contained single-file explorers that let users configure something visually through controls, see a live preview, and copy out a prompt. Use when the user asks to make a playground, explorer, or interactive tool for a topic.

SKILL.md

playground.SKILL.md
name: playground
description: Creates interactive HTML playgrounds — self-contained single-file explorers that let users configure something visually through controls, see a live preview, and copy out a prompt. Use when the user asks to make a playground, explorer, or interactive tool for a topic.

Playground Builder

A playground is a self-contained HTML file with interactive controls on one side, a live preview on the other, and a prompt output at the bottom with a copy button. The user adjusts controls, explores visually, then copies the generated prompt back into Claude.

When to use this skill

When the user asks for an interactive playground, explorer, or visual tool for a topic — especially when the input space is large, visual, or structural and hard to express as plain text.

How to use this skill

1. **Identify the playground type** from the user's request 2. **Load the matching template** from `templates/`:

  • `templates/design-playground.md` — Visual design decisions (components, layouts, spacing, color, typography)
  • `templates/data-explorer.md` — Data and query building (SQL, APIs, pipelines, regex)
  • `templates/concept-map.md` — Learning and exploration (concept maps, knowledge gaps, scope mapping)
  • `templates/document-critique.md` — Document review (suggestions with approve/reject/comment workflow)
  • `templates/diff-review.md` — Code review (git diffs, commits, PRs with line-by-line commenting)
  • `templates/code-map.md` — Codebase architecture (component relationships, data flow, layer diagrams)

3. **Follow the template** to build the playground. If the topic doesn't fit any template cleanly, use the one closest and adapt. 4. **Open in browser.** After writing the HTML file, run `open <filename>.html` to launch it in the user's default browser.

Core requirements (every playground)

  • **Single HTML file.** Inline all CSS and JS. No external dependencies.
  • **Live preview.** Updates instantly on every control change. No "Apply" button.
  • **Prompt output.** Natural language, not a value dump. Only mentions non-default choices. Includes enough context to act on without seeing the playground. Updates live.
  • **Copy button.** Clipboard copy with brief "Copied!" feedback.
  • **Sensible defaults + presets.** Looks good on first load. Include 3-5 named presets that snap all controls to a cohesive combination.
  • **Dark theme.** System font for UI, monospace for code/values. Minimal chrome.

State management pattern

Keep a single state object. Every control writes to it, every render reads from it.

const state = { /* all configurable values */ };

function updateAll() {
  renderPreview(); // update the visual
  updatePrompt();  // rebuild the prompt text
}
// Every control calls updateAll() on change

Prompt output pattern

function updatePrompt() {
  const parts = [];

  // Only mention non-default values
  if (state.borderRadius !== DEFAULTS.borderRadius) {
    parts.push(`border-radius of ${state.borderRadius}px`);
  }

  // Use qualitative language alongside numbers
  if (state.shadowBlur > 16) parts.push('a pronounced shadow');
  else if (state.shadowBlur > 0) parts.push('a subtle shadow');

  prompt.textContent = `Update the card to use ${parts.join(', ')}.`;
}

Common mistakes to avoid

  • Prompt output is just a value dump → write it as a natural instruction
  • Too many controls at once → group by concern, hide advanced in a collapsible section
  • Preview doesn't update instantly → every control change must trigger immediate re-render
  • No defaults or presets → starts empty or broken on load
  • External dependencies → if CDN is down, playground is dead
  • Prompt lacks context → include enough that it's actionable without the playground
Read more
Ships withaigc

基于 Claude AI 的智能对话与任务执行平台,支持自定义技能生态和场景化 AI 解决方案

Get the whole plugin

Other skills on aigc.

echarts_chart
Skill

echarts_chart

ECharts数据可视化专家,能够根据数据和分析需求生成专业的ECharts图表配置。适用于:数据可视化、图表生成、数据展示、趋势分析图表、对比图表、分布图表、饼图、柱状图、折线图、散点图、雷达图、热力图、仪表盘、漏斗图、树形图、关系图、桑基图、数据报表图表、…

meta_agent
Skill

meta_agent

综合智能代理系统,整合任务分析、规划和ReAct执行循环能力。当用户需要处理复杂任务、多步骤工作流或需要自主决策和反思的任务时使用。