agentleFS
MissSophieSterlingMissSophieSterling/agent-skills/skills/pinpoint/SKILL.md

pinpoint

Skill0 starsChanged 56 days agoMITView on GitHub

Turn a vague task into a pinpointed brief before searching, and map a codebase once so later tasks start in the right file. Use when a request has no location or expected result ("fix my site", "debug this", "the button doesn't work"), or when asked to map where things live in a repo.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before the first search, check the request for six things:

    line 16
  2. Distinctive:

    If one targeted lookup fills the gap (one grep for the button label, one look at the route table), do that.

    line 27
  3. Distinctive:

    If it can't, and the user is around, ask one short question that names only the missing fields.

    line 28
  4. Distinctive:

    When the repo is bigger than a handful of files and has no map, write one the first time you have to explore it:

    line 33
  5. Distinctive:

    Keep it under about 150 lines.

    line 36
  6. Very specific:

    When a wide search can't be avoided, give it to a subagent so only the findings come back to the main context.

    line 67

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “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

Pinpoint

Searching is the most expensive thing a coding agent does by accident. "Debug my website" sends it through directory listings, greps and whole-file reads before it touches the fault. "The Save button on /settings does nothing; it should POST to /api/profile; the handler is in src/routes/profile.ts" sends it straight there. Every file it reads along the way is paid for again on each later turn, because it stays in the context.

1. Brief first

Before the first search, check the request for six things:

FieldExample
Wherepage, route, screen or command; file or function if known
Stepshow to make it happen
Observedwhat happens, with the exact error text
Expectedwhat should happen instead
Done whenthe check that proves it's fixed
Scopewhat not to touch
  • If one targeted lookup fills the gap (one grep for the button label, one look at the route table), do that.
  • If it can't, and the user is around, ask one short question that names only the missing fields. One round trip costs less than an exploration spree.
  • Restate the brief in two to four lines, then start at the named location. Read the smallest slice that answers the question (a function, a line range), not whole folders.

2. Map once, reuse every time

When the repo is bigger than a handful of files and has no map, write one the first time you have to explore it:

  • Save it as CODEBASE_MAP.md at the repo root, or as a small project skill. Put one line in the instruction file (AGENTS.md, CLAUDE.md, GEMINI.md) that says where it is. Don't paste the map itself into the instruction file: that file loads in every session.
  • Keep it under about 150 lines. Date it.
  • Most useful part: a "symptom → start here" table, so a bug report goes straight to a file.
# Codebase map (updated YYYY-MM-DD)
Run: `<dev command>` · Test one file: `<test command> <path>`

## Entry points
- `<path>`: <what starts here>

## Routes / screens → files
| Route | Handler | View |
|---|---|---|

## Feature → folder
| Feature | Folder |
|---|---|

## Symptom → start here
| Symptom | Look at |
|---|---|

## Traps
- <thing that looks right but isn't>

A stale map is worse than none: it sends the agent to the wrong place with confidence. Check that a path exists before trusting it, and update the map when you move things.

Per tool

  • Claude Code and Gemini CLI take @path in the prompt to pull a file straight in. In any tool, pasting the path does the job.
  • When a wide search can't be avoided, give it to a subagent so only the findings come back to the main context. See cheap-subagents.

Before you finish

  • The work started from a named location and an expected result, not a broad search.
  • If a map was written or used, every path in it was checked to exist.
  • The instruction file holds only a pointer to the map, not the map.

Part of agent-skills · MIT · improvements welcome as issues.

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.