fix-pr
Critically assess PR review comments — verify, investigate ripple effects, then fix or reject with evidence
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Critically assess PR review comments — verify, investigate ripple effects, then fix or reject with evidence
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Handle cross-platform compatibility including file paths, environment detection, platform-specific dependencies, and testing across Windows, macOS, and Linux. Use when dealing with platform-specific code or OS compatibility.
Use when creating, modifying, debugging, or scaffolding OMP extensions, slash commands, custom tools, event hooks, TUI primitives, ExtensionAPI integrations, .omp/extensions, .omp/commands, .omp/tools, package.json omp.extensions, or OMP lifecycle handlers.
Design Director state machine for `/supi:ui-design`. Drives 9 model-owned phases from scope selection through user review, producing a validated HTML mockup artifact.
Guides the harness-engineering pipeline — turn a codebase into one that resists agentic slop with agent-neutral docs, mechanically enforced architecture, and three runtime guardrails
Gray-area extraction stage — surfaces decisions the user must make before the plan can be authored, without expanding scope
Structured extraction of the user's seed prompt into a typed intake artifact — first stage of the UltraPlan authoring pipeline
| name | fix-pr |
| description | Critically assess PR review comments — verify, investigate ripple effects, then fix or reject with evidence |
Critically assess each PR review comment — verify the concern, investigate ripple effects, then accept with a fix or reject with evidence.
| Aspect | Detail |
|---|---|
| Trigger | Invoked on a PR with review comments to address |
| Input | PR number/URL, diff, review comments, full repo access |
| Output | Per-comment decision record, grouped fix plan, reply text per comment |
| Scope | Only comments on the current PR; do not refactor beyond what comments require |
For each comment, answer:
When a comment is non-obvious or touches shared code:
Then decide ACCEPT or REJECT with evidence. INVESTIGATE is not a final state.
| Group together | Keep separate |
|---|---|
| Same file | Unrelated files/areas |
| Coupled files (caller/callee, type/impl) | Cosmetic vs functional changes |
| Same logical concern | Independent features |
Address grouped comments in a single commit with a bullet list of changes.
For each comment, produce:
Comment: #ID by @reviewer on file:line
Verdict: ACCEPT | REJECT
Reasoning: [1-2 sentences with evidence]
Ripple effects: [list or "none"]
Group: [group-id or "standalone"]
ACCEPT: "Fixed. [description of change]." or "Fixed in [file]. Also updated [related file] for consistency."
REJECT: "Investigated — [reason this doesn't apply]. The current implementation [explanation]." or "This is intentional: [reason]. Changing it would [consequence]."
Grouped: "Addressed these comments together in [commit]. Changes: [bullet list]."
Review comment by @alice on
src/config.ts:42: "This should validate the input before passing it toloadConfig. What ifpathis undefined?"
Investigation:
src/config.ts — loadConfig is only called from cli/init.ts which already validates all args via Zod schema.grep for other callers — none. Single call site.path is typed string (non-optional) in the function signature; TypeScript enforces this at compile time.Decision:
Comment: #12 by @alice on src/config.ts:42
Verdict: REJECT
Reasoning: `path` is typed as required `string` and the sole caller validates via Zod before invocation. Adding a runtime check duplicates the type system and the caller's validation.
Ripple effects: none
Group: standalone
Reply: "Investigated — path is a required string param and the only caller (cli/init.ts:18) validates all args through a Zod schema before this point. Adding a runtime check would duplicate both the type constraint and the caller's validation."
| Pattern | Response |
|---|---|
| Abstraction for code used once | YAGNI — one usage doesn't need a helper |
| Error handling for impossible states | Only validate at system boundaries |
| Style preference framed as correctness | If it works and is readable, style is preference |
| Patterns from a different language/codebase | Follow THIS codebase's conventions |
| "Security issue" without a specific vector | Ask for the specific attack scenario |
| "Add tests for X" when X is already tested | Verify coverage before accepting |
| Diff-only context (missing full file) | They may miss structural reasons for the code |
| MUST DO | MUST NOT DO |
|---|---|
| Read full file before deciding on a comment | Accept comments without verifying the concern |
| Provide evidence for every ACCEPT and REJECT | Use performative agreement ("Great catch!", "You're right!") |
| Check ripple effects before accepting changes | Fix cosmetic comments before functional ones |
| Search for existing patterns before introducing new ones | Assume the reviewer has full context |
| Resolve every INVESTIGATE to ACCEPT or REJECT | Leave comments unaddressed |
Before submitting: