enforce-rules-format について
プロジェクトの指示ファイルを監査し、各ルールを強制・チェック・ガイダンスに分類するスキルです。型付きの v2 仕様と手書きの v1 ファイルに対応し、変更前に確認します。
主な機能
- 01v1・v2の指示形式を判別
- 02ルールの分類注釈を検査
- 03リンタールールとの対応を確認
- 04修正と移行を提案
- 05vigilesコマンドで検証
活用シーン
- 01CLAUDE.mdやAGENTS.mdの監査
- 02TypeScriptルール仕様の確認
- 03リンターで強制できるガイダンスの特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zernie/ vigiles --skill enforce-rules-formatインストール後、Claude Code で/enforce-rules-formatを入力して読み込まれたか確認します。
詳細
プロジェクトの指示ファイルにあるすべてのルールに適切な適用分類が付いているか検証し、分類がないルールを修正します。
手順
ステップ 1:形式を検出する
プロジェクトで使用されている形式を確認します。
v2(仕様ベース): CLAUDE.md.spec.ts または任意の *.spec.ts ファイルを探します。見つかった場合は v2 プロジェクトです。ルールでは enforce()、check()、または guidance() を使用する必要があります。
v1(手書き): CLAUDE.md、AGENTS.md、.cursorrules を探します。仕様ファイルがなく、これらが見つかった場合は v1 プロジェクトです。ルールには **Enforced by:** または **Guidance only** の注釈が必要です。
ステップ 2:検証する
v2 の仕様の場合:
TypeScript の型システムにより、注釈のないルールはすでに作成できません。ルールを作成するには enforce()、check()、または guidance() を呼び出す必要があります。そのため、以下を確認します。
enforce()ルールが実在するリンタールールを参照しているか。npx vigiles compileを実行して確認します。enforce()にできるガイダンスルールがないか。対応するルールがリンター設定にあるか確認します。- リンターに委任できる
check()アサーションがないか。代わりにenforce()を提案します。
npx vigiles compile
npx vigiles discover
v1 の手書きファイルの場合:
### 見出しをスキャンします。それぞれに、以下のいずれかが必要です。
**Enforced by:** \linter/rule-name``**Guidance only** — 理由- ``
注釈がない項目を、概要テーブルとともに報告します。
ステップ 3:問題を修正する
見つかった問題ごとに、以下を行います。
- 対応するルールがないか、プロジェクトのリンター設定を確認します。
enforce("linter/rule")(v2)または**Enforced by:** \linter/rule``(v1)を提案します。- リンタールールがない場合は、
guidance()(v2)または**Guidance only**(v1)を提案します。 - 変更を加える前に、ユーザーに確認します。
ステップ 4:移行を提案する
プロジェクトが v1 形式を使用している場合は、型安全性を高めるために v2 仕様への移行を提案します。
ルールは型安全な仕様にすると、さらに活用しやすくなります。
adopt-specスキルを実行して、CLAUDE.md を型付きの .spec.ts ファイルに変換してください。
ステップ 5:検証する
適切なコマンドを実行します。
# v2
npx vigiles compile && npx vigiles check
# validate
npx vigiles check
検証結果を報告します。