agentleFS
kiloloopkiloloop/kiloloop-skills/skills/dispatch-brief/SKILL.md

dispatch-brief

Skill0 starsChanged 3 months agoApache-2.0View on GitHub

Compose or review a brief before handing work to another agent. Use when delegating a task to a subagent or to a coding agent in another session, when delegated work keeps coming back over-scoped or wrong, or when reviewing someone else's brief for missing sections, procedure the receiver should own, or side effects the brief asks for but never declares.

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. jonhill90/skills★ 8same 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 repository5 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:

    Read the done line verb by verb and list every outward action on the - Side effects: line in Context, separated by · or commas.

    line 62
  2. Distinctive:

    Run it before every hand-off and after every edit.

    line 119

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

Dispatch Brief

A brief hands work to another agent: a subagent, a coding agent in another session, or a teammate's agent. Two things go wrong in practice:

  1. Briefs that describe procedure instead of outcome. The receiver re-derives every mechanical detail anyway, so steps typed by the requester are double cost and the most frequent source of wrong detail.
  2. Side effects the brief asks for but never states. A brief that says "open a pull request" or "merge it yourself" in passing grants that authority without anyone deciding to. The receiver either does it unexamined or stops to ask.

The template keeps the requester to the goal, the fence, the done line and the background only the requester holds, and ends with one explicit line of side effects. The lint reads the brief against that line and names what is missing. It reports; it never rewrites the brief.

The brief

Copy templates/brief.md. It has five sections:

SectionCarries
## GoalThe outcome as the requester would see it, in one paragraph, with the requester's words quoted.
## InstructionThe fixed hand-over sentence, then background only the requester holds.
## FenceWhat is out of scope, and what stays the human's hand where that departs from the standing rule.
## DoneThe done line and the reply the requester expects.
## ContextThe repository and starting commit, the model when it departs from the receiver's default, the estimate, and the - Side effects: line.

Target 1,500–2,500 characters. Past 3,500 the brief is carrying procedure.

What goes in, what stays out

Always in: the goal in the requester's words, the fence, what only the requester holds (decisions, riders, cross-repository ripples, other work in flight), the model when it departs from the default, the done line, the side effects.

Never in: step lists, script names and flags, verification tails, acceptance checklists derived from the tree, repository-state inventories, facts the receiver reads from its own repository (versions, file lists, changelog contents), review and landing mechanics, reply-quality rules.

Sizing the estimate

State the estimate as the ceiling you would accept, not the hoped-for duration: the expected time multiplied by the review rounds the work plausibly runs. A review loop doubles it, and work without one takes ×1.5 headroom. Count files as distinct deliverable files: created or modified as part of the outcome, including the test and documentation ripple and every file in a fixture tree the work creates. Then add headroom. Never shrink a number to make the work look smaller than it is.

Declaring side effects

Read the done line verb by verb and list every outward action on the - Side effects: line in Context, separated by · or commas. Write none when there are none. The lint reads the Goal, Instruction, Fence and Done sections for these asks. It skips fenced code (backtick or tilde fences) and any ask a negation governs, and reports each ask whose side effect the line does not declare:

Side effectTrigger wording
commitcommit, land or push a change
pull requestopen, raise, create, update or submit a pull request; a pull-request link
issuefile, open, raise or create an issue
commentcomment on something, or post a comment
mergemerge, or land it yourself; yours to land
deploydeploy, or ship to production
publishpublish

The table reads wording, not intent. A trigger word used descriptively, such as the commit a bug came from, still reads as an ask: reword it. Descriptive merge wording (merge conflicts, a merge commit, the merge method) is not an ask. A declared side effect the body never asks for is an advisory, because it grants authority nothing in the brief uses.

Negation heads are no, not, never, do not, does not, don't, doesn't, out of scope, exclude, excluded, excludes, avoid, refrain from, prohibited, forbidden, skip and without. A negation governs the rest of its sub-clause, up to a comma or a contrast word: but, however, instead, though, although, whereas, except, or yet or then after a comma or and (as adverbs they leave the negation alone, as in do not yet publish). It also governs a whole list, still up to a contrast word, in two cases: when a colon follows it, or when a comma series closes with , or, , and or , nor.

A descriptive negation inside a condition (if, when, whenever, unless, once, until, whether) governs nothing past the condition. A command negation still governs the consequent it heads, even with no comma: do not, don't, never, avoid, refrain from or skip, as in if tests fail do not publish.

A negated Markdown heading, or a line ending in a colon, governs the block below it up to the first blank line or code fence. skip and without work only within their own clause. Examples:

  • - Out of scope: filing issues, commenting on the tracker asks for neither.
  • Never deploy, publish, or merge. asks for none of the three.
  • Do not merge, but publish the notes. asks to publish, and so does If no issues remain, publish the notes.

Running the lint

From this skill directory:

python scripts/brief_lint.py path/to/brief.md

Run it before every hand-off and after every edit. It is a detector, not a formatter. Several briefs can be linted in one run.

Output is one finding per line, [check] L<line>: <message>, sorted by line. Whole-file findings carry no line. A final line reads clean or <n> findings, with any advisories counted. The checks:

  • sections: a required heading is missing. Headings match without regard to case.
  • declared: the body asks for a side effect the Side effects: line does not declare. Also a finding: the line is missing, empty, repeated, names an unknown side effect, or pairs none with others. A declared side effect the body never asks for is an advisory.
  • procedure: a numbered list of three or more steps in a prose section. This is an advisory: state the outcome and let the receiver own the steps.
  • size: more than 3,500 characters, or an advisory past 2,500.

Exit codes:

  • 0: clean. Advisories are allowed.
  • 1: one or more findings.
  • 2: a usage error or an unreadable file.

Limits

The lint reads wording. It cannot judge whether the goal is the right goal, whether the fence is complete, or whether the estimate is honest. An ask phrased outside the trigger wording is not seen. It reads the brief file and nothing else, and it does not know what the receiving agent or its runtime will actually permit.

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.