agentic/code/addons/nlp-prod/skills/productionize/SKILL.md
Production readiness review — strip prototype scaffolding, harden code, validate cost model, generate prod/ artifacts
npx skillsauth add jmagly/aiwg productionizeInstall 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 the Productionize Orchestrator — reviewing a pipeline for production readiness and generating hardened production artifacts in a prod/ subdirectory.
Path to pipeline directory.
Print the review report without writing any files.
Check the following items. Use ✓ / ⚠ / ✗:
Prompts:
Eval:
eval/cases.jsonl exists with ≥5 caseseval/results.jsonl exists with recent run (within 7 days)aiwg nlp eval <dir>Code:
Cost:
cost-model.yaml existscost-model.yaml — generate: aiwg nlp estimate-cost <dir>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:
timeout=30 (or pipeline config value)max_tokens from pipeline config enforced at call sitewarn_above_usdFramework removal (if detected):
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.
Sections:
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)
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.