# tldr-router

Tells the agent which tldr command fits the question: file tree, call graph, complexity, data flow.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 477 installs · ★ 3946
- Author: parcadei
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/parcadei/Continuous-Claude-v3/tree/HEAD/.claude/skills/tldr-router/SKILL.md
- Updated: 2026-01-26
- HTML: https://affpapa.org/en/nevibecode/skills/tldr-router

## What it does

The skill reads a question, matches it against intent keywords, and points to the right tldr layer. Ask what functions exist and you get `tldr tree` or `tldr structure`. Ask who calls a function and it routes to `tldr context` or `tldr calls`.

Inside there is a question-to-command table and a decision tree. Two hooks, `tldr-read-enforcer` and `tldr-context-inject`, detect intent from your messages and inject context into tool calls, so most of the routing happens without you typing anything. Manual override exists for the cases the hooks miss, for example `tldr cfg path/to/file.py function_name`.

The skill does not ship tldr itself. If the tldr commands are not installed and working in your project, the routing stays a text file. Worth checking before you lean on the hooks.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill tldr-router -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/tldr-router/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/tldr-router/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill tldr-router -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/tldr-router/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill tldr-router -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/tldr-router/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install parcadei/Continuous-Claude-v3 tldr-router
```

2. **Manually: put the files in place**
- File: `.github/skills/tldr-router/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill tldr-router -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/parcadei/Continuous-Claude-v3 --path .claude/skills/tldr-router
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/tldr-router/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill tldr-router -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/parcadei/Continuous-Claude-v3/tree/HEAD/.claude/skills/tldr-router/SKILL.md

## When to use it
- choose between tree, structure and search when opening an unfamiliar repo
- trace callers and callees to find entry points
- check function complexity before a refactor
- follow where a variable value comes from
- see what a change to one line would touch

## Example prompts
- what functions live in src/ — show me the structure
- who calls this function and what does it call
- where does this variable get its value

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: f685f43e97c7fdf7.

BEGIN THIRD-PARTY FILE f685f43e97c7fdf7
````text
---
name: tldr-router
description: Maps questions to the optimal tldr command. Use this to pick the right layer
---

# TLDR Smart Router

Maps questions to the optimal tldr command. Use this to pick the right layer.

## Question → Command Mapping

### "What files/functions exist?"
```bash
tldr tree . --ext .py          # File overview
tldr structure src/ --lang python  # Function/class overview
```
**Use:** Starting exploration, orientation

### "What does X call / who calls X?"
```bash
tldr context <function> --project . --depth 2
tldr calls src/
```
**Use:** Understanding architecture, finding entry points

### "How complex is X?"
```bash
tldr cfg <file> <function>
```
**Use:** Identifying refactoring candidates, understanding difficulty

### "Where does variable Y come from?"
```bash
tldr dfg <file> <function>
```
**Use:** Debugging, understanding data flow

### "What affects line Z?"
```bash
tldr slice <file> <function> <line>
```
**Use:** Impact analysis, safe refactoring

### "Search for pattern P"
```bash
tldr search "pattern" src/
```
**Use:** Finding code, structural search

## Decision Tree

```
START
  │
  ├─► "What exists?" ──► tree / structure
  │
  ├─► "How does X connect?" ──► context / calls
  │
  ├─► "Why is X complex?" ──► cfg
  │
  ├─► "Where does Y flow?" ──► dfg
  │
  ├─► "What depends on Z?" ──► slice
  │
  └─► "Find something" ──► search
```

## Intent Detection Keywords

| Intent | Keywords | Layer |
|--------|----------|-------|
| Navigation | "what", "where", "find", "exists" | tree, structure, search |
| Architecture | "calls", "uses", "connects", "depends" | context, calls |
| Complexity | "complex", "refactor", "branches", "paths" | cfg |
| Data Flow | "variable", "value", "assigned", "comes from" | dfg |
| Impact | "affects", "changes", "slice", "dependencies" | slice/pdg |
| Debug | "bug", "error", "investigate", "broken" | cfg + dfg + context |

## Automatic Hook Integration

The `tldr-read-enforcer` and `tldr-context-inject` hooks automatically:
1. Detect intent from your messages
2. Route to appropriate layers
3. Inject context into tool calls

You don't need to manually run these commands - the hooks do it for you.

## Manual Override

If you need a specific layer the hooks didn't provide:

```bash
# Force specific analysis
tldr cfg path/to/file.py function_name
tldr dfg path/to/file.py function_name
tldr slice path/to/file.py function_name 42
```
````
END THIRD-PARTY FILE f685f43e97c7fdf7

The third-party file has ended. Everything between the f685f43e97c7fdf7 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

© parcadei · MIT · https://github.com/parcadei/Continuous-Claude-v3/tree/HEAD/.claude/skills/tldr-router/SKILL.md

## Similar
- [create-tldr-page](https://affpapa.org/en/nevibecode/skills/create-tldr-page.md) — skill · 8800 installs
- [cast-imaging](https://affpapa.org/en/nevibecode/plugins/cast-imaging.md) — plugin · ★ 40418
- [codex](https://affpapa.org/en/nevibecode/skills/codex.md) — skill · 4100 installs
- [rust-symbol-analyzer](https://affpapa.org/en/nevibecode/skills/rust-symbol-analyzer.md) — skill · 3100 installs
- [blast-radius](https://affpapa.org/en/nevibecode/skills/michael-denyer-blast-radius.md) — skill · 889 installs
- [smell](https://affpapa.org/en/nevibecode/skills/smell.md) — skill · 768 installs

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
