Generate AGENTS.md rules from agent failure logs
Project description
agentreflect
Generate AGENTS.md rules from AI coding agent failure logs. Closes the feedback loop in the agent quality trilogy.
Measure (coderace) → Generate (agentmd) → Guard (agentlint) → Learn (agentreflect)
What it does
Every developer using Claude Code or Codex has this problem: their agent makes a mistake, they fix it manually, update AGENTS.md, and hope it doesn't happen again. agentreflect automates the "update AGENTS.md" step.
Feed it failure logs → get targeted rule suggestions → apply them to your AGENTS.md.
In notes mode, agentreflect now prefers AGENTS-style operational rules over generic QA advice. If a note says the agent missed an exact routing target, skipped downstream verification after an irreversible action, or relied on fuzzy recall instead of exact facts already present in files, the suggestions will mirror that operating rule directly.
Install
pip install ai-agentreflect
For LLM-enhanced mode:
pip install 'ai-agentreflect[llm]'
Usage
From pytest output
# Capture failures
pytest --tb=short 2>&1 | tee failures.txt
# Generate suggestions
agentreflect generate --from-pytest failures.txt
From git log
agentreflect generate --from-git
Analyzes fix:, bug:, revert: commits and agent-related mistake commits.
From plain text notes
agentreflect generate --from-notes "agent forgot to check for None before accessing .value"
agentreflect generate --from-notes "fuzzy retrieval missed explicit facts already present in files; add an exact-match layer for handles and tool routing before semantic lookup"
CI Integration
agentreflect ships a GitHub Action and a CI mode flag to integrate rule generation into your pull request workflow.
GitHub Action quick-start
# .github/workflows/agentreflect.yml
name: agentreflect
on: [pull_request]
jobs:
learn:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: mikiships/agentreflect@v0.3.0
with:
mode: ci
from-git: 'true'
threshold: '10' # fail PR if >= 10 new rules detected
CI mode (machine-readable output)
# Write JSON to stdout, summary to stderr
agentreflect generate --from-pytest failures.txt --ci
# Fail with exit 1 if >= 5 rules generated (useful for PR gates)
agentreflect generate --from-git --ci --fail-on 5
CI mode JSON output:
{
"ci": true,
"rules_count": 3,
"rules_generated": 3,
"source": "git log",
"suggestions": [
{ "rule": "...", "rationale": "...", "confidence": 0.85, "category": "..." }
]
}
Full quartet pipeline
See .github/workflows/examples/agent-quality-pipeline.yml for a complete MEASURE → GENERATE → GUARD → LEARN pipeline running all four agent quality tools in sequence:
- agentlint — lint AGENTS.md for structural issues
- agentmd — check context file freshness
- coderace — review code changes
- agentreflect — extract new rules from failures
Output formats
Markdown (default)
## agentreflect suggestions (2026-03-11)
### From: pytest failures (failures.txt)
- [ ] Always check for None before attribute access: use `if obj is not None` or `hasattr(obj, 'attr')`
- [ ] When catching AttributeError, log the object type with `type(obj).__name__`
_Source: 3 failures analyzed, 2 suggestions generated_
Diff format
agentreflect generate --from-pytest failures.txt --format diff
Outputs a unified diff ready to apply to AGENTS.md.
Apply directly
agentreflect generate --from-notes "agent used wrong variable" --apply AGENTS.md
# Asks for confirmation
agentreflect generate --from-pytest failures.txt --apply AGENTS.md --yes
# Applies without confirmation
LLM-enhanced mode
export ANTHROPIC_API_KEY=your_key_here
agentreflect generate --from-pytest failures.txt --llm
Uses claude-3-5-haiku-latest for contextual, specific suggestions tailored to your actual failures. Cost: ~$0.001 per analysis.
Basic pattern mode works without any API key.
Integration with the trilogy
| Tool | Role |
|---|---|
| coderace | Measure agent output quality |
| agentmd | Generate AGENTS.md from scratch |
| agentlint | Guard/validate AGENTS.md rules |
| agentreflect | Learn from failures → update rules |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_agentreflect-0.3.0.tar.gz.
File metadata
- Download URL: ai_agentreflect-0.3.0.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f479d140e644d3f16b77dd5b847eefa4033ae11922bd154562318740e9377c8b
|
|
| MD5 |
790a1164201139fe196a60409fbbacd7
|
|
| BLAKE2b-256 |
4ff9faf549e6f62740060a560823ecd5724e400de14ff6df1c9e1762e521c6cc
|
File details
Details for the file ai_agentreflect-0.3.0-py3-none-any.whl.
File metadata
- Download URL: ai_agentreflect-0.3.0-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
082790cac919192e146cb0c2554e53459d8cc98b77d9fdd75bb96378ec29c293
|
|
| MD5 |
207fadd50cf6d1ef740f9f079ed036ab
|
|
| BLAKE2b-256 |
383a2d04611939b0d35ed69d578d08a1d6fa44f4c7a06978c1fce5f56864895a
|