Minimal Build Skill
Implement features with absolute minimum code for Python, Kubernetes, AWS.
Prime Directive
Every line is a liability. Delete before adding. Reuse before writing. Configure before coding.
Decision Hierarchy
1. DELETE First
- •Remove dead code, unused dependencies
- •Simplify requirements to avoid code
2. CONFIGURE Second
- •Use existing CLI flags, env vars
- •Leverage tool defaults
3. REUSE Third
- •Standard library over dependencies
- •Existing project code over new
4. WRITE Last (minimal)
- •One-liners over functions
- •Functions over classes
- •Composition over inheritance
Python Minimalism
DO
python
# Use stdlib from pathlib import Path # not os.path from dataclasses import dataclass # not manual __init__ from functools import lru_cache # not manual caching # Use comprehensions items = [x for x in data if x.valid] # not loops # Use context managers with open(f) as f: ... # not try/finally
DON'T
python
# Don't add utils.py with one function # Don't create abstract base classes for one implementation # Don't add type hints for obvious types # Don't wrap stdlib in "helper" classes
Prefer
- •
uvby default. Use Poetry only if the repo already requires it. - •
ruffover flake8+black+isort (one tool) - •
pytestover unittest (less boilerplate) - •
httpxover requests (async-ready, modern) - •
pydanticfor validation (not manual checks)
Kubernetes Minimalism
DO
yaml
# Use Deployment defaults # Don't specify what matches defaults spec: replicas: 1 # only if not default # Use Kustomize over Helm for simple cases # Use ConfigMaps for config, not env vars sprawl
DON'T
yaml
# Don't create CRDs for simple config # Don't add operators when Jobs suffice # Don't use Helm for < 5 manifests # Don't create namespaces per-microservice
Prefer
- •
kubectl apply -kover Helm for simple deploys - •
DeploymentoverStatefulSetunless you need stable identity - •
Jobover custom controllers for batch work - •
ConfigMapover Secrets for non-sensitive config
AWS Minimalism
DO
python
# Use boto3 defaults
client = boto3.client('s3') # not custom sessions for basic use
# Use managed services
# Lambda > ECS > EKS for simple workloads
DON'T
python
# Don't wrap boto3 in abstraction layers # Don't create custom retry logic (use botocore) # Don't build what AWS provides (SQS > custom queue)
Prefer
- •SSM Parameter Store over custom config
- •Lambda over containers for event-driven
- •S3 events over polling
- •SQS/SNS over custom messaging
- •CloudFormation/CDK outputs over hardcoded ARNs
Output Format
code
Lines added: X Lines removed: Y Dependencies: [added/removed] K8s resources: [added/removed] AWS resources: [added/removed]
Anti-patterns
- •"We might need scaling" -> Start with 1 replica
- •"Let me add monitoring" -> Use managed (CloudWatch, Prometheus operator)
- •"Custom logging framework" -> Use stdlib logging + structured output
- •"Wrapper around boto3" -> Just use boto3 directly