workbench-closeout-validator
Strict parser and validator for Workbench closeout comments, verdict/status discipline, PR reference types, and cross-issue REMAINING sync.
What it does
Workbench Closeout Validator
Use this skill when reviewing or automating status-changing closeout comments for Workbench, Multica, Capy, Conductor, Hermes, Codex, Linear, Slack, or PR surfaces.
The validator is anti-LGTM infrastructure: it preserves the literal verdict and
stops adapters from turning a FLAG closeout into PASS or Done.
Required Input Shape
Status-changing closeout must contain these headings in this order:
CHANGED:
VERIFIED:
REMAINING:
PRS / LINKS:
VERDICT: PASS | FLAG | BLOCK
REMAINING: is mandatory even when (none).
Local Validator
Use the strict parser, not free-form prose matching:
node scripts/workbench-closeout-validator.mjs \
--comment-file <closeout.md> \
--target-status "Done" \
--references-json <references.json> \
--affected-issues-json <affected-issues.json>
node scripts/test-workbench-closeout-validator.mjs
For Linear webhook or adapter events, use the audit-only wrapper:
node scripts/workbench-closeout-audit-linear-adapter.mjs \
--event-file <linear-closeout-event.json>
node scripts/test-workbench-closeout-audit-linear-adapter.mjs
The adapter emits WORKBENCH_CLOSEOUT_AUDIT and a sanitized follow-up payload.
It must not block, revert, or rewrite Linear status transitions.
Reference records use this public-safe shape:
[
{ "type": "contains", "id": "#24", "state": "merged" },
{ "type": "dogfood-platform", "id": "#25" },
{ "type": "discovered-via", "id": "#26" },
{ "type": "cross-issue-side-effect", "id": "SYN-40" }
]
Affected issue records use:
[
{ "id": "SYN-39", "remaining_synced": true },
{ "id": "SYN-40", "remaining_synced": false }
]
Validation Rules
DonerequiresVERDICT: PASS;FLAGorBLOCKcannot move to Done.BlockedrequiresVERDICT: BLOCK.Ready for Mergemay carryPASSorFLAG, but notBLOCK.containsreferences require merged or head-on-main proof.dogfood-platform,discovered-via, andcross-issue-side-effectreferences do not require merge proof by themselves.- If one closeout affects multiple issues and
REMAINING:is not(none), relevant remaining lines must be synced to every affected issue description or comment.
Failure Handling
Validator failures do not silently rewrite the issue status. They emit
WORKBENCH_CLOSEOUT_VALIDATION with:
validator_verdict: BLOCKfor malformed fields, verdict/status mismatch, or invalidcontainsreferences;validator_verdict: FLAGfor missing cross-issue sync proof or missing reference-state proof;follow_up_required: truewhen audit trail work must be spawned.
Live adapters should create a FLAG follow-up issue and notify Supervisor
instead of hiding the failure.
Capabilities
Install
Quality
deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 12 github stars · SKILL.md body (2,784 chars)