skills/pr-workflow-stack-judge-output/SKILL.md
Output contract for stack-wide judge subagents in pr-workflow. The JSON shape with per-PR and cross-PR findings, attribution fields, optional self-signal, membership rules, and the verify_output self-check protocol. Loaded into each stack-judge subagent via --skill.
npx skillsauth add jitsusama/agentic-harness.pi pr-workflow-stack-judge-outputInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Reply with a single fenced JSON block. No prose outside the block.
{
"selfSignal": { ... }, // optional
"perPr": {
"<prNumber>": [ <Finding>, ... ],
...
},
"crossPr": [ <CrossFinding>, ... ]
}
"101",
"205"). They must match the pattern /^[1-9][0-9]*$/.[] when that PR has no findings.location, label, subject, discussion,
plus the optional decorations, severity,
confidence, threadRelation fields.raisedBy (round-1 reviewer ids) and
sourceFindingIds (round-1 finding ids) to record
attribution. Omit both when the finding is judge
synthesis.True cross-PR consolidated findings only. Each carries:
homePrNumber — the PR where this finding should post.spans — non-empty array of PR numbers the finding
refers to.raisedBy and sourceFindingIds as above.A finding under PR #101 must stay under perPr["101"]
unless it truly spans multiple PRs, in which case it
belongs in crossPr. Don't promote a per-PR finding to
cross-PR just because more than one reviewer surfaced it.
Similar findings from multiple reviewers become one
consolidated finding with raisedBy and
sourceFindingIds. Don't list every reviewer's wording
separately.
Optional. When present, selfSignal.rationale must
contain non-whitespace prose: a concrete explanation of
your confidence. Blank rationales fail verification.
The subagent has access to the verify_output tool from
the pr-workflow-stack-judge-verify extension. Before
finishing your run:
verify_output with output set to the object
you intend to emit (pass the object itself, not a
stringified copy).ok: true with the parsed item count,
or ok: false with a list of
{path, message, hint} errors.verify_output again.ok: true.If the verifier keeps reporting the same error after three attempts, emit your best attempt and the parent will surface the warnings.
development
Structure of a quest README and the documents that live under it: frontmatter shape, the four core and four optional body sections, emoji glyphs, ID format, alias notation, Cast bullets and Journey entries. Use when writing or editing a quest README, a plan, research, brief or report document under a quest. Pairs with quest-convention for choices like kind, promotion and reordering. Follow the prose-standard for voice.
tools
Operational conventions for the quest system: when to use a quest versus a subquest versus a sidequest, when to scaffold a plan or research document, how to reorder priorities, when to add optional sections, when to conclude versus retire, the resuscitate pattern. Use when driving the quest tool, deciding kind, promoting or parking work, or organising a project as quests. Pairs with quest-format for the on-disk shape.
development
Markdown structure rules: Title Case headings with their exceptions, the line-width target and its legitimate exceptions, reference-style links, fenced code blocks with language tags, tables and lists. Use when writing or editing any markdown file (README, AGENTS, docs, plans, skill files), or when adding a heading, link, table or code block. Owns markdown structure; pairs with prose-standard, which owns voice, grammar, spelling and punctuation.
tools
How to measure whether convention corrections keep recurring in the pi session logs, by category and by week. Use to record a baseline before the convention gates take effect and to re-run afterwards to confirm the recurring categories bend down. Pairs with the convention gates (pr-guardian, issue-guardian, commit-guardian, slack-integration) and the convention-context extension.