/ ディレクトリ / プレイグラウンド / woodshed
● コミュニティ gaearon ⚡ 即起動

woodshed

作者 gaearon · gaearon/woodshed

Create, run, rate, and iterate your Claude Skills — Dan Abramov's skill-workshop skill, a meta-loop for getting skills actually good.

A meta-skill for authoring other skills. Scaffolds a new skill, runs it on test cases, asks you to rate the output, and uses the feedback to iterate on the skill's prompts. Based on Dan Abramov's 'woodshedding' methodology — deliberate practice applied to skill authoring.

なぜ使うのか

主な機能

ライブデモ

実際の動作

woodshed-skill.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "woodshed-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gaearon/woodshed",
        "~/.claude/skills/woodshed"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "woodshed-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gaearon/woodshed",
        "~/.claude/skills/woodshed"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "woodshed-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gaearon/woodshed",
        "~/.claude/skills/woodshed"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "woodshed-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gaearon/woodshed",
        "~/.claude/skills/woodshed"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "woodshed-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/gaearon/woodshed",
        "~/.claude/skills/woodshed"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "woodshed-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/gaearon/woodshed",
          "~/.claude/skills/woodshed"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add woodshed-skill -- git clone https://github.com/gaearon/woodshed ~/.claude/skills/woodshed

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: woodshed

Author a new skill and iterate it to 'actually works'

👤 Skill authors who've noticed their first drafts don't survive real use ⏱ ~120 min advanced

使うタイミング: You have an idea for a skill but every time you write one, it degrades after 3 uses.

前提条件
  • Skill installed — git clone https://github.com/gaearon/woodshed ~/.claude/skills/woodshed
フロー
  1. Scaffold
    Use woodshed. Create a new skill called 'changelog-writer' that turns git logs into user-facing changelogs.✓ コピーしました
    → skills/changelog-writer/ created with SKILL.md
  2. Create test cases
    Generate 5 diverse test inputs.✓ コピーしました
    → tests/ folder with 5 sample git log fixtures
  3. Run and rate
    Run the skill on each. Show me the output; I'll rate.✓ コピーしました
    → Outputs presented with rating slots
  4. Iterate based on ratings
    Based on my ratings, suggest prompt changes to SKILL.md. Don't apply yet.✓ コピーしました
    → Proposed diff with rationale per change

結果: A skill that works on your real use cases, not just the demo.

注意点
  • Overfitting to test cases — Hold out some tests; re-run after every iteration to catch regressions
組み合わせ: filesystem

Improve a skill that's been disappointing you

👤 Anyone with a skill installed they're unhappy with ⏱ ~60 min intermediate

使うタイミング: You have a skill that half-works and you can't tell why.

フロー
  1. Characterize the failures
    Use woodshed. Here's a skill I installed. Here are 3 sessions where it underperformed. Diagnose.✓ コピーしました
    → Pattern in failures — instruction gap, example gap, framing issue
  2. Propose fixes
    Propose minimal SKILL.md edits to address those patterns.✓ コピーしました
    → Specific diffs

結果: A skill you can trust.

組み合わせ

他のMCPと組み合わせて10倍の力を

woodshed-skill + skill-fetch-skill

Find skills with skill-fetch, improve them with woodshed

Find a changelog-writer skill; install; run woodshed on it to tune for my repo.✓ コピーしました
woodshed-skill + filesystem

Persist iteration history across sessions

Keep woodshed logs in skills/<name>/.woodshed/ for traceability.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
scaffold_skill skill name, goal New skill 0
run_tests skill + test set Evaluating 0
capture_rating rating + notes After each test 0
iterate_prompt skill + ratings After a rating round 0

コストと制限

運用コスト

APIクォータ
None
呼び出しあたりのトークン
High during iteration (many test runs)
金額
Free (Claude API usage applies)
ヒント
Keep test sets small — 5 tests beats 50 that never get reviewed.

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: None
データ送信先: None from skill

トラブルシューティング

よくあるエラーと対処法

Iteration keeps changing but doesn't improve

Your test set is too narrow; add diverse cases

Skill works in woodshed but not in real use

Production prompts differ from test fixtures; add real-session logs to the test set

代替案

woodshed 他との比較

代替案代わりに使う場面トレードオフ
Hand-tuning SKILL.md without loopSimple skills with obvious promptsSlower convergence; easier to miss regressions
claude-skills-vault-skillYou want ready-made skills, not authoring toolsDifferent goal

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る