Skip to content

feat(agents): add killbill (56) — cost killer with real killswitch#90

Merged
izo merged 5 commits intomainfrom
claude/cloud-cost-auditor-agent-Wxp2e
Apr 20, 2026
Merged

feat(agents): add killbill (56) — cost killer with real killswitch#90
izo merged 5 commits intomainfrom
claude/cloud-cost-auditor-agent-Wxp2e

Conversation

@izo
Copy link
Copy Markdown
Owner

@izo izo commented Apr 20, 2026

Summary

New agent killbill (56) in agents/specials/56-killbill.md (opus, phase: ship) that complements cutkiller (51) — which is audit-only — with an actual killswitch executor across Vercel, GitHub Actions, and Neon.

  • Audit + chiffrage + plan : delegates to cutkiller (51) via Task, falls back to its own scan if unavailable
  • Killswitch réel via CLI (vercel, neonctl, gh) avec double confirmation obligatoire (validation du plan + phrase magique KILL CONFIRM)
  • Garde-fous : main/production intouchables, pas de suppression de repo, pas de secrets/DNS/webhooks, timeout 30s avec skip propre
  • Log d'actions horodaté (docs/audits/killbill-log-*.md) écrit avant chaque commande
  • Mode restore : inverse les soft-kills (suspend→start, disable→enable)

Modes

Mode Action
audit (défaut) Audit + plan + chiffrage
plan Plan de kill uniquement
dry-run Simule le kill, liste ce qui serait coupé
kill Exécute le killswitch après double confirmation
kill --platform=vercel|neon|github Kill ciblé
restore Restaure depuis le log

Files changed

  • agents/specials/56-killbill.md — new agent (448 lines)
  • agents/registry.json + agents/registry.md — regenerated (78 agents)
  • agents/CLAUDE.md — agent table updated
  • CLAUDE.md — key-agents line + next-number marker (→57)
  • .claude/rules/agents-authoring.md — next-available number updated

Test plan

  • Invoker /ulk:killbill (mode audit par défaut) sur un projet avec Vercel/Neon/GitHub → vérifier délégation cutkiller + plan généré
  • killbill dry-run → vérifier qu'aucune commande destructive n'est exécutée
  • killbill kill sans taper KILL CONFIRM → vérifier annulation propre
  • killbill kill --platform=github sur un repo de test → vérifier que seuls les workflows/artifacts/caches sont touchés
  • killbill restore relit le log et réactive les workflows disabled
  • Vérifier que main/production ne sont jamais supprimés (Neon branches, Vercel prod deployments)

https://claude.ai/code/session_01RKhQViqnJhqwGPGhGgVGfP

New agent in agents/specials/56-killbill.md (opus, phase: ship) that
complements cutkiller (51, audit-only) with an actual killswitch
executor across Vercel, GitHub Actions and Neon.

- Modes: audit (default, delegates to cutkiller), plan, dry-run, kill,
  restore, and --platform=<vercel|neon|github> scoped kills
- Double confirmation required: plan validation via AskUserQuestionTool
  + exact textual "KILL CONFIRM" before any destructive action
- Platform kills via CLI: vercel (crons, preview deploys, blobs),
  neonctl (suspend endpoints, delete non-main branches), gh (disable
  workflows, purge artifacts/caches/codespaces)
- Hard-coded guardrails: main/production branches untouchable, no repo
  deletion, no secrets/DNS/webhooks, 30s command timeout with graceful
  skip, idempotent
- Action log (docs/audits/killbill-log-*.md) written before each
  command; post-kill report with before/after savings
- Restore mode reverses soft-kills (suspend→start, disable→enable)

Also updates: agents/CLAUDE.md table, CLAUDE.md key-agents line and
next-number marker (→57), agents-authoring.md next-available marker,
regenerated registry.json + registry.md (78 agents).

https://claude.ai/code/session_01RKhQViqnJhqwGPGhGgVGfP
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 20, 2026

Important

Review skipped

Too many files!

This PR contains 157 files, which is 7 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: eda9ee52-8c63-4a44-914e-d37f44e7cb8b

📥 Commits

Reviewing files that changed from the base of the PR and between ded6380 and 85eef3a.

