codebase-packager について
Repomix、Gitingest、llm-tldr でリポジトリのコンテキストをまとめるコードベース分析スキルです。大規模または未知のプロジェクトを調べる際の、エージェントや開発者のプロンプト負荷を抑えます。
主な機能
- 01Repomix による圧縮コンテキスト作成
- 02Gitingest によるリポジトリ要約
- 03呼び出しグラフと影響範囲の追跡
- 04コードのセマンティック検索
- 05アーキテクチャと未使用コードの分析
- 06AST によるファイル抽出
活用シーン
- 01未知のリポジトリの把握
- 02ファイル間の依存関係の追跡
- 03大規模コードベースの AI 用コンテキスト作成
- 04編集前の変更影響の評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oakoss/ agent-skills --skill codebase-packagerインストール後、Claude Code で/codebase-packagerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/context-engineering-patterns.mdrepomix-gitingest-mastery.mdsemantic-graph-analysis.md詳細
TLDR Expert
概要
セマンティックレイヤー、構造化ダイジェスト、高度なコンテキストパッケージングにより、トークンコストを大幅に抑えながら、コードベースを高い忠実度で把握できます。コンテキストのパッキングには Repomix、リポジトリのダイジェストには Gitingest、グラフベースのコード分析には llm-tldr を組み合わせます。
使用する場面: 大規模なコードベースでプロンプトのオーバーヘッドを削減する場合、見慣れないリポジトリのオンボーディング、ファイル間の依存関係のマッピング、AI に最適化されたコンテキストバンドルの作成。
使用しない場面: 小規模な単一ファイルのタスク、最終実装のデバッグ(ファイル全体を読みます)、リアルタイムのコード編集。
クイックリファレンス
| パターン | ツール/コマンド | 主なポイント |
|---|---|---|
| コンテキストのパッキング | repomix --include "src/**" --compress | サブディレクトリを AI に最適化されたバンドルにまとめる |
| シグネチャのみ | repomix --include "src/**" --compress | 圧縮によって Tree-sitter を使用してシグネチャを抽出する |
| リポジトリのダイジェスト | gitingest . -o digest.txt | オンボーディングを迅速に進めるためのプロンプト向け要約 |
| 依存関係のコンテキスト | tldr context funcName --project . | トークンを 95% 節約しながら、関数の LLM 向けコンテキストを取得 |
| 呼び出し元の追跡 | tldr impact functionName . | 変更の影響範囲を評価するための逆方向の呼び出しグラフ |
| 順方向の呼び出しグラフ | tldr calls . | プロジェクト全体の順方向の呼び出しグラフを作成する |
| セマンティック検索 | tldr semantic "session expiry" . | 命名に一貫性がない場合に、意味を手がかりとしてロジックを検索する |
| アーキテクチャ監査 | tldr arch . | 循環依存、レイヤー違反、デッドコードを検出する |
| デッドコードの検出 | tldr dead . | 呼び出し元がない到達不能な関数を見つける |
| ファイルの抽出 | tldr extract src/file.ts | ファイルから AST(関数、クラス、インポート)を抽出する |
| シークレットのスキャン | Repomix 組み込みの secretlint | コンテキストバンドルにキーや個人識別情報が含まれていないことを確認する |
よくある間違い
| 間違い | 正しいパターン |
|---|---|
| 構造を先に確認せず、大きなファイル全体を読む | tldr extract を実行してシグネチャを取得してから、ファイル全体を読む |
ファイル間の依存関係の追跡に grep を使う | 動的インポートを認識する逆方向の呼び出しグラフには tldr impact を使う |
node_modules や dist をコンテキストバンドルに含める | Repomix の除外リストを設定し、生成物やベンダーディレクトリを除外する |
| セマンティック検索の結果が網羅的だと思い込む | 上位の一致結果を実際のソースと照合し、rg で相互参照する |
| 大きなディレクトリで圧縮せずに Repomix を実行する | --compress フラグを使って、コンテキストウィンドウの制限内に収める |
| シグナルの品質を損なう無関係なコンテキストを含める | インデックス、シグネチャ、コアロジック、隣接するコンテキストの順に、上位から優先する |
委任
- リポジトリ構造の把握:
Exploreエージェントを使って、コンテキストバンドルを作成する前にディレクトリ構成をマッピングし、主要なモジュールを特定します - 複数ステップのコンテキストパッキングワークフロー:
Taskエージェントを使って、Gitingest によるダイジェストの作成、Repomix による圧縮、llm-tldr によるインデックス作成を順番に実行します - アーキテクチャの分析と計画:
Planエージェントを使って、大規模なモノレポ向けのコンテキストエンジニアリング戦略を設計します
参考資料
- コンテキストエンジニアリングのパターン -- パッキング戦略、XML タグ付け、シグナル対ノイズの最適化、ウォームアッププロンプト
- Repomix と Gitingest の使いこなし -- 設定、圧縮モード、ダイジェストの生成、Tree-sitter による抽出
- セマンティックグラフ分析 -- llm-tldr CLI ツール、影響分析、セマンティック検索、アーキテクチャ監査
コメント
Markdown 対応