/productionize
Production readiness review — strip prototype scaffolding, harden code, validate cost model, generate prod/ artifacts
$ npx -y skills add jmagly/aiwg --skill productionize --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/productionize
Context preview
The summary Claude sees to decide when to auto-load this skill.
Production readiness review — strip prototype scaffolding, harden code, validate cost model, generate prod/ artifacts
SKILL.md
productionize.SKILL.mdnamespace: aiwg
name: productionize
platforms: [all]
description: Production readiness review — strip prototype scaffolding, harden code, validate cost model, generate prod/ artifacts
commandHint:
argumentHint: "<pipeline-dir> [--dry-run]"
allowedTools: Read, Write, Bash
model: haiku
category: nlp-prod
orchestration: false
modelRole: efficiency
modelTier: economy
Productionize
**You are the Productionize Orchestrator** — reviewing a pipeline for production readiness and generating hardened production artifacts in a `prod/` subdirectory.
Natural Language Triggers
- "productionize this pipeline"
- "make this production ready"
- "production readiness review"
- "harden this pipeline"
- "prepare this for deployment"
Parameters
Pipeline directory (positional)
Path to pipeline directory.
--dry-run (optional)
Print the review report without writing any files.
Execution
Step 1: Readiness Review
Check the following items. Use ✓ / ⚠ / ✗:
**Prompts:**
- ✓ All prompt files exist and have version headers
- ✓ Evaluator prompt is separate from generator prompts
- ⚠ System prompt >2000 tokens — consider trimming
- ✗ No evaluator prompt found — add one before production
**Eval:**
- ✓ `eval/cases.jsonl` exists with ≥5 cases
- ✓ `eval/results.jsonl` exists with recent run (within 7 days)
- ✓ Pass rate ≥85% in most recent eval run
- ⚠ Pass rate <85% — do not productionize until quality gate passes
- ✗ No eval run found — run: `aiwg nlp eval <dir>`
**Code:**
- ✓ Code stub exists
- ⚠ Framework dependency found (langchain/langgraph) — consider removing if not load-bearing
- ✗ No timeout handling on LLM calls
- ✗ No retry logic for rate limits (429) and transient errors (502/503)
- ✗ No structured output validation (schema defined but not enforced at runtime)
- ✗ No token budget cap (max_tokens not set)
**Cost:**
- ✓ `cost-model.yaml` exists
- ⚠ No `cost-model.yaml` — generate: `aiwg nlp estimate-cost <dir>`
Step 2: Generate Production Artifacts
If no ✗ items (or user confirms proceed with warnings):
Generate `prod/` directory:
prod/
├── prompts/ # Copied from dev (hardened if changes made)
├── src/
│ └── pipeline.py # Hardened version: timeouts, retries, validation
├── Dockerfile # Minimal container
├── cost-model.yaml # From cost analysis
└── README.md # Ops runbook
**Hardening applied automatically:** 1. **Add timeouts** — wrap every LLM call: `timeout=30` (or pipeline config value) 2. **Add retry wrapper** — exponential backoff on 429, 502, 503 3. **Add structured output validation** — Pydantic (Python) or Zod (TypeScript) schema enforcement 4. **Add token budget enforcement** — `max_tokens` from pipeline config enforced at call site 5. **Add cost cap guard** — abort if estimated cost exceeds `warn_above_usd` 6. **Remove dev logging** — strip verbose debug output
**Framework removal (if detected):**
- Check if LangChain/LangGraph calls are load-bearing
- If replaceable: rewrite the relevant section without the dependency
- If not replaceable: flag with ⚠ and note in README
Step 3: Generate Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY prod/ .
CMD ["python", "src/pipeline.py"]
Or TypeScript equivalent with Node 22.
Step 4: Generate Ops Runbook (prod/README.md)
Sections:
- Overview (pipeline name, pattern, what it does)
- Start / Stop
- Health check command
- Rollback procedure
- Monitoring (what to watch: latency, error rate, cost)
- Eval re-run instructions
Step 5: Final Report
Productionization Complete: pipelines/<name>/prod/
✓ Prompts hardened
✓ Retry + timeout wrapper added
✓ Pydantic output validation added
✓ Dockerfile generated
✓ Ops runbook written
Removed: langchain dependency (replaced with direct anthropic SDK call)
Deploy: docker build -t <name>:latest . && docker run <name>:latest
Cost model: prod/cost-model.yaml (~$9/mo at 100k calls)
References
- @$AIWG_ROOT/agentic/code/addons/nlp-prod/README.md — nlp-prod addon overview
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/vague-discretion.md — Concrete readiness thresholds (pass rate ≥85%, eval within 7 days)
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/human-authorization.md — Confirm with user when ✗ items found before generating prod artifacts
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference for aiwg nlp commands
Read more
namespace: aiwg name: productionize platforms: [all] description: Production readiness review — strip prototype scaffolding, harden code, validate cost model, generate prod/ artifacts commandHint: argumentHint: "<pipeline-dir> [--dry-run]" allowedTools: Read, Write, Bash model: haiku category: nlp-prod orchestration: false modelRole: efficiency modelTier: economy
Productionize
**You are the Productionize Orchestrator** — reviewing a pipeline for production readiness and generating hardened production artifacts in a `prod/` subdirectory.
Natural Language Triggers
- "productionize this pipeline"
- "make this production ready"
- "production readiness review"
- "harden this pipeline"
- "prepare this for deployment"
Parameters
Pipeline directory (positional)
Path to pipeline directory.
--dry-run (optional)
Print the review report without writing any files.
Execution
Step 1: Readiness Review
Check the following items. Use ✓ / ⚠ / ✗:
**Prompts:**
- ✓ All prompt files exist and have version headers
- ✓ Evaluator prompt is separate from generator prompts
- ⚠ System prompt >2000 tokens — consider trimming
- ✗ No evaluator prompt found — add one before production
**Eval:**
- ✓ `eval/cases.jsonl` exists with ≥5 cases
- ✓ `eval/results.jsonl` exists with recent run (within 7 days)
- ✓ Pass rate ≥85% in most recent eval run
- ⚠ Pass rate <85% — do not productionize until quality gate passes
- ✗ No eval run found — run: `aiwg nlp eval <dir>`
**Code:**
- ✓ Code stub exists
- ⚠ Framework dependency found (langchain/langgraph) — consider removing if not load-bearing
- ✗ No timeout handling on LLM calls
- ✗ No retry logic for rate limits (429) and transient errors (502/503)
- ✗ No structured output validation (schema defined but not enforced at runtime)
- ✗ No token budget cap (max_tokens not set)
**Cost:**
- ✓ `cost-model.yaml` exists
- ⚠ No `cost-model.yaml` — generate: `aiwg nlp estimate-cost <dir>`
Step 2: Generate Production Artifacts
If no ✗ items (or user confirms proceed with warnings):
Generate `prod/` directory:
prod/ ├── prompts/ # Copied from dev (hardened if changes made) ├── src/ │ └── pipeline.py # Hardened version: timeouts, retries, validation ├── Dockerfile # Minimal container ├── cost-model.yaml # From cost analysis └── README.md # Ops runbook
**Hardening applied automatically:** 1. **Add timeouts** — wrap every LLM call: `timeout=30` (or pipeline config value) 2. **Add retry wrapper** — exponential backoff on 429, 502, 503 3. **Add structured output validation** — Pydantic (Python) or Zod (TypeScript) schema enforcement 4. **Add token budget enforcement** — `max_tokens` from pipeline config enforced at call site 5. **Add cost cap guard** — abort if estimated cost exceeds `warn_above_usd` 6. **Remove dev logging** — strip verbose debug output
**Framework removal (if detected):**
- Check if LangChain/LangGraph calls are load-bearing
- If replaceable: rewrite the relevant section without the dependency
- If not replaceable: flag with ⚠ and note in README
Step 3: Generate Dockerfile
FROM python:3.12-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY prod/ . CMD ["python", "src/pipeline.py"]
Or TypeScript equivalent with Node 22.
Step 4: Generate Ops Runbook (prod/README.md)
Sections:
- Overview (pipeline name, pattern, what it does)
- Start / Stop
- Health check command
- Rollback procedure
- Monitoring (what to watch: latency, error rate, cost)
- Eval re-run instructions
Step 5: Final Report
Productionization Complete: pipelines/<name>/prod/ ✓ Prompts hardened ✓ Retry + timeout wrapper added ✓ Pydantic output validation added ✓ Dockerfile generated ✓ Ops runbook written Removed: langchain dependency (replaced with direct anthropic SDK call) Deploy: docker build -t <name>:latest . && docker run <name>:latest Cost model: prod/cost-model.yaml (~$9/mo at 100k calls)
References
- @$AIWG_ROOT/agentic/code/addons/nlp-prod/README.md — nlp-prod addon overview
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/vague-discretion.md — Concrete readiness thresholds (pass rate ≥85%, eval within 7 days)
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/human-authorization.md — Confirm with user when ✗ items found before generating prod artifacts
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference for aiwg nlp commands
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

