review-implement-phase

작성자: prisma

분류된 검토 작업을 구현하고, 집중된 수정 사항을 커밋하며, 완료를 게시하고 스레드를 해결합니다. 사용자가 구현 단계만 원할 때 사용하세요.

npx skills add https://github.com/prisma/prisma-next --skill review-implement-phase

Review Implement Phase

Run only the implementation phase of the review-framework loop:

take triaged will_address actions, make code changes, commit in logical steps, post GitHub status updates, and update action status.

Run commands from this skill directory. All script paths below are relative to it.

Inputs

  • Required:
    • PR URL
    • existing review-actions.json in output dir
  • Optional:
    • output directory
    • scope constraints (specific action IDs or files)

If output directory is omitted, derive:

wip/reviews/<owner>_<repo>_pr-<number>/

Preconditions

<output-dir>/review-actions.json must exist and be valid v2.

System dependencies required on PATH:

  • gh (GitHub CLI)

If gh is missing, halt immediately and ask the user to install it. The implement-phase scripts no longer depend on jq.

GitHub admin capability must be available before starting implementation:

node ./scripts/check-github-admin-ready.mjs --pr <PR_URL>

If missing, instruct user to run:

  • /review-fetch-phase <PR_URL> [output-dir]
  • /review-triage-phase <PR_URL> [output-dir]

Behavior

  1. Read actions JSON and select actionable rows:
    • decision: will_address
    • status: pending | in_progress
  2. Preflight GitHub admin capability:
    • run check-github-admin-ready.mjs and fail fast if unavailable
  3. Always post standalone comments (never pending PR reviews):
    • When posting progress updates, do not create a PR review (draft/pending or otherwise).
    • Forbidden flows:
      • gh pr review --comment ...
      • GraphQL addPullRequestReview, addPullRequestReviewComment, addPullRequestReviewThread (this workflow never uses pending reviews)
    • Allowed flows:
      • thread replies via addPullRequestReviewThreadReply (or wrapper script)
      • issue comments via addComment (or wrapper script)
    • Before starting implementation:
      • Detect pending reviews authored by the acting user on this PR.
      • If any exist, halt and clean them up (submit or dismiss) before continuing.
    • After posting any "On it" / "Done" comment:
      • Re-check for pending reviews authored by the acting user.
      • If any exist, the workflow is blocked until they are cleaned up.
    • Implementation requirement:
      • For review_thread targets, always reply using thread replies (never inline PR review comments).
        • If you only have the thread node id, first fetch the thread’s primary comment node id, then call addPullRequestReviewThreadReply.
      • For pull_request_review targets (review-body findings, PRR_… node ids), inline replies are not possible. post-review-thread-reply.mjs auto-detects this and posts a top-level PR issue comment instead (response kind: "issue_comment"); there is no thread to resolve, so the implementer skips resolve-review-thread.mjs for these and records the issue-comment id in the action's done record.
  4. Delegate implementation to:
  • ./agents/review-implementer.md
  1. Require implementer responsibilities:
    • make code changes
    • run relevant checks
    • create focused commits
    • post "On it" when starting each action
    • post "Done" when finished (universal); resolve the thread only when target.kind === "review_thread" and a threadNodeId is available. pull_request_review targets have no inline thread, so the implementer skips the resolve step for them and records the issue-comment id in the action's done record (per behavior step 3).
    • use encoded helper scripts for thread admin operations:
      • node ./scripts/post-review-thread-reply.mjs --repo <owner>/<repo> --pr <number> --comment-node-id <primaryCommentNodeId> --body "<text>" (works for both review_thread and pull_request_review — auto-detects node kind)
      • node ./scripts/resolve-review-thread.mjs --thread-node-id <threadNodeId> (only for review_thread targets)
    • comments must be posted as individual standalone comments/replies, never as part of a pending review
    • after each action completion (Done + resolve when applicable), verify no new pending review was created by the acting user
    • never use inline parser snippets (for example: python -c, node -e, ruby -e, ad-hoc awk/sed JSON parsing)
    • only set status: done after Done (and, for review_thread targets, resolve) succeeds
    • update review-actions.json (status, done.doneAt, done.summary, done.commits) in the same completion step
  2. Render latest action markdown:
