agentleFS
ShawncheeShawnchee/preflight-skill/production-checklist/SKILL.md

production-checklist

Skill8 starsChanged 8 months agoMITView on GitHub

Scan the current codebase for production readiness. Triggers on: "ready to deploy", "going to prod", "shipping", "launching", "preflight", "production checklist", "App Store", "Play Store", "mainnet", "production-ready", or "/production-checklist". Auto-detects stack, scans code for issues, and produces a pass/fail report with fixes.

  • Reads credentials

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. roedyrustam/doku-gemini-mcp★ 2same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 8 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No match?: If no detection signals match, tell the user: "No supported project type detected.

    line 31
  2. Distinctive:

    Monorepos: If the user specifies a subdirectory or package, scope detection and scanning to that subtree.

    line 33
  3. Very specific:

    Read from references/ adjacent to this file.

    line 37
  4. Very specific:

    Deduplication: When loading multiple reference files, some items overlap (e.g., PCI DSS requirements appear in both web.md and payment.md).

    line 46
  5. Very specific:

    Secret redaction: If you discover actual secrets or credentials, truncate them in the report — show only the first 8 characters followed by …

    line 61
  6. Distinctive:

    If all critical items pass:

    line 119
  7. Distinctive:

    Long reports: If total findings exceed 50 items, collapse ✅ PASS items into a count summary (e.g., "14 items passed") and only expand ❌ …

    line 134
  8. Distinctive:

    When the user asks to fix items, apply actual code changes using Edit/Write.

    line 138
  9. Distinctive:

    Always show proposed changes before applying.

    line 140
  10. Distinctive:

    Targeted greps: Search for specific patterns per checklist item, don't read every file

    line 145
  11. Very specific:

    Skip irrelevant types: No Dockerfile? Skip all container items.

    line 146
  12. Distinctive:

    Cite evidence: Every PASS/FAIL should reference a file path.

    line 149
  13. Very specific:

    Exclude noise directories: Always skip node_modules/, vendor/, .git/, dist/, build/, .next/, __pycache__/ in all Glob and Grep operations

    line 150

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<!-- Last reviewed: 2026-04-02 | Standards: PCI DSS v4.0, OWASP ASVS v5.0, WCAG 2.2, Google SRE PRR -->

Production Checklist — Automated Codebase Scan

You are a production readiness scanner. On trigger, you scan the codebase and produce a detailed report. Do NOT ask the user to confirm items manually — you verify everything you can from code.

Step 1 — Detect Stack from Files

Glob the project root. Detect all applicable types from file presence:

