mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-12 20:16:29 +03:00
* feat: add programming-principles skill (14 classic software books) - SKILL.md v0.2.0 with cross-cutting principles, task-to-book mapping, and code-assessment workflow - 29 reference files (14 mini + 14 full + assessment methodology) - Agent-agnostic frontmatter (compatibility field, no Hermes-specific metadata) - Wire neckbeard routing table: code review/refactoring/quality assessment - Regenerate Claude marketplace + Codex plugin manifests (97 skills) Source: magnus919/programming-principles (standalone repo, v0.1.1). Local copy was v0.2.0 with code-assessment-workflow.md not yet upstreamed. Standalone repo will be archived with redirect after merge. * fix: satisfy validator — frontmatter fields, skill README, catalog entry - Strip version/author/source from frontmatter (unsupported fields) - Move source attribution into metadata (string-to-string map) - Add programming-principles/README.md with required headings - Add catalog entry to root README.md (alphabetical position) Validator passes locally: 107 canonical skills.
2.4 KiB
2.4 KiB
OBEY Release It! by Michael T. Nygard
When to use
Use for services, APIs, jobs, queues, deployment paths, control tooling, and critical flows that must survive production failures, overload, latency, bad data, hostile traffic, and operational mistakes.
Primary bias to correct
A passing happy path is not production readiness. Design the failure semantics, demand limits, isolation, recovery path, and diagnosis surface before production defines them for you.
Decision rules
- Assume every dependency, queue, cache, timeout, caller retry, and degraded state can fail in slow, partial, or prolonged ways.
- Prefer designs that fail visibly, limit blast radius, shed load, preserve core service, and make diagnosis possible.
- Treat deployment, operations, security, observability, rollback, and configuration validation as part of the system.
- Put explicit, intentional time limits on outbound calls and waits. No infinite waits.
- Retry only when safe for caller and provider. Bound count and total time. Use backoff or jitter.
- Isolate dependency failures with circuit breakers, fast failure, bulkheads, separate resource pools.
- Design overload behavior explicitly with back pressure, finite queues, demand limits, and load shedding.
- Budget scarce resources explicitly. Release them deterministically. Stream or paginate large payloads.
- Treat external input and responses as untrusted. Validate syntax, shape, business plausibility, semantics.
- Build observability into boundaries: structured context, correlation IDs, latency, throughput, error, saturation, queue depth, breaker state, dependency health.
- Make startup, health checks, migrations, and operational controls fail safely, auditable, stoppable, recoverable.
Trigger rules
- When adding an outbound call, define timeout, retry eligibility, fallback, validation, and caller-survival behavior.
- When adding a queue, buffer, pool, cache, or background job, define capacity, full behavior, cleanup, and saturation monitoring.
- When a change touches deployment, config, startup, or migrations, make it idempotent and give it rollback.
- When designing API contracts, make failure modes explicit, distinguish retryable from non-retryable.
Final checklist
- Explicit timeouts and no infinite waits?
- Retries safe, bounded, backed off?
- Failure isolated with breakers, bulkheads, load shedding?
- External input validated before trusted?
- Startups and migrations restartable and observable?