solidjs-v2-reviewer について
solidjs-v2-reviewer は、SolidJS 2.0 のプレリリース動作と型定義に照らしてコードを確認するチェックリスト型スキルです。v1 のレビューでは v1 の契約を保ち、具体的な根拠に基づく指摘を促します。
主な機能
- 01SolidJS 2 の動作に照らした変更確認
- 02リアクティブな状態とエフェクトの確認
- 03非同期処理とミューテーションの評価
- 04DOM、SSR、トランスポートの意味論確認
- 05指摘に根拠を求める仕組み
活用シーン
- 01SolidJS 2.0 向け diff のレビュー
- 02リアクティブ状態の使い方が v2 に合うか確認
- 03移行に伴う動作変更の特定
- 04具体的なランタイムまたは型の問題を報告
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ khmm12/ solidjs-v2-skills --skill solidjs-v2-reviewerインストール後、Claude Code で/solidjs-v2-reviewerを入力して読み込まれたか確認します。
詳細
SolidJS 2.0 のレビュー
参照ターゲット:[email protected] および @solidjs/[email protected]。
対象範囲を定める
インストールされている solid-js のバージョンを確認し、指定された差分/ファイルをレビューします。
メジャーバージョン 2 にはこのチェックリストを適用します。バージョン 1 のレビューでは、バージョン 1 の契約に従ってください。
公開されているターゲットの型定義は、サンプルやプレリリース版のドキュメントより優先されます。
動作を確認する
| 領域 | 必須の v2 の動作 |
|---|---|
| コンポーネントのセットアップ | マウントごとに 1 回実行されます。リアクティブな props は JSX/compute 内で props.x として読み取ります |
| Props | JSX は getter を介して値を渡します。アクセサー型 API は宣言された型に従います |
| 派生状態 | 読み取り専用状態にはメモ/射影を使います。書き込み可能な派生には、関数形式のシグナル/ストアを使います |
| 書き込み/アクション | ハンドラー、effect の apply/error コールバック、または onSettled 内で呼び出します。計算スコープは派生に使います |
| 書き込み後の読み取り | マイクロタスクでコミットされます。命令型の即時読み取りには flush() を使います |
| Effects | 追跡対象の compute と、追跡対象外の apply を使います。compute でフィールド/ディープスナップショットを抽出し、apply からクリーンアップを返します |
| 描画 | 描画前に両方のレーンが実行されます。render レーンはユーザー effect の前にレイアウトを計測/更新します |
| 初回の非同期処理 | 非同期の memo/store のコンシューマーは Loading の配下に置きます。エラーはエラーアクセサーを備えた Errored に渡されます |
| 保留中の UI | 入力の変更またはアクションスコープの affects を使います。単独の refresh は何も表示せず、保存中は楽観的フラグを使います |
| ミューテーションの順序 | ジェネレーターアクションは処理を yield します。内部の await の後、書き込みの前に yield します。最新の値を得るには refresh を yield します |
| ライブ確認応答 | until の述語は信頼できるソースを読み取り、相関情報とタイムアウトを使います |
| クリーンアップ | await/yield の前に compute のクリーンアップを登録します。キャンセル時は停止中のストリームを解放します |
| ライフサイクル | セットアップでプリミティブを作成します。所有スコープ内の onSettled はティアダウンを返し、スコープ外のコールバックは 1 回だけ実行されます |
| ストア | draft セッターを使います。返された値は浅く置き換えられます。reconcile の第 2 引数はキー/抽出関数/null です |
| ストアの同一性 | 単独の reconcile は選択されたルートを維持します。派生値の戻り値は、信頼できるルートを置き換えることがあります |
| 浅いストア | ルートのスロットを参照で置き換えます。ライブラッパービューでは内部のストアプロキシを維持します |
| リストのコールバック | 同一性:値/アクセサー。位置:アクセサー/数値。カスタムキー:アクセサー/アクセサー |
| Flow の本体 | アクセサーの読み取りは JSX/compute 内で行います。コールバック本体は構造を構築します |
| DOM | HTML 属性は小文字、class は配列/オブジェクト、ref はコールバックを使います。動的な判定はイベントコールバック内で行います |
| SSR | ユーザー状態はリクエストごとに分離し、非同期データソースを使います。遅延コードはシェルを保持し、動的データは境界/オプションに従います |
| サーバーでの検証 | 関数ディレクティブ:本体が検証されます。モジュールディレクティブ:エクスポートされたラッパー値が登録されます |
| トランスポート | 宣言には GET/withMeta、セッションポリシーには prepareRequest、呼び出しごとのキャンセルには invoke を使います |
React の再レンダリング/依存配列モデルと、Solid 1.x の同期書き込み、単一コールバックの effects、resource フラグ、旧 import パスには、意味論のレビューが必要です。 疑わしい識別子を報告する前に、実際の import とインストール済みの型定義を照合してください。コールバック/アクセサー prop が意図的な場合もあります。指摘は、そのコンシューマーの契約に基づいて正当化してください。
v1 の import/名称変更の詳細については、インストール済みの solidjs-v2-migration スキルのマップを使ってください。
詳細な意味論については、インストール済みの solidjs-v2 スキルとそのタスクルーターを使ってください。
これらの補助スキルが利用できない場合は、インストール済みの型定義と上流ソースで確認してください。このチェックリストは単独でインストールした場合にも使用できます。
報告
根拠のある指摘のみを報告します。重要度、ファイル/行、具体的に失敗する動作、最小限の正しい変更を記載してください。実行時の失敗と開発時の診断、スタイル上の選択は分けてください。実行した型/ランタイムのチェックと、未検証の事項を明記してください。