antivibe について
AntiVibeは、AI生成コードやレガシーコードなどを対象に、コード学習とアーキテクチャ監査を行うスキルです。深さを調整しながら設計理由や利用場面、代替案を解説し、結果をMarkdownで保存します。
主な機能
- 01指定ファイル・ディレクトリ・最近の変更を分析
- 02コード構造と設計判断を解説
- 03開発者の習熟度に応じて説明を調整
- 04簡潔モードと詳細モードを選択
- 05分析結果をdeep-dive/に保存
活用シーン
- 01完了した機能の実装を学ぶ
- 02未経験のレガシーコードを理解する
- 03設計やアーキテクチャ上の判断を検討する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mohi-devhub/ antivibe --skill antivibeインストール後、Claude Code で/antivibeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.gitignoreREADME.mdagents/explainer.mdauditor.mddocs/setup.mdhooks/hooks.jsonreference/language-patterns.mdresource-curation.mdscripts/analyze-code.shfind-resources.shcapture-phase.shgenerate-deep-dive.shtemplates/deep-dive.md詳細
AntiVibe - コード学習・監査フレームワーク
目的
AntiVibe は、あらゆるコード(AI が生成したもの、レガシーコードなど)について、学習に役立つ解説やアーキテクチャ監査を生成します。開発者が次のことを理解できるよう支援します。
- コードが何をするのか(機能)
- なぜこのように書かれたのか(設計上の判断)
- こうしたパターンをいつ使うのか(状況)
- どのような代替案があるのか(幅広い知識)
あらゆるコードベースで動作します。最近の Git 履歴や AI が作成したファイルは必要ありません。
使用する場面
次のような場合に AntiVibe を使用します。
- 手動での呼び出し:ユーザーが
/antivibeまたは「deep dive」と入力したとき - タスク完了後の学習:機能やフェーズが完了した後、ユーザーが内容を学びたいとき
- レガシーコードベース:ユーザーが自分で書いていない既存のコードを理解したいとき
- プロアクティブな利用:ユーザーが「AI が書いたものを説明して」「一緒に確認して」「監査して」と言ったり、ファイルやディレクトリを指定したりしたとき
AntiVibe が生成するもの
出力は Markdown として deep-dive/ フォルダーに保存されます。
deep-dive/
├── auth-system-2026-01-15.md
├── api-layer-2026-01-15.md
└── database-models-2026-01-15.md
正確なセクションは出力モードによって異なります(出力モードを参照)。
| セクション | compact(デフォルト) | full |
|---|---|---|
| 概要 — コードが何をするのか、なぜ存在するのか | ✅ | ✅ |
| 主要コンポーネント/概念 — 使用されているデザインパターン、アルゴリズム、CS の概念 | ✅ | ✅ |
| コードの解説 — ファイルごと、行ごとの注釈 | — | ✅ |
| 学習リソース — 厳選したドキュメント、チュートリアル、動画 | — | ✅ |
| 関連コード — コードベース内の他のファイルへのリンク | — | ✅ |
設定
既知の概念(スキップリスト)
ここに記載された概念は詳しく解説されず、解説では使用されたこととその文脈だけが示されます。現在の知識に合わせて、このリストを編集してください。
known_concepts:
- async/await
- React hooks
- REST APIs
出力モード
1 回の実行で生成する詳細度を指定します。トークンコストを抑えるため、デフォルトは compact です。
output_mode: compact
| モード | 含まれる内容 |
|---|---|
compact(デフォルト) | 概要、主要コンポーネント(関数単位で各 1 行)、概念(概要と理由のみ)。リソースなし。行ごとの解説なし。最大 5 ファイル。 |
full | compact のすべてに加えて、行ごとの解説、前提知識、厳選リソース、次のステップ。 |
リクエスト内で上書きできます。
"/antivibe full"、"full deep dive"、"include resources"→fullモード- デフォルト:
compact
デフォルトのスキルレベル
リクエストでレベルが指定されていない場合の解説の深さを設定します。選択肢は junior、mid、senior です。デフォルトは mid です。
default_level: mid
| レベル | 動作 |
|---|---|
junior | すべての用語を定義します。たとえを使います。言語機能を解説します。インラインコメント付きの完全なコードスニペットを示します。 |
mid | 基礎は省略します。設計上の判断とトレードオフに重点を置きます。コードへの言及は簡潔にします。 |
senior | 明らかなパターンは省略します。自明でない選択、エッジケース、アーキテクチャ上のトレードオフだけに重点を置きます。 |
リクエスト内でレベルを指定することもできます。
"explain for a junior"、"I'm new to this"→junior"I know the basics"、"mid level"→mid"senior mode"、"skip the basics"、"just the trade-offs"→senior
ワークフロー
ステップ 0:ユーザー設定を適用する
分析する前に、上記の設定を読み込みます。
known_conceptsのスキップリストを読み込みます。このリストにある概念は詳しく解説せず、1 文で触れます。- スキルレベルを判定します。まずユーザーのリクエストを確認し(リクエスト内の指定を優先)、次に
default_levelを使用します。このレベルを出力全体で一貫して適用します。 - レベルが
seniorの場合は、このワークフローを続けずにagents/auditor.mdに進みます。
ステップ 1:分析するコードを特定する
最初に該当するモードを使用します。
-
明示指定 — ユーザーがリクエストで特定のファイル、ディレクトリ、またはモジュールを指定した場合 → それらを直接使用します。git は不要です。例:「
src/auth/を説明して」または「api/routes.pyの内容を順に説明して」。 -
最近の変更 — 明示的な対象の指定がなく、プロジェクトが git リポジトリで、
git diff HEADの出力がある場合 → 変更されたファイルを使用します(AI タスク後の学習に対する現在の動作)。 -
スキャン — 明示的な対象の指定がなく、使用可能な git diff もない場合(レガシープロジェクト、最近の変更がない、または git リポジトリではない) → ユーザーに「分析したいファイル、ディレクトリ、またはモジュールを指定してください」と尋ねます。推測はしないでください。
コードは AI が生成したものである必要はありません。AntiVibe はあらゆるコードを分析します。
ステップ 2:コード構造を分析する
各ファイルについて:
- 主な目的と責任を特定する
- 主要な関数、クラス、モジュールを記録する
- 使用されている設計パターン(ファクトリー、シングルトン、オブザーバーなど)を特定する
- 複雑なロジックやアルゴリズムを見つける
ステップ 3:概念を説明する
見つかった各概念/パターンについて:
- 概要:平易な言葉で説明する
- 理由:他の選択肢ではなく、この方法が選ばれた理由
- 使用場面:このパターンをいつ使うか(状況を含む)
- 代替案:他の方法とそのトレードオフ
- 前提知識:開発者が最初に理解しておくべき基礎概念を 2~4 個挙げる(例:「JWT を理解するには、HTTP リクエスト/レスポンス、Base64 エンコーディング、暗号署名について知っておく必要があります」)
ステップ 4:外部リソースを見つける
このステップは full モードでのみ実行してください。 compact モードでは完全にスキップします。
以下を検索して含めます:
- 使用されているライブラリ/フレームワークの公式ドキュメント
- 質の高いチュートリアルやブログ記事
- 動画リソース(入手可能な場合)
- さらに学ぶための関連概念
ステップ 5:出力を生成する
deep-dive/ フォルダーに Markdown ファイルを作成します:
- 名前の形式:
[component]-[timestamp].md - リクエストまたは
output_mode設定から出力モードを検出します(デフォルト:compact) - Compact モード:compact テンプレートを使用します。行ごとの説明、リソース、次のステップは含めません。ファイルは最大 5 個です — 対象範囲にそれ以上含まれる場合は、残りをそれぞれ 1 行で要約し、詳しい分析を提案します。
- Full モード:
templates/deep-dive.mdの full テンプレートを使用します。すべてのセクションを含めます。ファイル数の上限はありません — 対象範囲のすべてのファイルを分析します。非常に大きな入力の場合は、出力を切り捨てるのではなく、複数の deep-dive ファイルに分割します。 - 説明だけでなく、学びにつながる内容にします
自動トリガーの設定
AntiVibe はフックを使って自動トリガーするよう設定できます:
- SubagentStop:Task が機能の実装を完了した後
- Stop:セッション終了時
自動トリガーを有効にするには、プロジェクトでフックを設定します(hooks/hooks.json を参照)。
原則
- 何かよりも、なぜか — 設計上の判断を常に説明する
- 文脈が重要 — パターンをいつ、なぜ使うかを説明する
- 厳選したリソース — 無作為な Google 検索結果ではなく、質の高いリンクを選ぶ
- フェーズを意識する — 実装フェーズごとにまとめる
- 学習の道筋 — さらに深く学ぶための次のステップを提案する
- 概念の対応付け — コードと、その基盤となるコンピューターサイエンスの概念を結び付ける
依存関係
scripts/ フォルダー内のオプションのスクリプト:
capture-phase.sh- 実装フェーズの境界を検出するanalyze-code.sh- コード構造を解析するfind-resources.sh- 外部リソースを検索するgenerate-deep-dive.sh- Markdown 出力を作成する
これらは補助スクリプトです。コードを直接分析して、すべてを行うこともできます。
例
入力:「Claude が書いた認証システムを説明して」(最近の AI 生成コード)
→ モード:最近の変更(git diff)。出力:deep-dive/auth-system-2026-01-15.md
入力:「src/payments/ の内容を順に説明して」(明示的な対象 — レガシーコードベース)
→ モード:明示指定。そのディレクトリ内のファイルを直接分析します。git は不要です。
入力:「詳しく分析して」(対象の指定なし、最近の変更がないレガシープロジェクト) → モード:スキャン。「分析したいファイルまたはモジュールを指定してください」と尋ねます。
入力:「これを監査して。トレードオフだけでいい」(シニアモード)
→ agents/auditor.md に振り分けます。説明ではなく、アーキテクチャ監査を作成します。