Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/gonzalezpazmonica/savianpx agentmods add commands/gonzalezpazmonica/savia/backlog-groomWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/gonzalezpazmonica/savia/backlog-groom)<a href="https://agentmods.dev/commands/gonzalezpazmonica/savia/backlog-groom"><img src="https://agentmods.dev/badge/commands/gonzalezpazmonica/savia/backlog-groom/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/gonzalezpazmonica/savia/backlog-groom"><img src="https://agentmods.dev/badge/commands/gonzalezpazmonica/savia/backlog-groom.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.01038 |
| Opus 5 | $0.00013 | $0.00519 |
| Sonnet 5 | $0.00005 | $0.00208 |
| Haiku 4.5 | $0.00003 | $0.00104 |
Grade A, and why
backlog-groom scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -u ":$(cat $PAT_FILE)" -X POST -H "Content-Type: application/json" \ Copies of this mod
1 near-identical copy found in the catalogue:
- backlog-groom — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/backlog-groom
🦉 Savia examina tu backlog para detectar items duplicados, obsoletos o incompletos.
Cargar perfil
Grupo: Backlog Intelligence — cargar:
CLAUDE.md— proyecto activo.claude/profiles/active-user.md— usuario y rolprojects/{proyecto}/CLAUDE.md— config del proyecto- Backlog items desde Azure DevOps (WIQL query)
Subcomandos
/backlog-groom— análisis interactivo del backlog entero/backlog-groom --top N— analizar solo los N items más antiguos sin mover/backlog-groom --duplicates— detección agresiva de duplicados/backlog-groom --incomplete— items sin criterios de aceptación
Flujo
Paso 1 — Cargar backlog
La WIQL vive en la Query Library (SE-031). Resolverla inyectando el proyecto activo:
QUERY=$(bash scripts/query-lib-resolve.sh --id backlog-groom-open --param project="$PROJECT_NAME")
curl -u ":$(cat $PAT_FILE)" -X POST -H "Content-Type: application/json" \
-d "{\"query\":\"$QUERY\"}" "$ORG_URL/$PROJECT_NAME/_apis/wiql?api-version=7.0"
Snippet canonico: .claude/queries/azure-devops/backlog-groom-open.wiql. Cambios de schema → editar el snippet, no este doc.
Limitar a los últimos 500 items si el backlog es muy grande.
Paso 2 — Clasificar items
4 categorías:
Healthy (✅): ≥3 líneas desc + ≥3 AC + asignado + modificado < 60d
Stale (🟡): No modificado > 90d OR State=New OR sin comentarios
Incomplete (⚠️): Desc < 3 líneas OR AC < 3 OR SP sin definir
Duplicate (🔴): Título similar (75%+ fuzzy) OR misma descripción OR Epic padre idéntico
Paso 3 — Generar propuestas
Formato compacto:
🟡 #1234 — "Login" | Creado 2025-01-15 | Último cambio 152d atrás
Problemas: Sin AC, Estado=New, > 90d sin cambios
Acción: Definir AC o Closed
Paso 4 — Guardar informe
Estructura del informe:
# Backlog Grooming Report — {proyecto}
Generado: {fecha}
Analista: Savia
## Resumen
Total items analizados: NNN
✅ Healthy: NNN
🟡 Stale: NNN
⚠️ Incomplete: NNN
🔴 Duplicates: NNN
## Items Healthy (en orden — no requieren acción)
[Lista corta solo IDs y títulos]
## Items Stale — Recomendación: Revisar o Cerrar
[Detalle: ID, título, último cambio, estado actual]
Acción sugerida: Contactar propietario o marcar Closed
## Items Incomplete — Recomendación: Completar o Rechazar
[Detalle: ID, título, qué falta]
Acción sugerida: Añadir AC o rechazar PBI
## Items Duplicate — Recomendación: Consolidar
[Pares detectados: PBI #X ≈ PBI #Y]
Acción sugerida: Merge o marcar uno como duplicado
## Próximos Pasos
1. Revisar items stale con propietarios
2. Pedir completar AC en incomplete
3. Consolidar duplicados con el equipo
4. Ejecutar `/backlog-prioritize` tras grooming
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 143 lines · 25 tokens per session scan A d67d2470febc
backlog-groom is a command published in the GitHub repository gonzalezpazmonica/savia (50 stars, last pushed yesterday), licensed MIT. It adds 25 tokens to every session and 1,038 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.
Other commands, from other repositories
wtfp:contribute
Guide a bounded WTF-P contribution from branch creation through a reviewable change request.
project-skill
This is a user-invocable command. Execute it only because the current invocation explicitly selected it. It takes no arguments and operates only on the current project.
project-brief
Convert a technical spec into a PM/CTO-readable executive summary. Simplify technical details, focus on business value.
tickets-implement
This is a user-invocable command. Execute it only because the current invocation explicitly selected it. It takes no arguments: every invocation processes the complete current project queue that is ready for implementation.
hive
Query and manage swarm tasks (cells).
status
Check swarm coordination status - workers, messages, reservations.