review-triage-phase
$
npx mdskill add prisma/prisma-next/review-triage-phaseGenerates actionable review steps from PR data for triage planning
- Solves the task of organizing review actions for PR workflows
- Uses review-state.json and review-targets.json as input artifacts
- Decomposes compound review bodies into individual action items
- Renders structured markdown and JSON outputs for next workflow steps
SKILL.md
.github/skills/review-triage-phaseView on GitHub ↗
--- name: review-triage-phase description: Produces canonical review actions from fetched review state and renders action markdown. Use when the user wants only triage/action-planning for the review-framework workflow. argument-hint: "[pr-url] [output-dir]" --- # Review Triage Phase Run only the triage phase of the review-framework loop: read current review state artifacts, bootstrap canonical `review-actions.json`, update triage fields, validate, then render `review-actions.md`. Run commands from this skill directory. All script paths below are relative to it. ## Inputs - Required: - PR URL - Optional: - output directory If output directory is omitted, derive: `wip/reviews/<owner>_<repo>_pr-<number>/` ## Preconditions Expected inputs in output dir: - `<output-dir>/review-state.json` - `<output-dir>/review-targets.json` (optional) - `<output-dir>/review-state.md` (optional) - `<output-dir>/summary.txt` (optional) If `review-state.json` is missing, instruct user to run: - `/review-fetch-phase <PR_URL> [output-dir]` Note: - `review-actions.json` scaffolding is generated from `review-state.targets`, which now includes unresolved review threads, review bodies, and issue comments. - **Compound review bodies**: A single `pull_request_review` target may contain multiple distinct findings (e.g., CodeRabbit bundles "outside diff range" comments, actionable comments, and nitpicks into one review body). The triager must decompose these into individual action items during triage — never blanket-dismiss a review body without reading its content. ## Behavior 1. Compute deterministic paths: - `<output-dir>/review-state.json` - `<output-dir>/review-actions.json` - `<output-dir>/review-actions.md` 2. Enforce artifact safety before generation (must be ignored by git): ```bash node ../review-fetch-phase/scripts/guard-review-artifacts-ignored.mjs --dir <output-dir> ``` 3. Bootstrap canonical action scaffold from review state: ```bash node ./scripts/bootstrap-review-actions.mjs --in <output-dir>/review-state.json --out <output-dir>/review-actions.json ``` 4. Delegate triage to: - `./agents/review-triager.md` 5. Require triager output contract: - `review-actions.json` is valid v2 - targets use node IDs only - actions remain intentionally ordered - every `defer` action includes a Linear issue identifier - will-address actions for `review_thread` targets must remain actionable via **thread replies** (not PR reviews) 6. Create Linear tracking for deferred work: - create one or more Linear tickets (group related deferred comments) - attach each deferred action to a Linear issue ID (`linearIssue`) - ensure the deferred thread reply includes that Linear ticket URL 7. Validate canonical actions JSON and enforce completed triage decisions: ```bash node ./scripts/validate-review-actions.mjs --in <output-dir>/review-actions.json --require-final ``` 8. Render markdown from canonical actions JSON: ```bash node ./scripts/render-review-actions.mjs --in <output-dir>/review-actions.json --out <output-dir>/review-actions.md ``` ## Schema contract - `review-actions.json` is canonical and must be schema version `2`. - No backward compatibility is provided for v1 artifacts. - The triager edits scaffolded actions in place instead of reconstructing the entire file. - Triage phase is only complete when there are zero `triage_pending` decisions. - Review artifacts are generated files and must remain untracked in git. - `defer` decisions require Linear tracking (`linearIssue`) and a thread reply with that link. ## Output to user Return artifact paths: - `review-actions.json` - `review-actions.md` Suggest next step: - `/review-implement-phase <PR_URL> [output-dir]`
More from prisma/prisma-next
- adr-review>-
- ast-visitor-pattern>-
- bumping-biomeBumps `biome` package versions (e.g. `@biomejs/biome`) using `pnpm`, aligns `biome.jsonc` files with the new version/s across the repository and runs biome-related checks. Use when required to update `biome` to a newer version - explicitly or implicitly (e.g. after running `pnpm up`, `pnpm update`, `pnpm upgrade` without specific package names).
- contrib-prOpen a high-quality external contributor PR against prisma-next. Use when the user is an outside contributor (not a Prisma maintainer) and wants to submit a change as a pull request from a fork. Encodes the contribution flow from CONTRIBUTING.md so the resulting PR passes review on the first round.
- drive-agent-personasLibrary of agent personas — named bias-frames that other skills load to shift execution-time defaults. Skills name a persona by ID (e.g. "Adopt the architect persona"), and this skill resolves that ID to the persona doc that frames the executor for the rest of the task. Use when authoring a new skill that needs a particular reviewer/implementer/orchestrator stance, or when an existing skill instructs you to adopt a named persona.
- drive-create-plan>
- drive-create-project>
- drive-create-spec>
- drive-discussionDrops the agent into a structured Q&A mode that iterates with the user toward a complete understanding of a topic, then documents the outcome (project spec, plan, decision record, or whatever shape fits). The agent adopts one or more personas from the `drive-agent-personas` library — named explicitly by the user, or inferred from conversation context and announced. Typical use is design work at the start of a task, or mid-implementation when a load-bearing assumption has been falsified. Use ONLY when the user explicitly invokes this skill (e.g. "discussion mode", "pressure-test this", "let's design this", "design mode", "tech design mode", "product mode", "pm mode", "challenge my idea"). Never auto-invoke.
- drive-orchestrate-plan>