From oape
Automatically applies code fixes from an oape:review report, prioritized by severity
How this command is triggered — by the user, by Claude, or both
Slash command
/oape:implement-review-fixes <review_report_json>The summary Claude sees in its command listing — used to decide when to auto-load this command
## Name oape:implement-review-fixes ## Synopsis ## Description The `oape:implement-review-fixes` command takes the JSON report produced by `/oape:review` and automatically applies every suggested fix to the codebase. Issues are processed in severity order (CRITICAL first) so the highest-impact problems are resolved even if a later fix fails. This command is invoked automatically at the end of `/oape:review` when the report contains issues. It can also be run standalone by passing a review report directly. ## Arguments - `$1` (review_report_json): The full JSON review report produced ...
oape:implement-review-fixes
/oape:implement-review-fixes <review_report_json>
The oape:implement-review-fixes command takes the JSON report produced by /oape:review and automatically applies every suggested fix to the codebase. Issues are processed in severity order (CRITICAL first) so the highest-impact problems are resolved even if a later fix fails.
This command is invoked automatically at the end of /oape:review when the report contains issues. It can also be run standalone by passing a review report directly.
$1 (review_report_json): The full JSON review report produced by /oape:review. Required.Extract the issues array from the review report JSON.
I must parse the review report and extract:
1. summary.verdict — if "Approved" AND issues array is empty, skip all fixes
2. issues[] — the array of issues to fix
Each issue has:
- severity: "CRITICAL" | "WARNING" | "INFO"
- module: which review module flagged this (Logic, Bash, OLM, Build, Adaptive)
- file: path to the file that needs fixing
- line: line number where the issue occurs
- description: what the problem is
- fix_prompt: instructions on how to fix it
If the issues array is empty or missing, I will output "No issues to fix" and stop.
Exit early if no issues:
summary.verdict is "Approved" AND the issues array is empty, output:
Review verdict: Approved — no fixes to apply.
and STOP. Do not proceed further.Sort the issues array so they are processed in this order:
Within the same severity level, preserve the original order from the report.
I will group and order the issues:
- CRITICAL issues first (these block approval)
- WARNING issues second (these degrade quality)
- INFO issues last (these are improvements)
I will track each issue with an index so I can map fixes back to the original report in the summary.
For each issue in the prioritized list, perform the following sub-steps:
# Read the file referenced by the issue
cat "${issue.file}"
Read enough context around issue.line to understand the surrounding code — at minimum 20 lines before and 20 lines after the target line. If the function containing the target line is larger, read the entire function.
For this issue, I must:
1. Read the `description` to understand WHAT is wrong
2. Read the `fix_prompt` to understand HOW to fix it
3. Read the surrounding code context to understand WHERE the fix goes
4. Consider interactions with other code in the same file
5. Ensure the fix follows the effective-go skill conventions:
- Proper error handling with fmt.Errorf("...: %w", err)
- Lowercase error messages without trailing punctuation
- Short, consistent receiver names
- Proper import organization
- No TODOs — generate complete implementation
Make the edit to the file. Follow these rules:
fix_prompt describes logic, implement it fully.fmt.Errorf("context: %w", err) with lowercase messages.For each issue, record whether the fix was:
If a fix cannot be applied, log the reason and continue to the next issue. Do NOT stop on individual fix failures.
After all fixes have been applied, run verification:
# Step 4.1: Check that the code compiles
go build ./...
# Step 4.2: Run static analysis
go vet ./...
If compilation or vetting fails:
go build ./... to confirm the correctionBuild Consistency Check:
# Step 4.3: Check if any types.go files were modified
git diff --name-only
If any file matching *types*.go or *_types.go was modified by the fixes, I must warn
the user to run:
make generate && make manifests
This ensures deep copy functions and CRD manifests are regenerated.
Output a structured summary of all fixes applied:
=== Review Fix Summary ===
Total issues in report: <N>
Fixes applied: <N>
Fixes skipped: <N>
CRITICAL Fixes:
[1] APPLIED — <file>:<line> — <short description of what was changed>
[2] APPLIED — <file>:<line> — <short description of what was changed>
WARNING Fixes:
[3] APPLIED — <file>:<line> — <short description of what was changed>
[4] SKIPPED — <file>:<line> — <reason it was skipped>
INFO Fixes:
[5] APPLIED — <file>:<line> — <short description of what was changed>
Verification:
go build ./... : PASS | FAIL
go vet ./... : PASS | FAIL
Post-Fix Actions Required:
- Run 'make generate && make manifests' (if types were modified)
- Run 'make test' to validate behavior
Returns the fix summary text shown above.
effective-go skill conventions.The command MUST FAIL and STOP immediately if:
summary and issues fieldsnpx claudepluginhub p/shiftweek-oape-plugins-oape3plugins reuse this command
First indexed Jun 9, 2026