今取り組んでいるプロジェクトを 1 つ選び、そこにプロジェクトスキルを追加してみましょう。
レベル1: 最初のプロジェクトスキルを作る- プロジェクトディレクトリに
.claude/skills/[skill-name]/を作る - そのプロジェクトに固有のスキルを書く(コミット形式、デプロイ手順、テスト生成など、合うもの)
- Git にコミットする
- プロジェクトの README にドキュメント化する
学習目標:
- パーソナルスキルとプロジェクトスキルの違いを理解する
- プロジェクトスキルを Git で管理する
- 共有スキルを健全に保つチームのプラクティスを実践する
- スキルのエコシステムに何があるかを把握する
前提: << レッスン5
ここまで作ってきたスキルはすべて ~/.claude/skills/ に置いてきました。これらはパーソナルスキル、つまりあなただけが使えるものです。 1
ただしチームで働く場合は、たいてい別のものが欲しくなります。
そのためにあるのが プロジェクトスキル です。 2
パーソナルスキル: 2
プロジェクトスキル:
プロジェクトに移動します:
チームのほかのメンバーは:
スキルはすぐに使えます。ほかに設定するものは何もありません。1
プロジェクトスキルが Git に入ると、Git にできることはすべてスキルにも適用できます。3
スキルのレビューは、コードのレビューと同じくらい大切です。4
新しいスキルを提出したり、既存のスキルを変更したりするときは:
PR でスキルファイルをレビューする:
実験的なスキルはフィーチャーブランチに置いておく:
スキルのドキュメント化はシンプルです。プロジェクトルートの README か .claude/README.md に一覧を書きます: 4
チーム全体で 1 つの命名規約に決めます: 3
推奨:
commit-format、api-doc-genformat-commit、review-code避けるべき:
skill-1、helper-v2tool、helper、utilityproj-skill-3四半期に一度、まとめて見直します: 3
ほとんど使われないスキルは、改善するか削除すべきです。 使われないスキルが積み上がると、Claude が本当に当てはまるスキルを見つけにくくなります。
これは重要です: 既存のスキルを変更したら、チームのチャンネルに投稿しましょう。
スキルを組み合わせるとは、複数のスキルを連鎖させて、より大きな 1 つのタスクを処理することです: 1
または、あるスキルの中から別のスキルを参照する:
ここでスキルは真価を発揮します。小さく単一目的のスキルが、より大きなワークフローへと組み合わさっていくのです。Anthropic のエンジニアリングガイドはこう表現しています。「Instead of building fragmented, custom-designed agents for each use case, anyone can now specialize their agents with composable capabilities.」(ユースケースごとに断片的でカスタム設計のエージェントを作る代わりに、誰もが組み合わせ可能な能力でエージェントを専門化できる、という意味です。) 5
これでコアとなるスキルセットは手に入りました。ここから先、探る価値のある方向をいくつか挙げます。
このコースで使ったのは name と description だけです。ほかにもあります: 6
model: このスキルを動かすモデル(より強い推論が必要なとき)allowed-tools: スキルを特定のツールに制限するdisable-model-invocation: Claude による自動読み込みを止め、手動でのみ呼び出せるようにする3 つのうち、model はモデルを選び、allowed-tools は権限の境界を引き、disable-model-invocation は自動トリガーをオフにして手動呼び出しだけを残します。
使いどころ:
disable-model-invocation で誤発火を防ぐmodel: claude-opus-4allowed-tools で触れる範囲を絞るフィールドの全リストは公式ドキュメントにあります: https://code.claude.com/docs/en/skills[^S1]
MCP(Model Context Protocol)サーバーはツールを提供し、スキルはワークフローの知識を提供します。 7
たとえば:
read_database ツールを公開する組み合わせると、スキルは Claude と外部システムをつなぐ橋になります。 7
ほかの人が作ったものを見るには:
他人のスキルを実行する前に:
~/.claude/skills/)は自分の習慣のため、プロジェクトスキル(.claude/skills/)はチームで働くためのもの 2あなたは今、次のことができます:
次にやること:
忘れないでください: 良いスキルは一度書いて終わりではなく、使われることで形づくられていきます。 3 4
さあ、何度も説明し直してきたワークフローを、実際に作り始めましょう。
Claude Code 公式ドキュメント: Extend Claude Code with skills — https://code.claude.com/docs/en/skills ↩ ↩2 ↩3
Teach Claude Code your workflow: カスタム Skills 実践ガイド — https://medium.com/@n913239/teach-claude-code-your-workflow-a-hands-on-guide-to-custom-skills-8bc35d4a11ed ↩ ↩2 ↩3
Claude Code skills: .NET ワークフローと再利用可能なプロンプト — https://codewithmukesh.com/blog/skills-claude-code/ ↩ ↩2 ↩3 ↩4
自己文書化された Runbook としての Claude skills — https://zackproser.com/blog/claude-skills-internal-training ↩ ↩2 ↩3
Anthropic エンジニアリングブログ: Equipping agents for the real world with Agent Skills — https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills ↩ ↩2
Claude Skills 徹底解説(第一原理の視点) — https://leehanchung.github.io/blogs/2025/10/26/claude-skills-deep-dive/ ↩
The complete guide to building skills for Claude(PDF) — https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf ↩ ↩2
.claude/skills/[skill-name]/ を作るPR の内容:
少なくとも 3 つの問題を挙げて、レビューを書きましょう。
cd ~/projects/my-app
# プロジェクトスキルのディレクトリを作成
mkdir -p .claude/skills/commit-format
# SKILL.md を作成
cat > .claude/skills/commit-format/SKILL.md << 'EOF'
---
name: commit-format
description: 短いコミットメッセージを、type・scope・詳細な本文を備えたチーム必須の形式に書き直す
---
# コミットメッセージのフォーマット
簡潔なコミットメッセージを、チームで合意した形式に書き直す。
## チームの規約
コミットメッセージの形式:
```
<type>(<scope>): <subject>
<body>
```
**Types:**
- feat: 新機能
- fix: バグ修正
- docs: ドキュメントの変更
- style: フォーマットのみ(挙動の変更なし)
- refactor: 再構成
- test: テスト関連
- chore: ビルドやツールの変更
**Scopes:**
- api: API レイヤー
- ui: インターフェース
- db: データベース
- auth: 認証と認可
- core: コアロジック
## 処理ステップ
1. 元のコミットテキストを読み、type と scope を決める
2. 不足している文脈(なぜ変更したか、何に影響するか)を補う
3. 必須の形式で出力する
## 出力形式
```
<type>(<scope>): <subject>
<body>
- なぜ変更したか
- どの機能やモジュールに影響するか
- 関連する issue や PR があれば
```
## 例
**入力:** 「あのログインのバグを直した」
**出力:**
```
fix(auth): ログインページのパスワード検証を修正
- 問題: パスワードに特殊文字が含まれると検証が失敗していた
- 原因: 正規表現が特殊文字をエスケープしていなかった
- 影響: パスワードに特殊文字を含むユーザーがログインできなかった
- 関連 issue: #123
```
EOF
git add .claude/skills/commit-format/
git commit -m "feat(tooling): add commit message formatting Skill"
git push
git pull
# スキルの履歴を見る
git log -- .claude/skills/commit-format/
# 以前のバージョンに戻す
git checkout abc123 -- .claude/skills/commit-format/
# 2 つのバージョンを比較する
git diff main..feature-branch -- .claude/skills/
## レビューチェックリスト
- [ ] description が「何をするか」と「いつ使うか」をカバーしている
- [ ] 指示が具体的で実行可能である
- [ ] 入力と出力の例が含まれている
- [ ] 少なくとも 3 つのケースでテストされている
- [ ] 既存のスキルと重複・衝突していない
# 実験ブランチを作成
git checkout -b experiment/ai-refactor-skill
# 実験的なスキルを追加
mkdir -p .claude/skills/ai-refactor
# ... SKILL.md を書く
# コミット
git add .claude/skills/ai-refactor/
git commit -m "experiment: add AI-assisted refactoring Skill"
# 1 週間使ってみて、価値があれば main にマージする
git checkout main
git merge experiment/ai-refactor-skill
## 利用可能な Claude スキル
### commit-format
簡潔なコミットメッセージをチームの形式に書き直す。
**使い方:** `/commit-format [元のコミットメッセージ]`
**例:**
```
/commit-format ログインのバグを直した
```
### code-review
コードの変更をチームの基準に照らしてレビューする。
**使い方:** `/code-review` を実行し、コードや diff を貼り付ける
**注記:** レビュー結果はあくまで助言であり、大きな変更にはやはり人間のレビュアーが必要
# すべてのプロジェクトスキルを一覧
ls .claude/skills/
# それぞれについて問う:
# - 直近 3 か月で何回使ったか?
# - まだチームの働き方に合っているか?
# - ほかのスキルに置き換わっていないか?
📢 スキル更新: code-review
変更点:- React Hooks ルールのチェックを追加- 関数の長さのしきい値を引き下げ(50 行 → 40 行)
影響:- これまで通っていたコードが、今は指摘されるかもしれない- 最近の PR を再レビューする価値あり
質問: @dana/commit-format ログインのバグを直した
(Claude が整形済みのコミットを返す)
/code-review
(今変更したコードを貼り付ける)## ステップ
1. commit-format スキルでコミットメッセージを整形する
2. code-review スキルでコードの変更を確認する
3. 両方の結果をまとめて PR の説明にする
---
name: helper
description: Helps process data
---
# Helper
A tool for processing data.
## Steps
1. Read the data
2. Process it
3. Output the result