From conoha-vps-mcp
Checks TypeScript source files for compliance with CODING_PATTERN.md and checklist rules using parallel sub-agents for client+common, schema+formatter, core, and optional test groups.
npx claudepluginhub gmo-internet/conoha_vps_mcp --plugin conoha-vps-mcpThis skill uses the workspace's default tool permissions.
---
Reviews and verifies code before merge via triage-first checks (up to 16 parallel agents). Pipeline mode verifies vs plans; general mode for PRs/branches/staged changes. Flags findings only.
Sets up ast-grep in TypeScript codebases with rules detecting anti-patterns, enforcing best practices, and preventing bugs. Creates sgconfig.yml, rule files, and tests for structural linting, legacy bans, and ratchet gates.
Pre-commit quality gate that blocks commits on logic errors, missing error handling, regressions, or incomplete code. Auto-triggers before cook commits, on >100 LOC changes, or via /rune preflight.
Share bugs, ideas, or general feedback.
CODING_PATTERN.md に定義されたコーディングパターンへの準拠状況をチェックし、違反箇所を報告する。
ファイル種別ごとにSub-Agentを並列起動し、効率的にチェックを実行する。
src/**/*.ts、テスト除外)--include-tests: テストファイル(*.test.ts)も対象に含める以下を読み込む:
CODING_PATTERN.md(インデックス)— パターンファイルの一覧と構成を把握harness/patterns/*.md(分割パターンファイル)— チェック対象カテゴリに関連するファイルを選択的に読み込むskills/coding-pattern-check/references/checklist.md を読み込み、チェック項目を把握する。
引数で指定されたパスまたはglobパターンに基づいて対象ファイルを特定する。
指定がない場合は src/**/*.ts を対象とし、テストファイル(*.test.ts)を除外する。
--include-tests オプションが指定された場合はテストファイルも対象に含める。
対象ファイルを以下の4グループに分類する:
| グループ | 担当ファイル種別 | 判定条件 |
|---|---|---|
| グループ1: クライアント + 共通 | *-client.ts, common/*.ts | ファイル名が -client.ts で終わる、または common/ 配下 |
| グループ2: スキーマ + フォーマッター | *-schema.ts, *-response-formatter.ts | ファイル名が -schema.ts または -response-formatter.ts で終わる |
| グループ3: コアファイル | index.ts, types.ts, tool-routing-tables.ts, tool-descriptions.ts, constants.ts | 上記のいずれにも該当しないソースファイル |
| グループ4: テスト | *.test.ts | --include-tests 指定時のみ |
Agent toolを使い、グループごとにSub-Agentを並列起動する。 すべてのAgentを1つのメッセージ内で同時に呼び出すこと(並列実行)。
--include-tests が未指定の場合は Agent 1〜3 の3本を並列起動する。
--include-tests が指定された場合は Agent 1〜4 の4本を並列起動する。
各Agentには subagent_type を指定せず(general-purpose)、以下のプロンプトテンプレートに基づいて指示を与える。
プロンプトテンプレート:
コーディングパターン準拠チェックを実行してください。
## 参照ドキュメント
以下の2ファイルを最初に読み込んでください:
1. CODING_PATTERN.md(プロジェクトルート)
2. skills/coding-pattern-check/references/checklist.md
## チェック対象ファイル
{グループ1のファイルパス一覧を列挙}
## 適用するチェックカテゴリ
各ファイルの種別に応じて以下のカテゴリを適用してください:
- `*-client.ts`(storage除外): A, B(1-5), F, G(1-3), H
- `storage/storage-client.ts`: A, B(1-4,6), F, G(1-3), H
- `common/*.ts`: A, F, G(1-3), H
## チェック方法
- 各対象ファイルを Read ツールで読み込む
- checklist.md の該当カテゴリのルールに基づいてセマンティックにチェック
- 正規表現リントではなく、コードの文脈を理解した上で柔軟に判定する
- 明らかにパターンの意図に沿っていれば厳密な形式不一致はWARNとする
## 出力形式
ファイルごとに以下の形式で結果を出力してください:
### {ファイルパス}
- OK: すべてのパターンに準拠
or
- [ERROR] L{行番号}: {チェックID}: {説明}
- [WARN] L{行番号}: {チェックID}: {説明}
最後にこのグループのサマリを出力:
- チェック対象: {N}ファイル
- 違反あり: {N}ファイル
- ERROR: {N}件, WARN: {N}件
プロンプトテンプレート:
コーディングパターン準拠チェックを実行してください。
## 参照ドキュメント
以下の2ファイルを最初に読み込んでください:
1. CODING_PATTERN.md(プロジェクトルート)
2. skills/coding-pattern-check/references/checklist.md
## チェック対象ファイル
{グループ2のファイルパス一覧を列挙}
## 適用するチェックカテゴリ
各ファイルの種別に応じて以下のカテゴリを適用してください:
- `*-schema.ts`: A, C, G(1-3), H
- `*-response-formatter.ts`: A, D, F, G(1-3), H
## チェック方法
- 各対象ファイルを Read ツールで読み込む
- checklist.md の該当カテゴリのルールに基づいてセマンティックにチェック
- 正規表現リントではなく、コードの文脈を理解した上で柔軟に判定する
- 明らかにパターンの意図に沿っていれば厳密な形式不一致はWARNとする
## 出力形式
ファイルごとに以下の形式で結果を出力してください:
### {ファイルパス}
- OK: すべてのパターンに準拠
or
- [ERROR] L{行番号}: {チェックID}: {説明}
- [WARN] L{行番号}: {チェックID}: {説明}
最後にこのグループのサマリを出力:
- チェック対象: {N}ファイル
- 違反あり: {N}ファイル
- ERROR: {N}件, WARN: {N}件
プロンプトテンプレート:
コーディングパターン準拠チェックを実行してください。
## 参照ドキュメント
以下の2ファイルを最初に読み込んでください:
1. CODING_PATTERN.md(プロジェクトルート)
2. skills/coding-pattern-check/references/checklist.md
## チェック対象ファイル
{グループ3のファイルパス一覧を列挙}
## 適用するチェックカテゴリ
以下のカテゴリを全ファイルに適用してください:
- F, G(1-3), H
さらに、以下のパス型整合性チェックを追加で実施してください:
- `src/types.ts` のパス型(`ConoHaGetPaths` 等)に定義されたリテラルが、
`src/tool-routing-tables.ts` のハンドラーマッピングおよび `src/index.ts` の `inputSchema` 内 Zod enum と一致していること
## チェック方法
- 各対象ファイルを Read ツールで読み込む
- checklist.md の該当カテゴリのルールに基づいてセマンティックにチェック
- 正規表現リントではなく、コードの文脈を理解した上で柔軟に判定する
- 明らかにパターンの意図に沿っていれば厳密な形式不一致はWARNとする
## 出力形式
ファイルごとに以下の形式で結果を出力してください:
### {ファイルパス}
- OK: すべてのパターンに準拠
or
- [ERROR] L{行番号}: {チェックID}: {説明}
- [WARN] L{行番号}: {チェックID}: {説明}
パス型整合性チェックの結果も以下の形式で出力:
### パス型整合性チェック
- OK: types.ts / tool-routing-tables.ts / index.ts のパス定義が一致
or
- [ERROR]: {不一致の説明}
最後にこのグループのサマリを出力:
- チェック対象: {N}ファイル
- 違反あり: {N}ファイル
- ERROR: {N}件, WARN: {N}件
--include-tests 時のみ)プロンプトテンプレート:
コーディングパターン準拠チェックを実行してください。
## 参照ドキュメント
以下の2ファイルを最初に読み込んでください:
1. CODING_PATTERN.md(プロジェクトルート)
2. skills/coding-pattern-check/references/checklist.md
## チェック対象ファイル
{グループ4のファイルパス一覧を列挙}
## 適用するチェックカテゴリ
以下のカテゴリを全ファイルに適用してください:
- A, E, G(4), H(1)
注意:
- テストファイルはF(JSDoc)カテゴリのチェック対象外
- テストファイルのインポートには `.js` 拡張子がないことを確認(E-5, E-6, G-4)
## チェック方法
- 各対象ファイルを Read ツールで読み込む
- checklist.md の該当カテゴリのルールに基づいてセマンティックにチェック
- 正規表現リントではなく、コードの文脈を理解した上で柔軟に判定する
- 明らかにパターンの意図に沿っていれば厳密な形式不一致はWARNとする
## 出力形式
ファイルごとに以下の形式で結果を出力してください:
### {ファイルパス}
- OK: すべてのパターンに準拠
or
- [ERROR] L{行番号}: {チェックID}: {説明}
- [WARN] L{行番号}: {チェックID}: {説明}
最後にこのグループのサマリを出力:
- チェック対象: {N}ファイル
- 違反あり: {N}ファイル
- ERROR: {N}件, WARN: {N}件
全Sub-Agentの結果を集約し、統合レポートを生成する。
以下の形式で統合レポートを出力する:
## チェック結果
### src/features/openstack/compute/compute-client.ts
- OK: すべてのパターンに準拠
### src/features/openstack/example/example-client.ts
- [ERROR] L1: B-1: @packageDocumentationが見つかりません
- [WARN] L10: G-1: 相対インポートに.js拡張子がありません: "./helper"
- [ERROR] L25: B-5: executeOpenstackApi→formatResponseの呼び出しチェーンが確認できません
### src/features/openstack/compute/compute-schema.ts
- [WARN] L15: C-2: .describe()がありません: フィールド "name"
- OK: その他のパターンに準拠
## サマリ
- チェック対象: 21ファイル
- 違反あり: 2ファイル
- ERROR: 3件, WARN: 2件
| レベル | 意味 | 対応 |
|---|---|---|
| ERROR | 必須修正。パターンから明確に逸脱している | 修正必須 |
| WARN | 推奨修正。パターンに完全には合致しないが動作に影響なし | 修正推奨 |
src/index.ts はカバレッジ対象外だがパターンチェック対象enforcement-level: L4 のルール(A-2, A-3, C-1, E-5, E-6, F-1, G-1, G-4, H-1, H-2)は src/architecture.test.ts で検証済みのためスキップ可能