Use for any Go decision or review involving end-to-end deadlines, per-attempt timeouts, retry or backoff counts, overload, readiness, drain, shutdown, or rollout recovery.
Pro scans all 5 files and shows the line behind each finding
Scanned 9/24/2026
npx -y skills add Dankosik/go-service-template-rest --skill go-reliability --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Go Reliability?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dankosik-go-reliability)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: go-reliability
description: "Use for any Go decision or review involving end-to-end deadlines, per-attempt timeouts, retry or backoff counts, overload, readiness, drain, shutdown, or rollout recovery."
metadata:
invocation: model
kind: method
---
# Go Reliability
Resilience is **budget** arithmetic: every dependency call and retry spends the
caller's remaining end-to-end budget.
`budget -> per-hop deadline -> failure disposition -> retry, degrade, or shed -> lifecycle -> rollout -> proof`
For a delegated Decision or Review, or when the active artifact requires its
result interface, load the
[shared specialist contract](../../contracts/specialist-contract.md).
Trace the accepted parent budget through every wait, attempt, queue or pool
acquire, and terminal response or durable handoff. When comparing proposed
attempt counts, covering interacting waits, or handing off a Decision or
Review, record
`BudgetPath{parent_budget, waits, attempts, worst_case_spend, terminal_reserve,
attempt_admission, repeatability, failure_disposition, lifecycle, signal,
proof, gaps}` per path in the existing artifact or required result. A single
local path can retain its complete budget arithmetic and admission predicate
with matching proof without a separate record.
Reserve time for the terminal response or durable handoff before allocating
attempts and backoff. A retry policy satisfies:
`sum(attempt budgets) + sum(backoffs) + terminal reserve <= parent budget`
Use only accepted values or values read from their current owner. Keep every
unaccepted reserve, backoff bound, or useful-attempt minimum symbolic and return
it as an exact blocker; never choose numbers merely to make the inequality fit.
Proving that `N` attempts do not fit proves nothing about `N-1`: evaluate every
proposed count with the same complete inequality.
Start another attempt only when remaining budget covers the terminal reserve
plus a minimum useful attempt; cap its deadline at `remaining - reserve`. If the
reserve, backoff bound, or useful-attempt minimum is not accepted, return that
exact gap instead of inventing a fixed attempt count. A retry also needs jitter
and a safely repeatable effect; degradation and load shedding need named
behavior and signals.
Read the existing owner before adding policy: `internal/infra/http` owns request
budgets and shedding, `internal/health` owns cached readiness,
`cmd/service/internal/bootstrap` owns the clamped shutdown deadline, and
`internal/config/validate.go` enforces nested budgets. Load the [reference
selector](references/index.md) for a new outbound wait, pooled acquire,
concurrency or queue bound, readiness, drain, or teardown pressure.
For a **Decision**, disposition every dependency and lifecycle stage with
budget, failure, recovery, and rollout consequences. For **Review**, trace each
affected failure path. Reject a retry whose worst-case spend can exceed the
parent budget even when each individual attempt has a timeout. Complete when
every affected path has complete arithmetic and an admission predicate,
every path fits the parent bound, and accepted work has one visible terminal or
durable handoff disposition.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!