Skip to content
Back to skills

Production Awareness

ASecurity

Think about production consequences at every stage of development, not just at deployment time.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 2, 2026
ai-agentsrustgoapidatabase

Works with

  • api

Security analysis

A100/100

Scanned October 2, 2026

npx -y skills add varunk130/ai-workflow-playbooks --skill production-awareness --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Production Awareness?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Production Awareness
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/varunk130-production-awareness/badge)](https://www.skillsdirectory.com/skills/varunk130-production-awareness)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: production-awareness
description: Think about production consequences at every stage of development, not just at deployment time.
---

# Production Awareness

## What This Skill Enables
An agent that considers how code will behave in production - under real load, with real data, facing real failures - while writing it, not after shipping it. Without this skill, agents write code that works in development but fails under production conditions: high concurrency, network failures, malformed data, resource exhaustion, and hostile input.

## Core Competencies

### 1. Production Mental Model
While writing any code, ask these questions:

| Question | Why It Matters |
|----------|---------------|
| What happens at 100x current load? | Linear algorithms become bottlenecks; database connections exhaust |
| What happens when this external call fails? | Network timeouts, retries, and circuit breakers become essential |
| What happens with unexpected input? | User-generated content includes Unicode, injection attempts, and extreme lengths |
| What happens when disk/memory fills up? | Unbounded logs, caches, and queues cause cascading failures |
| What happens during a deploy? | In-flight requests, database migrations, and cache invalidation need handling |

### 2. Failure Mode Awareness
Every external dependency will eventually fail. Design for it:

**Network calls**: Always have a timeout, retry policy, and fallback behavior
```
GOOD: fetch(url, { signal: AbortSignal.timeout(5000) })
       .catch(err => fallbackResponse)

BAD:  fetch(url)  // hangs forever if the server doesn't respond
```

**Database queries**: Handle connection pool exhaustion, slow queries, and deadlocks
- Set query timeouts
- Use connection pool limits with appropriate max/min
- Log slow queries above a threshold

**File system**: Handle disk full, permission denied, and race conditions
- Check available space before large writes
- Use atomic write patterns (write to temp, rename)
- Handle `ENOENT` and `EACCES` explicitly

### 3. Data Safety
Treat production data with care at every level:
- **Never log sensitive data**: passwords, tokens, PII, credit card numbers
- **Never trust input size**: enforce limits on request bodies, file uploads, query parameters
- **Never expose internals**: stack traces, database schemas, internal paths in error responses
- **Always validate at boundaries**: data from users, APIs, message queues, and even your own database (data can be corrupted)

### 4. Resource Awareness
Know the resource profile of your code:

| Resource | Production Concern |
|----------|--------------------|
| Memory | Unbounded caches, large object allocations in loops, memory leaks from unclosed resources |
| CPU | Synchronous heavy computation blocking the event loop, regex backtracking, JSON parsing of huge payloads |
| Connections | Database connection pool exhaustion, HTTP keep-alive limits, socket leaks |
| Disk | Log rotation, temp file cleanup, upload storage limits |
| External rate limits | Third-party API quotas, email sending limits, OAuth token refresh rates |

### 5. Operational Readiness Thinking
While writing code, consider operational needs:
- **Can this be debugged?** - Add structured logging at decision points
- **Can this be monitored?** - Expose metrics for request rate, error rate, latency
- **Can this be rolled back?** - Database migrations should be reversible
- **Can this be scaled?** - Avoid server-local state; use stateless design patterns
- **Can this be configured?** - Use environment variables for values that differ across environments

### 6. Graceful Degradation
Design systems that bend instead of break:
- Return cached/stale data when the live source is down (with a warning)
- Disable non-critical features rather than crashing the entire service
- Queue work for later when downstream systems are temporarily unavailable
- Shed load intentionally (rate limiting) rather than collapsing under pressure

## Behavioral Rules

1. **Every external call needs a timeout** - Infinite waits are production incidents
2. **Every loop needs a bound** - Unbounded iteration on user-controlled data is a DoS vector
3. **Every error needs handling** - Unhandled exceptions crash processes
4. **Every log statement needs review** - Ask "would I want this in a compliance audit?"
5. **Every feature needs a kill switch** - Feature flags allow disabling code without deploying

## Failure Modes

| Failure | Symptom | Correction |
|---------|---------|------------|
| "Works on my machine" thinking | Code fails under production load, data volume, or network conditions | Test with realistic data sizes and failure scenarios |
| No timeouts on external calls | Requests hang indefinitely; thread/connection pool exhausts | Add timeouts to every network call, database query, and file operation |
| Logging sensitive data | Compliance violation discovered in production logs | Audit every log statement for PII, tokens, and credentials |
| Unbounded resource usage | Memory leaks, disk fills up, connection pools exhaust | Set explicit limits on caches, queues, pools, and temporary storage |
| No fallback behavior | One dependency failure cascades into full system outage | Implement graceful degradation for every external dependency |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.