Pre-Ship Review
Run all relevant review agents for this project's tech stack, then invoke rad-code-review as the final gate. This is the comprehensive quality gate — use it before deploying, merging a major feature, or shipping a release.
Announce at start: "Running pre-ship review — dispatching specialist reviewers for your stack, then rad-code-review as final gate..."
Step 1: Read Stack Profile
Read .claude/stack-profile.local.md from the project root.
If the file does not exist:
Tell the user: "No stack profile found. Run /detect-stack first to scan your project and identify which review agents apply. Then come back and run /review-for-ship."
Stop here.
If the file exists:
Parse the YAML frontmatter. Extract:
project_name
project_type
technologies (the list)
review_agents (the list of agents with their subagent_type values)
plugins.core, plugins.supporting, plugins.pre_ship, plugins.final_gate
Profile Drift Warning
Parse the detected date from the YAML frontmatter. If it is older than 90 days:
"Your stack profile is [N] days old. Dependencies and technologies may have changed. Consider running /detect-stack --update to refresh before review. Continue with current profile?"
Wait for user confirmation. If they want to update, stop and suggest /detect-stack --update.
Step 2: Confirm with User
Before dispatching agents, show the user what will run:
## Pre-Ship Review Plan
**Project:** [project_name]
**Type:** [project_type]
**Stack:** [comma-separated technology names]
### Phase 1: Specialist Reviewers (run in parallel)
[For each agent in review_agents:]
- **[agent name]** — [one-line description of what it reviews]
### Phase 2: Final Gate
- **rad-code-review** — AI slop detection, architecture, security, release readiness verdict
This will run [N] specialist agents in parallel, then rad-code-review as the final pass.
Proceed? (This uses context and tokens proportional to the number of agents.)
Wait for user confirmation before proceeding. If the user says no or wants to skip certain agents, adjust accordingly.
Step 3: Dispatch Specialist Review Agents
Launch all specialist review agents in parallel using the Agent tool. For each agent:
- Set
subagent_type to the value from the stack profile
- Set
run_in_background to true so all agents run concurrently
- Give each agent a clear prompt:
Review the project at [current working directory] for [what this agent reviews].
This is a [project_type] project using [technology list].
Scan the full codebase and report findings organized by severity (Critical, Warning, Info).
Be thorough but practical — focus on issues that would cause real problems in production.
Available Specialist Review Agents
Only dispatch agents that are listed in the stack profile's review_agents field:
| Agent |
subagent_type |
Reviews |
| Astro Reviewer |
rad-astro:astro-reviewer |
Astro anti-patterns, performance, hydration, SSR/SSG issues |
| Next.js Reviewer |
rad-nextjs:nextjs-reviewer |
App Router violations, Server Actions security, IDOR, middleware bypass |
| React Reviewer |
rad-react:react-reviewer |
Hooks violations, stale closures, performance, accessibility, XSS/IDOR |
| TypeScript Reviewer |
rad-typescript:typescript-reviewer |
Strict-mode compliance, type safety, API boundaries, AI codegen anti-patterns |
| Fastify Reviewer |
rad-fastify:fastify-reviewer |
Encapsulation violations, decorator traps, validation, production readiness |
| Zod Reviewer |
rad-zod:zod-reviewer |
Schema safety, coercion attacks, over-posting, validation boundaries |
| Accessibility Reviewer |
rad-a11y:a11y-reviewer |
WCAG 2.2 AA compliance, ARIA, keyboard navigation, focus management |
| Chrome Extension Reviewer |
rad-chrome-extension:chrome-ext-reviewer |
MV3 security, permissions, Chrome Web Store compliance |
| SEO Auditor |
rad-seo-optimizer:seo-dominator |
Full SEO audit, Core Web Vitals, schema markup, AEO readiness |
| Coolify Reviewer |
rad-coolify-orchestrator:coolify-reviewer |
Dockerfile, compose, CI/CD, environment variables, security |
| Supabase Reviewer |
rad-supabase:supabase-reviewer |
Schema, RLS policies, edge functions, migrations, configuration |
Step 4: Final Gate — rad-code-review
After all specialist agents have completed and their results are collected, run rad-code-review as the final gate.
Invocation
Invoke the rad-code-review skill with these parameters:
- Scope: the current project (full codebase)
- Strictness:
production (default) — user can override to mvp or public
- Let rad-code-review run its full workflow: bug finder, architecture reviewer, release gate
What the Final Gate Covers
rad-code-review provides the generalist layer that complements the specialist reviewers:
- AI Slop Detection — 14 patterns for hallucinated imports, fake error handling, placeholder stubs, cargo-cult patterns, silent failures
- Architecture Review — Coupling, boundaries, naming, extensibility, test gaps
- General Security �� OWASP 12 categories (catches gaps the specialists might miss)
- Release Readiness — Config separation, secrets, dependencies, migrations, monitoring, documentation
- Documentation — README, setup instructions, env var documentation
- Dependency Audit �� CVEs, outdated packages, lockfile integrity
Final Gate Verdict
rad-code-review's release verdict becomes the ship/no-ship decision:
- Ship — No critical or major findings blocking release
- Conditional — Issues found but not release-blocking at the specified strictness
- No Ship — Critical or major findings that block release
Step 5: Compile Unified Report
Once all specialists AND the final gate have reported, compile a unified report.
Report Format
# Pre-Ship Review Report
**Project:** [name]
**Date:** [today's date]
**Stack:** [technologies]
**Specialist Agents:** [count] run
**Final Gate:** rad-code-review (strictness: [level])
---
## Overall Assessment
**Verdict:** [Ready to Ship / Needs Work / Critical Issues Found]
| Source | Critical | Warning | Info |
|--------|----------|---------|------|
| [Each specialist agent] | [n] | [n] | [n] |
| rad-code-review (final gate) | [n] | [n] | [n] |
| **Total** | **[n]** | **[n]** | **[n]** |
---
## Specialist Findings
### [Agent Name]
**Status:** [Clean / Issues Found]
[If issues found, list organized by severity:]
#### Critical
- [Issue description + file:line + recommended fix]
#### Warnings
- [Issue description + file:line + recommended fix]
#### Info
- [Improvement suggestion]
[Repeat for each specialist agent]
---
## Final Gate: rad-code-review
**Verdict:** [Ship / Conditional / No Ship]
**Strictness:** [mvp / production / public]
### Findings
[rad-code-review findings organized by its standard severity model]
### AI Slop Detection
[Any AI-generated code issues flagged]
### Release Readiness
[Release gate assessment]
---
## Recommended Actions
Priority order for fixing issues before shipping:
1. **[Critical item from any source]** — [why it matters, what to do]
2. **[Critical item]** — [why it matters, what to do]
3. **[Warning item]** — [why it matters, what to do]
...
---
## What's Next?
[Based on overall verdict:]
- **Critical Issues Found:** "Fix the critical issues above, then run /review-for-ship again to verify."
- **Needs Work:** "The warnings above are worth addressing but may not be blockers depending on your timeline."
- **Ready to Ship:** "Your project looks good! No critical issues found across all reviewers and the final gate."
Overall Verdict Logic
- If rad-code-review (final gate) says No Ship �� overall = Critical Issues Found
- If any specialist has Critical findings ��� overall = Needs Work
- If rad-code-review says Ship and no specialist Criticals ��� overall = Ready to Ship
- If rad-code-review says Conditional and no specialist Criticals → overall = Needs Work
Step 6: Offer Follow-Up
After the report, offer:
- "Want me to fix any of these issues?" (if issues were found)
- "Want me to run a specific reviewer again after fixes?" (for targeted re-check)
- "Want me to save this report to a file?" (write to
.ucr/history/ or user-specified path)
Edge Cases
- Specialist agent fails or times out: Note which agent failed, report results from successful ones, suggest re-running the failed agent individually.
- rad-code-review fails: Report specialist results without the final gate. Note that the release verdict is incomplete.
- No review agents in profile: Still run rad-code-review as the final gate (it works on any project). Note that specialist coverage is missing and suggest
/detect-stack --update.
- User wants partial review: Only dispatch the requested subset. Still offer the final gate unless explicitly skipped.
- User wants to skip final gate: If the user says "skip code review" or "specialists only", compile the report from specialist findings only.
1---2name: review-for-ship3description: User-invoked skill to run a comprehensive pre-ship review using all review agents relevant to the project's tech stack, with rad-code-review as the final gate. Reads the stack profile and dispatches specialist agents in parallel, then runs rad-code-review for AI slop detection, architecture, security, and release readiness. Trigger when the user says "/review-for-ship", "review before shipping", "is this ready to deploy", "pre-ship review", "run all reviews", "comprehensive review", "final check before shipping", "production readiness check", "is this ready to merge", "ship check", "pre-deploy review", "audit everything".4---5
6# Pre-Ship Review
7
8Run all relevant review agents for this project's tech stack, then invoke rad-code-review as the final gate. This is the comprehensive quality gate — use it before deploying, merging a major feature, or shipping a release.
9
10**Announce at start:** "Running pre-ship review — dispatching specialist reviewers for your stack, then rad-code-review as final gate..."
11
12---
13
14## Step 1: Read Stack Profile
15
16Read `.claude/stack-profile.local.md` from the project root.
17
18**If the file does not exist:**
19Tell the user: "No stack profile found. Run `/detect-stack` first to scan your project and identify which review agents apply. Then come back and run `/review-for-ship`."
20Stop here.
21
22**If the file exists:**
23Parse the YAML frontmatter. Extract:
24- `project_name`
25- `project_type`
26- `technologies` (the list)
27- `review_agents` (the list of agents with their `subagent_type` values)
28- `plugins.core`, `plugins.supporting`, `plugins.pre_ship`, `plugins.final_gate`
29
30### Profile Drift Warning
31
32Parse the `detected` date from the YAML frontmatter. If it is older than 90 days:
33
34> "Your stack profile is [N] days old. Dependencies and technologies may have changed. Consider running `/detect-stack --update` to refresh before review. Continue with current profile?"
35
36Wait for user confirmation. If they want to update, stop and suggest `/detect-stack --update`.
37
38---
39
40## Step 2: Confirm with User
41
42Before dispatching agents, show the user what will run:
43
44```
45## Pre-Ship Review Plan
46
47**Project:** [project_name]
48**Type:** [project_type]
49**Stack:** [comma-separated technology names]
50
51### Phase 1: Specialist Reviewers (run in parallel)
52[For each agent in review_agents:]
53- **[agent name]** — [one-line description of what it reviews]
54
55### Phase 2: Final Gate
56- **rad-code-review** — AI slop detection, architecture, security, release readiness verdict
57
58This will run [N] specialist agents in parallel, then rad-code-review as the final pass.
59
60Proceed? (This uses context and tokens proportional to the number of agents.)
61```
62
63Wait for user confirmation before proceeding. If the user says no or wants to skip certain agents, adjust accordingly.
64
65---
66
67## Step 3: Dispatch Specialist Review Agents
68
69Launch all specialist review agents **in parallel** using the Agent tool. For each agent:
70
71- Set `subagent_type` to the value from the stack profile
72- Set `run_in_background` to `true` so all agents run concurrently
73- Give each agent a clear prompt:
74
75```
76Review the project at [current working directory] for [what this agent reviews].
77This is a [project_type] project using [technology list].
78Scan the full codebase and report findings organized by severity (Critical, Warning, Info).
79Be thorough but practical — focus on issues that would cause real problems in production.
80```
81
82### Available Specialist Review Agents
83
84Only dispatch agents that are listed in the stack profile's `review_agents` field:
85
86| Agent | subagent_type | Reviews |
87|---|---|---|
88| Astro Reviewer | `rad-astro:astro-reviewer` | Astro anti-patterns, performance, hydration, SSR/SSG issues |
89| Next.js Reviewer | `rad-nextjs:nextjs-reviewer` | App Router violations, Server Actions security, IDOR, middleware bypass |
90| React Reviewer | `rad-react:react-reviewer` | Hooks violations, stale closures, performance, accessibility, XSS/IDOR |
91| TypeScript Reviewer | `rad-typescript:typescript-reviewer` | Strict-mode compliance, type safety, API boundaries, AI codegen anti-patterns |
92| Fastify Reviewer | `rad-fastify:fastify-reviewer` | Encapsulation violations, decorator traps, validation, production readiness |
93| Zod Reviewer | `rad-zod:zod-reviewer` | Schema safety, coercion attacks, over-posting, validation boundaries |
94| Accessibility Reviewer | `rad-a11y:a11y-reviewer` | WCAG 2.2 AA compliance, ARIA, keyboard navigation, focus management |
95| Chrome Extension Reviewer | `rad-chrome-extension:chrome-ext-reviewer` | MV3 security, permissions, Chrome Web Store compliance |
96| SEO Auditor | `rad-seo-optimizer:seo-dominator` | Full SEO audit, Core Web Vitals, schema markup, AEO readiness |
97| Coolify Reviewer | `rad-coolify-orchestrator:coolify-reviewer` | Dockerfile, compose, CI/CD, environment variables, security |
98| Supabase Reviewer | `rad-supabase:supabase-reviewer` | Schema, RLS policies, edge functions, migrations, configuration |
99
100---
101
102## Step 4: Final Gate — rad-code-review
103
104After **all specialist agents have completed** and their results are collected, run rad-code-review as the final gate.
105
106### Invocation
107
108Invoke the `rad-code-review` skill with these parameters:
109- Scope: the current project (full codebase)
110- Strictness: `production` (default) — user can override to `mvp` or `public`
111- Let rad-code-review run its full workflow: bug finder, architecture reviewer, release gate
112
113### What the Final Gate Covers
114
115rad-code-review provides the generalist layer that complements the specialist reviewers:
116
1171. **AI Slop Detection** — 14 patterns for hallucinated imports, fake error handling, placeholder stubs, cargo-cult patterns, silent failures
1182. **Architecture Review** — Coupling, boundaries, naming, extensibility, test gaps
1193. **General Security** �� OWASP 12 categories (catches gaps the specialists might miss)
1204. **Release Readiness** — Config separation, secrets, dependencies, migrations, monitoring, documentation
1215. **Documentation** — README, setup instructions, env var documentation
1226. **Dependency Audit** �� CVEs, outdated packages, lockfile integrity
123
124### Final Gate Verdict
125
126rad-code-review's release verdict becomes the ship/no-ship decision:
127- **Ship** — No critical or major findings blocking release
128- **Conditional** — Issues found but not release-blocking at the specified strictness
129- **No Ship** — Critical or major findings that block release
130
131---
132
133## Step 5: Compile Unified Report
134
135Once all specialists AND the final gate have reported, compile a unified report.
136
137### Report Format
138
139```
140# Pre-Ship Review Report
141
142**Project:** [name]
143**Date:** [today's date]
144**Stack:** [technologies]
145**Specialist Agents:** [count] run
146**Final Gate:** rad-code-review (strictness: [level])
147
148---
149
150## Overall Assessment
151
152**Verdict:** [Ready to Ship / Needs Work / Critical Issues Found]
153
154| Source | Critical | Warning | Info |
155|--------|----------|---------|------|
156| [Each specialist agent] | [n] | [n] | [n] |
157| rad-code-review (final gate) | [n] | [n] | [n] |
158| **Total** | **[n]** | **[n]** | **[n]** |
159
160---
161
162## Specialist Findings
163
164### [Agent Name]
165**Status:** [Clean / Issues Found]
166
167[If issues found, list organized by severity:]
168
169#### Critical
170- [Issue description + file:line + recommended fix]
171
172#### Warnings
173- [Issue description + file:line + recommended fix]
174
175#### Info
176- [Improvement suggestion]
177
178[Repeat for each specialist agent]
179
180---
181
182## Final Gate: rad-code-review
183
184**Verdict:** [Ship / Conditional / No Ship]
185**Strictness:** [mvp / production / public]
186
187### Findings
188[rad-code-review findings organized by its standard severity model]
189
190### AI Slop Detection
191[Any AI-generated code issues flagged]
192
193### Release Readiness
194[Release gate assessment]
195
196---
197
198## Recommended Actions
199
200Priority order for fixing issues before shipping:
201
2021. **[Critical item from any source]** — [why it matters, what to do]
2032. **[Critical item]** — [why it matters, what to do]
2043. **[Warning item]** — [why it matters, what to do]
205...
206
207---
208
209## What's Next?
210
211[Based on overall verdict:]
212- **Critical Issues Found:** "Fix the critical issues above, then run /review-for-ship again to verify."
213- **Needs Work:** "The warnings above are worth addressing but may not be blockers depending on your timeline."
214- **Ready to Ship:** "Your project looks good! No critical issues found across all reviewers and the final gate."
215```
216
217### Overall Verdict Logic
218
2191. If rad-code-review (final gate) says **No Ship** �� overall = **Critical Issues Found**
2202. If any specialist has Critical findings ��� overall = **Needs Work**
2213. If rad-code-review says **Ship** and no specialist Criticals ��� overall = **Ready to Ship**
2224. If rad-code-review says **Conditional** and no specialist Criticals → overall = **Needs Work**
223
224---
225
226## Step 6: Offer Follow-Up
227
228After the report, offer:
229- "Want me to fix any of these issues?" (if issues were found)
230- "Want me to run a specific reviewer again after fixes?" (for targeted re-check)
231- "Want me to save this report to a file?" (write to `.ucr/history/` or user-specified path)
232
233---
234
235## Edge Cases
236
237- **Specialist agent fails or times out:** Note which agent failed, report results from successful ones, suggest re-running the failed agent individually.
238- **rad-code-review fails:** Report specialist results without the final gate. Note that the release verdict is incomplete.
239- **No review agents in profile:** Still run rad-code-review as the final gate (it works on any project). Note that specialist coverage is missing and suggest `/detect-stack --update`.
240- **User wants partial review:** Only dispatch the requested subset. Still offer the final gate unless explicitly skipped.
241- **User wants to skip final gate:** If the user says "skip code review" or "specialists only", compile the report from specialist findings only.