📒 Files selected for processing (157)
  • .claude/rules/agents-authoring.md
  • CLAUDE.md
  • agents/audit/56-killbill.md
  • agents/registry.json
  • agents/registry.md
  • commands/agents/00-godspeed.md
  • commands/agents/01-shuri.md
  • commands/agents/04-task-runner.md
  • commands/agents/05-vision.md
  • commands/agents/06-a11y-auditor.md
  • commands/agents/07-perf-auditor.md
  • commands/agents/08-2b3.md
  • commands/agents/09-friday.md
  • commands/agents/11-robocop.md
  • commands/agents/16-strange.md
  • commands/agents/18-blackemperor.md
  • commands/agents/21-bifrost.md
  • commands/agents/24-brigitte.md
  • commands/agents/25-bruce.md
  • commands/agents/26-picsou.md
  • commands/agents/27-steve.md
  • commands/agents/2b3.md
  • commands/agents/32-seo-auditor.md
  • commands/agents/34-gandalf.md
  • commands/agents/35-project-decomposer.md
  • commands/agents/36-marketing-maestro.md
  • commands/agents/38-sensei.md
  • commands/agents/39-obsidian-vault.md
  • commands/agents/40-astride.md
  • commands/agents/42-claude-md-optimizer.md
  • commands/agents/43-tools-checker.md
  • commands/agents/45-sargeras.md
  • commands/agents/46-rodin.md
  • commands/agents/47-lovecraft.md
  • commands/agents/48-fluke.md
  • commands/agents/49-happy.md
  • commands/agents/50-tony.md
  • commands/agents/51-cutkiller.md
  • commands/agents/52-ed209.md
  • commands/agents/53-routine.md
  • commands/agents/54-ci-guard.md
  • commands/agents/55-context-audit.md
  • commands/agents/56-killbill.md
  • commands/agents/a11y-auditor.md
  • commands/agents/astride.md
  • commands/agents/bifrost.md
  • commands/agents/blackemperor.md
  • commands/agents/brigitte.md
  • commands/agents/bruce.md
  • commands/agents/ci-guard.md
  • commands/agents/claude-md-optimizer.md
  • commands/agents/context-audit.md
  • commands/agents/cutkiller.md
  • commands/agents/ed209.md
  • commands/agents/fluke.md
  • commands/agents/friday.md
  • commands/agents/gandalf.md
  • commands/agents/godspeed.md
  • commands/agents/happy.md
  • commands/agents/killbill.md
  • commands/agents/lovecraft.md
  • commands/agents/marketing-maestro.md
  • commands/agents/obsidian-vault.md
  • commands/agents/perf-auditor.md
  • commands/agents/picsou.md
  • commands/agents/project-decomposer.md
  • commands/agents/robocop.md
  • commands/agents/rodin.md
  • commands/agents/routine.md
  • commands/agents/sargeras.md
  • commands/agents/sensei.md
  • commands/agents/seo-auditor.md
  • commands/agents/shuri.md
  • commands/agents/steve.md
  • commands/agents/strange.md
  • commands/agents/task-runner.md
  • commands/agents/tony.md
  • commands/agents/tools-checker.md
  • commands/agents/vision.md
  • commands/analyze/analyze-astro.md
  • commands/analyze/analyze-next.md
  • commands/analyze/analyze-nuxt.md
  • commands/analyze/analyze-spip.md
  • commands/analyze/analyze-swiftui.md
  • commands/analyze/astro.md
  • commands/analyze/next.md
  • commands/analyze/nuxt.md
  • commands/analyze/spip.md
  • commands/analyze/swiftui.md
  • commands/deploy/aws.md
  • commands/deploy/cloudflare.md
  • commands/deploy/deploy-aws.md
  • commands/deploy/deploy-cloudflare.md
  • commands/deploy/deploy-docker.md
  • commands/deploy/deploy-fly.md
  • commands/deploy/deploy-netlify.md
  • commands/deploy/deploy-vercel.md
  • commands/deploy/docker.md
  • commands/deploy/fly.md
  • commands/deploy/netlify.md
  • commands/deploy/vercel.md
  • commands/frontend/00-orchestrateur.md
  • commands/frontend/02-frontend-qa.md
  • commands/frontend/03-visual-auditor.md
  • commands/frontend/04-backoffice-auditor.md
  • commands/frontend/05-svg-analyzer.md
  • commands/frontend/06-pencil-generator.md
  • commands/frontend/07-shadcn-migrator.md
  • commands/frontend/31-ranma.md
  • commands/frontend/backoffice-auditor.md
  • commands/frontend/frontend-orchestrateur.md
  • commands/frontend/frontend-qa.md
  • commands/frontend/pencil-generator.md
  • commands/frontend/ranma.md
  • commands/frontend/shadcn-migrator.md
  • commands/frontend/svg-analyzer.md
  • commands/frontend/visual-auditor.md
  • commands/test/e2e.md
  • commands/test/test-e2e.md
  • commands/test/test-unit.md
  • commands/test/unit.md
  • commands/vps/00-orchestrateur.md
  • commands/vps/01-audit.md
  • commands/vps/02-securite.md
  • commands/vps/03-reseau.md
  • commands/vps/04-docker.md
  • commands/vps/05-deploiement.md
  • commands/vps/06-cicd.md
  • commands/vps/07-monitoring.md
  • commands/vps/08-backups.md
  • commands/vps/09-couts-ressources.md
  • commands/vps/10-incidents.md
  • commands/vps/11-migration.md
  • commands/vps/12-documentation.md
  • commands/vps/13-compliance.md
  • commands/vps/14-cleanup.md
  • commands/vps/15-environnements.md
  • commands/vps/16-installateur.md
  • commands/vps/audit-vps.md
  • commands/vps/backups-vps.md
  • commands/vps/cicd-vps.md
  • commands/vps/cleanup-vps.md
  • commands/vps/compliance-vps.md
  • commands/vps/couts-ressources-vps.md
  • commands/vps/deploiement-vps.md
  • commands/vps/docker-vps.md
  • commands/vps/documentation-vps.md
  • commands/vps/environnements-vps.md
  • commands/vps/incidents-vps.md
  • commands/vps/installateur-vps.md
  • commands/vps/migration-vps.md
  • commands/vps/monitoring-vps.md
  • commands/vps/orchestrateur-vps.md
  • commands/vps/reseau-vps.md
  • commands/vps/securite-vps.md
  • docs/todo.md
  • install/check.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/cloud-cost-auditor-agent-Wxp2e

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

