Skills 実践 — 判断と2026更新
Rules 境界・Rule Type・アンチパターン。
判断とアンチパターン
Rules / Skills / Commands の判断(公式 + 実務)
| 種類 | いつ | 確実性 |
|---|---|---|
Rules(.mdc) | 毎回の禁止・下限・globs 付き規約 | 常時(トークンコスト大) |
| Skills | 多段ワークフロー・ドメイン手順 | 関連時のみ自動(description 次第) |
| Commands | 毎日の 1 ショット定型 | 明示 / のみ |
| Hooks(Claude) | lint / 危険コマンド阻止など100% 必須 | 決定的(Claude Code) |
Claude Code では CLAUDE.md は助言(常に従うとは限らない)。100% 守らせるなら Hooks(Anthropic BP · コミュニティ検証)。Cursor は Rules + 検証コマンド(/verify)で近い運用。
Hooks(Cursor)— 検証ループの自動化
出典: Cursor 公式 BP(2026-02)。Rules は毎会話、Hooks は決定的な停止・再開に使う。
| 用途 | 設定 | 本リポ |
|---|---|---|
| テスト green まで反復 | .cursor/hooks.json の stop hook | /verify · 完了前検証 |
| lint 必須 | post-edit hook で lint 実行 | Rules にコマンド列挙 + hook |
| Partner 連携 | Secrets / Observability MCP と組み合わせ | MCP 参考 |
Skill 内 hook と混同しない — hook はエージェント停止時に必ず走る。長時間ループは loop_count 上限を設ける(公式 grind 例参照)。
サンプル: Skills(SKILL.md + 任意 scripts/)
1 Skill = 1 ディレクトリ(SKILL.md + 任意 references/ / scripts/)。description は命令形でユースケースを書く(トリガー用)。共有は .agents/skills/ 推奨。pr-review の例では、ワークフロー(test・PR description・migration・tasks/todo.md との整合確認)と出力(未完了はブロッカー報告)を frontmatter 付きで定義する。全文: pr-review サンプル · フロントマター。
scripts/run_checks.sh(任意・非対話):
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "Usage: run_checks.sh [--quick]" >&2
exit 1
}
QUICK=0
[[ "${1:-}" == "--quick" ]] && QUICK=1
[[ "${1:-}" == "--help" || "${1:-}" == "-h" ]] && usage
if [[ "$QUICK" -eq 1 ]]; then
make lint
else
make test
fi
2026 更新と運用
ルールの発火モードとポータビリティ(2026)
出典: Cursor Docs — Rules · AGENTS.md(Agentic AI Foundation / Linux Foundation)。2026 の要点は「ルールを常時全部入れる」のをやめ、関連するときだけ読ませてトークンを節約すること。
| 発火モード | frontmatter | 発火条件 | 使う場面 |
|---|---|---|---|
| Always | alwaysApply: true | 毎会話 | 言語・コミット規約など普遍で短いもの |
| Auto-Attached | globs: ["**/*.tsx"] | 該当ファイルが context に入ったとき | フレームワーク・レイヤ別規約 |
| Agent-Requested | description: のみ | AI が関連と判断したとき | パスに紐づかない短い規約・チェック観点(手順全文は Skills へ) |
| Manual | なし | @rule-name で明示参照 | 重いが時々必要な参照 |
常時 ON は最小限に。プロジェクトのスタックだけ alwaysApply にし、他は glob / description で条件ロードするとコンテキスト消費を大きく減らせる。
避けるアンチパターン
.cursorrules(単一ファイル)は非推奨。Cursor Docs を正とし、.cursor/rules/*.mdcへ分割移行する- 1 ファイルに詰め込みすぎると中盤の指示が抜け落ちる。1 ファイル 1 関心・〜500 行以下に分割する
- スタイルガイド全文コピー → linter に任せる。コード重複 → canonical ファイルを参照する(コピーしない=陳腐化しない)
- めったに使わない edge case は書かない。同じミスを 2 回見てから 1 条追加する
- AI が指示なしで既に守れている行は削除する(動くルールだけ残す)。逆に必ず守らせたい事項は hook で強制する(
PreToolUse等)— 書いたルールは「お願い」、hook は「保証」
AGENTS.md と .mdc の使い分け
| AGENTS.md | .cursor/rules/*.mdc | |
|---|---|---|
| 役割 | ツール横断のポータブル基盤 | Cursor 固有のスコープ制御 |
| 対応ツール | Codex · Claude Code · Copilot · Cursor ほか | Cursor のみ |
| スコープ | 置いた階層(nested = 暗黙の glob) | globs / description / 4 モード |
| frontmatter | なし(常に適用) | あり |
迷ったら root に AGENTS.md(普遍規約・コマンド・テスト gate・セキュリティ境界)から始め、Cursor 固有のスコープが要るときだけ .mdc を足す。monorepo はサブディレクトリに AGENTS.md を置くとそのサブツリーだけに適用される。テンプレ: Rules サンプル · 判断: Rules / Skills / Commands · 実行環境側: ハーネスと文脈エンジニアリング。
Cursor 3 — context explorer でルールのコストを測る
未確認の速報扱い。出典は Cursor 公式 X(@cursor_ai) で、正式仕様は Cursor Docs / changelog を正とする。context explorer は、エージェントのコンテキスト使用量を system prompt・tool 定義・rules・skills 等に分解して可視化する機能として紹介されている。どのルールが常時 ON でトークンを食っているかを実測し、alwaysApply を削って globs / description に移す判断に使う。