mcpField
F
fusion-rule-author

fusion-rule-author

github.com/equinorエージェントワークフロー906 回インストール
リポジトリ

fusion-rule-author について

fusion-rules ゲートウェイ経由で AI コーディングルールを作成する開発者向けの内部スキルです。GitHub Copilot、Cursor、Claude Code に対応し、調査からレビューまでの手順、エディター用テンプレート、技術スタック別の参考資料を提供します。エージェント本体は別の場所にあります。

主な機能

  1. 01リポジトリの規約と設定を調査
  2. 02質問でルール要件の不足を補完
  3. 03エディター別にルールを分類
  4. 04ルールファイルのテンプレートを提供
  5. 05草案のレビューと検証

活用シーン

  1. 01リポジトリのコーディングルール作成
  2. 02全体ルールとパス別ルールの切り分け
  3. 03複数エディター向けの同等ルール作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/equinor/fusion-skills --skill fusion-rule-author

インストール後、Claude Code で/fusion-rule-authorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
assets/
claude-rule-template.md
copilot-instructions-template.md
creation-follow-up.md
cursor-rule-template.mdc
frontmatter-scenarios.md
quality-checklist.md
scoped-rule-template.md
references/
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.*)— アーキテクチャのパターン
  • テストファイル — テストフレームワーク、命名規約、ファイルの配置
  • ディレクトリ構成 — アーキテクチャ上の境界、機能の構成

各ソースから抽出する内容:

  1. 命令形の指示にできる具体的な規約
  2. AI が把握しておくべきビルド/テスト/リンティングのコマンド
  3. 従うべきアーキテクチャ上の境界やパターン
  4. 明示的な「実行すること/実行しないこと」のルール

対象外:

  • 頻繁に変わる実装の詳細
  • 言語やフレームワークのデフォルト設定を言い換えただけの内容
  • CI やチームの慣行で強制されていない、理想にとどまるルール

インタビューに進む前に、発見した規約の概要を分野別に整理して開発者に提示します。

Step 3 — インタビュー(不足情報の補完)

スキャン結果を使い、すでに十分に文書化されている領域はスキップします。不足している箇所についてのみ、的を絞った質問をします。以下の領域を1つずつ扱います。

  1. 技術スタック — 言語、フレームワーク、ランタイム、パッケージマネージャー
  2. コードスタイル — 命名規則、フォーマットルール、インポート順序
  3. アーキテクチャ — プロジェクト構成、主要なパターン(MVC、ヘキサゴナルなど)
  4. テスト — フレームワーク、規約、カバレッジの目標
  5. ドキュメント — インラインコメントのスタイル、ドキュメント生成、README の基準
  6. Git ワークフロー — ブランチの命名、コミットメッセージの形式、PR の要件
  7. セキュリティ — 機密データの取り扱い、認証パターン、コンプライアンス規則
  8. パス固有の考慮事項 — 専門的なガイダンスが必要なディレクトリやファイル形式

各領域について、スキャンで判明した内容を示し、「これは正確ですか?追加や修正はありますか?」と尋ねます。すでに把握している情報は再度尋ねないでください。

より深い背景情報が必要な規約については、assets/creation-follow-up.md の追加質問を使用し、目的、例外、適用範囲、文体を確認します。

Step 4 — ガイダンスを分類する

収集した規約を以下の区分に分けます。

GitHub Copilot:

区分対象ファイル適用されるタイミング
常時適用の規約.github/copilot-instructions.mdCopilot とのすべてのやり取り
スコープ付きの規約.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.mdClaude Code のすべてのセッション
スコープ付きの規約.claude/rules/<name>.md(paths フロントマターを指定)Claude が該当するファイルを読み込む場合
無条件のルール.claude/rules/<name>.md(paths の指定なし)すべてのセッション(常時適用と同様)

判断基準: リポジトリ内のすべてのファイルに適用される規約は、ルートの常時適用の指示に含めます。特定のパスやファイル形式のみに適用される場合は、スコープ付きルールを作成します。

複数のエディターを対象とする場合は、同等の内容を持つファイルを並行して生成します。1つのエディターのファイル内でガイダンスを重複させないでください。

Step 5 — ルールファイルを作成する

assets/ のテンプレートを使ってファイルを生成します。

GitHub Copilot:

  • ルートの指示:assets/copilot-instructions-template.md を使用
  • スコープ付きの指示:適切な applyTo glob を指定して 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 — レビューと調整

作成したファイルを開発者に提示します。ファイルごとに、次のことを行います。

  1. 全文を表示する
  2. 品質に関する警告(長さ、広範なグロブ、重複)を強調する
  3. 承認または修正を依頼する
ステップ 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 CopilotCursorClaude Code
常時適用するコーディング規約copilot-instructions.mdalwaysApply: true を指定した .cursor/rules/*.mdcCLAUDE.md
ファイル/パス固有のガイダンス.github/instructions/*.instructions.mdglobs を指定した .cursor/rules/*.mdcpaths を指定した .claude/rules/*.md
タスク固有の複数ステップのワークフロースキル(SKILL.md).cursor/rules/*.mdc(手動またはエージェントが選択)スキル/サブエージェント
エージェントのルーティングとオーケストレーションエージェント定義(.agent.md)description を指定した .cursor/rules/*.mdcサブエージェント設定
シンプルなプロジェクト全体の指示copilot-instructions.mdAGENTS.mdCLAUDE.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 — 品質レビューのチェックリスト

コメント