Thermo-Nuclear Code Quality Review
Use this skill for an unusually strict review focused on implementation quality,
maintainability, abstraction quality, and codebase health.
The goal is not to collect minor cleanup notes. The goal is to find structural
simplifications that preserve behavior while making the implementation smaller,
clearer, more direct, and easier to reason about.
When To Use
- The user asks for a "thermo-nuclear", "thermonuclear", "very strict", "harsh",
or "deep code quality" review.
- A PR or branch technically works but may have grown abstraction debt,
large-file debt, or tangled conditional logic.
quality-gate needs an extra maintainability lens beyond the normal
correctness/readability/performance passes.
- Before
/ship, when the risk is structural maintainability rather than only
tests, security, performance, design, or SEO.
When Not To Use
- For normal correctness review only: use
code-reviewer.
- For security-specific findings: use
security-auditor or the security lens in
quality-gate.
- For visual/product UI quality: use
taste-critic, design-audit, or
a11y-enforcer.
- For performance-specific profiling: use
performance-auditor.
- For implementation fixes: first produce the review. Only edit code if the user
explicitly asks to fix the findings or if this skill is running inside an
integrated
quality-gate loop that already owns fixes.
Runtime Compatibility
This skill is provider-neutral. It does not require Cursor-only metadata,
Claude-only slash commands, subagents, or MCP tools.
- Claude Code: may run as a skill or as one lens inside
quality-gate.
- Codex CLI: read this
SKILL.md fully, inspect the diff locally, and run the
review inline. If multiple lenses are needed, run them sequentially with a
clear mental reset between passes.
- OpenCode, Gemini, and generic agents: use the same local-diff workflow and the
same output contract. If a provider cannot create inline comments, report
findings with file and line references.
- Cursor: the original upstream skill uses Cursor metadata. In Skillz-Claude,
that metadata is intentionally omitted so the same file works across providers.
Inputs
Prefer the narrowest review target the user gave:
- Current branch diff: compare against the default branch (
main, then
master) unless the user names another base.
- PR number or URL: inspect the PR diff and relevant files.
- Path or file: review only that scope, but still inspect neighboring code when
needed to judge ownership boundaries.
- No target: use the current branch diff.
If there is no diff and no explicit path, ask for the target instead of
inventing one.
Process
Find the review surface.
Inspect git status --short --branch, identify the base branch, and list the
changed files. Do not assume the branch or diff shape.
Read the surrounding architecture.
Read changed files plus the nearest existing helpers, modules, tests, and
callers needed to understand the local design. Look for the canonical layer
that already owns the concept.
Measure structural movement.
Check whether the diff:
- pushes any file from below 1000 lines to above 1000 lines,
- adds repeated conditionals or feature flags in multiple places,
- introduces new helpers that mostly pass data through,
- adds casts,
any, unknown, or optional shapes that hide invariants,
- serializes independent work or creates partial-update states,
- moves logic away from the package/module that owns the concept.
Look for simplification moves.
For every meaningful change, ask whether behavior can stay the same while
deleting concepts, branches, helpers, modes, or layers. Prefer remedies that
remove complexity over remedies that merely reorganize it.
Prioritize blockers.
Findings should lead with structural regressions and missed simplifications,
not nits. If the code is acceptable, say that explicitly and name the residual
risks.
Do not edit in review mode.
Unless the caller is quality-gate integrated mode or the user asked for
fixes, stop at the review report.
Review Standards
Apply these standards aggressively:
Structural simplification beats local polish.
Do not stop at "this could be cleaner". Search for reframings that make whole
branches, helpers, modes, conditionals, or layers disappear.
A file crossing 1000 lines is a strong smell.
If the PR pushes a file from below 1000 lines to above 1000 lines, ask whether
it should be decomposed first. Waive only with a compelling structural reason.
Do not normalize spaghetti growth.
Treat ad-hoc conditionals, scattered special cases, and one-off mode flags as
design problems, even when they technically work.
Prefer direct boring code over magic.
Flag generic machinery, identity wrappers, thin abstractions, and hidden data
shape assumptions when they add indirection without clarity.
Make type and boundary invariants explicit.
Question unnecessary optionality, casts, unknown, any, and silent
fallback behavior when a clearer boundary or model would simplify control
flow.
Keep logic in the canonical layer.
Reuse existing helpers and push feature logic toward the module, package, or
service that already owns the concept.
Treat unnecessary sequencing and non-atomic updates as design smells.
If independent work is serialized or related writes can leave half-applied
state, ask whether a simpler parallel or atomic structure exists.
Primary Questions
For every meaningful change, ask:
- Is there a simplification move that would make this dramatically smaller?
- Can the same behavior be represented with fewer branches or concepts?
- Did the diff improve or worsen the local architecture?
- Is the logic living in the right file, module, package, and layer?
- Did a cohesive module become more coupled, more stateful, or harder to scan?
- Are repeated conditionals signaling a missing model, helper, dispatcher, or
policy object?
- Does the abstraction earn its keep, or is it just a wrapper?
- Did the diff introduce casts, optional shapes, or ad-hoc objects that obscure
a real invariant?
- Did the change duplicate a canonical helper or create a near-duplicate?
- Is orchestration more sequential or less atomic than it needs to be?
What To Flag Aggressively
Escalate high-conviction findings for:
- Complicated implementations where a cleaner reframing could delete whole
categories of complexity.
- Refactors that move complexity around without reducing the number of concepts
a reader must hold.
- Files crossing 1000 lines due to the diff.
- New conditionals bolted onto unrelated or already busy code paths.
- One-off booleans, nullable modes, or flags that complicate existing flow.
- Feature-specific logic leaking into general-purpose modules.
- Generic magic that hides simple structure.
- Thin wrappers or identity abstractions.
- Unnecessary casts,
any, unknown, or optional params.
- Copy-pasted logic where a focused helper would clarify ownership.
- Edge-case handling inserted into a busy function.
- Temporary branching likely to become permanent debt.
- Bespoke helpers when the codebase already has a canonical utility.
- Logic added in the wrong layer or package.
- Avoidable sequential async work or non-atomic partial updates.
Preferred Remedies
Prefer suggestions that:
- delete a whole layer of indirection,
- reframe the state model so conditionals disappear,
- move ownership to the canonical abstraction,
- turn special cases into a simpler default flow,
- extract a pure helper or focused module,
- split large files into cohesive smaller modules,
- replace condition chains with a typed model or dispatcher,
- separate orchestration from business logic,
- collapse duplicate branches into one clear path,
- remove wrappers that do not clarify the API,
- reuse an existing helper instead of adding a near-duplicate,
- make type boundaries explicit,
- parallelize independent work when it also simplifies orchestration,
- restructure related updates into an atomic flow.
Output Contract
Lead with findings, ordered by severity and grounded in file:line references.
Use this shape:
Findings
- [P1] <short title> - <file>:<line>
<why this is a structural code-quality problem>
Remedy: <specific simpler structure>
Open Questions
- <only questions that materially affect the verdict>
Verdict
<approve / concerns / block>, with a short reason.
Residual Risk
<tests or runtime checks not run, if any>
Severity guidance:
- P0: structural issue that can break behavior, data integrity, security, or
maintainability immediately.
- P1: should block approval unless justified; clear structural regression or
obvious missed simplification.
- P2: meaningful maintainability debt that should be fixed soon.
- P3: small cleanup, only include if no larger issues dominate.
Approval Bar
Do not approve merely because behavior seems correct. Approval requires:
- no clear structural regression,
- no obvious simplification path that would materially reduce complexity,
- no unjustified file-size explosion,
- no obvious spaghetti growth,
- no hacky or magical abstraction that makes the code harder to reason about,
- no unnecessary wrapper, cast, or optionality churn obscuring the design,
- no clear architecture-boundary leak,
- no avoidable duplication of canonical helpers.
Treat these as presumptive blockers unless clearly justified:
- the diff preserves incidental complexity when a plausible simpler model exists,
- a file crosses from below 1000 lines to above 1000 lines,
- ad-hoc branching tangles an existing flow,
- feature checks are scattered through shared code,
- unnecessary wrappers or cast-heavy contracts make the design more indirect,
- logic duplicates an existing helper or lives in the wrong layer.
Anti-Patterns
- Cosmetic-only feedback while structural debt is present.
- Asking for a rename when the real issue is ownership or model shape.
- Accepting "it works" while the codebase gets harder to reason about.
- Suggesting a refactor that only spreads the same complexity across more files.
- Editing files during standalone review mode.
1---2name: thermo-nuclear-code-quality-review3description: Runs an unusually strict code-quality and maintainability review. Use when the user asks for a thermo-nuclear or thermonuclear review, a very harsh code-quality audit, a deep maintainability review, or a structural simplification pass before ship. Produces prioritized structural findings and concrete cleaner-design remedies.4---56# Thermo-Nuclear Code Quality Review78Use this skill for an unusually strict review focused on implementation quality,9maintainability, abstraction quality, and codebase health.1011The goal is not to collect minor cleanup notes. The goal is to find structural12simplifications that preserve behavior while making the implementation smaller,13clearer, more direct, and easier to reason about.1415## When To Use1617- The user asks for a "thermo-nuclear", "thermonuclear", "very strict", "harsh",18 or "deep code quality" review.19- A PR or branch technically works but may have grown abstraction debt,20 large-file debt, or tangled conditional logic.21- `quality-gate` needs an extra maintainability lens beyond the normal22 correctness/readability/performance passes.23- Before `/ship`, when the risk is structural maintainability rather than only24 tests, security, performance, design, or SEO.2526## When Not To Use2728- For normal correctness review only: use `code-reviewer`.29- For security-specific findings: use `security-auditor` or the security lens in30 `quality-gate`.31- For visual/product UI quality: use `taste-critic`, `design-audit`, or32 `a11y-enforcer`.33- For performance-specific profiling: use `performance-auditor`.34- For implementation fixes: first produce the review. Only edit code if the user35 explicitly asks to fix the findings or if this skill is running inside an36 integrated `quality-gate` loop that already owns fixes.3738## Runtime Compatibility3940This skill is provider-neutral. It does not require Cursor-only metadata,41Claude-only slash commands, subagents, or MCP tools.4243- Claude Code: may run as a skill or as one lens inside `quality-gate`.44- Codex CLI: read this `SKILL.md` fully, inspect the diff locally, and run the45 review inline. If multiple lenses are needed, run them sequentially with a46 clear mental reset between passes.47- OpenCode, Gemini, and generic agents: use the same local-diff workflow and the48 same output contract. If a provider cannot create inline comments, report49 findings with file and line references.50- Cursor: the original upstream skill uses Cursor metadata. In Skillz-Claude,51 that metadata is intentionally omitted so the same file works across providers.5253## Inputs5455Prefer the narrowest review target the user gave:5657- Current branch diff: compare against the default branch (`main`, then58 `master`) unless the user names another base.59- PR number or URL: inspect the PR diff and relevant files.60- Path or file: review only that scope, but still inspect neighboring code when61 needed to judge ownership boundaries.62- No target: use the current branch diff.6364If there is no diff and no explicit path, ask for the target instead of65inventing one.6667## Process68691. **Find the review surface.**70 Inspect `git status --short --branch`, identify the base branch, and list the71 changed files. Do not assume the branch or diff shape.72732. **Read the surrounding architecture.**74 Read changed files plus the nearest existing helpers, modules, tests, and75 callers needed to understand the local design. Look for the canonical layer76 that already owns the concept.77783. **Measure structural movement.**79 Check whether the diff:80 - pushes any file from below 1000 lines to above 1000 lines,81 - adds repeated conditionals or feature flags in multiple places,82 - introduces new helpers that mostly pass data through,83 - adds casts, `any`, `unknown`, or optional shapes that hide invariants,84 - serializes independent work or creates partial-update states,85 - moves logic away from the package/module that owns the concept.86874. **Look for simplification moves.**88 For every meaningful change, ask whether behavior can stay the same while89 deleting concepts, branches, helpers, modes, or layers. Prefer remedies that90 remove complexity over remedies that merely reorganize it.91925. **Prioritize blockers.**93 Findings should lead with structural regressions and missed simplifications,94 not nits. If the code is acceptable, say that explicitly and name the residual95 risks.96976. **Do not edit in review mode.**98 Unless the caller is `quality-gate` integrated mode or the user asked for99 fixes, stop at the review report.100101## Review Standards102103Apply these standards aggressively:1041051. **Structural simplification beats local polish.**106 Do not stop at "this could be cleaner". Search for reframings that make whole107 branches, helpers, modes, conditionals, or layers disappear.1081092. **A file crossing 1000 lines is a strong smell.**110 If the PR pushes a file from below 1000 lines to above 1000 lines, ask whether111 it should be decomposed first. Waive only with a compelling structural reason.1121133. **Do not normalize spaghetti growth.**114 Treat ad-hoc conditionals, scattered special cases, and one-off mode flags as115 design problems, even when they technically work.1161174. **Prefer direct boring code over magic.**118 Flag generic machinery, identity wrappers, thin abstractions, and hidden data119 shape assumptions when they add indirection without clarity.1201215. **Make type and boundary invariants explicit.**122 Question unnecessary optionality, casts, `unknown`, `any`, and silent123 fallback behavior when a clearer boundary or model would simplify control124 flow.1251266. **Keep logic in the canonical layer.**127 Reuse existing helpers and push feature logic toward the module, package, or128 service that already owns the concept.1291307. **Treat unnecessary sequencing and non-atomic updates as design smells.**131 If independent work is serialized or related writes can leave half-applied132 state, ask whether a simpler parallel or atomic structure exists.133134## Primary Questions135136For every meaningful change, ask:137138- Is there a simplification move that would make this dramatically smaller?139- Can the same behavior be represented with fewer branches or concepts?140- Did the diff improve or worsen the local architecture?141- Is the logic living in the right file, module, package, and layer?142- Did a cohesive module become more coupled, more stateful, or harder to scan?143- Are repeated conditionals signaling a missing model, helper, dispatcher, or144 policy object?145- Does the abstraction earn its keep, or is it just a wrapper?146- Did the diff introduce casts, optional shapes, or ad-hoc objects that obscure147 a real invariant?148- Did the change duplicate a canonical helper or create a near-duplicate?149- Is orchestration more sequential or less atomic than it needs to be?150151## What To Flag Aggressively152153Escalate high-conviction findings for:154155- Complicated implementations where a cleaner reframing could delete whole156 categories of complexity.157- Refactors that move complexity around without reducing the number of concepts158 a reader must hold.159- Files crossing 1000 lines due to the diff.160- New conditionals bolted onto unrelated or already busy code paths.161- One-off booleans, nullable modes, or flags that complicate existing flow.162- Feature-specific logic leaking into general-purpose modules.163- Generic magic that hides simple structure.164- Thin wrappers or identity abstractions.165- Unnecessary casts, `any`, `unknown`, or optional params.166- Copy-pasted logic where a focused helper would clarify ownership.167- Edge-case handling inserted into a busy function.168- Temporary branching likely to become permanent debt.169- Bespoke helpers when the codebase already has a canonical utility.170- Logic added in the wrong layer or package.171- Avoidable sequential async work or non-atomic partial updates.172173## Preferred Remedies174175Prefer suggestions that:176177- delete a whole layer of indirection,178- reframe the state model so conditionals disappear,179- move ownership to the canonical abstraction,180- turn special cases into a simpler default flow,181- extract a pure helper or focused module,182- split large files into cohesive smaller modules,183- replace condition chains with a typed model or dispatcher,184- separate orchestration from business logic,185- collapse duplicate branches into one clear path,186- remove wrappers that do not clarify the API,187- reuse an existing helper instead of adding a near-duplicate,188- make type boundaries explicit,189- parallelize independent work when it also simplifies orchestration,190- restructure related updates into an atomic flow.191192## Output Contract193194Lead with findings, ordered by severity and grounded in `file:line` references.195196Use this shape:197198```text199Findings200- [P1] <short title> - <file>:<line>201 <why this is a structural code-quality problem>202 Remedy: <specific simpler structure>203204Open Questions205- <only questions that materially affect the verdict>206207Verdict208<approve / concerns / block>, with a short reason.209210Residual Risk211<tests or runtime checks not run, if any>212```213214Severity guidance:215216- P0: structural issue that can break behavior, data integrity, security, or217 maintainability immediately.218- P1: should block approval unless justified; clear structural regression or219 obvious missed simplification.220- P2: meaningful maintainability debt that should be fixed soon.221- P3: small cleanup, only include if no larger issues dominate.222223## Approval Bar224225Do not approve merely because behavior seems correct. Approval requires:226227- no clear structural regression,228- no obvious simplification path that would materially reduce complexity,229- no unjustified file-size explosion,230- no obvious spaghetti growth,231- no hacky or magical abstraction that makes the code harder to reason about,232- no unnecessary wrapper, cast, or optionality churn obscuring the design,233- no clear architecture-boundary leak,234- no avoidable duplication of canonical helpers.235236Treat these as presumptive blockers unless clearly justified:237238- the diff preserves incidental complexity when a plausible simpler model exists,239- a file crosses from below 1000 lines to above 1000 lines,240- ad-hoc branching tangles an existing flow,241- feature checks are scattered through shared code,242- unnecessary wrappers or cast-heavy contracts make the design more indirect,243- logic duplicates an existing helper or lives in the wrong layer.244245## Anti-Patterns246247- Cosmetic-only feedback while structural debt is present.248- Asking for a rename when the real issue is ownership or model shape.249- Accepting "it works" while the codebase gets harder to reason about.250- Suggesting a refactor that only spreads the same complexity across more files.251- Editing files during standalone review mode.