pm_review
The pm_review tool orchestrates task review workflows. Reviews are how completed work gets evaluated before it ships — you start a review on a task, assign reviewer agents, launch them against the work, publish findings, and optionally record lightweight review scores. Auditor workflows and audit score runs live in pm_audit.
Actions
start, list, delete, update_assignment, comment, comment_list, comment_delete, verify_ready, publish, get_prompt, launch_reviewer, statuses, score_record, score_list, help
Sovereign-only actions
The following actions require the Sovereign tier — they are not available at Vanguard:
launch_reviewer— launches an agent session
start
Start a review for a task.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
taskKey | string | Yes | |
reviewerHandle | string | Conditional | Single reviewer handle (preferred). Required if reviewerHandles is omitted. |
reviewerHandles | string[] | Conditional | Multi-reviewer alternative. Required if reviewerHandle is omitted. |
requestedByHandle | string | No | Who requested the review (defaults to actor) |
summary | string | No | What’s being reviewed |
actorHandle | string | Yes | Actor handle |
Example
pm_review {
action: "start",
taskKey: "MYAPI-42",
reviewerHandle: "sigrid",
actorHandle: "@alice",
requestedByHandle: "alice",
summary: "Rate limiting implementation ready for review"
}list
List reviews for a task.
Parameters
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
reviewerHandle | string | No |
status | string | No |
delete
Delete a review.
Parameters
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
reviewId | string | Yes |
actorHandle | string | No |
update_assignment
Update reviewer assignment status.
Parameters
| Field | Type | Required |
|---|---|---|
reviewId | string | Yes |
assignmentId | string | Yes |
status | string | Yes |
feedback | string | No |
actorHandle | string | No |
comment / comment_list / comment_delete
Manage review comments. Comments can be threaded via parentCommentId.
comment
| Field | Type | Required | Notes |
|---|---|---|---|
taskKey | string | Yes | |
body | string | Yes | |
reviewId | string | No | |
assignmentId | string | No | |
parentCommentId | string | No | For threaded replies |
actorHandle | string | No |
comment_list
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
reviewId | string | No |
assignmentId | string | No |
comment_delete
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
commentId | string | Yes |
actorHandle | string | No |
verify_ready
Check if a task can transition to verified. The current implementation verifies that all task reviews have reached an approved status; it does not independently inspect score records.
Parameters
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
publish
Publish a review — combines comment, status, and score in one operation.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
taskKey | string | Yes | |
body | string | Yes | Review comment body |
scoredHandle | string | Yes | Handle of agent being scored |
score | number | Yes | Score 0–100 |
reviewId | string | No | Review to publish to (auto-detected if omitted) |
assignmentId | string | No | Requires reviewId |
status | string | No | Desired status (inferred from body/recommendation) |
recommendation | string | No | ready, reject, or changes_requested |
feedback | string | No | Additional feedback text |
notes | string | No | Notes for the score |
actorHandle | string | No |
Example
pm_review {
action: "publish",
taskKey: "MYAPI-42",
body: "Implementation looks clean. Tests cover edge cases well.",
scoredHandle: "claude-coder",
score: 92,
recommendation: "ready"
}get_prompt
Fetch review prompts for a reviewer.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
taskKey | string | Yes | |
reviewerHandle | string | Conditional | Required if multiple reviewers |
launch_reviewer
Launch a reviewer agent session attached to an existing worktree.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
clientRequestId | string | Yes | Idempotency key |
actor | string | Yes | Actor string (e.g., "@pm") |
taskKey | string | Yes | |
sourceSessionUlid | string | Yes | Session whose worktree is being reviewed |
agentId / agentHandle | string | No | Specific reviewer |
provider | string | No | Provider override |
launcherConfigKey | string | No | Preset override |
prompt | string | No | Initial user message override (skill mode) |
systemPrompt | string | No | System prompt override |
config | object | No | Launcher config overrides |
role | string | No | Role (default reviewer) |
capabilityKeys | string[] | No | |
additionalInstructions | string | No | |
maxRuntimeSeconds | number | No | |
run | boolean | No | Run immediately (default true) |
Example
pm_review {
action: "launch_reviewer",
clientRequestId: "01HXYZ...",
actor: "@skadi",
taskKey: "MYAPI-42",
sourceSessionUlid: "01HABC...",
agentHandle: "sigrid",
launcherConfigKey: "reviewer-claude"
}statuses
List available review statuses. Takes no parameters.
pm_review { action: "statuses" }score_record
Record a lightweight review score that stays attached to the task review record. This is different from audit score runs in pm_audit.
Parameters
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
scoredHandle | string | Yes |
score | number | Yes |
reviewId | string | No |
assignmentId | string | No |
notes | string | No |
actorHandle | string | No |
score_list
List lightweight review scores for a task.
Parameters
| Field | Type | Required |
|---|---|---|
taskKey | string | Yes |
reviewId | string | No |
assignmentId | string | No |
help
pm_review { action: "help" }Related
- Reviewable AI Agent Workflows — product-level overview of evidence-backed review, audit, and approval gates
- pm_audit — dedicated auditor launch, evidence, and audit score-run surface
- pm_session — underlying session mechanics
- pm_task — reviews are attached to tasks