Backend

Build reliable backend services with proper error handling, security, and observability.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
3 · 2.4k · 11 current installs · 11 all-time installs
byIván@ivangdavila
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description ('Build reliable backend services...') match the SKILL.md content (error handling, timeouts, retries, observability, security hygiene). There are no unrelated requirements (no binaries, env vars, or config paths) that would be disproportionate to the stated purpose.
Instruction Scope
SKILL.md is a high-level guidelines/checklist for best practices. It does not instruct the agent to read files, exfiltrate data, call external endpoints, or access credentials. References to 'secrets from environment or vault' are prescriptive advice, not runtime instructions to retrieve secrets.
Install Mechanism
No install spec and no code files are present. Because this is instruction-only, nothing is written to disk or installed—this is the lowest-risk install profile.
Credentials
The skill declares no required environment variables or credentials. Although the guidance mentions using environment/vault for secrets (appropriate advice), the skill does not request or depend on any credentials, which is proportionate.
Persistence & Privilege
always is false and the skill does not request persistent system presence or modify other skills/config. The skill is user-invocable and may be invoked autonomously (platform default) but that is not excessive for an instruction-only guideline.
Assessment
This skill is a safe, purely advisory checklist for backend engineering practices — it doesn't access files, install code, or ask for secrets. If you install it, expect the agent to reference these guidelines when advising or generating code; review any generated code or runtime actions the agent proposes before allowing them to execute or providing credentials to external tools.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk974cqcw85n6j6hcgf5fmxdqys80wj74

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

⚙️ Clawdis
OSLinux · macOS · Windows

SKILL.md

Error Handling

  • Never expose stack traces to clients—log internally, return generic message
  • Structured error responses: code, message, request ID—enables debugging without leaking
  • Fail fast on bad input—validate at entry point, not deep in business logic
  • Unexpected errors: 500 + alert—expected errors: appropriate 4xx

Input Validation

  • Validate everything from outside—query params, headers, body, path params
  • Whitelist valid input, don't blacklist bad—reject unknown fields
  • Validate early, before any processing—save resources, clearer errors
  • Size limits on all inputs—prevent memory exhaustion attacks

Timeouts Everywhere

  • Database queries: set timeout, typically 5-30s
  • External HTTP calls: connect timeout + read timeout—don't wait forever
  • Overall request timeout—gateway or middleware level
  • Background jobs: max execution time—prevent zombie processes

Retry Patterns

  • Exponential backoff: 1s, 2s, 4s, 8s...—prevents thundering herd
  • Add jitter: randomize delay—prevents synchronized retries
  • Idempotency keys for non-idempotent operations—safe to retry
  • Circuit breaker for failing dependencies—stop hammering, fail fast

Database Practices

  • Connection pooling: reuse connections—creating is expensive
  • Transactions scoped minimal—hold locks briefly
  • Read replicas for read-heavy workloads—separate read/write traffic
  • Prepared statements always—SQL injection prevention, query plan cache

Caching Strategy

  • Cache invalidation strategy decided upfront—TTL, event-based, or both
  • Cache at right layer: query result, computed value, HTTP response
  • Cache stampede prevention—lock or probabilistic early expiration
  • Monitor hit rate—low hit rate = wasted resources

Rate Limiting

  • Per-user/IP limits on expensive operations—login, signup, search
  • Different limits for different operations—read vs write
  • Return Retry-After header—tell clients when to retry
  • Rate limit early in request pipeline—save resources

Health Checks

  • Liveness: is process running—restart if fails
  • Readiness: can handle traffic—remove from load balancer if fails
  • Startup probe for slow-starting services—don't kill during init
  • Health checks fast and cheap—don't hit database on every probe

Graceful Shutdown

  • Stop accepting new requests first—drain load balancer
  • Wait for in-flight requests to complete—with timeout
  • Close database connections cleanly—prevent connection leaks
  • SIGTERM handling: graceful; SIGKILL after timeout

Logging

  • Structured logs (JSON)—parseable by log aggregators
  • Request ID in every log—trace request across services
  • Log level appropriate: debug for dev, info/error for prod
  • Sensitive data never logged—passwords, tokens, PII

API Design

  • Versioning strategy from day one—path (/v1/) or header
  • Pagination for list endpoints—cursor or offset; include total count
  • Consistent response format—same envelope everywhere
  • Meaningful status codes—201 for create, 204 for delete, 404 for not found

Security Hygiene

  • Secrets from environment or vault—never in code or config files
  • Dependencies updated regularly—automated with Dependabot/Renovate
  • Principle of least privilege—service accounts with minimal permissions
  • Authentication and authorization separated—who you are vs what you can do

Observability

  • Metrics: request count, latency percentiles, error rate—the RED method
  • Distributed tracing for microservices—follow request across services
  • Alerting on symptoms, not causes—high error rate, not CPU usage
  • Dashboards for operational visibility—know normal to spot abnormal

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…