Communityコーディング&開発github.com

diodesign/diosix-agent-skills

Diosix 向けのコミット前・マージ前のコードおよびドキュメントレビュー手法です。機能追加、リファクタリング、バグ修正、ドキュメント更新の際、またはコード/セキュリティ/アーキテクチャレビューが要求されたときに有効化します。

diosix-agent-skills とは?

このスキルは、Diosix プロジェクトにおけるコードおよびドキュメントの変更に対して、厳格で多角的な監査を強制します。コミットやマージ前に、ビルド・完全性・テストゲート、4つのペルソナによる深層レビュー、Rust スタイルの借用チェッカー相当のポインタ寿命監査、そしてドキュメント・スペル・スタイルゲートという4段階の検証ワークフローを実行します。これにより、不完全なコードや未検証の変更がリポジトリに取り込まれるのを防ぎます。主に Claude Code などの AI エージェント向けに設計されており、`developing-diosix` および `documenting-diosix` と1:1で対応することで、事前の作成スキル適用が事後修正を不要にします。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/diodesign/diosix-agent-skills/tree/HEAD/reviewing-diosix

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Diosix のレビュー

Diosix におけるすべてのコードおよびドキュメント変更は、コミットまたはマージ前に厳格かつ多角的な監査を通過しなければなりません。変更を機械的に承認したり、壊れた・不完全・未検証のコードにサインオフしてはいけません。以下のレビュー基準は developing-diosix および documenting-diosix と1:1で対応しており、作成スキルを適用することでコミット前・マージ前の手戻りを排除します。

必須の4段階検証ワークフロー

  1. ビルド、完全性、テストゲート(前提条件):
    • 機能が設計通り100%実装され、TODO スタブ、デッドコード、モックされたプロダクションパスがゼロであることを確認します。
    • 500行を超えるファイルをリファクタリングする場合、機能やユニットテストを決して切り詰めず、常に過大なファイルを凝集性のあるサブフォルダ(vm/run.zig、panes/modal.zig、tests/gui.zig)にコンポーネント化し、フラットな prefix_subname.zig ファイルにしないでください。また、すべてのサブモジュールがその親の test ブロックで参照されていることを確認します(例: _ = @import("vm/run.zig");)。これにより zig build test がそのユニットテストを実行します。
    • ユニットテストがテスト対象の .zig ソースファイルと同じ場所にあり、統合テストが別の tests/ ディレクトリにあることを確認します。
    • ファイル形式と行/列チェックのスコープを追跡対象のソースディレクトリ(build.zig、hypervisor、tools、scripts)に限定し、.zig-cache/ や zig-out/ に対して無制限の再帰グロブを実行しないようにします。
    • ./scripts/build.sh test --summary all と ./scripts/build.sh を、すべてのコンパイルステップとテストステップが警告やリークなしで100%成功するまで実行します。
  2. 4ペルソナ深層レビュー:
    • 変更されたすべてのファイルとその周辺コンテキストを、4つの異なるレンズを通して監査します:
      1. 懐疑的なベテランエンジニア(完全性、イディオム、フラットな prefix_subname.zig ファイルの代わりにサブフォルダ階層、小文字16進リテラル 0xfff、マジックビットマスクの代わりに PAGE_OFFSET_MASK や crossesPageBoundary などの名前付き定数/ヘルパー、Spinlock/アライメント/パスバリデータのコピーペースト重複ゼロ、同一バージョンの内部パスに対する DEFAULT_GUEST_CANDIDATES のような過去の候補リストフォールバック配列なし、usize の代わりに明示的な固定幅 u64 ABI 型、リテラルを含む @min/@max に明示的な usize 型注釈、500行超えファイルの切り詰めなしでのコンポーネント化、80桁制限、動的バッファ vs 静的バッファ、ポリシーのビルド/実行時設定への外部化、Zig でのオンザフライのバイナリ/ELF/イメージ合成なし、tools/overlay-common/ 内の生成ファイルなし)
      2. パラノイアなセキュリティ専門家(ハイパーバイザーのブラスト半径分離、ゲストメモリ上のシングルコピー・ダブルフェッチ/TOCTOU 防止、atomic.Spinlock による IRQ セーフなロック、暗号/ページのゼロ化、チェック付き算術境界)
      3. Diosix メンテナー(モジュール性、可読性、defer/errdefer、ABI comptime サイズ/オフセットアサーション、外部コントラクトの後方互換性 vs アトミックなツリー内マイグレーション、サブモジュールのテストカバレッジ)
      4. 初心者およびエキスパートユーザー(手間のかからない UX、明確な英語のエラー、設定の柔軟性、パフォーマンス)
  3. Rust スタイルの借用チェッカーおよびポインタ寿命監査:
    • すべての制御フローパスにわたって、すべてのポインタ、スライス、アロケーションを手動でトレースし、Use-After-Free(UAF)、ダブルフリー、リサイズ/リマップ時のポインタ無効化、ぶら下がりスタック参照がゼロであることを保証します。
  4. ドキュメント、スペル、スタイルゲート:
    • docs/ がすべてのコード変更(SBI FID、C 構造体型、CLI フラグ、モジュール化されたファイルパスを含む)と一致し、明確で文法的に正しいアメリカ英語で書かれ、スペルが確認され、docs/style-guide.md および docs/development.md に準拠していることを確認します。
    • レビュー修正後、zig fmt --check build.zig hypervisor tools scripts と ./scripts/build.sh test --summary all を再実行します。
  5. 不明な場合は、リードメンテナーに確認してから進める: レビューでアーキテクチャ上のトレードオフや不足しているプリミティブが明らかになった場合、推測して進めずにリードメンテナーに指示を仰いでください。

集中参照ガイド

各レビュー中に以下の参照チェックリストを参照してください:

  • 4つのレビューペルソナチェックリスト: 懐疑的なベテランエンジニア、パラノイアなセキュリティ専門家、Diosix メンテナー、初心者/エキスパートユーザーのための詳細な検査基準。
  • 借用チェッカー監査: Zig におけるポインタの由来、ライフタイム、エイリアス可変性、クロス権限メモリ安全性をトレースするためのステップバイステップの方法論。
  • コミット前ゲート: devel または stable にコミットまたはマージする前に必要な具体的な検証コマンドとサインオフ基準。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル