About solidjs-v2-reviewer
solidjs-v2-reviewer is a checklist skill for reviewing code against SolidJS 2.0 prerelease behavior and typings. It helps reviewers assess requested changes while keeping v1 reviews aligned with the v1 contract, and calls for findings backed by concrete evidence.
Key features
- 01Check changes against SolidJS 2 behavior
- 02Review reactive state and effects
- 03Assess async handling and mutations
- 04Check DOM, SSR, and transport semantics
- 05Require evidence for reported findings
Use cases
- 01Review a diff targeting SolidJS 2.0
- 02Check whether reactive state usage matches v2
- 03Identify behavior changes in a migration
- 04Report concrete runtime or type issues
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ khmm12/ solidjs-v2-skills --skill solidjs-v2-reviewerAfter installing, type/solidjs-v2-reviewerin Claude Code to confirm it loaded.
Details
From the project READMEReview SolidJS 2.0
Reference target: [email protected] and @solidjs/[email protected].
Establish scope
Read the installed solid-js version and review the requested diff/files.
Apply this checklist to major 2. Keep v1 reviews on their v1 contract.
Published target typings outrank examples and prerelease documentation.
Check behavior
| Area | Required v2 behavior |
|---|---|
| Component setup | Runs once per mount; reactive props remain props.x reads in JSX/compute |
| Props | JSX passes values through getters; accessor-typed APIs follow their declared types |
| Derived state | Memo/projection for readonly state; function-form signal/store for writable derivation |
| Writes/actions | Invoke in handlers, effect apply/error callbacks, or onSettled; computation scopes derive |
| Read-after-write | Microtask commit; imperative immediate reads follow flush() |
| Effects | Tracked compute + untracked apply; extract fields/deep snapshot in compute, return cleanup from apply |
| Paint | Both lanes run before paint; render lane measures/updates layout before user effects |
| Initial async | Async memo/store consumers sit under Loading; errors reach Errored with error accessor |
| Pending UI | Input changes or action-scoped affects; bare refresh is quiet; saving uses an optimistic flag |
| Mutation sequencing | Generator action yields work; after internal await, yield before writes; yield refresh for fresh truth |
| Live acknowledgment | until predicates read authoritative sources, use correlation and timeout |
| Cleanup | Register compute cleanup before await/yield; cancellation releases a parked stream |
| Lifecycle | Create primitives in setup; owned onSettled returns teardown, out-of-band callbacks are one-shot |
| Stores | Draft setters; returned values shallow-replace; reconcile's second argument is key/extractor/null |
| Store identity | Standalone reconcile preserves chosen root; derived returns can replace authoritative root |
| Shallow stores | Replace root slots by reference; preserve inner store proxies in live wrapper views |
| List callbacks | Identity: value/accessor; positional: accessor/number; custom key: accessor/accessor |
| Flow bodies | Accessor reads occur in JSX/compute; callback bodies build structure |
| DOM | Lowercase HTML attributes, class arrays/objects, callback refs; dynamic decisions inside event callbacks |
| SSR | Per-request user state; async data sources; lazy code holds shell, dynamic data follows boundary/options |
| Server validation | Function directive: body validates; module directive: exported wrapper value is registered |
| Transport | GET/withMeta for declarations, prepareRequest for session policy, invoke for per-call cancellation |
React's rerender/dependency-array model and Solid 1.x's synchronous writes, single-callback effects, resource flags, and old import paths need semantic review. Check a suspicious identifier against the actual import and installed type before reporting it. A callback/accessor prop can be intentional; justify findings by its consumer contract.
For v1 import/rename details, use the installed solidjs-v2-migration skill's map.
For detailed semantics, use the installed solidjs-v2 skill and its task router.
If those companion skills are unavailable, verify against installed typings and
upstream sources. This checklist remains usable when installed alone.
Report
Report only evidenced findings: severity, file/line, concrete failing behavior, and smallest correct change. Separate runtime failures from dev diagnostics and style choices. State which type/runtime checks ran and what remains unverified.