$npx -y skills add gotalab/cc-sdd --skill kiro-reviewReview a task implementation against approved specs, task boundaries, and verification evidence. Use after an implementer finishes a task, after remediation, or before accepting a task as complete.
| 1 | # kiro-review |
| 2 | |
| 3 | <background_information> |
| 4 | This skill performs task-local adversarial review. It verifies that the implementation is real, complete, bounded, aligned with approved requirements and design, and supported by mechanical verification evidence. |
| 5 | |
| 6 | Boundary terminology continuity: |
| 7 | - discovery identifies `Boundary Candidates` |
| 8 | - design fixes `Boundary Commitments` |
| 9 | - tasks constrain execution with `_Boundary:_` |
| 10 | - review rejects concrete `Boundary Violations` |
| 11 | </background_information> |
| 12 | |
| 13 | <instructions> |
| 14 | ## When to Use |
| 15 | |
| 16 | - After an implementer reports `READY_FOR_REVIEW` |
| 17 | - After remediation for a rejected review |
| 18 | - Before marking a task `[x]` |
| 19 | - Before accepting a task into feature-level validation |
| 20 | |
| 21 | Do not use this skill to invent missing requirements or silently reinterpret the spec. |
| 22 | |
| 23 | ## Inputs |
| 24 | |
| 25 | Provide: |
| 26 | - Task ID and exact task text from `tasks.md` |
| 27 | - Relevant requirement section numbers |
| 28 | - Relevant design section numbers |
| 29 | - Spec file paths (`requirements.md`, `design.md`, optionally `tasks.md`) |
| 30 | - The implementer's status report |
| 31 | - The task `_Boundary:_` scope constraints |
| 32 | - Validation commands discovered by the controller |
| 33 | - Relevant steering excerpts when applicable |
| 34 | - Relevant `## Implementation Notes` entries when applicable |
| 35 | |
| 36 | ## Outputs |
| 37 | |
| 38 | Return one of: |
| 39 | - `APPROVED` |
| 40 | - `REJECTED` |
| 41 | |
| 42 | Also return: |
| 43 | - Mechanical results |
| 44 | - Findings with severity |
| 45 | - Required remediation |
| 46 | - One-sentence summary |
| 47 | |
| 48 | Use the language specified in `spec.json`. |
| 49 | |
| 50 | ## First Action |
| 51 | |
| 52 | Run `git diff` to inspect the actual code changes. If the diff is large or ambiguous, read the changed files directly. Do not trust the implementer report as source of truth. |
| 53 | |
| 54 | ## Core Principle |
| 55 | |
| 56 | Read the spec yourself. Read the diff yourself. Verify mechanically where possible. Reject on concrete failures rather than interpretive optimism. |
| 57 | The main review question is not just "does it work?" but "does it stay inside the approved responsibility boundary without hiding new coupling?" |
| 58 | |
| 59 | ## Mechanical Checks |
| 60 | |
| 61 | Run these checks and use the result as primary signal. |
| 62 | |
| 63 | ### 1. Regression Safety |
| 64 | - Run the project's canonical test suite using the validation commands discovered by the controller. |
| 65 | - If tests fail, reject. |
| 66 | |
| 67 | ### 2. No Residual Placeholder Markers |
| 68 | - Check changed files for `TBD`, `TODO`, `FIXME`, `HACK`, `XXX`. |
| 69 | - Reject if new placeholder markers were introduced without explicit task justification. |
| 70 | |
| 71 | ### 3. No Hardcoded Secrets |
| 72 | - Check changed files for hardcoded secrets or credentials. |
| 73 | - Reject if concrete secret patterns are introduced. |
| 74 | |
| 75 | ### 4. Boundary Respect |
| 76 | - Compare changed files against the task `_Boundary:_` scope. |
| 77 | - Reject if the change spills outside the approved boundary without explicit justification. |
| 78 | - Reject if the implementation introduces hidden cross-boundary coordination inside what should be a local task. |
| 79 | |
| 80 | ### 5. RED Phase Evidence |
| 81 | - For behavioral tasks, verify that the implementer status report includes `RED_PHASE_OUTPUT`. |
| 82 | - Reject if RED evidence is missing, empty, or unrelated to the task's acceptance criteria. |
| 83 | |
| 84 | ### 6. Runtime-Sensitive Static Checks |
| 85 | - If the project already has lint or equivalent static analysis for the touched stack, run the relevant command for the task boundary. |
| 86 | - Pay attention to patterns that can survive typecheck/build yet fail at runtime: type-only imports used as values, missing namespace value imports for qualified-name access, unresolved globals, and newly introduced runtime-sensitive dependencies without matching boot/runtime handling. |
| 87 | - If no project lint command exists, perform a targeted diff-based spot check in the changed files for those patterns. |
| 88 | - Reject on concrete findings that create a realistic boot-time or module-load failure. |
| 89 | |
| 90 | ## Judgment Checks |
| 91 | |
| 92 | ### 7. Reality Check |
| 93 | - Confirm the implementation is real production code, not a placeholder, stub, fake path, or deferred-work shell. |
| 94 | |
| 95 | ### 8. Acceptance Criteria Coverage |
| 96 | - Read the task description and confirm all aspects are implemented, not only the primary happy path. |
| 97 | |
| 98 | ### 9. Requirements Alignment |
| 99 | - Read the referenced sections in `requirements.md`. |
| 100 | - Confirm each requirement is satisfied by concrete observable behavior. |
| 101 | - Use original section numbers only. |
| 102 | |
| 103 | ### 10. Design Alignment |
| 104 | - Read the referenced sections in `design.md`. |
| 105 | - Confirm the implementation uses the prescribed structures, interfaces, and dependency direction. |
| 106 | - Reject silent substitutions for design-mandated choices. |
| 107 | |
| 108 | ### 10.5 Boundary Audit |
| 109 | - Compare the implementation against the design's boundary commitments and out-of-boundary statements. |
| 110 | - Reject if downstream-specific behavior is pushed into an upstream boundary for convenience. |
| 111 | - Reject if the implementation creates new hidden dependencies, shared ownership, or undeclared coupling across adjacent boundaries. |