agentleFS
troskatertroskater/flowdeck-claude/skills/fd-codenav/SKILL.md

fd-codenav

Skill0 starsChanged 23 days agoMITView on GitHub

How FlowDeck explores code and measures blast radius. Use when mapping a codebase, finding the callers or dependents of a file or symbol, or checking which files a change affects. LSP first, then Grep, Glob and Read, with Explore for broad sweeps.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use the cheapest tool that answers the question.

    line 9
  2. Distinctive:

    Check LSP once per task, on one representative file.

    line 17
  3. Very specific:

    Read only the lines you need.

    line 30
  4. Very specific:

    Import patterns for the Grep fallback: JS/TS from '…', require('…'), import('…').

    line 40

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Code navigation

Use the cheapest tool that answers the question. Do not shell out to grep, find or cat when Grep, Glob and Read exist.

Order of tools

  1. LSP, when a code-intelligence plugin is active for the language: definition, references, call hierarchy, implementations, document symbols, workspace symbol search.
  2. Grep, Glob, Read otherwise.
  3. Explore subagent for broad sweeps across independent areas. It is read-only and does not see CLAUDE.md, so put every fact it needs in the prompt. Ask for quick, medium or very thorough.

Check LSP once per task, on one representative file. If the call errors or reports no server, switch to Grep for the rest of the task and say so in your output. Do not retry.

What to use for what

QuestionLSPFallback
Where is symbol X defineddefinitionGrep class X|function X|def X|fn X|type X, scoped by type or glob
Who uses Xreferences, call hierarchyGrep \bX\b, output_mode: files_with_matches first
What does this file exposedocument symbolsRead the first ~60 lines, then Grep the export or definition keywords
What implements interface XimplementationsGrep implements X|: X\b|impl X
Find a symbol by nameworkspace symbol searchGrep, then Glob for file names
What is in this big filedocument symbols, then Read offset/limitGrep -n for the section, then Read a window

Read only the lines you need. Use Grep files_with_matches or count before content, and set head_limit on content searches.

Blast radius for a set of files

  1. For each file, list its exported or public symbols (LSP document symbols, else Grep the export keywords). Cap at 15 symbols per file, exported first.
  2. Find the references to each symbol (LSP references, else Grep \bsymbol\b). Collect the distinct referencing files.
  3. Grep once per file for its module path and file name. This catches config, docs, build files, string-based and dynamic imports that LSP does not see.
  4. Glob for the matching test files (*.test.*, *_test.*, test_*, *.spec.*, tests/) and note which referencing files are tests.
  5. Report: dependents not already in the affected set, which affected files have no test file, and which task pairs share a file.

Import patterns for the Grep fallback: JS/TS from '…', require('…'), import('…'); Python import x, from x import; Go the import path string; Rust use, mod; Java import and the fully qualified name.

What to record

State the source in the artifact: Source: LSP or Source: Grep (text-based; misses dynamic imports and generated code). If you capped symbols or stopped early, say so.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.