General-purpose coding policy for Baruch's AI agents
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Medium
Suggest reviewing before use
Read this contract when the execution plan reaches one of its steps. Execute
only the current step and the continuation it names. Step numbers refer to
skills/herdr-foreman/SKILL.md.
Classify every delivered report in one call, and save its stdout:
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$CP/skills/herdr-foreman/classify/classify-reports.sh" <report>... > <labels.json>On exit 2 (usage error), fix the arguments stderr names and rerun before using
<labels.json>. A report in the output's unannotated list gets no gate and is
gated exactly as it would have been.
Read every report file in full, including a report whose worker exited cleanly.
A ## BLOCKED section can sit under a report that otherwise reads as finished.
A report's recorded VERDICT: and ACCEPTANCE lines decide it. Never accept,
reject or rate a finding on your own reading.
Then record the gates the labels earn, before gating any report:
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$CP/skills/herdr-foreman/foreman.sh" report-gate-record --labels <labels.json>recorded, replayed and no_gate listsclose-member and record-report refuse while a gate forbids the decisionassess-specialist and record-report record a verdict gate for every
VERDICT: blocking reportapply refuses a fresh release dispatch while the task carries an open
verdict gateblock gate clears only through report-gate-clearreread gate clears only through report-gate-rereadOutput fields, gate levels and the evidence each resolution cites are the owners' contract:
skills/herdr-foreman/references/report-classifier.mdGate the reports together in one turn, not one turn per report.
Before accepting a mechanical round, compare its whole result against the
oracle its plan declared. <result-file> is the pushed diff for a patch
oracle and the produced output otherwise:
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$CP/skills/herdr-foreman/foreman.sh" verify-oracle \
--plan <plan-file> --role <role> --result <result-file> --task <task>Exit 0 is a match. Exit 1 with "match": false is a blocking finding on the
round; exit 1 with no verdict is a usage error to resolve before gating,
including a plan whose oracle differs from the one the round's dispatch bound.
Before accepting a partitioned responsibility's pass, confirm its plan, as
dispatched, still covers exactly the task's diff at the tip under review:
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$CP/skills/herdr-foreman/foreman.sh" verify-partition \
--plan <plan.json> --repo <repo-path> --head <tip-under-review> --task <task>--taskOnly now, with every report's gates recorded, record each assignment's outcome in the task ledger from its recorded contract lines, citing the report:
accepted for a reviewer or tester needs a recorded valid VERDICT: at the
current report bytes, whatever its value; for a consultation it needs every
ACCEPTANCE line met. The verdict gates the round below, never acceptanceunmet criterion, is needs_workRecord the task's gate decision separately; a worker finishing its brief never completes the whole task. Once the ledger records an assignment's assessed outcome, close its enrollment in one call:
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$CP/skills/herdr-foreman/foreman.sh" close-member --enrollment <enrollment-id> \
--ledger <absolute-TASK-LEDGER.md>It refuses until the ledger's latest event for that worker and report carries
an assessed decision, and refuses accepted without the report's recorded
contract lines, checked before its classifier gates. It verifies a schema-7
assignment pane remains bound to the recorded identity, then closes it with
live absence proved before the enrollment resolves. Schema-7 workers never
retain a pane across assignments; a follow-up round carries prior evidence in
its self-contained brief and receives a fresh identity. A repeated close
accepts an already-absent identity and replays. Resolution stays
separate from assignment acceptance and task completion.
Resume Step 11's fleet watch for any enrollment still observed.
Route correction-scope and bug-evidence assessment to a worker under
skills/herdr-foreman/references/team-operation.md Judgment Routes; never
assess them yourself.
Persist user-facing obligations under skills/herdr-foreman/references/attention.md before presenting
them; record an actual answer or resolution separately from showing the item.
Every return to Step 4 is a round boundary: run Step 16 to log the round and Step 17 to reset first. Record the step this gate decision named as the stow's continuation step. The reset foreman takes Step 17's Resume Route.
After accepting a consultation, return to Step 4 for the next needed responsibility. For an investigation-only task, use the knowledge gate below.
For an investigation-only task, gate every assigned report on its recorded
ACCEPTANCE lines. Resolve a blocking verdict through the same bounded and
judge paths below. Once every criterion is met, present the findings and
preserve open user decisions; proceed to Step 15 if a task worktree needs cleanup, otherwise
Step 16. No implementation or release is inferred from the diagnostic result.
VERDICT: blocking from a reviewer,
tester, or security, ux-product or documentation consultation is a
blocking finding for the round. Apply the round-flow reference's Blocking
Gate contract and skills/herdr-foreman/references/team-operation.md Fix Loops. Return to
Step 4 for an authorized correction or Step 13 for a required judge ruling.uphold or amend)
decides it. A finding a weighing ruled defer or decline is settled only
by the next reviewer or tester report at the tip, marking it DECLINED with
the ruling and recording VERDICT: approved. Never match rulings to
findings yourself.VERDICT: approved, run report-gate-clear --report <blocking report> --evidence <re-check> --reason <what it settled> for each
blocking report.--decision.block gate on a VERDICT: approved
report goes to Step 13 for adjudication.MARGINAL:, or
one foreman finding-churn places on lines the previous fix round added,
goes to Step 13 for a weighing.skills/herdr-foreman/references/dispatch-recovery.md, consult the investigator under
skills/herdr-foreman/references/specialists.md with round context {"investigator": {"diagnosis_input": true}}, and take its assessed report to Step 13 for the
diagnosis.VERDICT: approved with advisory findings — record them in the round
log under rules/review-severity.md Split Reading From Acting.Apply the release gate in this reference; obtain broad independent reviewer and tester passes against the current pushed tip before release:
skills/herdr-foreman/references/round-flow.mdWith its release criteria met, proceed immediately to Step 13.
.tessl-plugin
hooks
rules
skills
adopt-fork-pr
herdr-foreman
classify
foreman
references
specialists
templates
tests
herdr-standup
migrate-to-plugin
onboard-repo
release
references
tests