Skills 実践 — 配置と評価
ディレクトリ・テンプレ・移行。
テンプレートと配置
サンプル: AGENTS.md(Cursor / Codex 共有入口)
長くしない。Cursor の詳細は .cursor/rules/、Codex の手順は .agents/skills/ へ。Claude は CLAUDE.md を別途。
# AI Agent Instructions
## 必読(毎セッション)
- .cursor/rules/00-project.mdc # プロジェクト共通
- .cursor/rules/10-domain-rules.mdc # 業務制約。違反厳禁
- .cursor/rules/60-ai-workflow.mdc # docs / Obsidian history / git
## ビルド・検証
- 開発: make up
- テスト: make test
## 出力先
- チーム公式: docs/(要件・設計・ADR)
- 作業ログ: Obsidian 03_Operations/history/YYYY-MM/
- Plan: tasks/todo.md
## 手順(Skills)
- PR 前: .cursor/skills/pr-review/SKILL.md
- 設計 doc: .claude/skills/phase3-design-doc/SKILL.md
サンプル: Rules(.cursor/rules/*.mdc)
00-project.mdc — 毎セッション(alwaysApply: true)。参照順(tasks/todo.md → docs → 既存実装)と禁止事項(仕様の複製・推測断定の禁止)を定める。
コピー用全文: 00-project.mdc サンプル
10-domain-rules.mdc — 業務制約(プロジェクト固有の事実のみ):
---
description: ドメイン不変条件。全実装で参照。
alwaysApply: true
---
# ドメインルール
## 不変条件
- 注文金額は 0 より大きい
- 在庫数量は 0 以上(物理削除禁止)
## 副作用
- 注文確定時は通知ジョブを必ず enqueue(再実行可)
## 用語
- 顧客 → customer / 注文 → order
20-coding-style.mdc — 言語別(globs で TS/React に限定。Server Component をデフォルトにし、新規 API は既存ラッパに合わせる)。
コピー用全文: 20-coding-style.mdc サンプル
git-safety.mdc — 危険操作ガード(クイックスタートでも参照)。git の add/commit/push/merge/rebase や docker exec(本番相当)は許可なしに実行しない。完了報告前に検証結果を示す。
コピー用全文: git-safety.mdc サンプル
Skills の置き場(Cursor 2.4+ / Agent Skills 標準)
Cursor は起動時に次から SKILL.md を再帰検出する(公式 Skills · agentskills.io)。チーム共有はリポジトリの .agents/skills/ か .cursor/skills/ のどちらかに統一すると、Cursor / Codex / Copilot 系と資産を共有しやすい(Qiita 比較)。
| スコープ | パス |
|---|---|
| プロジェクト | .agents/skills/ · .cursor/skills/(互換: .claude/skills/ · .codex/skills/) |
| グローバル | ~/.agents/skills/ · ~/.cursor/skills/ |
| モノレポ | apps/web/.cursor/skills/ 等 — そのディレクトリ配下のファイルを触るときだけ表示(入れ子スコープ) |
Background / Cloud Agent — いつ使うか
| 状況 | ローカル Agent | Background / Cloud |
|---|---|---|
| IDE で diff を見ながら実装 | ◎ | △(結果を後から取り込む) |
| 調査・テスト・lint の長いループ | △(会話が肥大化) | ◎ |
| 秘密情報・社内 VPN 必須 | ◎ | ポリシー確認必須 |
| 並列に 3 件以上の独立タスク | worktree + 複数ウィンドウ | ◎(キュー管理) |
正本手順: エージェント運用 — マルチエージェント · 公式: Cloud Agent · エージェント BP。
評価と移行
Skills description — should-trigger テスト例
description を書いたら、次の 10 クエリで「発火すべき / すべきでない」を 3 回ずつ試す(フロントマター)。
| 種別 | 例(pr-review Skill) |
|---|---|
| should-trigger | 「PR 出す前にセルフチェックして」「レビュー観点を整理して」「lint と test を通してから merge」 |
| should-not-trigger | 「この関数の名前を変えて」「README の誤字修正」「DB マイグレーションの SQL だけ書いて」 |
過少トリガー → description を具体化。過剰トリガー → paths や disable-model-invocation を検討。
Plugins / Marketplace(2026)
Cursor は Rules · Skills · Commands · MCP · Subagents をプラグインとして Marketplace からインストールできる(Cursor Docs · 2026 製品更新)。Claude Code の Plugins(Hooks→Skills→Plugins→MCP の積み上げ)と同趣旨。
| ツール | 拡張の入口 | チーム共有 |
|---|---|---|
| Cursor | Settings → Plugins / Marketplace · .cursor/ に展開 | リポにコミット + ドキュメント化 |
| Claude Code | Plugins ディレクトリ · engineering スキル | CLAUDE.md に 1 行リンク |
| Codex | Skills plugin · MCP | AGENTS.md + .agents/skills/ |
導入前: 権限(MCP・shell)・秘密情報・alwaysApply との重複を確認。本リポは Starter セット を正本とし、Marketplace 追加は ADR または tasks/lessons.md に記録。
SKILL.md フロントマター(公式 + コミュニティ)
| フィールド | 必須 | 用途 |
|---|---|---|
name | はい | 小文字・ハイフン。親フォルダ名と一致(例: pr-review) |
description | はい | トリガー用。命令形・具体キーワード(「PR前」「セキュリティ監査」)。曖昧な1行は発火しない(Zenn) |
paths | 任意 | **/*.tsx 等。該当ファイルを触るときだけ Skill を提示(Rules の globs に近いが Skill 専用) |
disable-model-invocation: true | 任意 | 従来のスラッシュコマンド相当。自動適用しない(/skill-name のときだけ) |
本文は 500 行目安。詳細は references/・実行は scripts/・テンプレは assets/ へ(Progressive Disclosure — Zenn 解説)。
既存 Rules / Commands の移行(公式)
Cursor 2.4+ 組み込み: Agent チャットで /migrate-to-skills または /create-skill(公式)。
- 移行対象:
alwaysApply: falseかつglobsなしの動的 Rule、ワークスペース / ユーザーの slash commands - 移行しない:
alwaysApply: true、globs付き Rule(トリガー条件が別物)、User Rules(ファイルシステム外) - Commands を残す方針も可 — 本リポは 16 選 を維持し、多段手順だけ Skills 化