Skip to content
Development
Skill

/pre-landing-review

Gate-oriented safety audit for code changes before landing, using a checklist with two-pass severity triage. Triggers on: "is this safe to land", "pre-landing review", "safety check before merge", "gate check", "/pre-landing-review". NOT for diff review, use pr-review.

From plugin
armory
33998 skills2 agents1 command

Claude Code

$ npx -y skills add Mathews-Tom/armory --skill pre-landing-review --agent claude-code

SKILL.md

pre-landing-review.SKILL.md
name: pre-landing-review
description: 'Gate-oriented safety audit for code changes before landing, using a checklist with two-pass severity triage. Triggers on: "is this safe to land", "pre-landing review", "safety check before merge", "gate check", "/pre-landing-review". NOT for diff review, use pr-review.'
metadata:
  version: 1.0.1
  category: review
  tags: [pre-merge, safety-gate, code-review, checklist]
  difficulty: intermediate
  phase: review

Pre-Landing Review

Gate-oriented safety audit for code changes before landing. Uses a structured checklist with two-pass severity triage and blocking/non-blocking classification.

**Distinct from `pr-review`**: pr-review is a multi-dimension code quality review. This skill is a **gate-oriented safety audit** — it uses an external checklist with two-pass severity triage and a blocking/non-blocking classification.

> **Native alternative:** Claude Code's `/ultrareview` runs a dedicated native review session optimized for bug-finding (Anthropic ships three free per month on Pro/Max plans at Opus 4.7's launch). Use this skill for checklist-driven, gate-oriented blocking classification with a documented triage protocol; use `/ultrareview` for lightweight bug-hunting on a single change.

Workflow

1. Determine Diff

Identify the changes to review:

  • If on a feature branch: diff against the default branch (`git symbolic-ref refs/remotes/origin/HEAD`)
  • If given a PR number: fetch that PR's diff
  • If given specific files: review those files

2. Load Checklist

Read `references/checklist.md`. This is mandatory — if the checklist is unreadable, STOP and report the error.

3. Pass 1 — CRITICAL (blocking)

Review the diff against critical safety categories. These are potential ship-blockers.

SQL & Data Safety

  • Raw SQL without parameterization
  • Schema changes without migration safety (lock timeout, reversibility)
  • Bulk updates/deletes without WHERE clause verification
  • Direct column updates bypassing model validations/callbacks

Race Conditions & Concurrency

  • Read-then-write without locking
  • Unique constraint reliance without database-level enforcement
  • Shared mutable state without synchronization
  • Queue/background job idempotency

Trust Boundaries

  • LLM/AI output used in SQL, shell commands, or rendered HTML without sanitization
  • User input reaching privileged operations without validation
  • External API responses used without schema validation
  • Deserialization of untrusted data

For each CRITICAL finding:

1. Cite exact file and line 2. Explain the specific risk 3. Use `AskUserQuestion` with exactly three options: **Fix now** / **Acknowledge risk** / **False positive** 4. If "Fix now": make the fix, then re-check 5. If "Acknowledge": record acknowledgment, continue 6. If "False positive": record, continue

4. Pass 2 — INFORMATIONAL (non-blocking)

Review against remaining categories:

**Conditional Side Effects** — side effects hidden in conditional branches, callbacks triggered by state changes, error handlers silently swallowing failures.

**Magic Numbers** — unexplained numeric literals, hardcoded thresholds without constants, timeout values without rationale.

**Dead Code** — unreachable branches, unused imports, commented-out code without explanation.

**Test Gaps** — new code paths without test coverage, modified behavior without updated tests, missing edge case and error path tests.

**Crypto & Entropy** — weak random sources for security contexts, hardcoded secrets, missing TLS/encryption for sensitive data in transit.

**Time Window Safety** — timezone-naive comparisons, daylight saving edge cases, cron expressions not accounting for clock skew.

**Type Coercion** — implicit type conversions that could lose data, numeric precision loss across boundaries, implicit string encoding at I/O boundaries.

Present all informational findings in a single summary table (file, line, category, description).

5. Gate Classification

  • All Pass 1 issues resolved (fixed or acknowledged) → **CLEAR TO LAND**
  • Any unresolved Pass 1 issue → **BLOCKED**
  • Pass 2 issues are advisory — they don't block landing

6. Suppressions

Do NOT flag:

  • Test files using test fixtures/factories
  • Migration files following framework conventions
  • Comments explaining why a pattern is intentional
  • Configuration files with documented values
  • Type stubs or interface definitions

Output

Gate verdict (CLEAR TO LAND / BLOCKED), critical issues summary with resolution status, informational findings table.

**This skill is read-only by default** — only modifies code when user explicitly chooses "Fix now" on a critical issue.

Read more
@mathews-tom
Ships witharmory

Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.

33998 skills2 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
339
Star history of Mathews-Tom/armory on GitHub, a chart by star-history.com

Other skills on armory.

doc-condenser

doc-condenser

**DEPRECATED** — Modern Claude models condense and summarize technical documentation natively with comparable quality. The output…

@mathews-tom@mathews-tomInstall Skill
opus-4-7-migration

opus-4-7-migration

DEPRECATED: The Opus 4.7 migration scanner is retired from the active skill catalog. Retained for archival reference only; not…

@mathews-tom@mathews-tomInstall Skill
regex-builder

regex-builder

**DEPRECATED** — Modern Claude models produce accurate, well-explained regex patterns with edge-case test suites natively,…

@mathews-tom@mathews-tomInstall Skill
sequential-thinking

sequential-thinking

**DEPRECATED** — Opus 4.7 uses adaptive thinking (optional at each step) and Sonnet 4.6 handles structured chain-of-thought…

@mathews-tom@mathews-tomInstall Skill
adr-writer

adr-writer

Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked…

@mathews-tom@mathews-tomInstall Skill
agent-builder

agent-builder

Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK,…

@mathews-tom@mathews-tomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about pre-landing-review.

Which coding agents can use pre-landing-review?
pre-landing-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.