agentleFS
d-o-hubd-o-hub/github-template-ai-agents/.agents/skills/progressive-delivery/SKILL.md

progressive-delivery

Skill2 starsChanged 11 days agoMITView on GitHub

Remediate a live production failure through a gated loop: reproduce the failure, generate a candidate fix, evaluate it, red-team it adversarially, then shadow, canary, and promote or roll back on SLO verdicts. Use when production is degraded and the fix must itself be proven safe, or when the user is already mid-rollout and needs shadow/canary/rollback decisions — even if they just say "roll this out safely", "canary this fix", or "prove the fix". Not for shipping changes through git/GitHub (use git-github-workflow), for running tests or diagnosing failures (use test-runner), for iterate-until-green validation loops (use iterative-refinement), or for authoring CI/CD pipeline config (use cicd-pipeline).

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Prefer the minimal change that resolves the reproducer.

    line 44
  2. Distinctive:

    NOT change. Keep migrations and behavior changes in separate commits.

    line 45
  3. Very specific:

    Run the repo gates (./scripts/quality_gate.sh, targeted tests, ./scripts/validate-skills.sh for skill changes).

    line 49

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Progressive Delivery

Production remediation as a gated loop. No stage is skipped; every gate has an explicit verdict (proceed / abort-and-roll-back) recorded before moving on.

When to Use

  • Production failure needs a fix that must itself be proven safe
  • Rolling out a risky change (migration, perf patch, security hardening)
  • Setting up shadow/canary/promote/rollback stages in any stack
  • Even if they just say "roll this out safely", "canary this", or "prove the fix"

The Loop

1. Failure — capture the signal

Record the failing symptom with evidence: alert text, dashboard link, log excerpt, failing check name. No fix work starts without a pinned symptom.

2. Reproduce — minimal, deterministic

Build the smallest reproducer (failing test, script, or eval case) that fails before the fix and passes after. Commit it with the fix so regressions recur as test failures, not incidents.

3. Candidate fix — smallest blast radius

Prefer the minimal change that resolves the reproducer. Note what it does NOT change. Keep migrations and behavior changes in separate commits.

4. Evaluate — static + functional gates

Run the repo gates (./scripts/quality_gate.sh, targeted tests, ./scripts/validate-skills.sh for skill changes). All must pass with zero warnings before rollout stages.

5. Adversarial evaluation — red-team the fix

Author at least one negative case (EVAL.md convention): inputs crafted to break the fix — reverted-fix checks, boundary values, permission-denied paths, prompt-injection shapes for agent-facing changes. The fix must fail closed. See OWASP GenAI LLM Top 10 2026 and MITRE ATLAS for attack shapes.

6. Shadow — mirrored traffic, zero user impact

Mirror production traffic to the candidate without serving from it (Istio mirror, Flagger mirror: true, Gateway API RequestMirror). Compare outputs and error rates against stable. Writes must be idempotent or shadowed read-only; never mirror non-idempotent writes without a sink.

7. Canary — weighted traffic on SLO verdicts

Shift traffic in small steps (e.g. 5% → 25% → 50% → 100%) with an AnalysisTemplate-style SLO check at each step (success rate, p99 latency, error budget). Any threshold breach aborts the rollout and returns traffic to stable. Keep rollouts short (minutes to ~2h); long-lived canaries are a smell — promote or roll back. (Argo Rollouts / Flagger 2026 practice.)

8. Promote / rollback — decided by data, executed at once

Promote only on consecutive green SLO windows; roll back on first breach — never "wait and see". Record the verdict, the metrics snapshot, and the rollback commit. File a follow-up for the root cause if the fix was a mitigation rather than a cure.

Stage Cheat Sheet

StageGate questionAbort action
ReproduceDoes it fail deterministically?No fix without a repro
EvaluateGates green, zero warnings?Fix, don't proceed
AdversarialFails closed on negatives?Harden, re-run
ShadowOutput parity + no errors?Stop mirroring, diagnose
CanarySLOs green at this weight?Traffic to stable, scale canary to 0
PromoteConsecutive green windows?Roll back on first breach

Rationalizations

RationalizationReality
"The fix is obviously correct, skip shadow/canary."Obviously-correct fixes cause the worst incidents; the loop exists because judgment fails under pressure.
"Canary is slow — push to 100% and watch dashboards."Watching dashboards is detection, not prevention; blast radius is the cost you pay for skipping steps.
"Adversarial cases are overkill for this fix."One negative case costs minutes and catches fail-open logic that functional tests never exercise.
"The canary looks mostly fine, let it ride.""Mostly fine" without SLO thresholds is how degraded states become permanent; abort criteria must predate the rollout.

Red Flags

  • Proceeding to rollout stages with warnings in static gates
  • Shadow stage mirroring non-idempotent writes to live sinks
  • Canary weights increasing without a recorded SLO verdict per step
  • Rollback plan missing ("we'll figure it out if it breaks")
  • No reproducer committed alongside the fix

References

  • agents-docs/SKILL_EVAL_TIERS.md — NVIDIA SkillEvaluator tier mapping
  • evals/evals.json — cases incl. adversarial negatives

See Also

  • test-runner — Execute tests and diagnose failures (stages 2–4)
  • security-code-auditor — Audit the fix for vulns (stage 5 input)
  • git-github-workflow — commit/PR/merge mechanics (runs alongside the loop)
  • iterative-refinement — Validation loops until quality criteria are met

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.