agentleFS
xiaolongnkxiaolongnk/SuperHarness/skills/route/SKILL.md

route

Skill4 starsChanged 48 days agoMITView on GitHub

Route a requirement to the project(s) that own it via the project registry, read each project's runtime tier, then delegate a tier-appropriate brief — splitting into parallel briefs when the requirement spans more than one project

17 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use prototype.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GoogleSkill

    prototype

    Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 16 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

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

    Record before delegating: Write the task into the owning project's board (docs/tasks/<project>.md, per the durable-task-state discipline) …

    line 47
  2. Very specific:

    Track to completion: When a coworker ACKs, update that project's board (move the item to *Recently shipped* — with the commit SHA for a …

    line 55
  3. Distinctive:

    Every requirement has exactly one place it belongs.

    line 62

“Common” is measured: kept by at least 6 in 10 of the 16 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

Turns "here's a thing that needs doing" into "here's who does it and the brief they're working from." The manager's entry point for a single inbound requirement (contrast with portfolio-triage, which surfaces work proactively across everything).

Arguments: route <requirement description or task-board item> (Optional prefix: route --project <name> <requirement> to skip lookup when the owner is already known.)

Steps

  1. Read the registry. Parse the live registry docs/portfolio-registry.md (created from templates/project-registry.md) — ONLY the rows between its <!-- projects:start --> / <!-- projects:end --> markers. That block is the routing table (project · tier · responsibilities · keywords). IGNORE every other table in the file — the tier→policy table uses the same pipe/backtick shape and is NOT a project list. See docs/portfolio.md §3. Do not guess an owner from the requirement text alone; match it against the registry's stated responsibilities.
  2. Identify the owning project(s).
    • Single owner — the common case. Confirm the match against the registry entry's stated responsibilities, not just a keyword hit (a keyword can be ambiguous across two projects).
    • Spans multiple projects — split into one independent requirement per project. Each split must be self-contained: a sub-agent executing it should not need the other projects' context to do its part. Note the dependency order if one project's output blocks another's (e.g. a shared schema change must land before the consumer).
    • No match — the requirement doesn't map to any registered project. Do not force it onto the closest-sounding one; either register a new project first (see docs/portfolio.md for the onboarding steps) or hand it back for scoping.
  3. Read the owning project's runtime tier off the registry's Tier column (docs/portfolio.md §2) — personal or work. This decides the handling the brief must carry, not just which repo to touch:
    • personal → the brief says: commit direct to main, push when done, no branch, no PR.
    • work → the brief says: create a feature branch, open a PR, and stop there — do not merge without the review gate. Note the worktree the coworker should use for isolation. For a cross-project split, read each project's tier independently — a single requirement can legitimately fan out into one personal-tier brief and one work-tier brief with two different handlings.
  4. Enrich each brief before dispatch. A bare requirement sentence is not a brief. Add: the objective, the acceptance criteria (what "done" looks like, concretely), the tier's handling from step 3, and any constraint the owning project's agents/<project>.md calls out (must-NOT-do scope, conventions). A coworker should never have to re-derive intent, or the right-sized workflow, from a one-liner.
  5. Record before delegating. Write the task into the owning project's board (docs/tasks/<project>.md, per the durable-task-state discipline) as in-progress, so it survives a /clear even if the delegation itself is still running.
  6. Delegate. Dispatch each project's brief (addressing and submitting the dispatch is your own execution setup's job — out of scope for this repo). Multiple projects → multiple parallel dispatches in the same pass — don't serialize independent work. Same-project multiple tasks may be merged into one brief or sequenced by dependency.
  7. Track to completion. When a coworker ACKs, update that project's board (move the item to Recently shipped — with the commit SHA for a personal-tier project, or the PR link for a work-tier one — or the next queued step) before considering the route closed. A route that dispatches but never confirms completion isn't done — it's dangling.

Why this exists

Every requirement has exactly one place it belongs; guessing costs a wrong delegation and a redo. route makes "who owns this" a lookup against a written registry instead of a judgment call repeated from scratch every time, and makes "does this span projects" an explicit branch instead of an implicit assumption that everything is one project's problem. Reading the tier before dispatch is what stops a route-generated brief from imposing the wrong workflow — PR ceremony on a solo project, or a direct-to-main commit on a shared one — which is the single most common way a portfolio-wide routing skill can silently do damage.

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.