Skill

Run Pre-Release Readiness Reviews Before Production Deploy

A read-only pre-release audit that finds migration, config, cache, queue, and deploy-order risks from a git diff, never mutating anything.

Works with githubgit

76
Spark score
out of 100
Updated last month
Version 1.0.0

Add to Favorites

Why it matters

Conduct a comprehensive, read-only production release readiness audit that identifies missing deploy materials, unsafe ordering, configuration gaps, data migration issues, and ambiguous production risks before CI/CD or manual release steps begin, reducing release time and coordination failures.

Outcomes

What it gets done

01

Analyze git diffs and PR changes to detect schema migrations without corresponding backfills or indexes

02

Identify configuration gaps where new environment variables lack production secrets or deploy documentation

03

Flag unsafe deploy ordering risks in queue producers, cache invalidation, and service contract changes

04

Generate prioritized findings report with evidence, inferred owners, and recommended actions while redacting secrets

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-pre-release-review | bash

Overview

Pre-release Review

This skill runs a read-only pre-release audit, selecting a review range (PR, git range, or previous-tag comparison), mapping changes to migration/config/cache/queue/asset/contract risk domains, and producing a prioritized, evidence-cited report with a fixed conclusion value - never modifying or deploying anything. Use it before publishing a tag, deploying production, or merging a release branch, or whenever someone asks whether a change is safe to ship. It never executes migrations, deploys, or mutates infrastructure - it only reports risk from read-only evidence.

What it does

