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.
- License 许可
- MIT
- 最近更新
- 2026-04-09
- Stars
- ★ 245
- Forks
- 15
01 前言 Front Matter
- 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.
02 资源文件 14
- 参考文档references/campaign-doc-field-naming.md3.5 KB
- 参考文档references/pc-silent-prompt-diagnosis.md7.3 KB
- 参考文档references/personal-scale-challenge-pattern.md14.1 KB
- 参考文档references/prompt-fix-effectiveness-verification.md11.5 KB
- 参考文档references/story-doc-schema.md6.2 KB
- 参考文档references/visenya-v9-raw-text-analyzer.md8.5 KB
- 脚本scripts/per_scene_dialog_audit.py11.5 KB
- 脚本scripts/test_user_named_campaign_lookup.py5.9 KB
- 参考文档templates/code-map.md6.1 KB
- 参考文档templates/concept-map.md3.6 KB
- 参考文档templates/data-explorer.md2.8 KB
- 参考文档templates/design-playground.md2.7 KB
- 参考文档templates/diff-review.md5.6 KB
- 参考文档templates/document-critique.md5.0 KB
03 SKILL.md 正文
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
- Identify the playground type from the user's request
- 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)
- Follow the template to build the playground. If the topic doesn't fit any template cleanly, use the one closest and adapt.
- Open in browser. After writing the HTML file, run
open <filename>.htmlto 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
04 同仓库更多 Skills
test
Run TTS round-trip tests — pure-logic unit tests and optional integration tests against live TTS/STT services.
speak
Speak text aloud using the Magpie TTS container in the realtime-api Docker stack. Zero external dependencies — just curl + aplay.
deploy
Build and deploy the realtime-api Docker container with full verification that deployed code matches local source.
memory
Unified memory management for notes, knowledge graph, RAG search, and file analysis. Use when working with: (1) Core memory — protected identity, projects, relationships, and system facts that should never be forgotten, (2) Working notes — per-session ephemeral notes organized by section, (3) MongoDB RAG — vector-search-enabled notes with importance scoring, decay, deduplication, and archival, (4) Neo4j knowledge graph — entities, relationships, merge duplicates, reinforce mentions, Cypher queries, (5) File analysis — deep file reading that extracts knowledge into all memory layers, (6) Service initialization — health-check, start/stop MongoDB, Neo4j, TEI embeddings via docker-compose with partial setup support.
coding
Enhanced coding assistance
memory
Unified memory management for notes, knowledge graph, RAG search, and file analysis. Use when working with: (1) Core memory — protected identity, projects, relationships, and system facts that should never be forgotten, (2) Working notes — per-session ephemeral notes organized by section, (3) MongoDB RAG — vector-search-enabled notes with importance scoring, decay, deduplication, and archival, (4) Neo4j knowledge graph — entities, relationships, merge duplicates, reinforce mentions, Cypher queries, (5) File analysis — deep file reading that extracts knowledge into all memory layers, (6) Service initialization — health-check, start/stop MongoDB, Neo4j, TEI embeddings via docker-compose with partial setup support.