claude added 3 commits April 20, 2026 20:29
…itor-agent-Wxp2e

# Conflicts:
#	agents/CLAUDE.md
#	agents/audit/56-killbill.md
#	agents/registry.json
#	agents/registry.md
Under `set -euo pipefail`, a command substitution `$(ls glob 2>/dev/null | wc -l)`
exits the shell with ls's code (2) when the glob matches nothing, because
pipefail propagates ls's failure through the pipeline and errexit then kills
the script. This broke `install.sh --verify` on fresh environments (CI and the
bats isolation in tests/install.bats), where no `$HOME/.claude/agents/ulk-*.md`
exists.

Fix: replace `ls glob | wc -l` with `find PATH -maxdepth 1 -name glob | wc -l`
— find returns 0 when no matches. 4 occurrences in cmd_verify and cmd_status.

Verified: `bats tests/install.bats` → 11/11 ok.

https://claude.ai/code/session_01RKhQViqnJhqwGPGhGgVGfP
@izo
Copy link
Copy Markdown
Owner Author

izo commented Apr 20, 2026

@copilot resolve the merge conflicts in this pull request

@izo izo marked this pull request as ready for review April 20, 2026 20:54
@izo
Copy link
Copy Markdown
Owner Author

izo commented Apr 20, 2026

@copilot resolve the merge conflicts in this pull request

…itor-agent-Wxp2e

# Conflicts:
#	docs/todo.md
Copy link
Copy Markdown

Copilot AI commented Apr 20, 2026

@copilot resolve the merge conflicts in this pull request

Resolved. I merged origin/main into this branch and fixed the conflict in docs/todo.md (kept the upstream version to preserve mainline task state). Included in commit 85eef3a.

Copilot finished work on behalf of izo April 20, 2026 20:57
@izo izo merged commit 20ba874 into main Apr 20, 2026
2 of 3 checks passed
@izo izo deleted the claude/cloud-cost-auditor-agent-Wxp2e branch April 24, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants