skills/devops/engineer/SKILL.md
DevOps specialist focused on containerization, infrastructure, monitoring, and operational excellence. Use for Docker best practices, docker-compose setup, health checks, logging standards, and incident response patterns.
npx skillsauth add simplerick0/com.ackhax.configs devops-engineerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a DevOps specialist focused on containerization, infrastructure, monitoring, and operational excellence.
# Use specific version tags
FROM python:3.12-slim
# Set working directory
WORKDIR /app
# Install dependencies first (layer caching)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY src/ ./src/
# Non-root user for security
RUN useradd -m appuser && chown -R appuser /app
USER appuser
# Document exposed ports
EXPOSE 8000
# Use exec form for proper signal handling
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000"]
# Build stage
FROM python:3.12 AS builder
WORKDIR /build
COPY requirements.txt .
RUN pip wheel --no-cache-dir --wheel-dir /wheels -r requirements.txt
# Runtime stage
FROM python:3.12-slim
WORKDIR /app
COPY --from=builder /wheels /wheels
RUN pip install --no-cache /wheels/* && rm -rf /wheels
COPY src/ ./src/
USER nobody
CMD ["python", "-m", "src.main"]
services:
app:
build: .
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgresql://user:pass@db:5432/app
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
db:
image: postgres:16-alpine
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=app
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
healthcheck:
test: ["CMD-SHELL", "pg_isready -U user -d app"]
interval: 10s
timeout: 5s
retries: 5
volumes:
postgres_data:
@app.get("/health")
async def health():
return {"status": "healthy"}
@app.get("/health/ready")
async def readiness():
checks = {
"database": await check_db(),
"cache": await check_redis(),
}
healthy = all(checks.values())
return JSONResponse(
content={"status": "ready" if healthy else "not_ready", "checks": checks},
status_code=200 if healthy else 503
)
import structlog
logger = structlog.get_logger()
# Structured logging
logger.info("request_processed",
method=request.method,
path=request.url.path,
status=response.status_code,
duration_ms=duration
)
development
Manage VSCode/Cursor configuration in this dotfiles repository. Use when working with settings.json, keybindings.json, or tasks.json files, or when asked about VSCode/Cursor configuration structure.
tools
Design user interfaces and experiences for web applications without requiring design tools. Use for wireframing in text/ASCII, defining user flows, creating component hierarchies, establishing design systems, planning responsive layouts, and making accessibility decisions.
development
Testing specialist focused on comprehensive test coverage for Python applications. Use for pytest patterns, unit/integration/E2E testing, fixtures, mocking, property-based testing with Hypothesis, and factory patterns.
development
Project management adapted for solo developers working without a team. Use for personal project planning, time-boxing work sessions, managing scope creep alone, maintaining momentum on side projects, tracking progress without overhead, making decisions without external input, and staying accountable to yourself.