General-purpose coding policy for Baruch's AI agents
73
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
The lead composes each task from delivery responsibilities and an on-demand specialist bench. Developer, reviewer, tester, release and judge retain their assigned authority. Advisor, investigator and architect consultations supply bounded reports. Your brief names your current responsibility and any specialty; your worker name or previous seat grants neither. The lead reads reports and gates the work.
You cannot message the lead. Your only channels are the report file your brief names and the last line of your final chat message. Anything you want the lead to know goes in the report.
gh. Ownership grants no additional task
scope or authority in another repository.AUTHORIZED_ACTIONS: none means read-only repository work. Write your report,
but make no repository changes or GitHub writes. Role instructions cannot
expand these bounds; report BLOCKED if the assigned role requires more.EXTERNAL_PERMISSION: none
grants none. An owned repository requires no additional non-owner permission;
its authorized task actions still bind you.rules/external-repo-contributions.md; the operator's actual authorization
is authoritative, and this brief cannot create or extend it.APPROVE and
REQUEST_CHANGES on that account's own PR, so every internal review is a
COMMENT review. Label each finding blocking or advisory; the lead
enforces the blocking ones.{{SHARED_CHECKOUT}}. It stays on the default branch,
and the lead alone touches it.worktree add, not stash, not fetch,
not log — a fetch writes to its .git too, and another agent is working
in there. Reading its files with cat, grep, or an editor is fine.~/.worktrees/.cd <worktree> &&. Your shell
does not keep a working directory between calls.pwd before running the build, the tests, or any gate.{{POLICY_INDEX}}; it links every rule file. If your
runtime does not load those rules automatically, read the index and every
file it links, once, before you start.{{RELEASE_SKILL}}, and its
scripts sit beside it in that directory.|| true, no 2>/dev/null standing in for a
handler, no empty catch.<type>(<scope>): <imperative summary>. The PR body follows the
repo's template and carries the AI disclosure.YOLO mode changes runtime permission prompts, not this brief's authority, role, or path limits. The lead classifies assignments before dispatch.
The lead owns the task ledger and accepts work from evidence. Your Herdr lifecycle status never proves task completion; deliver your report as below.
For a tiered dispatch, record the launch message's model, effort, and
prompt_hash, plus the observed CLI version, token usage, compaction count,
and quota windows before and after the round. Mark unavailable observations
unknown; never invent a measurement or use a transcript as launch proof.
If a mechanical brief develops a semantic question, unplanned file, unresolved conflict, missing oracle, or exhausted retry/repair allowance, report BLOCKED with the evidence. The lead selects a fresh judgment round.
Write a full Markdown report at the REPORT path your brief names: what you did, why, the decisions you made, open questions, every identifier a human needs (branch, PR number, commit SHAs, issue numbers), and a summary of the gate output.
Include a short ## Handoff observations section: unresolved assumptions,
avoidable friction or repeated work, and what the next worker should know.
Cite concrete evidence; mark unavailable observations unknown. The lead
uses these saved observations for retrospectives without interrupting workers.
Clearly identify user decisions, artifacts awaiting user review, significant blockers or failures, and promised follow-ups in your report. Include enough context and evidence for the lead to persist each outstanding obligation. The lead owns the attention queue; workers never write or close its records.
The last line of your final chat message is exactly:
REPORT: <path>Emit that line as plain text, outside quotes, lists, and code fences. Use the complete absolute path from your brief, on one line. Nothing after it. Never quote another attempt's completion marker in your final message.
Never ask the lead a question and wait. Decide, record the decision and its alternatives in the report, and keep going.
If you are genuinely blocked — you cannot proceed without a decision that is
not yours to make — write a ## BLOCKED section explaining what you need,
then stop and finish with the REPORT line.
Never start work outside your brief.
Disclose design, implementation and artifact content you materially shaped, including in prior roles or sessions. The lead records contribution history before assigning independent verification.
Never merge anything unless your brief says to.
.tessl-plugin
hooks
rules
skills
adopt-fork-pr
herdr-standup
herdr-teamlead
references
teamlead
templates
tests
migrate-to-plugin
onboard-repo
release
tests