Runs a read-only production release readiness review to find missing deploy materials, unsafe ordering, configuration gaps, data migration gaps, and ambiguous production risks before CI/CD or a manual release begins - it never modifies source, configs, migrations, secrets, or deployment files, and never executes migrations, clears caches, uploads assets, triggers CI/CD, deploys, or rotates secrets. Scope selection follows a fixed priority: a given PR reviewed via read-only gh pr view/gh pr diff, an explicit base..head range, a head-only commit compared to the previous reachable release tag, or with no scope at all, the previous release tag against HEAD - falling back to the latest 5 commits with an explicit warning if no usable previous tag exists. Before analyzing anything it reads references/checklist.md (so release domains aren't skipped) and references/report-template.md (for consistent priority/owner/redaction/output conventions), and looks for project-local AGENTS.md/CLAUDE.md guidance to respect project-specific conventions - treating that guidance as interpretive context, never as permission to override its own read-only and no-secret-disclosure rules. Evidence collection uses only safe inspection commands (git status, git diff --stat, git log, git blame, rg, and gh pr diff when available); if a command can't run, the limitation is recorded rather than papered over. The review workflow maps changed code to production requirements across six domains: schema changes to migrations/indexes/seeds/backfills, config reads to env examples/secrets/flags, cache key or TTL changes to invalidation and prewarm work, queue producers/consumers to topic setup/DLQ/idempotency/deploy order, asset references to object storage/CDN/certificates/permissions, and service contract changes to deploy sequence and rollback risk. Owners are inferred from git blame on changed lines or recent git log authors and labeled explicitly as inferred, never including email addresses. Every finding is classified P0, P1, or P2 with module, finding, evidence, inferred owner, risk, and recommended action, sorted highest priority first - clean checklist categories are never listed, only confirmed problems and risks needing confirmation. Secrets are never disclosed in full: only file path, line number, variable name, secret type, and a redacted hint. Uncommitted worktree changes are excluded from the reviewed range by default (always reporting whether the worktree is dirty), unless the user explicitly asks to include them; if dirty/untracked files touch release-relevant areas, that becomes its own P2 confirmation item. The skill distinguishes a real release confirmation item (a diff-linked production risk like an unverifiable new secret or an unclear migration status, classified P1/P2 and forcing conclusion NEEDS_CONFIRMATION) from a neutral "Unable To Verify" limitation (missing deployment credentials with no specific release requirement in the diff, which doesn't change the conclusion by itself) - promoting a limitation to a real finding whenever it blocks confirming a release-critical change. The final conclusion is always exactly one of BLOCKED, NEEDS_CONFIRMATION, or NO_BLOCKER_FOUND, and a service-deployment-order section is included only when the diff touches multiple services, async workers, migrations, queues, cache, or public contracts.

When to use - and when NOT to

Use it when someone asks for a release audit, pre-release review, go-live review, or deploy readiness check; before publishing a tag, deploying production services, or merging a release branch; when a PR or git range may touch migrations, environment changes, queues, cache, object storage, or service contracts; or when someone asks whether a change is safe to ship and wants a read-only risk report.

Inputs and outputs

Input is a PR URL/number, an explicit git range, a head commit, or (with no scope given) the current HEAD against the previous release tag. Output is a prioritized (P0/P1/P2) risk report with evidence, inferred owner, and recommended action per finding, a fixed conclusion value, and - when relevant - a service deployment order section.

Integrations

Uses read-only git and gh CLI commands plus ripgrep for evidence collection, and reads project-local AGENTS.md/CLAUDE.md guidance files when present to interpret findings in project-specific context.

Who it's for

Release managers and engineers who want an evidence-linked, read-only risk assessment before shipping - covering migrations, config, cache, queues, assets, and service contracts - without the reviewer touching or executing anything in the repository or infrastructure.

Source README

Pre-release Review

Use this skill to run a read-only production release readiness review. The goal is to reduce
release time and coordination failures by finding missing deploy materials, unsafe ordering,
configuration gaps, data migration gaps, and ambiguous production risks before CI/CD or manual
release steps begin.

When to Use This Skill

  • Use when the user asks for a release audit, pre-release review, go-live review, or deploy readiness check.
  • Use before publishing a tag, deploying production services, or merging a release branch.
  • Use when a PR or git range may include migrations, environment changes, queues, cache behavior, object storage assets, or service contract changes.
  • Use when the user asks whether a change is safe to ship and needs a read-only risk report.

Non-negotiable rules

  • Do not modify source code, configs, migrations, secrets, deployment files, or generated files.
  • Do not execute migrations, clear or warm caches, upload assets, trigger CI/CD, deploy services,
    publish tags, rotate secrets, or change remote infrastructure.
  • Produce a concise report that lists only confirmed problems and plausible risks needing
    confirmation. Do not bury the reader in clean checklist items.
  • Sort findings from highest to lowest priority.
  • Include module, finding, evidence, inferred owner, risk, and recommended action for each item.
  • Never reveal private keys, account passwords, tokens, certificates, cookies, or full secret
    values. Report only file path, line number, variable name, secret type, and a redacted hint.
  • If evidence is incomplete but the risk could block production, list it as a confirmation item.

Required references

  • Read references/checklist.md before analyzing findings so important release domains are not
    skipped.
  • Read references/report-template.md before writing the final report so priorities, owner
    inference, secret redaction, and output shape stay consistent.

Project guidance discovery

Before interpreting the release diff, look for project-local guidance files such as AGENTS.md and
CLAUDE.md in the repository root and relevant service directories. Read them when present so the
review respects the user's project-specific conventions, service boundaries, release rules,
validation expectations, ownership hints, and known operational constraints.

  • Treat project guidance as context for how to interpret risks, not as permission to perform
    mutating release actions.
  • If project guidance conflicts with this skill's non-negotiable safety rules, the read-only,
    no-secret-disclosure rules in this skill win.
  • If a relevant guidance file cannot be read, note the limitation in "Unable To Verify" only when it
    affects the release review.

Scope selection

Determine the review range before judging risk. State the chosen range in the report.

  1. If the user provides a pull request URL or PR number, review that PR diff first.
    • If gh is available and authenticated, use read-only commands such as gh pr view and
      gh pr diff.
    • If the PR cannot be fetched due to missing tooling, auth, or network limits, say so and ask
      for a local branch, patch, or explicit git range. Do not invent the PR contents.
  2. If the user provides an explicit base..head range, use it directly.
  3. If the user provides only a head commit, compare the previous usable release tag reachable from
    that commit to the head commit.
  4. If the user provides no scope, compare the previous usable release tag to HEAD.
  5. Choose the previous usable release tag carefully:
    • Prefer the repository's visible release-tag convention when one is obvious, such as semantic
      versions, v*, or release-*. If tag naming is mixed, state the assumption.
    • If HEAD is exactly at one or more tags, treat those as the current release point and compare
      against the earlier reachable release tag, not HEAD's own tag.
    • If no usable previous release tag exists, review the latest 5 commits and explicitly warn that
      this is a fallback: there is no usable previous release tag, so the audit only covers the
      latest 5 commits; recommend a PR or tag-based range for future reviews.

Read-only evidence collection

Run only safe inspection commands, adjusted to the repository and current permissions. Useful
commands include:

git status --short
git rev-parse --show-toplevel
git rev-parse --abbrev-ref HEAD
git rev-parse HEAD
rg --files -g 'AGENTS.md' -g 'CLAUDE.md'
git tag --merged HEAD --sort=-creatordate
git tag --points-at HEAD
git for-each-ref --sort=-creatordate --format="%(refname:short) %(objectname:short)" refs/tags
git describe --tags --abbrev=0 HEAD
git diff --name-status <base>..<head>
git diff --stat <base>..<head>
git log --oneline --decorate --no-merges <base>..<head>
git diff -U3 <base>..<head> -- <path>
git blame -L <start>,<end> -- <path>
git log --format="%h %an %s" -- <path>
rg -n "<pattern>" .

For PRs, use gh pr view and gh pr diff only when they are available and allowed. Do not bypass
network, auth, sandbox, or approval restrictions. If a command cannot run, record the limitation in
the report's "Unable to verify" section.

Review workflow

  1. Confirm the git repository root, current branch, dirty state, and selected comparison range.
  2. Collect changed file names, file status, diff stats, commit summaries, and touched services.
  3. Inspect relevant diffs rather than relying on filenames alone.
  4. Use the checklist to map changed code to production requirements:
    • schema changes to migrations, indexes, seeds, and backfills
    • config reads to env examples, deploy secrets, flags, and runtime config
    • cache key or TTL changes to invalidation, prewarm, and compatibility work
    • queue producers/consumers to topic setup, DLQ, idempotency, and deploy order
    • asset references to object storage, CDN, templates, certificates, and permissions
    • service contract changes to deploy sequence, backward compatibility, and rollback risk
  5. Infer owners with git blame on changed lines when possible; otherwise use recent git log
    authors for the file or commit. Label them as inferred owners, and do not include email
    addresses.
  6. Classify each finding as P0, P1, or P2 using references/report-template.md.
  7. Write the final report in the user's language when practical. Keep conclusion values exactly as
    BLOCKED, NEEDS_CONFIRMATION, or NO_BLOCKER_FOUND.

Dirty worktree handling

By default, review only the selected committed range. Do not silently mix uncommitted or untracked
changes into the release diff unless the user explicitly asks to include worktree changes.

  • Always report whether the worktree is dirty.
  • If dirty or untracked files touch release-relevant areas such as migrations, deployment config,
    env examples, CI/CD, secrets, cache, queues, assets, or service contracts, add a P2 confirmation
    item saying those changes are excluded from the committed-range review and must be committed,
    discarded, or reviewed separately before release.
  • If the user explicitly asks to include dirty worktree changes, inspect them with read-only
    commands such as git diff and git diff --name-status, and clearly label them as uncommitted
    evidence.

Evidence expectations

Every finding should cite concrete evidence:

  • file path and line number when available
  • commit hash or PR reference when line evidence is not enough
  • command limitation when evidence could not be collected
  • diff relationship, such as "schema changed but no migration file changed"

Do not state that something is safe just because no file matched a pattern. Use "not verified" for
areas that cannot be confirmed from local repository evidence.

Findings versus verification limits

Separate release confirmation items from neutral tool limits:

  • A release confirmation item is a diff-linked production risk, such as a new env var whose
    production secret cannot be verified, a schema change with unclear migration status, or a new queue
    whose infrastructure cannot be confirmed. Classify it as P1 or P2 and set the conclusion to
    NEEDS_CONFIRMATION unless a P0 also exists.
  • An "Unable To Verify" entry is a neutral limitation, such as missing remote access or deployment
    platform credentials when the diff does not introduce a specific release requirement. Neutral
    limitations do not change the conclusion by themselves.
  • If a limitation blocks confirmation of a release-critical diff change, promote it to a P1/P2
    finding rather than leaving it only in "Unable To Verify".
  • Use NO_BLOCKER_FOUND only when no P0-P2 findings or release confirmation items were found from
    available evidence. The report may still include neutral verification limits.

Output rules

  • Show P0 and P1 findings first, then P2 confirmation items.
  • Do not list clean checklist categories.
  • Include a service deployment order section only when the diff touches multiple services,
    asynchronous workers, migrations, queues, cache, or public contracts.
  • If no P0 blocker is found but P1/P2 confirmation items remain, use NEEDS_CONFIRMATION.
  • If no P0-P2 findings exist, include the reviewed range and any neutral verification limits.
  • Keep the report short enough for a release manager to act on immediately.

Limitations

  • This skill is read-only and does not deploy, tag, publish, run migrations, rotate secrets, or change infrastructure.
  • It can identify release risks from available evidence, but it cannot prove production state without access to the relevant deployment, secrets, database, queue, cache, or observability systems.
  • It should not replace service-owner signoff for high-risk production changes.

Test prompts

Use these prompts to validate the skill behavior:

  • "Run a pre-release review and tell me if this production deploy has risks."
  • "Review PR #123 before release. Check migrations, configs, and cache work."
  • "This repo has no tags. Use the default strategy and audit release readiness."
  • "Check v1.2.3..HEAD for backend go-live blockers."

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.