tldr-deep について
tldr-deep は、関数のデバッグや詳細な理解に使う開発者向けのコード分析スキルです。構造、呼び出しグラフ、制御フロー、データフロー、依存関係を5層で調べます。
主な機能
- 015層の関数分析
- 02AST構造の確認
- 03呼び出しグラフの調査
- 04制御フローとデータフローの分析
- 05依存関係のスライス
- 06Python APIからの利用
活用シーン
- 01複雑な関数の実行経路の追跡
- 02リファクタリング前の依存確認
- 03複雑なコードのレビュー
- 04複雑度の高い箇所の発見
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ parcadei/ continuous-claude-v3 --skill tldr-deepインストール後、Claude Code で/tldr-deepを入力して読み込まれたか確認します。
詳細
TLDR ディープ分析
特定の関数を5層すべてで分析します。デバッグやコードを深く理解する場合に使用します。
トリガー
/tldr-deep <function_name>- 「関数 X を詳しく分析して」
- 「Y の仕組みを深く理解したい」
- 複雑な関数のデバッグ
レイヤー
| レイヤー | 目的 | コマンド |
|---|---|---|
| L1: AST | 構造 | tldr extract <file> |
| L2: Call Graph | ナビゲーション | tldr context <func> --depth 2 |
| L3: CFG | 複雑さ | tldr cfg <file> <func> |
| L4: DFG | データフロー | tldr dfg <file> <func> |
| L5: Slice | 依存関係 | tldr slice <file> <func> <line> |
実行
関数名を指定して、すべてのレイヤーを実行します。
# First find the file
tldr search "def <function_name>" .
# Then run each layer
tldr extract <found_file> # L1: Full file structure
tldr context <function_name> --project . --depth 2 # L2: Call graph
tldr cfg <found_file> <function_name> # L3: Control flow
tldr dfg <found_file> <function_name> # L4: Data flow
tldr slice <found_file> <function_name> <target_line> # L5: Slice
出力形式
## Deep Analysis: {function_name}
### L1: Structure (AST)
File: {file_path}
Signature: {signature}
Docstring: {docstring}
### L2: Call Graph
Calls: {list of functions this calls}
Called by: {list of functions that call this}
### L3: Control Flow (CFG)
Blocks: {N}
Cyclomatic Complexity: {M}
[Hot if M > 10]
Branches:
- if: line X
- for: line Y
- ...
### L4: Data Flow (DFG)
Variables defined:
- {var1} @ line X
- {var2} @ line Y
Variables used:
- {var1} @ lines [A, B, C]
- {var2} @ lines [D, E]
### L5: Program Slice (affecting line {target})
Lines in slice: {N}
Key dependencies:
- line X → line Y (data)
- line A → line B (control)
---
Total: ~{tokens} tokens (95% savings vs raw file)
使用する場面
- デバッグ - 関数内のすべての経路を理解する必要がある場合
- リファクタリング - 何が何に依存しているかを把握する必要がある場合
- コードレビュー - 複雑な関数を分析する場合
- パフォーマンス - ホットスポットを見つける場合(サイクロマティック複雑度が高い箇所)
プログラム API
from tldr.api import (
extract_file,
get_relevant_context,
get_cfg_context,
get_dfg_context,
get_slice
)
# All layers for one function
file_info = extract_file("src/processor.py")
context = get_relevant_context("src/", "process_data", depth=2)
cfg = get_cfg_context("src/processor.py", "process_data")
dfg = get_dfg_context("src/processor.py", "process_data")
slice_lines = get_slice("src/processor.py", "process_data", target_line=42)
コメント
Markdown 対応