Evaluate staged git changes using the output-evaluator agent to catch issues before committing.
Run git diff --cached --stat to see what's staged. If nothing is staged, inform the user and exit.
Run git diff --cached to get the complete diff of all staged changes.
Use the Task tool to launch the output-evaluator agent with the diff:
Evaluate these staged changes for correctness, completeness, and safety.
Return a JSON verdict with scores and issues.
Changes:
[paste the git diff here]
Based on the evaluation result:
If APPROVE:
If NEEDS_REVIEW:
If REJECT:
If user confirms, create the commit using the standard commit flow.
/validate-changes
Output:
Evaluating 3 staged files...
VERDICT: NEEDS_REVIEW
Scores:
Correctness: 8/10
Completeness: 6/10
Safety: 9/10
Issues Found:
[MEDIUM] src/api/handler.ts:45
Missing error handling for network failures
[LOW] src/utils/format.ts:12
Consider adding input validation
Suggestion: Add try-catch around the fetch call in handler.ts
How would you like to proceed?
1. Fix issues and re-evaluate
2. Commit anyway (1 medium issue)
3. Abort
This command invokes an LLM evaluation, which uses API tokens:
For automatic evaluation on every commit, see pre-commit-evaluator.sh hook.
This command is the manual alternative when you want control over when evaluation runs.