node ../review-triage-phase/scripts/render-review-actions.mjs --in <output-dir>/review-actions.json --out <output-dir>/review-actions.md

Ownership

  • This phase owns actual fixes plus posting Done and resolving completed threads.
  • If GitHub thread reply/resolve cannot be performed, the phase is blocked and must not report completion.
  • If comments were accidentally posted as a pending review, the phase is blocked until the pending review is explicitly submitted or dismissed and the action comments are re-posted as standalone comments.

Output to user

Return:

  • commits created
  • actions transitioned to done
  • written artifacts (review-actions.json, review-actions.md)

Suggest next steps:

  • /review-fetch-phase <PR_URL> [output-dir]
  • /review-triage-phase <PR_URL> [output-dir]

prisma의 다른 스킬

prisma-cli-migrate-reset
prisma
prisma 마이그레이션 리셋
official
prisma-cli-validate
prisma
prisma 검증. 이 Prisma 기능을 사용할 때 참조하세요.
official
prisma-next-extension-upgrade
prisma
Upgrade Prisma Next in your extension. Bumps every `@prisma-next/*` dependency to the requested target (or npm `latest`), runs the per-transition upgrade…
official
adr-review
prisma
하나 이상의 ADR을 새로운 시각으로(사전 맥락이 없는 팀원으로서) 검토하고, 서사 및 구조적 문제를 식별한 후 재작성합니다. 다음과 같은 경우에 사용하세요…
official
prisma-next-upgrade
prisma
Upgrade Prisma Next in your app. Bumps every `@prisma-next/*` dependency from the version pinned in the lockfile to the requested target (or npm `latest`),…
official
prisma-cli
prisma
Prisma CLI 명령어, 옵션, 워크플로우에 대한 완전한 참조로, 설정, 마이그레이션, 데이터베이스 작업 전반을 다룹니다. 우선순위별로 정리된 20개 이상의 명령어를 포함합니다: 설정(init), 생성(generate), 개발(dev), 데이터베이스 작업(db pull/push/seed/execute), 마이그레이션(migrate dev/deploy/reset/status/diff/resolve). Prisma 7.x 변경 사항을 포함합니다: 새로운 prisma.config.ts 설정 파일, 제거된 플래그(--skip-generate, --skip-seed, --schema, --url), 명시적...
official
prisma-client-api
prisma
Prisma Client API 전체 참조: 모델 쿼리, CRUD 작업, 필터링, 관계 및 트랜잭션. findUnique, findMany, create, update, delete, upsert 및 반환 변형이 있는 대량 작업을 포함한 17가지 모델 쿼리 메서드를 다룹니다. select, include, omit, orderBy, take, skip, cursor 및 distinct를 포함한 결과 형태를 지정하는 쿼리 옵션을 제공합니다. equals, in, contains, startsWith, lt, gt와 같은 스칼라 및 논리 필터 연산자와 some,...을 포함한 관계 필터를 포함합니다.
official
prisma-compute
prisma
Prisma Compute deployment and hosting guide. Use whenever the user mentions Prisma Compute, `prisma.compute.ts`, `defineComputeConfig`, deploying or hosting a Prisma app, `@prisma/cli app deploy`, `compute:deploy`, `create-prisma --deploy`, `PRISMA_SERVICE_TOKEN`, `auth workspace`, Compute apps/deployments/build logs/domains, `@prisma/cli agent install`, localhost vs `0.0.0.0`, deploy port binding, or framework deploy readiness for Hono, Elysia, Next.js, TanStack Start, Astro, Nuxt, Svelte,...
developmentdevopsofficial