builder-signoff
Mandatory sign-off procedure for Builder (public output + builder_result.json + validation).
When & Why to Use This Skill
This Claude skill implements a mandatory, deterministic sign-off procedure for AI agents (Builders). It ensures that every development task concludes with a structured Run Summary and a validated builder_result.json file, facilitating seamless handoffs between agents and providing clear visibility into build statuses, risks, and API impacts.
Use Cases
- Standardizing Agent Handoffs: Automating the transition between a 'Builder' agent and a 'Foreman' agent by providing a consistent data contract and status report.
- Automated Quality Assurance: Enforcing mandatory validation of build results and ensuring that linting, testing, and API checks are documented before task completion.
- Structured Progress Reporting: Generating human-readable summaries that include change logs, risk assessments, and TODO snapshots for better project transparency.
- Resilient Task Finalization: Ensuring that even blocked or failed tasks produce a standardized error report and status update to maintain workflow continuity.
| name | builder-signoff |
|---|---|
| description | Mandatory sign-off procedure for Builder (public output + builder_result.json + validation). |
Purpose
Execute Builder sign-off deterministically so Foreman can validate and proceed.
This procedure is MANDATORY and must be executed as the final step of every Builder run — even when blocked or when earlier steps fail.
Required behavior
- Always produce a Run Summary message with the required sections.
- Always write
builder_result.jsonto the worktree root. - Always run
validate_builder_resultand fix any issues it reports. - If you are blocked or cannot complete build/test steps, still complete this procedure with your best available information.
Run Summary (MANDATORY format)
Your final chat output MUST include these sections:
Summary- 1–3 short bullets describing the change and why.
Checks run + results- Commands you ran (e.g.
pnpm lint,pnpm check,pnpm test:unit,pnpm prepack) and pass/fail, or why skipped.
- Commands you ran (e.g.
Notes / Risks- Important caveats, known failures, follow-ups, or tradeoffs.
Public API & A11y- Briefly state any public API or accessibility impact.
Checklist (TODO snapshot)- Print the current
todowriteTODO list (all items + final statuses).
- Print the current
Foreman Handoff: builder_result.json (MANDATORY)
You MUST write a JSON file named builder_result.json in the repository/worktree root.
The file MUST contain EXACTLY one JSON object matching this schema:
{
"run": {
"status": "ok" | "failed",
"failed_step": "..." | null,
"error": "..." | null
},
"work": {
"summary": "...",
"complexity": "low" | "medium" | "high"
} | null
}
Rules:
- If
run.statusisok,workMUST be an object. - If
run.statusisfailed,workMUST benull.
After writing builder_result.json, you MUST run validate_builder_result and fix any reported issues until it passes.
If validate_builder_result cannot be executed (tool missing/unavailable), treat it as a hard failure:
- set
run.status = "failed" - set
run.failed_step = "validate_builder_result" - set
run.errorto the exact error output - set
work = nullThen still writebuilder_result.jsonand include the failure in the Run Summary.