Run the full PR verification checklist — code organization, build, test, mocks, squash, push, update PR description, and validate all review comments.
From claude-code-handbooknpx claudepluginhub lioartoil/claude-code-handbookThis skill is limited to using the following tools:
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Before proceeding, confirm with the user:
Ask using AskUserQuestion. If the user declines, stop immediately.
Run the complete verification checklist for the current branch's PR.
$ARGUMENTS — optional PR number (e.g., 101). If omitted, detect from current branch.
Detect the project type by checking files in the repo root:
| Signal | Type | Stack |
|---|---|---|
go.mod exists | Go Service | Go, gRPC, Cloud Run |
nuxt.config.ts exists | Nuxt Portal | Nuxt 4, Vue 3, TypeScript, Vitest |
Run the checklist matching the detected type. If both exist, prefer Go (monorepo with frontend subfolder).
git diff --name-only develop...HEAD)/simplify on all changed filesrouter.go or server.go, save the current function signatures
and route registrations. After simplify, verify all handler params and routes are
still present. If any were removed, restore them immediately.go build), not by static analysis alone.UpdateCampaignStatus(StatusEnded/StatusFailed) MUST go
through completeCampaign. Direct calls = Shotgun Surgery risk. Verify with:
grep -rn "UpdateCampaignStatus.*StatusEnded\|UpdateCampaignStatus.*StatusFailed" campaign-*.go | grep -v completeCampaign | grep -v _testgo build ./api/... ./shared/... ./broker/... ./engagement/...
go vet ./api/... ./shared/...
go test ./api/... ./shared/...
git log --oneline develop..HEAD)git push --force-with-lease)gh pr edit)gh api repos/.../pulls/{PR}/comments)/review-and-comment but without posting comments)git diff --name-only develop...HEAD)<script setup lang="ts"> first, then <template>, then <style> in Vue SFCsuse* prefixapp/constants/routes.ts)/simplify on all changed filesuseCustomFetch wrappers or defineProps/defineEmits type annotations — these are required patternspnpm lint
pnpm typecheck
pnpm test:run
pnpm lint:fix then re-checkpnpm build:dev
.env.* files (dev, sit, uat, prod)nuxt.config.ts was changed: verify runtimeConfig entries match env var names.env.* filesgit log --oneline develop..HEAD)git push --force-with-lease)gh pr edit)gh api repos/.../pulls/{PR}/comments)Report each check with a status and details for failures:
Go Service:
Code Organization: [status] [details]
Simplify: [status] [N issues fixed or "clean"]
Build: [status]
Vet: [status]
Test: [status] [X passed, Y packages]
E2E Test: [status] [details or SKIPPED reason]
Mocks: [status]
Commits: [status] [single commit: hash]
Push: [status]
PR Description: [status]
Review Comments: [status] [X/Y resolved]
Self-Review Loop: [status] [N iterations, M fixes or "clean on first pass"]
Nuxt Portal:
Code Organization: [status] [details]
Simplify: [status] [N issues fixed or "clean"]
Lint: [status] [N issues or "clean"]
Type Check: [status]
Test: [status] [X passed, Y failed]
Build: [status] [or SKIPPED]
Env Config: [status] [N vars verified across M env files]
Commits: [status] [single commit: hash]
Push: [status]
PR Description: [status]
Review Comments: [status] [X/Y resolved]
Self-Review Loop: [status] [N iterations, M fixes or "clean on first pass"]
After the report, if the PR changes trigger files, print:
Go Service trigger files:
**/server/server.go, **/router/router.go, **/adapter/handler/**, **/property/property.go, **/configs/*.envTip: This PR touches server wiring / handlers / router. Consider running
/e2e-testto validate the full running service locally.
Nuxt Portal trigger files:
app/composables/useCustomFetch.ts, app/composables/useUploadFile.ts, nuxt.config.ts, .env.*, app/services/**Tip: This PR touches API integration / config. Consider running
/e2e-test portalto validate the dev server locally.