Pr Review

Reviews a pull request like a senior reviewer: analyzes the diff, checks conventions and risks, and posts inline review comments plus a verdict.

Parameters

Configured via customParams in the agent JSON or the project .dmtools/config.js (project values win).

  • cacheToReleases — when enabled, the autocommit timer snapshots accumulated CLI output into a git release asset.

  • scmProvider — SCM provider override (github, gitlab, …) for this run.

  • targetRepository — repository override block (owner, repo, baseBranch, workingDir) — run the review against this repository instead of the project default.

  • aiRepository — repository the AI CLI works in when it differs from the PR repository.

  • allowApproveWithSuggestions — when true, the reviewer may approve a PR while leaving non-blocking suggestions.

  • autoStartRework — when true, automatically trigger the rework workflow when the review asks for changes.

  • autoStartReworkConfigFile — agent config file used for the auto-started rework workflow.

  • checkOpenPR — when true, skip tickets that already have an open pull request for this work.

  • configPath — path to the project .dmtools/config.js to load for this run.

  • customStatuses — legacy per-invocation override for individual STATUSES keys (e.g. { "IN_REWORK": "Ready For Development" }); prefer the project-wide jira.statuses override in .dmtools/config.js for a project-wide remap instead.

  • formalGithubReview — when true, in addition to the existing pr_approved label, formally submit a native GitHub PR review: REQUEST_CHANGES when the AI does not approve, or dismiss any prior REQUEST_CHANGES review when the AI approves. Does not change the pr_approved label lifecycle.

  • maxReviewThreadsBeforeForceApprove — maximum open review threads before the reviewer is forced to an approve/reject verdict.

  • onApproved — action to run when the review approves (e.g. trigger merge).

  • projectKey — tracker project key override.

  • removeLabel — label removed from the ticket after a successful run (idempotency cleanup).

Human doc: agents/docs/agents/pr_review.md

Attributes

AttributeValue
JobTeammate
Configpr_review.json
ContextIdpr_review
outputTypenone
skipAIProcessingtrue

Prompt snapshot

Full prompt / instruction set: agents/snapshots/pr_review.md

Actions

preJSAction: checkWipLabel.js

Check WIP Label Pre-Action

  • Source: agents/js/checkWipLabel.js
  • Parameters (customParams):
    • checkOpenPR

preCliJSAction: preparePRForReview.js

Prepare PR for Review Action (preCliJSAction for pr_review agent)

  • Source: agents/js/preparePRForReview.js
  • Side effects:
    • post ticket comment (via tracker)

postJSAction: postPRReviewComments.js

Post PR Review Comments Action

  • Source: agents/js/postPRReviewComments.js
  • Side effects:
    • add label “sm_story_rework_triggered” (via tracker)
    • add label “agent:rework” (via tracker)
    • post ticket comment (via tracker)
    • move ticket to status (via tracker)
    • assign ticket (via tracker)
  • Parameters (customParams):
    • aiRepository
    • allowApproveWithSuggestions
    • autoStartRework
    • autoStartReworkConfigFile
    • configPath
    • customStatuses
    • formalGithubReview
    • maxReviewThreadsBeforeForceApprove
    • onApproved
    • projectKey
    • removeLabel

LLM step

  • outputType: none
  • Prompt snapshot: agents/snapshots/pr_review.md

Output schemas

  • pr_review.json
    • required: recommendation, summary, generalComment, inlineComments, issueCounts

Custom params

  • removeLabel: "sm_story_review_triggered"
  • allowApproveWithSuggestions: true
  • checkOpenPR: true
  • aiRepository (used by JS action)
  • autoStartRework (used by JS action)
  • autoStartReworkConfigFile (used by JS action)
  • configPath (used by JS action)
  • customStatuses (used by JS action)
  • formalGithubReview (used by JS action)
  • maxReviewThreadsBeforeForceApprove (used by JS action)
  • onApproved (used by JS action)
  • projectKey (used by JS action)

Generated by js/agentDocGenerator.js