この記事は playpark Blog からの転載です。
この記事で分かること
- Claude Code Skillsをなぜこの構造で設計するのか
- 3つの設計原則(再利用性・構成可能性・宣言的定義)の意図
- どういう場面でSkillsを採用すべきか
背景: こういう課題があった
「Claude Code、便利だけど...毎回同じ指示を打つのが面倒」
Issue分析して、コード書いて、テスト通して、コミットメッセージ考えて、PR作成して...。この一連の流れを何十回も繰り返していました。
同じ指示を何度も打ち込んで、気づけば日が暮れている。
選択肢の検討
繰り返し作業の自動化にはいくつかのアプローチがあります。
| アプローチ | メリット | デメリット |
|---|---|---|
| シェルスクリプト | シンプル、既存知識で対応可 | AIとの連携が難しい |
| カスタムプロンプト | Claude連携可能 | 再利用・共有が難しい |
| Skills機能 | 再利用可能、スクリプト連携、スラッシュコマンド化 | 学習コストあり |
なぜSkillsでこう設計するのか
原則1: 再利用性(Reusability)
意図: 同じ作業を二度書かない。一度定義したスキルは単体でも組み合わせでも使える。
git-commitは単体で/git-commitとして使えますが、dev-kickoffの一部としても呼び出されます。粒度を問わず再利用可能なのがポイントです。
原則2: 構成可能性(Composability)
意図: 小さなスキルを組み合わせて大きなワークフローを構築する。
dev-flowはdev-kickoffとpr-iterateという2つのオーケストレーターを呼び出します。さらにdev-kickoffは6つの小さなスキルを順番に実行します。
原則3: 宣言的定義(Declarative)
意図: 「何をするか」を宣言し、「どうやるか」はClaudeに任せる。
## Workflow
1. `Skill: dev-kickoff` で開発フェーズを実行
2. `Skill: pr-iterate` でLGTM取得まで改善ループ
これだけで意図が伝わり、細かいことはClaudeが考えてくれます。
構造の意図
skill-name/
├── SKILL.md # スキル定義(必須)
├── scripts/ # 実行スクリプト
├── references/ # 参照ドキュメント
└── assets/ # アセット
| ディレクトリ | なぜ必要か |
|---|---|
SKILL.md |
ワークフローを自然言語で宣言、Claudeが解釈 |
scripts/ |
前処理・後処理の自動化、出力をClaudeに渡す |
references/ |
規約やテンプレートの蓄積、一貫した出力を保証 |
実装例
---
name: git-commit
description: |
Intelligent git commit with automatic change analysis.
Use when: committing changes, creating commit messages.
user-invocable: true
---
# Git Commit
## Workflow
1. Run `scripts/analyze-changes.sh` to get staged changes
2. Generate Conventional Commits format message
3. Execute commit
まとめ: どういう場面で使うべきか
- 繰り返しの頻度が高い: 週に数回以上同じ指示を打つ
- 複数ステップが必要: 3ステップ以上の連続作業
- チームで共有したい: 規約やテンプレートを統一したい
まずは小さな繰り返し作業から始めてみてください。
さらに深掘りしたい方へ
この記事ではClaude Code Skillsの設計原則を解説しました。
【Claude Code】Skillsの設計思想と自作ガイド - 開発ワークフローを再利用可能にする ではさらに:
- dev-flow/dev-kickoff/pr-iterateの詳細なワークフロー図解
- 状態管理の実装例(
.claude/kickoff.json) - skill-creatorを使った自然言語でのスキル生成方法
playpark について
playpark LLC - 業務自動化・AI活用・Web開発