diff-evidence-agent
SkillAI & modelsCreate evidence explaining the actual implementation diff and its relationship to the predicted impact, closing the loop between pre-change prediction and post-change reality.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the diff-evidence-agent skill
What this skill tells your AI
The instructions your AI receives, as published by agile-v/agile_v_skills in skills/diff-evidence-agent/SKILL.md and read by ahel’s review.
Purpose
Create evidence explaining the actual implementation diff and its relationship to the predicted impact. This skill closes the loop between the pre-change impact prediction and the post-change reality, and is a key input for the Red Team's evidence quality check.
Trigger conditions
Use this skill after implementation and before final validation. Specifically:
- After the Build Agent has made changes.
- After tests have been run.
- Before Red Team evidence verification.
- When generating the final evidence bundle.
- When a reviewer asks "what actually changed vs what was predicted?"
Inputs
- implementation diff (git diff HEAD~1 or patch file) required
- .agile-v/phases/01-impact/impact_map.md required
- .agile-v/phases/01-impact/change_risk_assessment.md required
- .agile-v/REQUIREMENTS.md required
- .agile-v/traceability/graph_traceability_matrix.md required
- test results (JSON or JUnit XML) required
- .understand-anything/diff-overlay.json optional
Outputs
All outputs are written to .agile-v/traceability/ (alongside the traceability matrix).
diff_impact_report.md
risk_delta.md
release_impact_summary.md
changed_node_list.json
Required behavior
Step 1: Parse the diff
- List all files changed, added, and deleted in the implementation diff.
- For each changed file, extract the key symbols modified (function names, class names).
- Map each changed file to graph nodes using the normalized graph (if available).
Step 2: Compare predicted vs actual impact
For each node in impact_map.md:
- Check whether it was actually changed.
- Record: Predicted=Yes, Changed=Yes/No.
For each changed file:
- Check whether it was in the impact map.
- If not, record as an unexpected change.
Step 3: Explain unexpected changes
For each unexpected change (file changed but not in impact map):
- Identify why it was changed.
- Classify: acceptable (module wiring, formatting, etc.) or concerning (scope creep, unintended).
- Record in
diff_impact_report.md.
Step 4: Update risk status
For each risk in change_risk_assessment.md:
- Check whether the risk was realized (test failed, unexpected behavior found).
- Update risk status: mitigated / realized / residual.
- Record in
risk_delta.md.
Step 5: Record decision
Decide:
- Accept — all unexpected changes are justified, risks are mitigated, tests pass.
- Rework required — unexpected changes are not justified, tests failed, risks unmitigated.
Output template: diff_impact_report.md
# Diff Impact Report
## Summary
<What changed and why.>
## Predicted vs Actual Impact
| Component | Predicted | Changed | Explanation |
|---|---|---|---|
| src/auth/auth.controller.ts | Yes | Yes | Expected implementation change |
| src/auth/auth.module.ts | Yes | Yes | Required for module wiring |
| src/auth/auth.service.ts | Low confidence | No | Not required; guard runs before service |
## Unexpected Changes
| File | Reason | Risk |
|---|---|---|
| ... | ... | Acceptable / Scope creep |
## Regression Evidence
| Risk | Test Evidence | Result |
|---|---|---|
| ... | ... | Pass/Fail |
## Decision
- Accept / Rework required
- Reason: ...
Output schema: changed_node_list.json
[
{
"path": "src/auth/auth.controller.ts",
"component_id": "node-042",
"change_type": "modified",
"predicted": true,
"symbols_changed": ["AuthController.login"],
"unexpected": false,
"justification": null
}
]
Anti-patterns to avoid
- Do not mark all unexpected changes as acceptable without a specific justification.
- Do not skip the risk delta document.
- Do not accept the diff if any critical risk is unrealized (test failed for a high-severity risk).
- Do not include raw source code diffs in the evidence report (use line counts and symbol names).
Use canonical typed lineage and preserve REQ-XXXX revision/baseline references; this evidence supports verification and is not intended-use validation. Apply inherited agile-v-core halt/decision rules and agile-v-aibom manifest capture for materially AI-influenced output at any risk level.
Compatible tools
Claude Code, Cursor, Copilot, Codex, Gemini CLI, OpenCode, Cline.
Signals
- GitHub stars
- 54
- Forks
- 10
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
diff-evidence-agent- Source
- github.com/agile-v/agile_v_skills