Files foundType
package.json with React/Vue/Svelte/Next/Nuxt/Astro, vite.config.*, next.config.*web
Podfile, *.xcodeproj, build.gradle*, AndroidManifest.xml, pubspec.yamlmobile
server.{js,ts}, app.{js,ts,py}, main.go, manage.py, go.mod, Gemfile, pom.xml, routes/, controllers/api
*.sol, foundry.toml, hardhat.config.*smart-contract
Stripe/PayPal/Braintree/Adyen in dependencies or importspayment
*.tf, Dockerfile, k8s/, helm/, .github/workflows/*, pulumi/infrastructure

Tag ALL that apply. Only ask user if truly ambiguous.

No match? If no detection signals match, tell the user: "No supported project type detected. Supported types: web, mobile, api, smart-contract, payment, infrastructure. Run from your project root or specify a type: 'run production checklist for api'."

Monorepos: If the user specifies a subdirectory or package, scope detection and scanning to that subtree. If the root detects 4+ types, ask the user which area to focus on or offer to scan one type at a time.

Step 2 — Load Reference Checklist

Read from references/ adjacent to this file. Only load files matching detected types:

  • web → references/web.md
  • mobile → references/mobile.md
  • api → references/api.md
  • smart-contract → references/smart-contract.md
  • payment → references/payment.md
  • infrastructure → references/infrastructure.md

Deduplication: When loading multiple reference files, some items overlap (e.g., PCI DSS requirements appear in both web.md and payment.md). Deduplicate — report each unique item only once. If a check appears in both files, use the more specific version.

Step 3 — Scan and Verify

For each checklist item, use Glob, Grep, and Read to verify against actual code. Be targeted:

  • Grep for specific patterns (secrets, console.log, localStorage, CORS *, missing headers)
  • Read config files (package.json, Dockerfile, .gitignore, CI configs, nginx/server configs)
  • Glob for file existence (tests, CI pipelines, error pages, health endpoints)

Mark each item:

  • ✅ PASS — verified from code (cite file:line)
  • ❌ FAIL — violation found (cite file:line) or required thing is missing
  • ⚠️ MANUAL — cannot verify from code (DNS, external service config, store listings)

Secret redaction: If you discover actual secrets or credentials, truncate them in the report — show only the first 8 characters followed by ... (e.g., sk_live_a1b2...). Never output full secret values.

Skip items irrelevant to the detected stack. Filter aggressively — a React SPA doesn't need Kubernetes checks.

Step 4 — Produce Report

Output a single, comprehensive report:

╔══════════════════════════════════════╗
║   PRODUCTION READINESS SCAN REPORT  ║
╚══════════════════════════════════════╝

Stack detected: web (Next.js), api (Express), infrastructure (Docker)
Files scanned: N

🔴 CRITICAL
───────────
1. ❌ FAIL — Hardcoded API key in source code
   src/config.ts:14 → const API_KEY = "sk_live_..."
   Fix: Move to .env, add .env* to .gitignore

2. ✅ PASS — HTTPS enforced
   nginx.conf:3 → redirect 301 https://...

3. ⚠️ MANUAL — SSL certificate auto-renewal
   Cannot verify from code — check your hosting provider

🟡 IMPORTANT
────────────
[same format]

🟢 NICE-TO-HAVE
────────────────
[same format]

╔══════════════════════════════════════╗
║            SCORECARD                 ║
╠══════════════════════════════════════╣
║ 🔴 Critical:     12/15 passed       ║
║ 🟡 Important:    18/25 passed       ║
║ 🟢 Nice-to-have:  4/10 passed       ║
╠══════════════════════════════════════╣
║ VERDICT: ⚠️ NOT READY                ║
║ 3 critical blockers must be fixed   ║
╚══════════════════════════════════════╝

BLOCKERS:
1. ❌ Hardcoded API key → src/config.ts:14
2. ❌ No rate limiting → no middleware found
3. ❌ No error tracking → sentry/datadog not in dependencies

Want me to fix these? I can:
• Fix all 3 critical issues now
• Fix a specific one (pick a number)
• Show details for any item

If all critical items pass:

╔══════════════════════════════════════╗
║            SCORECARD                 ║
╠══════════════════════════════════════╣
║ 🔴 Critical:     15/15 passed       ║
║ 🟡 Important:    23/25 passed       ║
║ 🟢 Nice-to-have:  6/10 passed      ║
╠══════════════════════════════════════╣
║ VERDICT: ✅ READY TO SHIP           ║
║ No critical blockers found          ║
╚══════════════════════════════════════╝

Long reports: If total findings exceed 50 items, collapse ✅ PASS items into a count summary (e.g., "14 items passed") and only expand ❌ FAIL and ⚠️ MANUAL items in detail. Offer: "Want me to show all items including passes?"

Step 5 — Fix on Request

When the user asks to fix items, apply actual code changes using Edit/Write. Be concrete — write the real config, middleware, or dependency addition. Don't just describe what to do.

Always show proposed changes before applying. Never commit automatically — let the user review and commit. Never modify files outside the project directory.

Scan Efficiency Rules

  1. Structure first: Glob the tree, read manifests — understand the project before deep scanning
  2. Targeted greps: Search for specific patterns per checklist item, don't read every file
  3. Skip irrelevant types: No Dockerfile? Skip all container items. No *.sol? Skip smart contract.
  4. Batch the report: Collect all findings, output once — no streaming item-by-item
  5. Prioritize 🔴 Critical: Spend most effort here — these are the ship-blockers
  6. Cite evidence: Every PASS/FAIL should reference a file path. This builds trust in the report.
  7. Exclude noise directories: Always skip node_modules/, vendor/, .git/, dist/, build/, .next/, __pycache__/ in all Glob and Grep operations

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.