agentleFS
scottcarlsonscottcarlson/skills/skills/engineering/where-am-i/SKILL.md

where-am-i

Skill1 starsChanged 3 months agoMITView on GitHub

Turns this repo's GitHub issues into a status map — done, blocked, ready for an agent, ready for you — and calls out what can run concurrently and what HITL work you can take while agents churn. Works in a fresh session or mid-pipeline. Takes an optional spec or wayfinder-map issue number to scope and re-align. Invoke as `/where-am-i` or `/where-am-i 42`.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. ferocknew/claude_code_public_skills★ 9same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository10 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is 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.

  • 1

    Very specific

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

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

    If it's labeled wayfinder:map, its children are the scope.

    line 21
  2. Distinctive:

    Don't guess at an unclassified issue's status from its title.

    line 58

≈ “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

Where Am I

Why this skill exists, the failure it prevents, and when not to use it: WHY.md.

One job: turn the tracker into a status map. Read every issue relevant to the current effort, classify it, and report what's done, blocked, ready to hand an agent, and ready to hand a human — plus what's safe to run concurrently right now. It does not triage, plan, size, or implement anything, and it writes nothing back to the tracker.

Process

1. Resolve the repo and the scope

Confirm the current directory is a git repo with a GitHub remote (gh repo view).

  • Argument given (an issue number): treat it as the spec or map to re-align against.
    • If it's labeled wayfinder:map, its children are the scope.
    • Otherwise treat it as a plain parent issue — the scope is that issue plus every open or closed issue whose body references it (a Parent #<N> line, or a native sub-issue relationship).
  • No argument: look for exactly one open issue labeled wayfinder:map — if found, use it as the scope. Otherwise, list open issues and check whether they share a common Parent #<N>; use that as the scope. If you find several unrelated efforts live at once (more than one open map, or issues pointing at different parents), list what you found and ask which one before continuing — don't guess.

2. Gather — delegate the bulk read

A live effort can run to dozens of issues once labels, assignees, dependencies, and bodies are all counted. Pulling all of that into this session just to throw most of it away is the same bulk-read mistake every other skill in this pipeline avoids. Dispatch a single general-purpose subagent (tell it to invoke the terse skill first) to do the fetching and hand back a structured digest, not the raw issues.

The subagent should, for the resolved scope:

gh issue list --state all --json number,title,state,labels,assignees,body

then, for every open issue in scope, its native blocking summary:

gh api repos/<owner>/<repo>/issues/<n> --jq '{number, blocked_by: .issue_dependencies_summary.blocked_by}'

Where native dependencies aren't available, fall back to parsing a Blocked by: #<n>, #<n> line from the issue body — the same convention /to-tickets and /wayfinder both write.

Have it return one row per issue: number, title, state, labels, assignee (or none), blocked_by (only the still-open blockers), wayfinder-type (if a wayfinder:<type> label is present).

3. Classify each issue

Apply these rules in order — first match wins:

StatusRule
Donestate == closed
In progressopen, has an assignee
Blockedopen, unassigned, blocked_by is non-empty
Ready for agentopen, unassigned, no open blockers, labeled ready-for-agent or wayfinder:research
Ready for you (HITL)open, unassigned, no open blockers, labeled ready-for-human or wayfinder:grilling/wayfinder:prototype/wayfinder:task
Unclassifiedanything left over — an open, unblocked, unassigned issue with none of the above labels

Don't guess at an unclassified issue's status from its title. Report it as unclassified and say what label is missing; that's a tracker-hygiene gap worth surfacing, not papering over.

Leverage. For each issue currently in Blocked, note which of its open blockers are themselves classified Ready for you (HITL). Count, for each such HITL-ready issue, how many blocked issues it gates. This is the number that matters most: resolving a high-count HITL ticket is what turns the next batch of work agent-ready, so it should outrank a low-count one even if both are "ready now."

4. Render the table

Order sections the way you'd act on them, not alphabetically or by issue number:

  1. Ready for agent now — every issue here can be dispatched concurrently, one fresh session per issue. Say so explicitly: "N issues, all independent, all startable now."
  2. Ready for you (HITL) — what to pick up by hand while the agents run. Sort by leverage (issues-unblocked) descending, and name the count next to each: "resolves → unblocks 3 more."
  3. Blocked — each with its still-open blocker(s) named.
  4. In progress — already claimed, and by whom.
  5. Done — closed issues, for orientation only; keep this one short (count + list of titles is enough, skip the detail columns).
  6. Unclassified, if any — flag, don't sort into a bucket.

One small table per section (# | Title | Blocked by / Unblocks | Assignee — drop whichever columns are empty across the whole section) reads more clearly here than one big table with a Status column, because the sections themselves carry the status.

5. Re-align (only when a spec/map number was given)

Sanity-check the parent against its children, and say what you find even when nothing's wrong:

  • The parent is closed but children are still open, or vice versa.
  • A child references a parent that doesn't match the one given.
  • For a wayfinder map: the map's Destination no longer matches what the open children are actually working toward.

6. Stop

Report the table and any re-align findings. Take no further action — no labeling, claiming, closing, or ticket drafting. If something in the report calls for action, say what and let the user decide.

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.