Production Readiness Review
A generic, stack-agnostic workflow for taking a SaaS project from "it works on my
machine" to production-grade. It performs a structured audit across every
dimension that matters at scale, then delivers a prioritized report. Fixes are
only applied after the user approves.
Golden rule: Report first, remediate second
Never start changing code during the audit. The audit is read-only.
Produce the report, present it, and wait for explicit approval before making
any change. When the user approves, remediate in priority order and verify
each fix.
This two-phase contract is the whole point of the skill. Respect it even if the
user seems impatient — a good report saves far more time than premature fixes.
When to use this skill
Trigger on requests like:
- "Do a final check on my project before we launch."
- "Make this SaaS production-grade / production-ready."
- "Audit my app for security and scalability."
- "Harden this codebase" / "pre-launch review" / "readiness assessment."
- "Is this ready to ship to real users?"
- "Optimize my tests / performance / infrastructure for production."
If the user only asks about a single narrow topic (e.g. "add rate limiting"),
you can jump straight to the relevant reference — but still offer the full review.
The workflow
flowchart TD
A[Phase 0: Scope & Discover] --> B[Phase 1: Audit across dimensions]
B --> C[Phase 2: Write prioritized report]
C --> D{User approves remediation?}
D -- No / partial --> E[Refine scope, stop or narrow]
D -- Yes --> F[Phase 3: Remediate in priority order]
F --> G[Phase 4: Verify & sign-off]
Phase 0 — Scope & discover (read-only)
Before auditing, understand what you are looking at. Do not assume a stack.
- Detect the stack & topology. Inspect manifests and configs to identify
languages, frameworks, datastores, infra, and deployment target. Useful signals:
package.json, requirements.txt, pyproject.toml, go.mod, pom.xml,
build.gradle, Gemfile, composer.json, Cargo.toml, *.csproj
Dockerfile, docker-compose.yml, k8s/, helm/, terraform/, *.tf
.github/workflows/, .gitlab-ci.yml, Jenkinsfile, .circleci/
.env*, config directories, migration folders, IaC state
- Map the architecture. Entry points, services, external dependencies,
datastores, background workers, third-party APIs, tenancy model.
- Establish context & constraints. Ask the user (only if unknown and it
materially changes recommendations):
- Expected scale / traffic and growth expectations
- Compliance requirements (SOC 2, GDPR, HIPAA, PCI, etc.)
- Team size / on-call maturity
- Deploy target (serverless, containers, VMs, PaaS) and cloud
- Timeline / risk appetite for launch
Every SaaS is different — monolith or microservices, serverless or containers,
one datastore or many. Do not assume an architecture. Adapt the depth and
which dimensions apply to what you actually find. Keep discovery proportionate:
for a small app a quick pass is fine; for a large monorepo, spend more time
mapping before auditing.
Phase 1 — Audit across dimensions (read-only)
Work through the dimensions below. For each, load the matching reference file
for the detailed checklist, "how to verify", and common fixes. You do not
need every reference every time — pick the ones relevant to the stack, but do
not silently skip security, reliability, or observability.
| # |
Dimension |
Reference |
| 1 |
Security & multi-tenancy |
references/security.md |
| 2 |
Reliability & resilience |
references/reliability.md |
| 3 |
Scalability & performance |
references/scalability.md |
| 4 |
Testing & quality |
references/testing.md |
| 5 |
Observability |
references/observability.md |
| 6 |
Data & database |
references/data-database.md |
| 7 |
API design |
references/api-design.md |
| 8 |
CI/CD & release |
references/ci-cd-release.md |
| 9 |
Infrastructure & config |
references/infrastructure-config.md |
| 10 |
Cost optimization |
references/cost-optimization.md |
| 11 |
Compliance & privacy |
references/compliance-privacy.md |
| 12 |
Frontend & UX quality |
references/frontend-ux.md |
For each finding, capture: what, where (file:line), why it matters,
severity, effort, and a concrete recommended fix.
Phase 2 — Write the prioritized report
Use templates/audit-report.md as the structure.
The report must include:
- Executive summary — overall readiness verdict + top risks in plain language.
- Readiness scorecard — a rating per dimension (see rubric below).
- Findings — grouped by dimension, each with severity, effort, evidence, fix.
- Prioritized remediation plan — ordered by the priority rubric, grouped
into "Must fix before launch", "Should fix soon", "Nice to have".
- Quick wins — high-impact, low-effort items called out explicitly.
Full production-readiness checklist to cross-check against:
references/production-readiness-checklist.md.
Phase 3 — Remediate (ONLY after explicit approval)
- Restate the agreed scope (which items, in which order).
- Work in priority order, smallest safe increments first.
- After each meaningful change: run relevant tests/linters/build and confirm
green before moving on.
- Prefer reversible, well-scoped changes. For risky changes (migrations, auth,
infra), explain the blast radius and confirm before proceeding.
- Never bypass safety controls (no
--no-verify, no disabling tests to make
CI pass, no committing secrets). See guardrails below.
- Keep the report updated: mark items done, note anything deferred.
Phase 4 — Verify & sign-off
- Re-run the full test suite, linters, type checks, and build.
- Re-walk the checklist to confirm the addressed findings are resolved.
- Summarize what changed, what remains, and residual risk.
- Provide a short "go / no-go" recommendation and any follow-up backlog.
Severity & prioritization rubric
Rate every finding on two axes, then prioritize.
Severity
| Severity |
Meaning |
| 🔴 Critical |
Exploitable vulnerability, data loss/leak, outage risk, or legal exposure. Blocks launch. |
| 🟠 High |
Serious risk that will likely cause incidents or breaches under real load. Fix before/near launch. |
| 🟡 Medium |
Degrades reliability, performance, or maintainability; not an immediate blocker. |
| 🟢 Low |
Polish, hygiene, or nice-to-have. |
Effort: S (hours) · M (1–3 days) · L (multi-day / cross-team).
Priority = Severity first, then lowest effort. Always surface "quick wins"
(High/Critical impact + Small effort) at the top of the plan.
Readiness scorecard rating per dimension: A solid · B minor gaps ·
C notable gaps · D serious gaps · F not production-ready.
Guardrails
- Audit phase is strictly read-only. No edits until approval.
- Never introduce or expose secrets. Flag hardcoded secrets as Critical;
recommend rotation, never print full secret values.
- No security theater. Don't suppress warnings, delete failing tests, or add
# nosec/eslint-disable to silence real findings.
- Right-size recommendations. A 3-person startup and a regulated enterprise
need different rigor. Match advice to the user's scale and constraints; avoid
over-engineering.
- Evidence over assertion. Cite file:line for findings. If you can't verify
something, mark it "needs verification" rather than guessing.
- Destructive/irreversible changes need explicit confirmation (DB migrations,
deleting resources, force-push, infra changes).
Repository layout
SKILL.md ← this file (entry point + workflow)
references/ ← detailed, load-on-demand playbooks
security.md
reliability.md
scalability.md
testing.md
observability.md
data-database.md
api-design.md
ci-cd-release.md
infrastructure-config.md
cost-optimization.md
compliance-privacy.md
frontend-ux.md
production-readiness-checklist.md
templates/
audit-report.md ← report structure to fill in
remediation-plan.md ← standalone plan template
Everything is plain Markdown — no scripts, no tooling to install, no assumptions
about your stack. The skill works by reading and reasoning, so it adapts to any
SaaS architecture.
1---2name: production-readiness-review3description: Audits any SaaS / web application codebase for production readiness and delivers a prioritized report covering security, scalability, reliability, performance, testing, observability, data, APIs, CI/CD, infrastructure, cost, and compliance. Use when the user asks to "make my project production-grade", wants a final check / pre-launch review / hardening / security & scalability audit, or asks whether an app is ready to ship. ALWAYS produces the report first and only applies fixes after the user explicitly approves.4license: MIT5---67# Production Readiness Review89A generic, stack-agnostic workflow for taking a SaaS project from "it works on my10machine" to **production-grade**. It performs a structured audit across every11dimension that matters at scale, then delivers a prioritized report. Fixes are12**only** applied after the user approves.1314## Golden rule: Report first, remediate second1516> **Never start changing code during the audit.** The audit is read-only.17> Produce the report, present it, and wait for explicit approval before making18> any change. When the user approves, remediate in priority order and verify19> each fix.2021This two-phase contract is the whole point of the skill. Respect it even if the22user seems impatient — a good report saves far more time than premature fixes.2324---2526## When to use this skill2728Trigger on requests like:2930- "Do a final check on my project before we launch."31- "Make this SaaS production-grade / production-ready."32- "Audit my app for security and scalability."33- "Harden this codebase" / "pre-launch review" / "readiness assessment."34- "Is this ready to ship to real users?"35- "Optimize my tests / performance / infrastructure for production."3637If the user only asks about a single narrow topic (e.g. "add rate limiting"),38you can jump straight to the relevant reference — but still offer the full review.3940---4142## The workflow4344```mermaid45flowchart TD46 A[Phase 0: Scope & Discover] --> B[Phase 1: Audit across dimensions]47 B --> C[Phase 2: Write prioritized report]48 C --> D{User approves remediation?}49 D -- No / partial --> E[Refine scope, stop or narrow]50 D -- Yes --> F[Phase 3: Remediate in priority order]51 F --> G[Phase 4: Verify & sign-off]52```5354### Phase 0 — Scope & discover (read-only)5556Before auditing, understand what you are looking at. Do **not** assume a stack.57581. **Detect the stack & topology.** Inspect manifests and configs to identify59 languages, frameworks, datastores, infra, and deployment target. Useful signals:60 - `package.json`, `requirements.txt`, `pyproject.toml`, `go.mod`, `pom.xml`,61 `build.gradle`, `Gemfile`, `composer.json`, `Cargo.toml`, `*.csproj`62 - `Dockerfile`, `docker-compose.yml`, `k8s/`, `helm/`, `terraform/`, `*.tf`63 - `.github/workflows/`, `.gitlab-ci.yml`, `Jenkinsfile`, `.circleci/`64 - `.env*`, config directories, migration folders, IaC state652. **Map the architecture.** Entry points, services, external dependencies,66 datastores, background workers, third-party APIs, tenancy model.673. **Establish context & constraints.** Ask the user (only if unknown and it68 materially changes recommendations):69 - Expected scale / traffic and growth expectations70 - Compliance requirements (SOC 2, GDPR, HIPAA, PCI, etc.)71 - Team size / on-call maturity72 - Deploy target (serverless, containers, VMs, PaaS) and cloud73 - Timeline / risk appetite for launch7475Every SaaS is different — monolith or microservices, serverless or containers,76one datastore or many. **Do not assume an architecture.** Adapt the depth and77which dimensions apply to what you actually find. Keep discovery proportionate:78for a small app a quick pass is fine; for a large monorepo, spend more time79mapping before auditing.8081### Phase 1 — Audit across dimensions (read-only)8283Work through the dimensions below. For each, load the matching reference file84for the detailed checklist, "how to verify", and common fixes. You do **not**85need every reference every time — pick the ones relevant to the stack, but do86not silently skip security, reliability, or observability.8788| # | Dimension | Reference |89|---|-----------|-----------|90| 1 | Security & multi-tenancy | [references/security.md](references/security.md) |91| 2 | Reliability & resilience | [references/reliability.md](references/reliability.md) |92| 3 | Scalability & performance | [references/scalability.md](references/scalability.md) |93| 4 | Testing & quality | [references/testing.md](references/testing.md) |94| 5 | Observability | [references/observability.md](references/observability.md) |95| 6 | Data & database | [references/data-database.md](references/data-database.md) |96| 7 | API design | [references/api-design.md](references/api-design.md) |97| 8 | CI/CD & release | [references/ci-cd-release.md](references/ci-cd-release.md) |98| 9 | Infrastructure & config | [references/infrastructure-config.md](references/infrastructure-config.md) |99| 10 | Cost optimization | [references/cost-optimization.md](references/cost-optimization.md) |100| 11 | Compliance & privacy | [references/compliance-privacy.md](references/compliance-privacy.md) |101| 12 | Frontend & UX quality | [references/frontend-ux.md](references/frontend-ux.md) |102103For each finding, capture: **what**, **where** (file:line), **why it matters**,104**severity**, **effort**, and a concrete **recommended fix**.105106### Phase 2 — Write the prioritized report107108Use [templates/audit-report.md](templates/audit-report.md) as the structure.109The report must include:110111- **Executive summary** — overall readiness verdict + top risks in plain language.112- **Readiness scorecard** — a rating per dimension (see rubric below).113- **Findings** — grouped by dimension, each with severity, effort, evidence, fix.114- **Prioritized remediation plan** — ordered by the priority rubric, grouped115 into "Must fix before launch", "Should fix soon", "Nice to have".116- **Quick wins** — high-impact, low-effort items called out explicitly.117118Full production-readiness checklist to cross-check against:119[references/production-readiness-checklist.md](references/production-readiness-checklist.md).120121### Phase 3 — Remediate (ONLY after explicit approval)1221231. Restate the agreed scope (which items, in which order).1242. Work in **priority order**, smallest safe increments first.1253. After each meaningful change: run relevant tests/linters/build and confirm126 green before moving on.1274. Prefer reversible, well-scoped changes. For risky changes (migrations, auth,128 infra), explain the blast radius and confirm before proceeding.1295. Never bypass safety controls (no `--no-verify`, no disabling tests to make130 CI pass, no committing secrets). See guardrails below.1316. Keep the report updated: mark items done, note anything deferred.132133### Phase 4 — Verify & sign-off134135- Re-run the full test suite, linters, type checks, and build.136- Re-walk the checklist to confirm the addressed findings are resolved.137- Summarize what changed, what remains, and residual risk.138- Provide a short "go / no-go" recommendation and any follow-up backlog.139140---141142## Severity & prioritization rubric143144Rate every finding on two axes, then prioritize.145146**Severity**147148| Severity | Meaning |149|----------|---------|150| 🔴 Critical | Exploitable vulnerability, data loss/leak, outage risk, or legal exposure. Blocks launch. |151| 🟠 High | Serious risk that will likely cause incidents or breaches under real load. Fix before/near launch. |152| 🟡 Medium | Degrades reliability, performance, or maintainability; not an immediate blocker. |153| 🟢 Low | Polish, hygiene, or nice-to-have. |154155**Effort:** S (hours) · M (1–3 days) · L (multi-day / cross-team).156157**Priority = Severity first, then lowest effort.** Always surface "quick wins"158(High/Critical impact + Small effort) at the top of the plan.159160**Readiness scorecard rating per dimension:** `A` solid · `B` minor gaps ·161`C` notable gaps · `D` serious gaps · `F` not production-ready.162163---164165## Guardrails166167- **Audit phase is strictly read-only.** No edits until approval.168- **Never introduce or expose secrets.** Flag hardcoded secrets as Critical;169 recommend rotation, never print full secret values.170- **No security theater.** Don't suppress warnings, delete failing tests, or add171 `# nosec`/`eslint-disable` to silence real findings.172- **Right-size recommendations.** A 3-person startup and a regulated enterprise173 need different rigor. Match advice to the user's scale and constraints; avoid174 over-engineering.175- **Evidence over assertion.** Cite file:line for findings. If you can't verify176 something, mark it "needs verification" rather than guessing.177- **Destructive/irreversible changes need explicit confirmation** (DB migrations,178 deleting resources, force-push, infra changes).179180---181182## Repository layout183184```185SKILL.md ← this file (entry point + workflow)186references/ ← detailed, load-on-demand playbooks187 security.md188 reliability.md189 scalability.md190 testing.md191 observability.md192 data-database.md193 api-design.md194 ci-cd-release.md195 infrastructure-config.md196 cost-optimization.md197 compliance-privacy.md198 frontend-ux.md199 production-readiness-checklist.md200templates/201 audit-report.md ← report structure to fill in202 remediation-plan.md ← standalone plan template203```204205Everything is plain Markdown — no scripts, no tooling to install, no assumptions206about your stack. The skill works by reading and reasoning, so it adapts to any207SaaS architecture.