audit-project について
audit-projectは、プロジェクトが設計、ドキュメント、提供記録と整合しているかを確認するチーム向けのスキルです。Beadsの状態、コード、読み取り専用のGit証拠を調べ、発見事項の検証または是正追跡を求めます。
主な機能
- 01Beadsの状態とプロジェクト資料を棚卸し
- 02コード・テスト・ドキュメントを照合
- 03読み取り専用のGit変更証拠を確認
- 04ずれを分類して是正作業を記録
- 05修正を再検証し監査状態を報告
活用シーン
- 01大規模な計画サイクル前の整合性確認
- 02実装とドキュメントや設計の差異を発見
- 03移行状況と未解決事項を追跡
- 04監査後の修正を検証しBeadsの状態を公開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ robertderose/ dstack --skill audit-projectインストール後、Claude Code で/audit-projectを入力して読み込まれたか確認します。
詳細
目的
プロジェクトが意図した設計、文書化された動作、提供済み機能の履歴、および現在の Beads の状態に引き続き合致しているかを判断するため、このスキルを定期的に、または大規模な計画サイクルの前に使用します。
共有の信頼契約
このワークフローを実行する前に、
../dstack-core/references/TRUST-AND-AUTHORITY.mdを読み、その指示に従ってください。この契約は、このワークフローにおいて規範となります。このスキルと矛盾する場合は、より制限的な規則に従い、矛盾を報告してください。
起動時のバージョン確認
最初のワークフロー変更を行う前に、audit-projectについて
../dstack-core/references/SKILL-VERSION.mdに従ってください。読み取り専用のインベントリ作業の後、修正を行う前に、出力された正確な1行を取得し、監査証跡に記録してください。staleの結果はnpx skills updateの実行を促します。unavailableの場合は最新性を確認していないことを記録し、オフラインでの作業を妨げないようにします。
監査固有の権限:
- 自動修正は、曖昧さのないローカルドキュメント、ナビゲーション、およびワークフロー状態の調整に限定されます。
- コード、API、セキュリティ境界、アーキテクチャポリシー、または破壊的変更には、ユーザーの明示的な承認または修正用 Beads issue が必要です。
- 監査サブエージェントは読み取り専用です。
実行
1. 情報源のインベントリ作成
次を実行します。
bd prime
bd list --all --label workflow:feature --json
bd ready --json
bd blocked --json
uv run --no-project python scripts/check-docs.py
workflow:featureルートごとに、ライフサイクル状態、設計パス、実装記録パス、ロードマップの項目、および移行状態を含むインベントリ行を作成します。リンクされたすべての成果物、SUMMARY.mdに記載されたすべての永続ページ、ならびに前回の監査以降に変更されたコード、テスト、設定、マイグレーション、コミットを調査します。除外した領域とその理由を記録します。migration/workflow-migration.jsonが存在する場合は、未解決の移行に関する指摘を含め、アクティブな機能がtasks.mdに依存していないことを確認します。
Git 証拠の境界
最近のコミットの比較は、監査に必須の証拠です。読み取り専用の Git 調査(git status、git log、git show、git diff)を使用して比較範囲を特定し、関連する変更を調査してください。コミットの作成、ブランチの切り替え、マージ、プッシュ、履歴の書き換え、その他の Git 変更は行わないでください。bd primeのメッセージに「Git workflow: stealth mode (no git ops)」とあっても、この必須証拠を黙って省略してよい理由にはなりません。また、このメッセージをこのスキルに記載されたブランチをプッシュしない規則と混同してはなりません。
実行環境で読み取り専用の Git 調査さえ実際に禁止されている場合は、audit state: incompleteと報告し、Git 証拠が監査を妨げる制約であることを明記してください。その証拠を単なる除外項目として説明したり、監査が完了したと主張したりしないでください。最終報告には、調査した正確なコミット範囲、または読み取り専用の Git 証拠を取得できなかったため監査が未完了であることのいずれかを記載してください。
2. システムを比較する
次の点を確認します。
- 設計または必須の提供記録が欠けている Beads 機能。
- クローズ済みなのに、計画中または一部実装として示されている機能。
- 対応する提供済み Beads 状態がない実装済み機能ページ。
- 読者向けドキュメントと矛盾するコードの動作。
- 文書化された境界や不変条件に違反する実装。
- 根拠のない設計判断の変更。
- 古くなったコマンド、設定、インターフェース、スキーマ、フィールド、状態、デフォルト、制限、用語。
- 古い動作を示すテスト、または文書化された契約を十分にテストしていないテスト。
- 先送りされた作業が、知らないうちに実装された、放棄された、またはブロッカーのままになっている状態。
- 重複、競合、または孤立した機能タスク。
SUMMARY.mdに記載されていない永続ページ。- レガシーな
tasks.md、includeベースの機能ページ、または未解決の移行状態の不整合。
3. ドリフトを分類する
次を使用します。
intentional evolution requiring documentation reconciliation
implementation defect
stale documentation
stale feature design or delivery record
workflow-state mismatch
migration-state mismatch
unresolved design decision
missing validation evidence
4. 是正作業を記録する
明確でローカルに適用できるドキュメントの修正を行います。残りの作業については Beads のイシューを作成し、適切に
discovered-from、related、または blocks で関連付けます。正確なファイル、根拠、期待される解決策、受け入れ条件、
重大度を記載します。
機能に関連するずれについては、次のとおりです。
bd create "Reconcile <finding>" \
--type task \
--deps discovered-from:<feature-root-or-task> \
--labels audit:drift \
--json
未解決のずれによって以降の作業が安全に進められなくなる場合に限り、ブロッキング依存関係を設定します。
修正を行った後は、修正によって古くなった検証結果を破棄します。最終ファイルを対象に
uv run --no-project python scripts/check-docs.py と、影響を受けるすべてのフォーマッター、リンター、ビルド、テスト、マイグレーション、
機能固有のチェックを再実行します。正確なコマンド、結果、スキップしたチェック、制約を記録します。
修正前の結果を根拠に、修正を検証済みと報告してはいけません。監査が完了となるのは、すべての指摘事項が修正されて 再検証されるか、是正イシューに関連付けられるか、残存リスクとして明示的に受け入れられた場合に限ります。
5. 変更した Beads の状態を公開する
監査によって Beads のレコードが作成または更新された場合、/audit-project の呼び出しは、最終検証の後に、リポジトリで
すでに設定されているネイティブの Dolt リモートへの通常の非 force 公開を1回行うことを許可します。
bd dolt remote list --json
bd dolt push
この権限は、リモートの作成や置き換え、force-push、Git ブランチへの push を許可するものではありません。Beads に変更がなければ push しないでください。
ネイティブのリモートが設定されていない場合、または push に失敗した場合は、ローカルのレコードを保持し、
audit publication blocked と報告してください。是正作業が共有されたと主張してはいけません。
指摘事項を重大度順に返し、意図的か偶発的かの分類、ファイルと Beads ID、適用した修正、作成した是正イシュー、ブロックされた作業、
公開の根拠、Git の比較範囲、推奨する次のアクションを記載します。明示的なステータス行は1つだけ含めてください。必要な根拠をすべて調査し、
すべての指摘事項が修正されるか、是正イシューに関連付けられるか、残存リスクとして明示的に受け入れられた場合に限り、
audit state: complete とします。それ以外の場合は audit state: incomplete とし、不足している根拠または未解決の作業を明記します。
Beads の公開に成功しても、未完了の監査が完了に変わることはありません。根拠のステータスには次の形式を使用します。
Git evidence: compared <base>..<head> with read-only Git inspection.
Audit state: complete
Git の調査ができない場合は、1行目を Git evidence: unavailable — <reason> に置き換え、Audit state: incomplete を使用します。
比較を単に除外したとする文は使用しないでください。