$npx -y skills add NeoLabHQ/context-engineering-kit --skill review-local-changesReview your local uncommitted working-tree changes (git diff plus untracked files) and return actionable improvement suggestions. Use before committing, when nothing has been pushed yet.
| 1 | # Local Changes Review Instructions |
| 2 | |
| 3 | You are an expert code reviewer conducting a thorough evaluation of local uncommitted changes. Your review must be structured, systematic, and provide actionable feedback including improvement suggestions. |
| 4 | |
| 5 | **User Input:** |
| 6 | |
| 7 | ```text |
| 8 | $ARGUMENTS |
| 9 | ``` |
| 10 | |
| 11 | **IMPORTANT**: Skip reviewing changes in `spec/` and `reports/` folders unless specifically asked. |
| 12 | |
| 13 | --- |
| 14 | |
| 15 | ## Command Arguments |
| 16 | |
| 17 | Parse the following arguments from `$ARGUMENTS`: |
| 18 | |
| 19 | ### Argument Definitions |
| 20 | |
| 21 | | Argument | Format | Default | Description | |
| 22 | |----------|--------|---------|-------------| |
| 23 | | `review-aspects` | Free text | None | Optional review aspects or focus areas for the review (e.g., "security, performance") | |
| 24 | | `--min-impact` | `--min-impact <level>` | `high` | Minimum impact level for issues to be reported. Values: `critical`, `high`, `medium`, `medium-low`, `low` | |
| 25 | | `--json` | Flag | `false` | Output results in JSON format instead of markdown | |
| 26 | |
| 27 | ### Flag Interaction |
| 28 | |
| 29 | When `--min-impact` and `--json` are used together, `--min-impact` filters which issues appear in the JSON output. For example, `--min-impact medium --json` outputs only issues with impact score 41 or above, formatted as JSON. The `--json` flag controls output format only and does not affect filtering. The `--min-impact` flag controls filtering only and works identically regardless of output format. |
| 30 | |
| 31 | ### Usage Examples |
| 32 | |
| 33 | ```bash |
| 34 | # Review all local changes with default settings (min-impact: high, markdown output) |
| 35 | /review-local-changes |
| 36 | |
| 37 | # Focus on security and performance, lower the threshold to medium |
| 38 | /review-local-changes security, performance --min-impact medium |
| 39 | |
| 40 | # Critical-only issues in JSON for programmatic consumption |
| 41 | /review-local-changes --min-impact critical --json |
| 42 | ``` |
| 43 | |
| 44 | ### Impact Level Mapping |
| 45 | |
| 46 | | Level | Impact Score Range | |
| 47 | |-------|-------------------| |
| 48 | | `critical` | 81-100 | |
| 49 | | `high` | 61-80 | |
| 50 | | `medium` | 41-60 | |
| 51 | | `medium-low` | 21-40 | |
| 52 | | `low` | 0-20 | |
| 53 | |
| 54 | ### Configuration Resolution |
| 55 | |
| 56 | Parse `$ARGUMENTS` and resolve configuration as follows: |
| 57 | |
| 58 | ``` |
| 59 | # Extract review aspects (free text, everything that is not a flag) |
| 60 | REVIEW_ASPECTS = all non-flag text from $ARGUMENTS |
| 61 | |
| 62 | # Parse flags |
| 63 | MIN_IMPACT = --min-impact || "high" |
| 64 | JSON_OUTPUT = --json flag present (true/false) |
| 65 | |
| 66 | # Resolve minimum impact score from level name |
| 67 | MIN_IMPACT_SCORE = lookup MIN_IMPACT in Impact Level Mapping: |
| 68 | "critical" -> 81 |
| 69 | "high" -> 61 |
| 70 | "medium" -> 41 |
| 71 | "medium-low" -> 21 |
| 72 | "low" -> 0 |
| 73 | ``` |
| 74 | |
| 75 | ## Review Workflow |
| 76 | |
| 77 | Run a comprehensive code review of local uncommitted changes using multiple specialized agents, each focusing on a different aspect of code quality. Follow these steps precisely: |
| 78 | |
| 79 | ### Phase 1: Preparation |
| 80 | |
| 81 | Run following commands in order: |
| 82 | |
| 83 | 1. **Determine Review Scope** |
| 84 | - Check following commands to understand changes, use only commands that return amount of lines changed, not file content: |
| 85 | - `git status --short` |
| 86 | - `git diff --stat` (unstaged changes) |
| 87 | - `git diff --cached --stat` (staged changes) |
| 88 | - `git diff --name-only` |
| 89 | - `git diff --cached --name-only` |
| 90 | - **Staged vs unstaged**: Differentiate between staged (`git diff --cached`) and unstaged (`git diff`) changes. Review both by default. When reporting issues, indicate whether the affected change is staged or unstaged so the user knows which changes are ready to commit and which are still in progress. |
| 91 | - Parse `$ARGUMENTS` per the Command Arguments section above to resolve `REVIEW_ASPECTS`, `MIN_IMPACT`, `MIN_IMPACT_SCORE`, and `JSON_OUTPUT` |
| 92 | - If there are no changes, inform the user and exit |
| 93 | |
| 94 | 2. Launch up to 6 parallel Haiku agents to perform following tasks: |
| 95 | - One agent to search and give you a list of file paths to (but not the contents of) any relevant agent instruction files, if they exist: CLAUDE.md, AGENTS.md, **/constitution.md, the root README.md file, as well as any README.md files in the directories whose files were modified |
| 96 | - Split changed files based on amount of lines changed between other 1-5 agents and ask them following: |
| 97 | |
| 98 | ```markdown |
| 99 | GOAL: Analyse local uncommitted changes in following files and provide summary |
| 100 | |
| 101 | Perform following steps: |
| 102 | - Run `git diff -- [list of files]` and `git diff --cached -- [list of files]` to see both unstaged and staged changes |
| 103 | - Analyse following files: [list of files] |
| 104 | |
| 105 | Please return a detailed summary of the changes in each file, including types of changes, their complexity, affected classes/functions/variables/etc., and overall description of the changes. For each file, indicate whether changes are staged, unstaged, or both. |
| 106 | ``` |
| 107 | |
| 108 | ### Phase 2: Sea |