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: