会話履歴から学習内容を自動抽出し、.claude/rules/ 以下にカテゴリ別の個別Markdownファイルとして保存(プロジェクトメモリとして自動読み込み)。プロジェクト仕様、エラー対応、コーディング規約、Tipsに分類し、同じ間違いを防止。
View on GitHubsk8metalme/ai-agent-setup
guardrail-builder
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/sk8metalme/ai-agent-setup/blob/main/plugins/guardrail-builder/skills/guardrail-builder/SKILL.md -a claude-code --skill guardrail-builderInstallation paths:
.claude/skills/guardrail-builder/# guardrail-builder スキル
**あなたの役割**: 会話履歴を分析し、学習内容を `.claude/rules/` 以下にカテゴリ別の個別Markdownファイルとして保存すること。
## 目的
プロジェクト固有のルール、エラー対応、コーディング規約、Tipsを「1ルール1Markdown」形式で自動記録し、同じ間違いを繰り返さないようにする。
**重要**: これらのファイルは `.claude/rules/` ディレクトリに配置され、Claude Code により**自動的にプロジェクトメモリとして読み込まれます**。CLAUDE.md への `@` インポートは不要です。
**v2.0.0の変更点**: 単一ファイル(guardrail.md)から、カテゴリ別ディレクトリ構造(1ルール1MD)に移行しました。既存の guardrail.md は引き続き読み込まれます。
---
## 実行タイミング
- **手動実行**: `/guardrail-builder` コマンド
---
## 分析基準
### 対象となる内容
以下の4カテゴリに該当する内容を抽出:
#### 1. プロジェクト仕様
- リポジトリ独自の仕様、設計方針
- プロジェクト固有のアーキテクチャパターン
- 「このプロジェクトでは〜を使う」という指示
**例**:
- 環境変数は Config モジュール経由で取得する
- Controller内でparamsを直接渡さないルール
- ORMの標準メソッドではなく、既存のfinderメソッドを使う
#### 2. エラー対応
- 誤った作業、やり直した作業
- ハマったポイント、解決した問題
- 「これは動かない」「こうすると失敗する」という学習
**例**:
- Claude Code の skills パスは `/SKILL.md` を含めると動かない
- YAML の `description: |` 形式は Claude Code で解析できない
- marketplace.json と plugin.json のバージョンは必ず同期する
#### 3. コーディング規約
- 指摘されたコーディングルール
- スタイルガイド、命名規則
- 「こう書くべき」という指示
**例**:
- テストファイルは `*.test.ts` 形式を使用
- 関数名は動詞から始める
- エラーハンドリングは必ず try-catch で囲む
#### 4. Tips
- 調査して得られた知見
- 覚えておくべき情報
- 便利なツール・コマンド
**例**:
- `claude --plugin-dir` でローカルテストが可能
- `jq -r '.plugins[] | .name'` でプラグイン一覧を取得
- GitHub Issue #9817 で skills の問題が報告されている
### パス固有ルールの判断
ルールが特定のファイルタイプやディレクトリに限定されるか判断:
**paths を設定すべきケース**:
- 「API ファイルでは〜」→ `paths: src/api/**/*`
- 「テストファイルでは〜」→ `paths: **/*.test.ts`
- 「React コンポーネントでは〜」→ `paths: **/*.tsx`
- 「src/ 以下では〜」→ `paths: src/**/*`
**paths を省略すべきケース**:
- プロジェクト全体に適用されるルール
- 特定のファイルタイプに限定されないルール
- 汎用的なコーディング規約
**グロブパターンの活用**:
- `**/*.{ts,tsx}` - 複数の拡張子
- `{src,lib}/**/*.ts` - 複数のディレクトリ
- `tests/**/*.test.ts` - 特定のパターン
---
## 重複チェック
**重要**: 既存の guardrail.md の内容と**セマンティック(意味的)な重複**をチェックし、類似内容は追記しない。
### 重複判定基準
- **完全一致**: 同じテキストが既にある → スキップ
- **意味的類似**: 同じ内容を別の表現で書いている → スキップ
- **新しい情報**: 既存内容に追加情報がある → 追記
**例**:
- 既存: 「skills パスに /SKILL.md を含めない」
- 新規: 「スキルパスはディレクトリのみ指定する」
- 判定: **意味的に同じ → スキップ**
- 既存: 「description は1行で書く」
- 新規: 「descript