Community研究&データ分析github.com

dofastted/AgentDock

包括仕様準拠、リンター、型チェック、テスト、クロスレイヤーデータフロー、コード再利用、一貫性チェックを含む包括的な品質検証。コード作成後の品質確認やコミット前のチェック、長時間セッション中のコンテキスト逸脱検出に使用します。

AgentDock とは?

AgentDockのCode Quality Checkスキルは、最近作成されたコードに対して総合的な品質検証を実行するためのものです。git diffによる変更ファイルの特定、PRDや設計書といったタスク成果物や仕様書の読み取り、リンターや型チェッカー、テストの実行、コード品質・テストカバレッジ・仕様同期・スコープ規律・クロスレイヤー次元(データフロー、コード再利用、インポート依存、同一レイヤー一貫性)に関するチェックリストの確認、そして発見された違反の報告と修正という6つのステップで構成されています。このスキルは、Claude CodeなどのAIエージェントが自律的にコード品質を評価し、機械的な問題(リントエラーや型ミスなど)はその場で修正し、設計上の判断が必要な問題は証拠と推奨事項を記録して停止することで、タスクの範囲を超えた変更を防ぎながら高品質なコードベースを維持するのに役立ちます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dofastted/AgentDock/tree/HEAD/.claude/skills/trellis-check

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

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

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

ドキュメント

コード品質チェック

最近作成されたコードの包括的な品質検証。仕様準拠、クロスレイヤーの安全性、コミット前チェックを組み合わせます。


ステップ 1: 変更内容を特定

git diff --name-only HEAD
git status

ステップ 2: タスク成果物と該当仕様を読み込む

現在のタスク成果物を順に読み込みます:

  • prd.md
  • design.md(存在する場合)
  • implement.md(存在する場合)
python3 ./.trellis/scripts/get_context.py --mode packages

変更されたパッケージ/レイヤーごとに、仕様インデックスを読み込み、その品質チェックセクションに従います:

cat .trellis/spec/<package>/<layer>/index.md

参照されている特定のガイドラインファイルを読み込みます。インデックスは単なるポインタであり、目的そのものではありません。

ステップ 3: プロジェクトチェックを実行

プロジェクトのリンター、型チェック、テストコマンドを実行します。失敗箇所があれば修正してから先に進みます。

ステップ 4: チェックリストに照らして確認

コード品質

  • リンターはパスするか?
  • 型チェッカーはパスするか(該当する場合)?
  • テストはパスするか?
  • デバッグログが残っていないか?
  • 抑制された警告や型安全性のバイパスはないか?

テストカバレッジ

  • 新しい関数がある → 単体テストは追加されたか?
  • バグ修正をした → 回帰テストは追加されたか?
  • 動作を変更した → 既存のテストは更新されたか?

仕様同期

  • .trellis/spec/ の更新が必要か?(新しいパターン、規約、学んだ教訓)

「バグを修正したり、自明でないことを発見した場合、将来同じ問題に直面しないように文書化すべきか?」→ YESの場合は、関連する仕様ドキュメントを更新します。

スコープ規律

  • タスクで必要とされなかったコードの整理をしていないか?
  • まだ存在しないユースケースのために抽象化、設定、拡張ポイントを追加していないか?
  • 発生し得ない状態に対する推測によるフォールバックを追加していないか?
  • 受け入れ基準に記載されていないファイルを変更していないか?
  • 実際の動作が存在する場所ではなく、呼び出し元で回避策を追加していないか?

ステップ 5: クロスレイヤー次元(該当する場合)

変更が単一レイヤーに限定されている場合は、このステップをスキップします。

A. データフロー(変更が3つ以上のレイヤーにまたがる場合)

  • 読み取りフローが正しくトレースされるか:ストレージ → サービス → API → UI
  • 書き込みフローが正しくトレースされるか:UI → API → サービス → ストレージ
  • 型/スキーマがレイヤー間で正しく受け渡されているか?
  • エラーが呼び出し元に適切に伝播されているか?

B. コード再利用(定数の変更、ユーティリティの作成)

  • 新しいコードを作成する前に、既存の類似コードを検索したか?
    grep -r "pattern" src/
    
  • 同じ値が繰り返される場合、それは呼び出し元が一緒に変更しなければならない安定した単一の概念を表しているか?その場合にのみ抽出します。単に今日たまたま一致している2つのリテラルは分離したままにすべきです。
  • 一括変更後、すべての出現箇所が更新されたか?

C. インポート/依存(新しいファイルを作成する場合)

  • インポートパスは正しいか(相対 vs 絶対)?
  • 循環依存はないか?

D. 同一レイヤー内の一貫性

  • 同じ概念を使用している他の場所と一貫性があるか?

ステップ 6: 報告と修正

見つけたすべての違反を報告します。その後:

  • 機械的で局所的なもの(リントの細かい指摘、型の欠落、誤ったインポート、デッドブランチ、失敗するアサーション)→ その場で修正し、プロジェクトチェックを再実行します。
  • 設計や判断に関するもの(共有概念の命名、モジュール境界の移動、パブリックインターフェースの変更、動作の割り当て場所の変更)→ 証拠と推奨事項を記録して停止します。黙って書き換えてはいけません。

修正が現在のタスクの範囲外のファイルに及ぶ場合は、その旨を伝えて、変更を広げずに停止します。

Individual skills in this repo

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

関連スキル