audit-deploy — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited audit-deploy (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run before every production push. Checks everything that should be verified before code goes live.
$ARGUMENTS — optional flags:--fix — auto-fix issues where possible (remove console.logs, add missing meta tags, etc.)--scope=<path> — limit code checks to a specific directory--report — save report to _local/reports/deploy-audit-<YYYY-MM-DD>.md--strict — treat warnings as failures (for CI/CD integration)Read project config to tailor checks:
| Check | How |
|---|---|
| Framework | package.json deps: next, react, vue, express, django, flask |
| Language | .ts/.tsx files = TypeScript, .py = Python, .go = Go |
| Build command | package.json scripts: build. Or Makefile, Cargo.toml, pyproject.toml |
| Test command | package.json scripts: test, test:ci. Or pytest, go test |
| Lint command | package.json scripts: lint. Or ruff, golangci-lint |
| Deployment target | Check for vercel.json, netlify.toml, Dockerfile, fly.toml, render.yaml, app.yaml |
If no --scope: scan entire project (excluding node_modules/, .next/, dist/, build/, vendor/, __pycache__/).
Each check results in: PASS, WARN, or FAIL.
--strict)B1: Build compiles — Severity: FAIL
npm run build)B2: Type checking passes — Severity: FAIL
npx tsc --noEmitmypy .B3: Lint passes — Severity: WARN
B4: Tests pass — Severity: FAIL
D1: No console.log in production code — Severity: WARN
console.log(, console.debug(, console.warn( in source files (exclude test files, config files, server-side logging modules)console.error( in catch blocks is acceptable. Server-side logger wrappers are acceptable. Only flag client-side components and shared code.D2: No debugger statements — Severity: FAIL
\bdebugger\b in source filesD3: No TODO/FIXME in shipping code — Severity: WARN
TODO|FIXME|HACK|XXX in source files (exclude test files and docs)D4: No commented-out code blocks — Severity: WARN
// import, // const , // function , /* ... */ containing code-like syntax spanning multiple linesE1: No hardcoded dev URLs — Severity: FAIL
localhost, 127.0.0.1, 0.0.0.0, :3000, :8080, :5173, http:// (non-https) in source files.env.local, .env.development, dev server configs), test files, READMEE2: .env files not committed — Severity: FAIL
git ls-files for any .env file (not .env.example, not .env.local.example).env, .env.local, .env.production in git tracked filesE3: Required env vars documented — Severity: WARN
process.env., os.environ, os.Getenv, env!(.env.example or .env.template exists and lists them.env.example exists at all, WARN with the full list of referenced env varsE4: No secrets in source code — Severity: FAIL
sk-, pk_live, pk_test, AKIA, ghp_, gho_, Bearer , password\s*=\s*["'], secret\s*=\s*["'], apiKey\s*=\s*["'].env* files, test fixtures with fake valuesM1: Error tracking configured — Severity: WARN
@sentry/, sentry, bugsnag, logrocket, rollbar, airbrake, honeybadger, datadogSentry.init, bugsnag.start, LogRocket.initM2: Error boundaries (frontend) — Severity: WARN
componentDidCatch, ErrorBoundary, error.tsx (Next.js App Router)errorCaptured, onErrorCapturedM3: Custom 404 page — Severity: WARN
app/not-found.tsx or pages/404.tsx404.htmlM4: Analytics configured — Severity: WARN
@vercel/analytics, @google-analytics, ga-4, plausible, posthog, mixpanel, amplitude, umamigtag(, analytics.track, posthog.captureSkip this entire category if the project is a backend API, CLI tool, or library (no HTML rendering).
S1: Meta titles on all pages — Severity: WARN
metadata export or generateMetadata in all page.tsx files<Head><title> in all page components<title> in all HTML filesS2: Meta descriptions — Severity: WARN
description in metadataS3: OG/Social images — Severity: WARN
openGraph in metadata, or <meta property="og:image" tagsS4: robots.txt exists — Severity: WARN
public/robots.txt or app/robots.txt (Next.js) or equivalentS5: Sitemap configured — Severity: WARN
public/sitemap.xml, app/sitemap.ts (Next.js), or sitemap generation in buildS6: Favicon exists — Severity: WARN
public/favicon.ico, app/favicon.ico, app/icon.tsx, or <link rel="icon" in HTMLSkip if project is a backend API, CLI tool, or library.
L1: Privacy policy page — Severity: WARN
privacy, privacy-policy in file names or route pathsL2: Terms of service page — Severity: WARN
terms, terms-of-service, tos in file names or route pathsL3: Cookie consent (if cookies/analytics used) — Severity: WARN
cookie-consent, CookieBanner, cookie-banner, gdpr, consentG1: Clean working tree — Severity: WARN
git status --porcelainG2: On expected branch — Severity: WARN
git branch --show-currentmain or master directly (should deploy from release branch or via CI)G3: No merge conflicts — Severity: FAIL
<<<<<<<, =======, >>>>>>> in source filesG4: Lockfile committed — Severity: FAIL
git ls-files for: package-lock.json, yarn.lock, pnpm-lock.yaml, Pipfile.lock, go.sum, Cargo.lock# Deploy Readiness — [Project Name]
**Date:** YYYY-MM-DD | **Branch:** [current] | **Stack:** [detected]
## Result: READY / NOT READY / READY WITH WARNINGS
| Category | Pass | Warn | Fail | Status |
|----------|------|------|------|--------|
| Build Health | X | X | X | [OK/WARN/FAIL] |
| Debug Code | X | X | X | [OK/WARN/FAIL] |
| URLs & Environment | X | X | X | [OK/WARN/FAIL] |
| Error Handling | X | X | X | [OK/WARN/FAIL] |
| SEO & Social | X | X | X | [OK/WARN/FAIL] |
| Legal | X | X | X | [OK/WARN/FAIL] |
| Git State | X | X | X | [OK/WARN/FAIL] |
## Blockers (must fix)
[all FAIL items with file:line]
## Warnings (should fix)
[all WARN items with file:line]
## All Clear
[all PASS items]Overall verdict:
With --strict: WARNs count as FAILs → verdict is READY or NOT READY only.
Print to conversation: Verdict + scorecard table + blockers + warnings count. Full details in file if --report.
If --fix is passed, fix in this order:
npm install / equivalent to generate lockfilerobots.txt with User-agent: * Allow: /build script found, do NOT guess npm run build. Report "no build command detected."git status, git branch, git ls-files — report actual output, not assumptions.pages/, app/, index.html, templates)console.error in catch blocks and server-side logger modules are acceptable. Do NOT flag these. Only flag console.log and console.debug in client components.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.