mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-14 13:06:30 +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.
39 lines
2.4 KiB
Markdown
39 lines
2.4 KiB
Markdown
# 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?
|