Install
openclaw skills install receive-feedbackProcess external code review feedback with technical rigor. Use when receiving feedback from another LLM, human reviewer, or CI tool. Verifies claims before implementing, tracks disposition.
openclaw skills install receive-feedbackProcess code review feedback with verification-first discipline. No performative agreement. Technical correctness over social comfort.
The orchestrator verifies and applies fixes under a strict per-item contract. If the agent supports subagents, each valid item is fixed by a dedicated subagent dispatched in parallel; otherwise the orchestrator applies the same fixes sequentially itself, one item at a time, under the identical Fix-Quality Contract — producing identical output.
┌─────────────┐ ┌──────────────┐ ┌──────────────────────┐
│ VERIFY │ ──▶ │ CONFIRM │ ──▶ │ APPLY FIXES │
│ (tool-based)│ │ ("launch │ │ (one fix per valid │
│ │ │ fixes for │ │ item — parallel │
│ │ │ 1,2,3?") │ │ subagents if │
│ │ │ │ │ supported, else │
│ │ │ │ │ sequential) │
└─────────────┘ └──────────────┘ └──────────────────────┘
Verify, confirm once, then apply the fixes for the chosen set.
If a bug is valid, it gets fixed. Full stop. No deferral, no excuses. When subagents are available, one subagent fixes each item in parallel; otherwise the orchestrator fixes each item sequentially under the same contract.
launch fixes for 1,2,3? (list every valid item's number — the default proposal is always the full valid set).y, yes, go, ok, do it, lgtm, or just ↵) → dispatch the full proposed set.1,3 or 1 3 4) → dispatch only those numbers. They must be a subset of the proposed valid set. Items the user omits are NOT marked deferred — they are simply not run this round.no / cancel / stop → halt without dispatching.These are non-negotiable. The orchestrator may not:
launch fixes for <numbers>?, where <numbers> defaults to the full valid set. (The user may override by replying with their own subset of numbers — that is a user override, not an agent question.)A valid bug raised by a code or security reviewer must be fixed. There is no other option.
Do not advance to the next gate until its pass condition is true. Details live in VERIFICATION.md, EVALUATION.md, and RESPONSE.md.
Gate 1 — Verification evidence (per item)
VERIFICATION.md).Pass when: Every item has VALID / INVALID / NEEDS CLARIFICATION plus an artifact. Fail (stop): Proceeding without an artifact, or downgrading a VALID item to "skip" / "defer" / "pre-existing" / "out of scope".
Gate 2 — Single batch confirmation
launch fixes for <comma-separated numbers>? — <numbers> MUST be the full valid set. Do not pre-narrow it.Pass when: The user confirms or supplies a subset of the proposed numbers, and the chosen set is locked in writing before Gate 3. Fail (stop): Proposing a narrowed default, asking "which would you like to fix?", or proposing to defer any valid item.
Gate 3 — Apply fixes for the chosen set
Pass when: Every item in the user-chosen set has been fixed under the contract (one subagent each when supported, or one focused sequential pass each otherwise). Fail (stop): Bundling fixes, or skipping any item the user actually chose.
Gate 4 — Response artifact (batch)
RESPONSE.md.Not run this round: <numbers> (user-excluded) — and nothing else. Do not label them deferred or out of scope.Pass when: Every item appears in Implemented or Rejected with file:line citations, and any user-excluded valid items are listed verbatim under the table. Fail (stop): Shipping a summary that omits an item, lacks evidence on a rejection, or invents a "Deferred" bucket.
Invoke the receive-feedback skill with a feedback file path as its argument.
$ARGUMENTSVERIFICATION.mdlaunch fixes for <numbers>? promptRESPONSE.md1. Remove unused import on line 15
2. Add error handling to the API call
3. Consider using a generator for large datasets
4. Fix typo in variable name: `usr` → `user`
Freeform prose is also acceptable; extract actionable items from the text.
When fixing an item — whether dispatching a subagent or doing it sequentially yourself — the fix brief MUST include:
You are fixing one code review finding. Hard requirements:
1. Make the fix. Do not defer. Do not declare anything out of scope.
Do not call anything pre-existing. If you discover the fix needs to
touch adjacent code to be correct, touch it.
2. The fix must be clean and architectural — idiomatic for the language
and the file's surrounding patterns. Read enough of the
surrounding module to match its conventions before editing.
No inline hacks, no band-aids, no "minimum to make it green".
3. Do NOT over-engineer. No new abstractions, no speculative
generality, no helper layers, no config knobs. Solve the actual
reported problem. If three lines are right, write three lines.
4. Write NO comments unless a future reader would be genuinely
confused without one (a non-obvious invariant, a workaround for a
specific upstream bug, a hidden constraint). Never write comments
that restate what the code does. Never write headers, banners,
"fix:" markers, or "// added for review feedback" notes.
Excessive comments are a defect — do not produce them.
5. Run the project's typecheck / lint for the file you touched if a
command is obvious from the repo. Report what you ran.
6. Report back: the resulting diff, the file:line of the change, and
one sentence on what you changed and why.
When dispatching subagents, use a general-purpose subagent unless a domain-specific one is clearly better.
Invoke the receive-feedback skill with a feedback file path:
receive-feedback reviews/pr-123-feedback.md
Reads the file, verifies each item, prints invalid/valid summary, asks launch fixes for 1,3,4?, and on confirmation fixes items 1, 3, and 4 — three subagents in parallel if supported, otherwise three sequential fixes under the same contract.
VERIFICATION.md - Tool-based verification workflowEVALUATION.md - Classification rules (VALID / INVALID / NEEDS CLARIFICATION)RESPONSE.md - Structured output formatreferences/skill-integration.md - Using with code-review skills