fusion-rule-author について
fusion-rules ゲートウェイ経由で AI コーディングルールを作成する開発者向けの内部スキルです。GitHub Copilot、Cursor、Claude Code に対応し、調査からレビューまでの手順、エディター用テンプレート、技術スタック別の参考資料を提供します。エージェント本体は別の場所にあります。
主な機能
- 01リポジトリの規約と設定を調査
- 02質問でルール要件の不足を補完
- 03エディター別にルールを分類
- 04ルールファイルのテンプレートを提供
- 05草案のレビューと検証
活用シーン
- 01リポジトリのコーディングルール作成
- 02全体ルールとパス別ルールの切り分け
- 03複数エディター向けの同等ルール作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ equinor/ fusion-skills --skill fusion-rule-authorインストール後、Claude Code で/fusion-rule-authorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdassets/claude-rule-template.mdcopilot-instructions-template.mdcreation-follow-up.mdcursor-rule-template.mdcfrontmatter-scenarios.mdquality-checklist.mdscoped-rule-template.mdreferences/examples.md詳細
ルール作成者
AI コーディングアシスタントのルールを作成するための標準ワークフロー、テンプレート、リファレンスです。GitHub Copilot、Cursor、Claude Code に対応しています。
内部スキルです。 ユーザーは
fusion-rulesゲートウェイを介して操作します。ゲートウェイは、ここで定義するワークフローに従うエディター固有のエージェントに処理を振り分けます。
対象範囲
このスキルで提供するもの:
- ワークフロー(以下のステップ 1~7) — ガイド付きの作成プロセス
- テンプレート(
assets/) — エディター形式ごとのスターターファイル - リファレンス(
references/) — 技術スタックの例
エージェントは提供しません。エージェントは fusion-rules/agents/ にあり、このスキルのアセットとワークフローを参照します。
必須入力
必須
- リポジトリのコンテキスト(作業ディレクトリまたはリポジトリ URL)
インタビュー中に収集
- 技術スタック(言語、フレームワーク、ビルドツール)
- コード規約(命名、フォーマット、パターン)
- テストに関する期待事項(フレームワーク、カバレッジ、スタイル)
- ドキュメントに関する希望(コメント、TSDoc/JSDoc、README の基準)
- コミットと PR の規約
- エラー処理のパターン
- セキュリティまたはコンプライアンス上の制約
- スコープを限定したルールが必要な、ファイル/パス固有の規約
手順
ステップ 1 — 現状を確認する
リポジトリに既存のルールファイルがあるか確認します。
.github/copilot-instructions.md
.github/instructions/*.instructions.md
.cursor/rules/*.md
.cursor/rules/*.mdc
.cursor/rules/**/*.md
.cursor/rules/**/*.mdc
CLAUDE.md
.claude/CLAUDE.md
.claude/rules/*.md
.claude/rules/**/*.md
存在するもの、不足しているもの、更新または新規作成が必要なファイルを報告します。
ステップ 2 — リポジトリをスキャンする
インタビューを始める前に、規約が記載された既存のドキュメントと設定をスキャンします。以下から、実行可能な指示を抽出します。
ドキュメントファイル:
README.md— プロジェクトの概要、セットアップ、技術スタックCONTRIBUTING.md— コードスタイル、PR ワークフロー、コミット規約AGENTS.md、CLAUDE.md— 既存の AI 向け指示docs/adr/**、adr/**、docs/decisions/**— アーキテクチャ決定記録docs/**/*.md— 開発者向けガイド、オンボーディングドキュメント、スタイルガイドSECURITY.md— セキュリティポリシーCODE_OF_CONDUCT.md— コラボレーションのガイドライン(ルールに関係することはまれです)
設定ファイル:
package.json/pyproject.toml/*.csproj— 技術スタック、スクリプト、依存関係tsconfig.json/jsconfig.json— 言語設定、厳格さbiome.json/.eslintrc*/.prettierrc*/ruff.toml/.editorconfig— フォーマットとリンティング.github/workflows/*.yml— CI チェック、必須の検証、テストコマンドDockerfile/docker-compose.yml— 実行環境Makefile/Justfile/Taskfile.yml— ビルドおよびタスクのコマンド
コードパターン(サンプルを確認し、すべてを網羅的に読み込まない):
- エントリーポイント(
src/index.*、src/main.*、app.*)— アーキテクチャのパターン - テストファイル — テストフレームワーク、命名規約、ファイルの配置
- ディレクトリ構成 — アーキテクチャ上の境界、機能の構成
各ソースから抽出する内容:
- 命令形の指示にできる具体的な規約
- AI が把握しておくべきビルド/テスト/リンティングのコマンド
- 従うべきアーキテクチャ上の境界やパターン
- 明示的な「実行すること/実行しないこと」のルール
対象外:
- 頻繁に変わる実装の詳細
- 言語やフレームワークのデフォルト設定を言い換えただけの内容
- CI やチームの慣行で強制されていない、理想にとどまるルール
インタビューに進む前に、発見した規約の概要を分野別に整理して開発者に提示します。
Step 3 — インタビュー(不足情報の補完)
スキャン結果を使い、すでに十分に文書化されている領域はスキップします。不足している箇所についてのみ、的を絞った質問をします。以下の領域を1つずつ扱います。
- 技術スタック — 言語、フレームワーク、ランタイム、パッケージマネージャー
- コードスタイル — 命名規則、フォーマットルール、インポート順序
- アーキテクチャ — プロジェクト構成、主要なパターン(MVC、ヘキサゴナルなど)
- テスト — フレームワーク、規約、カバレッジの目標
- ドキュメント — インラインコメントのスタイル、ドキュメント生成、README の基準
- Git ワークフロー — ブランチの命名、コミットメッセージの形式、PR の要件
- セキュリティ — 機密データの取り扱い、認証パターン、コンプライアンス規則
- パス固有の考慮事項 — 専門的なガイダンスが必要なディレクトリやファイル形式
各領域について、スキャンで判明した内容を示し、「これは正確ですか?追加や修正はありますか?」と尋ねます。すでに把握している情報は再度尋ねないでください。
より深い背景情報が必要な規約については、assets/creation-follow-up.md の追加質問を使用し、目的、例外、適用範囲、文体を確認します。
Step 4 — ガイダンスを分類する
収集した規約を以下の区分に分けます。
GitHub Copilot:
| 区分 | 対象ファイル | 適用されるタイミング |
|---|---|---|
| 常時適用の規約 | .github/copilot-instructions.md | Copilot とのすべてのやり取り |
| スコープ付きの規約 | .github/instructions/<name>.instructions.md | 該当するファイルが開かれているか、参照されている場合のみ |
Cursor:
| 区分 | 対象ファイル | 適用されるタイミング |
|---|---|---|
| 常時適用の規約 | .cursor/rules/<name>.mdc(alwaysApply: true を指定) | Cursor Agent のすべてのセッション |
| 自動添付の規約 | .cursor/rules/<name>.mdc(globs を指定) | 該当するファイルがコンテキストに含まれている場合 |
| エージェント選択の規約 | .cursor/rules/<name>.mdc(description のみ指定) | Agent が関連性を判断した場合 |
| 手動の規約 | .cursor/rules/<name>.mdc(alwaysApply と globs の指定なし) | チャットで @ メンションされた場合のみ |
Claude Code:
| 区分 | 対象ファイル | 適用されるタイミング |
|---|---|---|
| 常時適用の規約 | CLAUDE.md または .claude/CLAUDE.md | Claude Code のすべてのセッション |
| スコープ付きの規約 | .claude/rules/<name>.md(paths フロントマターを指定) | Claude が該当するファイルを読み込む場合 |
| 無条件のルール | .claude/rules/<name>.md(paths の指定なし) | すべてのセッション(常時適用と同様) |
判断基準: リポジトリ内のすべてのファイルに適用される規約は、ルートの常時適用の指示に含めます。特定のパスやファイル形式のみに適用される場合は、スコープ付きルールを作成します。
複数のエディターを対象とする場合は、同等の内容を持つファイルを並行して生成します。1つのエディターのファイル内でガイダンスを重複させないでください。
Step 5 — ルールファイルを作成する
assets/ のテンプレートを使ってファイルを生成します。
GitHub Copilot:
- ルートの指示:
assets/copilot-instructions-template.mdを使用 - スコープ付きの指示:適切な
applyToglob を指定してassets/scoped-rule-template.mdを使用
Cursor:
assets/cursor-rule-template.mdcを使用し、フロントマターを適切に設定
Claude Code:
- プロジェクトの指示:
assets/claude-rule-template.mdを使用 - スコープ付きルール:
pathsフロントマターを指定して.claude/rules/に配置
品質ルール(作成時に適用):
- 指示は簡潔にし、説明ではなく実行可能な指示にする
- 命令形を使う(「変数には camelCase を使う」。 「変数には camelCase を使う必要があります」ではない)
- ルートファイルとスコープ付きファイル間でガイダンスを重複させない
applyTo/globs/pathsの glob パターンが意図したファイルに一致することを検証する- ルートの指示が合計で約80行を超える場合、コンテキストの希薄化につながる可能性があるため警告する
- スコープ付きの指示ファイルが約50行(GitHub Copilot)、約500行(Cursor)、約200行(Claude Code CLAUDE.md)を超える場合、警告する
- 具体的な良い例/悪い例については
references/examples.mdを参照 - 完全なチェックリストについては
assets/quality-checklist.mdを参照
ステップ 6 — レビューと調整
作成したファイルを開発者に提示します。ファイルごとに、次のことを行います。
- 全文を表示する
- 品質に関する警告(長さ、広範なグロブ、重複)を強調する
- 承認または修正を依頼する
ステップ 7 — ファイルを書き込む
承認後、ルールファイルをリポジトリに書き込みます。必要に応じて .github/instructions/、.cursor/rules/、および/または .claude/rules/ ディレクトリを作成します。
書き込み前に、最終的なファイル一覧とパスを確認します。
想定される出力
.github/copilot-instructions.md— ルートの指示ファイル(作成または更新).github/instructions/*.instructions.md— スコープを指定した指示ファイル(0 個以上).cursor/rules/*.mdc— Cursor を対象とする場合の Cursor ルールファイル(0 個以上)CLAUDE.mdまたは.claude/CLAUDE.md— プロジェクトの指示(Claude Code を対象とする場合).claude/rules/*.md— Claude Code のスコープ指定ルールファイル(0 個以上)- 作成/更新した内容とその理由の概要
指示とスキルとルール — 使い分け
| 必要なもの | GitHub Copilot | Cursor | Claude Code |
|---|---|---|---|
| 常時適用するコーディング規約 | copilot-instructions.md | alwaysApply: true を指定した .cursor/rules/*.mdc | CLAUDE.md |
| ファイル/パス固有のガイダンス | .github/instructions/*.instructions.md | globs を指定した .cursor/rules/*.mdc | paths を指定した .claude/rules/*.md |
| タスク固有の複数ステップのワークフロー | スキル(SKILL.md) | .cursor/rules/*.mdc(手動またはエージェントが選択) | スキル/サブエージェント |
| エージェントのルーティングとオーケストレーション | エージェント定義(.agent.md) | description を指定した .cursor/rules/*.mdc | サブエージェント設定 |
| シンプルなプロジェクト全体の指示 | copilot-instructions.md | AGENTS.md | CLAUDE.md |
指示とルールは、AI がコードをどのように書くかを定めます。スキルは、構造化されたタスクとして AI が何を実行できるかを定義します。
安全性と制約
次のことは絶対に行わないでください。
- ルールファイルにシークレット、トークン、認証情報を埋め込む
- リポジトリのセキュリティポリシーに反するルールを生成する
- 差分を提示して承認を得ずに既存ファイルを上書きする
- 規約を捏造する — 開発者が確認した内容のみを記載する
必ず次のことを行ってください。
- ファイルを書き込む前にドラフトを提示する
- グロブパターンを実際のリポジトリパスに照らして検証する
- 過度に広範なグロブ(例:
**/*はすべてを対象にします)について警告する - 指示を簡潔で実行可能な内容にする
- 更新時には既存の内容を保持する(黙って置き換えるのではなく、追記または統合する)
参考資料
references/examples.md— さまざまな技術スタックの具体例assets/creation-follow-up.md— ルールごとの追加質問(目的、例外、範囲、文体)assets/frontmatter-scenarios.md— GitHub Copilot、Cursor、Claude Code 向けのシナリオ別 frontmatter ガイドassets/copilot-instructions-template.md— ルート指示のスターターテンプレートassets/scoped-rule-template.md— スコープ指定ルールのスターターテンプレートassets/cursor-rule-template.mdc— Cursor ルールのスターターテンプレートassets/claude-rule-template.md— Claude Code ルールのスターターテンプレートassets/quality-checklist.md— 品質レビューのチェックリスト