Fresh-context review and adversarial review for concrete diffs, state machines, type shapes, lifecycle boundaries, and confusing abstractions. Use when the user asks for "fresh-context review", "fresh eyes", an independent reviewer, adversarial review of a diff, a state-machine audit, or whether a type or lifecycle shape earns itself. Not for generic helper delegation, executor prompts, ordinary final review, or interactive planning interviews.
80
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Read the change like a capable TypeScript developer who has not been part of the conversation, then push until the lifecycle, names, and type shapes either become obvious or collapse to something simpler.
This is not a normal code review. It is a structured challenge pass.
Use a subagent only as the backend for this review move, when available and when fresh context is useful. The skill owns the adversarial review question, not generic helper delegation.
Give the reviewer a bounded prompt with:
If subagents are not available, simulate the same posture locally: read only the files named by the task first, then widen by caller search only when a question requires it.
Findings are hypotheses, not patches. Verify each against the actual source before applying. This skill delegates review, never execution.
Load only the relevant local skills before reviewing:
typescript for type ownership, local shape copies, and discriminated unionsfirst-read-review for first-read clarityrefactoring for caller counts and helper inlininggreenfield-clean-breaks when the user says "greenfield", "no users",
"clean break", "refuse compatibility", asks whether old behavior can be
deleted, or the review points to a public-shape or ownership breakdefine-errors and error-handling when Result, Err, Ok, or
defineErrors shapes are involvedcollapse-pass when the user asks to shrink indirection or delete stateauth,
workspace-api, svelte, or tauriRead references/type-lifecycle-review.md when the review centers on type protocols, state machines, lifecycle transitions, or helper boundaries.
Assume the code might be right, but the explanation might still be too expensive. Your job is to make the design earn its shape.
Ask these questions in order:
Result plus defineErrors say this better than a custom union?Do not accept "it is explicit" as a sufficient answer. Explicit code can still be the wrong boundary. A state, helper, or type earns its place only when it prevents misuse, names real domain vocabulary, isolates unsafe input, or removes more confusion than it adds.
Use this shape for the final review:
Files read
path/
|-- file-a.ts
`-- file-a.test.ts
Lifecycle
...
Findings
1. [severity] file:line Problem, why it matters, correction.
Would simplify
- ...
Would keep
- ...
Test gaps
- ...
Verdict
Keep / change / block, with one concrete reason.Findings must lead. Do not bury bugs under prose.
If the user asks you to act on the review:
greenfield-clean-breaks when compatibility pressure has been explicitly
released or the correction changes public shape.Do not fold unrelated cleanup into the change. Fresh eyes does not mean wider scope.
cb12bcc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.