skills/pr-workflow-council-output/SKILL.md
Output contract for round-1 council reviewer subagents in pr-workflow. The JSON shape of findings, location kinds, thread-relation fields, and the verify_output self-check protocol. Loaded into each reviewer subagent via --skill.
npx skillsauth add jitsusama/agentic-harness.pi pr-workflow-council-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. If you have nothing to flag, return
{"findings": []}.
{ "findings": [ <Finding>, ... ] }
Each Finding must include:
location — see Location kinds.label — a Conventional Comments label: praise,
nitpick, suggestion, issue, todo, question,
thought, chore or note.subject — a short headline.discussion — concrete prose explaining the concern,
citing the code you saw and the user, backend or
operational impact.Optional decorations:
decorations — free-form short tags
(e.g. "non-blocking", "if-minor").severity — "critical", "medium" or "minor". The
parent process also accepts the common aliases
"required"/"blocking"/"high" (mapped to
"critical") and
"non-blocking"/"nice-to-have"/"info"/"low"
(mapped to "minor"); unknown values are dropped with
a warning rather than rejecting the finding. Use the
canonical set when you can.confidence — a number 0.0 to 1.0.threadRelation — see
Existing review threads."line" — has file, start, end and
side: "old" | "new" | "both". Anchor only to
lines that appear in the PR diff hunks; the prompt
lists the anchorable line ranges per file under
Anchorable line ranges. Each row reads:
path/to/file.ts: new 12-34, 50-78 | old 12-34
The new ... ranges are valid line numbers on the
right side of the diff (added or context lines, set
side: "new"). The old ... ranges are valid on the
left side (removed or context lines, set
side: "old"). Either segment is omitted when that
side has no anchorable lines. The parent process warns
when a line finding falls outside the listed ranges —
the finding survives but will silently degrade to a
body comment unless the user fixes the range. Stale
line numbers and lines outside any hunk are not valid
anchors.
"file" — has file only.
"global" — PR-level finding, no file.
When your finding relates to a [T#] thread surfaced in
the prompt, set threadRelation:
kind: "duplicates-existing" — drop the finding because
[T#] already covers it.kind: "supports-existing" — fresh evidence that
substantiates [T#].kind: "disputes-existing" — fresh evidence that
disproves [T#].kind: "amplifies-existing" — fresh evidence that
accentuates [T#].In each case, include threadIndex (the numeric T index)
and a short rationale. Omit threadRelation, or use
kind: "new", when no existing thread is relevant.
The subagent has access to the verify_output tool from
the pr-workflow-council-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 finding
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.