
官方文檔:https://skills.sh/anthropics/claude-plugins-official/playground
什麼是 Playground Skill?
核心概念
Playground Skill 是 Anthropic 官方推出的 Claude Code 插件,它能幫助你快速創建互動式 HTML 工具。每個 Playground 都是一個自包含的 HTML 檔案,包含三大核心元素:
1 2 3 4 5 6 7 8 9 10 11
| ┌─────────────────────────────────────────────┐ │ 📊 左側:互動控制面板 │ │ 調整參數、切換選項 │ ├─────────────────────────────────────────────┤ │ 👁️ 中間:即時預覽區域 │ │ 視覺化顯示當前設定的效果 │ ├─────────────────────────────────────────────┤ │ 📝 底部:智能提示詞輸出 │ │ 自動生成可複製的自然語言指令 │ │ [Copy] 按鈕 │ └─────────────────────────────────────────────┘
|
工作流程
1
| 你調整控制面板 → 預覽即時更新 → 系統生成提示詞 → 複製提示詞 → 貼回 Claude → 執行任務
|
為什麼需要它?
傳統方式的痛點:
- ❌ 純文字描述難以精確表達視覺設計
- ❌ 需要反覆來回調整參數
- ❌ 容易產生理解誤差
Playground 的優勢:
- ✅ 視覺化探索所有選項組合
- ✅ 即時看到每個調整的效果
- ✅ 自動生成精確的自然語言指令
- ✅ 無縫整合回 Claude Code 工作流
快速開始:安裝與設定
三步驟安裝
1 2 3 4 5 6 7 8 9
| /plugin marketplace add anthropics/claude-plugins-official
/plugin install playground@claude-plugins-official
exit claude code
|
驗證安裝
安裝完成後,試試這個指令:
1
| 請建立一個設計 playground,讓我可以調整按鈕的圓角和顏色
|
如果 Claude 開始創建 HTML 檔案,就表示安裝成功!
核心概念與設計原則
使用流程
1. 用關鍵字觸發
包含這些關鍵字的請求會自動觸發 Playground:
- 「互動工具」、「playground」
- 「視覺化探索」、「調整設計」
- 「架構圖」、「關係圖」
2. Claude 自動處理
Claude 會:
- 識別最適合的模板類型
- 載入對應模板
- 生成自定義 HTML 檔案
- 自動在瀏覽器開啟
3. 互動探索
- 🎛️ 調整控制面板參數
- 👀 觀察預覽即時更新
- 📋 查看生成的提示詞
- 🔘 點擊 Copy 按鈕
4. 應用結果
將提示詞貼回 Claude Code,繼續你的工作流程。
七大設計原則
每個優質的 Playground 都應該遵循:
1. 📦 單一 HTML 檔案
1 2 3 4 5 6
| <style></style> <script></script>
<link rel="stylesheet" href="external.css">
|
原因:確保離線可用、無依賴問題。
2. ⚡ 即時預覽
1 2 3 4 5
| input.addEventListener('input', () => updateAll());
button.addEventListener('click', () => updateAll());
|
原因:即時反饋讓探索更流暢。
3. 📝 自然語言輸出
1 2 3 4 5
| "創建一個按鈕,使用 12px 圓角、藍色背景、柔和陰影"
"borderRadius: 12, color: #3b82f6, shadow: 8"
|
原因:Claude 需要自然語言才能正確理解。
4. 📋 一鍵複製
1 2 3 4 5
| copyBtn.addEventListener('click', async () => { await navigator.clipboard.writeText(prompt); copyBtn.textContent = '✓ Copied!'; setTimeout(() => copyBtn.textContent = 'Copy', 2000); });
|
5. 🎯 合理的預設值
1 2 3 4 5 6 7 8 9 10
| const DEFAULTS = { borderRadius: 8, padding: 16, color: '#3b82f6' };
const PRESETS = { minimal: { borderRadius: 4, shadow: 0 }, bold: { borderRadius: 16, shadow: 20 } };
|
原因:載入時就能看到好看的效果。
6. 🌑 深色主題
1 2 3 4 5
| body { background: #1a1a1a; color: #e0e0e0; font-family: system-ui, sans-serif; }
|
7. 🔄 集中式狀態管理
1 2 3 4 5 6
| const state = { };
function updateAll() { renderPreview(); updatePrompt(); }
|
六種模板完整介紹
模板總覽
| 模板 |
適用場景 |
觸發關鍵字 |
| 🎨 Design Playground |
UI 組件設計 |
設計工具、樣式調整 |
| 🗺️ Code Map |
專案架構視覺化 |
架構圖、組件關係 |
| 📊 Data Explorer |
數據查詢建構 |
SQL、API、查詢建構 |
| 🧭 Concept Map |
知識結構展示 |
概念地圖、學習路徑 |
| 📄 Document Critique |
文件審查 |
文件審查、評論工具 |
| 🔍 Diff Review |
程式碼審查 |
code review、diff 檢視 |
1. 🎨 Design Playground
功能:
- 組件樣式調整(按鈕、卡片、表單)
- 布局配置(間距、對齊、排列)
- 顏色系統(主題色、背景、文字)
- 字體設定(大小、粗細、行高)
使用案例:
1
| 請建立一個設計 playground,讓我可以調整卡片組件的圓角、陰影和間距
|
適合誰:UI/UX 設計師、前端工程師、產品經理
2. 🗺️ Code Map
功能:
- 組件關係圖
- 資料流向視覺化
- 系統分層結構
- 依賴關係展示
使用案例:
1
| 請用 playground 為這個專案建立互動式架構圖
|
適合誰:技術 Lead、架構師、新團隊成員
3. 📊 Data Explorer
功能:
- SQL 查詢建構器
- API 端點測試
- 資料管道視覺化
- 正則表達式測試器
使用案例:
1
| 幫我建立一個 SQL 查詢的互動工具,可以視覺化選擇表格和欄位
|
適合誰:數據分析師、後端工程師
4. 🧭 Concept Map
功能:
使用案例:
1
| 建立一個概念地圖,幫我理解這個技術的核心概念和它們之間的關係
|
適合誰:學習者、技術寫作者、教育者
5. 📄 Document Critique
功能:
- 段落級別評論
- 建議批准/拒絕流程
- 改進建議追蹤
- 版本對比
使用案例:
1
| 創建一個文件審查工具,讓我可以對每個章節添加評論
|
適合誰:技術寫作者、文檔管理員
6. 🔍 Diff Review
功能:
- Git diff 視覺化
- 逐行評論
- 提交歷史檢視
- Pull Request 審查
使用案例:
1
| 建立一個 code review playground,幫我審查 Git diff
|
適合誰:開發團隊、Code Reviewer
深度實戰:Design Playground
完整案例:設計現代按鈕組件
Phase 1:提出需求
1 2 3 4 5 6 7 8
| 請建立一個 Design Playground,幫我設計現代化的按鈕組件。
需要調整: - 圓角大小 - 顏色(Primary、Secondary、Danger) - 尺寸(Small、Medium、Large) - 陰影效果 - Hover 狀態
|
Phase 2:生成的介面結構
控制面板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 基本樣式 ├── 圓角 [0-24px] ━━━━━●━━━━━ ├── 顏色方案 │ ├── ● Primary (藍色) │ ├── ○ Secondary (灰色) │ └── ○ Danger (紅色) └── 尺寸 ├── ○ Small ├── ● Medium └── ○ Large
進階設定 ▼ ├── 陰影強度 [0-20px] ━━━●━━━━━ ├── 邊框寬度 [0-4px] ━●━━━━━━━ └── 內邊距 [8-32px] ━━━━●━━━━
預設組合 ├── [極簡風格] [標準樣式] [大膽設計]
|
預覽區域:
1 2 3 4 5 6 7 8 9
| ┌──────────────────────┐ │ │ │ [ Click Me ] │ ← 正常狀態 │ │ │ [ Click Me ] │ ← Hover 狀態(變亮) │ │ │ [ Click Me ] │ ← Active 狀態(按下) │ │ └──────────────────────┘
|
提示詞輸出:
1 2 3 4 5
| 創建一個按鈕組件,使用 12px 圓角、藍色背景(#3b82f6)、 中等尺寸(padding: 12px 24px)、柔和陰影(0 4px 8px rgba(0,0,0,0.1))。 Hover 時背景變為 #2563eb,陰影增強至 0 6px 12px。
[Copy] 按鈕
|
Phase 3:操作步驟演示
步驟 1:調整圓角
- 移動滑桿至 12px
- ✅ 預覽按鈕圓角立即更新
- ✅ 提示詞加入「12px 圓角」
步驟 2:選擇顏色
- 點擊 Primary 單選按鈕
- ✅ 按鈕變藍色
- ✅ 提示詞更新「藍色背景(#3b82f6)」
步驟 3:調整陰影
- 陰影滑桿設為 8
- ✅ 預覽顯示柔和陰影
- ✅ 提示詞描述「柔和陰影效果」
步驟 4:測試預設組合
- 點擊「大膽設計」
- ✅ 所有參數自動調整:圓角 16px、陰影 20px
- ✅ 提示詞完整更新
步驟 5:複製並應用
- 點擊 Copy
- 貼回 Claude Code
- ✅ Claude 生成完整 React/Vue 組件程式碼
Phase 4:生成的程式碼範例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import React from 'react'; import './Button.css';
interface ButtonProps { children: React.ReactNode; onClick?: () => void; variant?: 'primary' | 'secondary' | 'danger'; size?: 'small' | 'medium' | 'large'; }
export const Button: React.FC<ButtonProps> = ({ children, onClick, variant = 'primary', size = 'medium' }) => { return ( <button className={`btn btn-${variant} btn-${size}`} onClick={onClick} > {children} </button> ); };
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| .btn { border-radius: 12px; border: none; cursor: pointer; font-weight: 500; transition: all 0.2s ease; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }
.btn-primary { background: #3b82f6; color: white; }
.btn-primary:hover { background: #2563eb; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); transform: translateY(-1px); }
.btn-medium { padding: 12px 24px; font-size: 16px; }
|
實戰案例 2:電商產品卡片
需求定義
1 2 3 4 5
| 請建立 Design Playground,設計電商產品卡片: - 卡片圓角、陰影層次 - 內部間距、圖片高度 - 字體大小(標題、價格、描述) - 主題切換(日間/夜間模式)
|
預設方案對比
| 方案 |
圓角 |
陰影 |
內邊距 |
風格 |
| 極簡電商 |
8px |
柔和 |
16px |
簡潔易讀 |
| 豪華精品 |
4px |
明顯 |
24px |
高端精緻 |
| 現代時尚 |
16px |
中等 |
20px |
潮流年輕 |
生成的提示詞
1 2 3 4 5 6 7 8
| 創建產品卡片組件,採用現代時尚風格: - 16px 圓角營造柔和感 - 卡片 320px 寬,圖片 240px 高 - 內邊距 20px,元素間距 12px - 柔和陰影(0 8px 16px rgba(0,0,0,0.08)) - 標題 20px 粗體,價格 24px 醒目 - Hover 時卡片上浮 2px,陰影增強 - 底部按鈕使用品牌主色 #3b82f6
|
深度實戰:Code Map
完整案例:React 電商專案架構
Phase 1:提供專案上下文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 這是我的 React 電商專案:
src/ ├── components/ │ ├── ProductCard.tsx │ ├── ShoppingCart.tsx │ └── Checkout.tsx ├── pages/ │ ├── HomePage.tsx │ ├── ProductPage.tsx │ └── CartPage.tsx ├── services/ │ ├── api.ts │ └── auth.ts ├── store/ │ ├── cartSlice.ts │ └── userSlice.ts └── App.tsx
請用 playground 建立互動式架構圖, 顯示各層關係和資料流向。
|
Phase 2:生成的介面
控制面板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 顯示層級 ├── ☑ Pages (頁面層) ├── ☑ Components (組件層) ├── ☑ Services (服務層) └── ☑ Store (狀態層)
顯示關係 ├── ☑ 組件依賴 ├── ☑ 資料流向 ├── ☑ API 呼叫 └── ☐ Props 傳遞(細節)
視圖模式 ├── ● 分層視圖 ├── ○ 依賴關係圖 └── ○ 資料流視圖
搜尋功能 └── [搜尋組件...] 🔍
|
預覽區域:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ┌──────────────────────────────────────────┐ │ App.tsx │ │ │ │ │ ┌──────────────┼──────────────┐ │ │ │ │ │ │ │ HomePage ProductPage CartPage │ │ │ │ │ │ │ │ ┌─────┴─────┐ │ │ │ │ │ │ │ │ │ ProductCard ProductCard ShoppingCart │ │ │ │ │ │ │ │ └────────┴───────────┴────────┘ │ │ │ │ │ │ api.ts cartSlice.ts │ │ │ │ ■ Pages ■ Components ■ Services │ └──────────────────────────────────────────┘
|
Phase 3:互動功能演示
功能 1:點擊組件查看詳情
點擊 ProductCard:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| ╔════════════════════════════════╗ ║ ProductCard.tsx ║ ╠════════════════════════════════╣ ║ 使用於: ║ ║ • HomePage ║ ║ • ProductPage ║ ║ ║ ║ 依賴: ║ ║ • api.ts (獲取產品) ║ ║ • cartSlice.ts (加購物車) ║ ║ ║ ║ Props: ║ ║ • productId: string ║ ║ • showDetails: boolean ║ ║ • onAddToCart: () => void ║ ╚════════════════════════════════╝
|
功能 2:切換資料流視圖
1 2 3 4 5 6 7 8 9 10 11 12 13
| ┌────────────────────────────────┐ │ 用戶互動 │ │ ↓ │ │ Pages (路由層) │ │ ↓ │ │ Components (UI 層) │ │ ↓ │ │ Services (API 請求) │ │ ↓ │ │ Store (狀態更新) │ │ ↓ │ │ Components (重新渲染) │ └────────────────────────────────┘
|
功能 3:搜尋與聚焦
搜尋 cart:
1 2 3 4 5 6
| 結果高亮: ✓ ShoppingCart.tsx (黃色高亮) ✓ CartPage.tsx (黃色高亮) ✓ cartSlice.ts (黃色高亮) ✓ 相關連線變為紅色 ✓ 其他組件半透明化
|
Phase 4:生成的提示詞
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| 這個 React 電商專案採用四層架構:
1. 頁面層(Pages): - HomePage、ProductPage、CartPage - 負責路由和頁面佈局
2. 組件層(Components): - ProductCard(HomePage 和 ProductPage 共用) - ShoppingCart、Checkout(CartPage 使用)
3. 服務層(Services): - api.ts:處理 HTTP 請求 - auth.ts:管理認證 - 被 Pages 和 Components 呼叫
4. 狀態層(Store): - cartSlice.ts:購物車狀態 - userSlice.ts:用戶狀態 - 使用 Redux Toolkit
關鍵資料流: 用戶點擊 ProductCard → 觸發 cartSlice.addToCart → ShoppingCart 自動更新 → Checkout 讀取資料結帳
建議: - Checkout 可拆分為更小的子組件 - 為 services 添加錯誤處理中間件
|
實戰案例 2:微服務架構
系統描述
1 2 3 4 5 6 7 8
| 我們有以下微服務: - API Gateway(入口) - User Service、Product Service - Order Service、Payment Service - Notification Service
透過 RabbitMQ 進行非同步通訊。 請建立互動式架構圖。
|
特殊功能:時間軸動畫
控制面板:
1 2 3 4 5 6 7 8
| 場景模擬 ├── [下訂單流程] ├── [用戶註冊流程] └── [支付完成流程]
時間軸 ├── [▶️ 播放] [⏸️ 暫停] [🔄 重置] └── 速度:[1x] [2x] [4x]
|
動畫演示(下訂單流程):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Step 1: Client → API Gateway [POST /api/orders]
Step 2: API Gateway → Order Service [創建訂單]
Step 3: Order Service → Product Service [檢查庫存]
Step 4: Order Service → Payment Service [處理支付]
Step 5: Payment Service → RabbitMQ [發送 payment.completed 事件]
Step 6: RabbitMQ → Order Service [更新訂單狀態]
Step 7: RabbitMQ → Notification Service [發送確認郵件]
|
進階技巧與最佳實踐
Design Playground 進階技巧
技巧 1:響應式設計預覽
1 2
| 請在 Design Playground 中加入響應式預覽, 讓我看到手機、平板、桌面三種尺寸下的效果
|
生成的介面會包含:
1
| [📱 Mobile] [📱 Tablet] [💻 Desktop]
|
技巧 2:動畫時間軸
1 2
| 請加入動畫展示,讓我看到 hover、focus、active 狀態的轉場效果,並可以調整動畫速度
|
技巧 3:直接匯出程式碼
1 2
| 請在 Playground 底部加入「匯出 CSS」和「匯出 Tailwind」 按鈕,讓我直接取得對應程式碼
|
技巧 4:A/B 測試對比
1 2
| 請建立雙欄預覽,讓我可以同時看兩種設計方案, 方便比較和選擇
|
Code Map 進階技巧
技巧 1:效能熱點分析
1 2
| 請在 Code Map 中加入效能熱點標示, 用顏色深淺表示組件的渲染頻率
|
視覺效果:
1 2 3
| 🔴 熱點(高頻渲染) 🟡 中等 🟢 冷點(低頻)
|
技巧 2:版本對比
1 2
| 請建立可以對比兩個版本架構差異的 Code Map, 顯示重構前後的變化
|
技巧 3:自動生成文檔
1 2
| 請加入「生成架構文檔」按鈕, 自動將視覺化架構轉為 Markdown 文檔
|
技巧 4:整合專案統計
1 2 3 4 5
| 在 Code Map 中顯示每個模組的統計: - 程式碼行數 - 複雜度評分 - 測試覆蓋率 - 最後修改時間
|
提示詞生成最佳實踐
原則 1:只提及非預設值
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function updatePrompt() { const parts = []; if (state.borderRadius !== DEFAULTS.borderRadius) { parts.push(`圓角 ${state.borderRadius}px`); } if (parts.length > 0) { return `更新卡片使用${parts.join('、')}`; } else { return '使用預設樣式的卡片'; } }
|
原則 2:使用定性描述
1 2 3 4 5 6
| if (state.shadowBlur > 16) { parts.push('明顯的陰影'); } else if (state.shadowBlur > 0) { parts.push('微妙的陰影'); }
|
原則 3:提供足夠上下文
1 2 3 4 5 6
| "8px、藍色、16px"
"創建按鈕組件,使用 8px 圓角、藍色背景(#3b82f6)、 16px 內邊距。整體風格應該簡約內斂。"
|
常見錯誤與解決方案
錯誤 1:控制項過多
問題:介面雜亂,使用者不知從何開始
解決:
1 2 3 4 5 6 7 8 9 10 11
| <div class="controls"> <section> <h3>基本樣式</h3> </section> <details> <summary>進階選項 ▼</summary> </details> </div>
|
錯誤 2:預覽不即時更新
問題:調整滑桿,畫面沒反應
解決:
1 2 3 4 5 6 7
| slider.addEventListener('input', (e) => { state.value = e.target.value; updateAll(); });
|
錯誤 3:沒有預設值
問題:頁面載入時是空白的
解決:
1 2 3 4 5 6 7 8 9 10 11
| const DEFAULTS = { borderRadius: 8, shadowBlur: 8, padding: 16 };
window.addEventListener('DOMContentLoaded', () => { Object.assign(state, DEFAULTS); updateAll(); });
|
總結與資源
核心價值
Playground Skill 的三大價值:
🎨 視覺化探索
- 將抽象概念轉為可互動介面
- 降低溝通成本,提高精確度
⚡ 即時反饋
🔄 無縫整合
- 自動生成自然語言指令
- 輕鬆整合回 Claude Code 工作流
使用時機
記住這三個關鍵場景:
| 場景 |
使用模板 |
範例 |
| 🎨 視覺設計 |
Design Playground |
難以用文字描述 UI 外觀時 |
| 📊 複雜配置 |
Data Explorer |
選項組合太多需要視覺化探索 |
| 🗺️ 系統理解 |
Code Map |
需要互動式理解專案架構 |
快速開始指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 請建立一個設計 playground,幫我調整按鈕的樣式
請用 playground 為這個專案建立互動式架構圖
幫我建立一個 SQL 查詢的視覺化工具
建立概念地圖,幫我理解這個技術的核心概念
創建文件審查工具,讓我可以添加評論
建立 code review playground,幫我審查 Git diff
|
延伸資源
下一步行動
- ✅ 立即安裝 Playground Skill
- 🎨 試試 Design Playground 設計一個按鈕
- 🗺️ 用 Code Map 視覺化你的專案架構
- 💡 探索其他四種模板的可能性
- 🚀 將 Playground 整合進你的日常工作流
記住:Playground 不只是工具,更是你和 Claude 之間精確溝通的橋樑。
當你下次需要設計 UI、理解架構、建構查詢時,別忘了說:
「請建立一個 playground 工具…」
你會發現工作效率大幅提升!✨