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 owns the retrospective. It synthesizes saved evidence; it does not dispatch a retrospective role or spend a correction attempt. A routine standup, usage measurement, status table, or dispatch dump is source material, not the completed retrospective.
Check on active resume, before planning and dispatch, and between report waits. The utility owns the elapsed-time calculation and daily interval. Complete a retrospective when the active cadence is due. Existing work with no usable retrospective history is due immediately. A new empty team's first active work establishes its baseline. Do not install a scheduler or wake an inactive team.
Independently, complete one before clearing or relaunching a worker with outgoing work, or changing its role, model, or effort. This includes release and judge handoffs. A proven first-ever worker with no outgoing work is exempt from this transition requirement; missing history or unknown session evidence does not prove that exemption. Ordinary readiness, recovery, and acceptance gates still apply after a retrospective.
A retained specialist follow-up remains subject to the daily cadence. Use
context: "retain" in its check request; the continuation owner verifies the
unchanged engagement under references/dispatch-recovery.md. A changed specialty
or engagement uses the normal fresh assignment and transition path.
One retrospective can cover the daily cadence and a batch of planned transitions. Bind each worker independently to its outgoing assignment, native session and process evidence, source report bytes, and proposed transition. Completing the first transition does not invalidate an unchanged sibling's coverage. An identical retry can reuse its coverage. New outgoing work, changed evidence or session, or a different proposed seat, model, effort, or context action requires fresh coverage. A recent daily note cannot cover work or transitions it never reviewed.
Read the task ledger, assignment history, reports in full, VCS artifacts, review findings, test and publish results, and measured headroom where available. Read the previous retrospective and its open actions. Workers' normal reports include handoff observations; use them without sending another prompt or clearing context. Read-only status and process inspection may establish transition evidence. Include saved specialist requirements, lead contribution assessments, and the decisions that used or declined their output. An unused profile has no missing report; distinguish unneeded expertise from expertise the task lacked.
Record participants whose saved observations were considered and workers whose
input is unavailable, with reasons. A busy or blocked worker receives no
retrospective prompt, recovery key, or context clear. Daily synthesis can proceed
with unavailable participation recorded. Missing reports, costs, usage, or outcome
proof remain unknown; they do not become inferred measurements or passes.
If a known review file is no longer readable, record that reason explicitly in
the request and synthesize from the remaining ledger or saved notes. The utility
preserves its archived receipt metadata and records unavailable current bytes;
restoring the file changes the evidence and requires refreshed transition coverage.
Use a title and five nonempty H2 sections named Outcomes, Quality,
Coordination, Seats and models, and Improvements. The utility adds the saved
note's schema metadata; the lead supplies the synthesis under these headings.
Address these five questions with evidence and the lead's reasoning:
Do not pad a quiet interval with invented incidents or speculative failures. Record what the evidence supports, even when the result is a short no-change conclusion. Keep facts, explanations, and proposed actions distinct. A populated template alone is insufficient: the lead checks that the notes contain useful lessons or an evidence-backed no-change conclusion before recording them.
Retrospective actions do not modify policy automatically, expand the task, grant more correction attempts, waive a release gate, or authorize an uncertain resend. Carry an in-scope improvement into already authorized work. Record proposals that need separate work with their owner and next decision point.
After saving the note, curate lessons that should inform later tasks through
skills/herdr-teamlead/references/working-memory.md. Link each lesson to this
note and retain its applicability and revalidation conditions. Route task-specific
facts to the task ledger and project-wide changes through the normal authorized
work flow. Save user decisions, review requests, and promised follow-ups through
skills/herdr-teamlead/references/attention.md. These records supplement the
completed note; they never rewrite it or silently change policy.
Use these findings to refine future capability declarations, briefing questions
and consultation timing. Validate the relevant skills, tools and observed work
before updating staffing assumptions; retrospective recommendations create no
automatic model promotion or new standing seat.
Use the same canonical --state path across the team's invocations. The utility
saves notes and the index in the adjacent .retrospectives directory documented
in skills/herdr-teamlead/state-schema.md. Record that directory in the lead's
handoff, and link relevant notes from the task ledger. Preserve it when removing
worktrees and task report staging. Do not edit a saved note or hand-write a receipt;
record a new retrospective when the analysis changes.
On a request for the last retrospective, its history, or notes for a task or date, retrieve the stored records before making Herdr calls. Read the actual saved note bytes and report the saved date, covered period/tasks, conclusions, action status as recorded, and absolute path. Label any later assessment separately. Do not generate a new retrospective, contact workers, or imply an old action is now done. If no matching usable notes exist, say so. Preserve corrupt or unsupported files and report their diagnostic; never fabricate a history or overwrite the index.
Run the installed skills/herdr-teamlead/teamlead.sh with an explicit bash
interpreter, using the plugin root resolved in the skill. Every command accepts
the team's same --state <state-file>. The command's help owns optional flags and
the exact output envelope; the state schema documents persisted fields.
transitions, an array of planned worker changes.
Each entry names agent, role, model, effort, context (clear, retain,
or start), task, brief, common, and outgoing report. Use absolute
paths; unknown optional values are null. unavailable names a reason when
worker input is missing, and pane identifies a planned start. Use an empty
transition list for a daily check without planned changes.retro-check --record <request.json> and save its JSON receipt. It checks
cadence and proposed coverage using read-only live evidence. It emits due,
missing_coverage, the source request, and coverage receipts. A successful
command is a completed check, not a completed retrospective. Follow its
diagnostic on non-zero; never replace missing proof with a hand-written result.id, absolute draft note, timezone-qualified
period_start and period_end, triggers (daily, transition, or both),
covered tasks, participants, unavailable worker-to-reason map, absolute
evidence sources, completed: true, and absolute saved check receipt.
End the covered period at or after the receipt's checked_at, no later than
completion. Include both outgoing and proposed task IDs from its coverage.
Account for every checked worker as participating or unavailable, with no
overlap. Include every applicable trigger: daily when cadence is due and
transition when any checked worker requires transition coverage.
Daily notes cite a ledger, previous note, or other evidence source. An empty
source list is usable only when transition coverage supplies concrete evidence.
Completion asserts the lead has reviewed the substance; the boolean alone
never establishes it.retro-record --record <metadata.json>. The utility revalidates evidence,
preserves the completed note, and records its digest and coverage. Inspect the
returned saved path and identity, then reference them in the task ledger. A
failure leaves the cadence or transition unsatisfied; reconcile its diagnostic
before proceeding. An identical record retry is idempotent.retro-list [--task <task-id>] [--since <ISO-time>] lists saved records.
retro-show [--id <retro-id>] [--task <task-id>] returns the stored note, defaulting
to latest. Both operate offline and perform no dispatch-state migration or writes.
Use these commands for readback even with HERDR_ENV unset or no usable config.
An injected --now <ISO-time> on checks and recording supports reproducible timing;
normal operation uses the actual current time.
.tessl-plugin
hooks
rules
skills
adopt-fork-pr
herdr-standup
herdr-teamlead
references
teamlead
templates
tests
migrate-to-plugin
onboard-repo
release
tests