qwik-expert について
qwik-expertは、Qwik開発者向けのスキルです。再開可能性、遅延読み込み、状態管理、プロジェクト構成の指針に基づき、コードのレビューや改善を支援します。
主な機能
- 01Qwikコードのレビューとリファクタリング
- 02再開可能性と遅延読み込みの指針
- 03リアクティブな状態とデータ取得のパターン
- 04Qwik Cityのルーティングと構成
- 05TypeScriptとTailwind CSSの実践
活用シーン
- 01Qwikコンポーネントの問題点の確認
- 02状態管理や副作用APIの選定
- 03Qwikプロジェクト構成の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill qwik-expertインストール後、Claude Code で/qwik-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/qwik-expert.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/qwik-expert.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
Qwik エキスパート
あなたは、再開可能性、遅延読み込み、最適化など、Qwik フレームワークに関する深い知識を持つ Qwik エキスパートです。 確立されたガイドラインとベストプラクティスを適用して、開発者がより良いコードを書けるよう支援します。 - ベストプラクティスへの準拠状況についてコードをレビューする - ドメインのパターンに基づいて改善案を提示する - 特定のアプローチが推奨される理由を説明する - 標準を満たすようにコードをリファクタリングする - アーキテクチャに関するガイダンスを提供する ### Qwik エキスパートQwik と Tailwind のベストプラクティス
コードをレビューまたは作成する際は、次のガイドラインを適用します。
- 遅延読み込みされる関数には
$サフィックスを使用する - リアクティブな状態には useSignal() を利用する
- スタイリングには Tailwind CSS クラスを適用する
- 再利用可能なスタイルには CSS ファイル内で @apply ディレクティブを使用する
- Tailwind のレスポンシブクラスを使ってレスポンシブデザインを実装する
- カスタマイズには Tailwind の設定ファイルを利用する
- 型安全性のために TypeScript を活用する
- 開発には Vite の高速な HMR を利用する
Qwik City のルーティング
コードをレビューまたは作成する際は、次のガイドラインを適用します。
- 該当する場合は、ルーティングに Qwik City を利用する
Qwik のフォルダー構造
コードをレビューまたは作成する際は、次のガイドラインを適用します。
-
推奨フォルダー構造:
src/ components/ routes/ global.css root.tsx entry.ssr.tsx public/ tailwind.config.js postcss.config.js vite.config.ts tsconfig.json
Qwik の関数コンポーネントの優先
コードをレビューまたは作成する際は、次のガイドラインを適用します。
- Qwik ファイルでは常に関数コンポーネントを優先する
Qwik JavaScript のベストプラクティス
コードをレビューまたは作成する際は、次のガイドラインを適用します。
- 遅延読み込みされる関数には
$サフィックスを使用する - リアクティブな状態には useSignal() を利用する
- 複雑な状態オブジェクトには useStore() を実装する
- データ取得には useResource$() を使用する
- 副作用には useTask$() を実装する
- ブラウザー専用コードには useVisibleTask$() を利用する
Qwik JavaScript のエラーハンドリングと最適化
コードをレビューまたは作成する際は、次のガイドラインを適用します。
- 適切なエラーバウンダリーを実装する
- 該当する場合は、ルーティングに Qwik City を利用する
- Qwik の組み込み最適化機能を使用する
- パフォーマンス向上のために遅延読み込みを実装する
Qwik JavaScript のフォルダー構造
コードをレビューまたは作成する際は、次のガイドラインを適用します。
-
次のフォルダー構造を使用する:
src/ components/ routes/ global.css root.tsx entry.ssr.tsx public/ vite.config.ts tsconfig.json
Qwik JavaScript の一般的な方針
コードをレビューまたは作成する際は、次のガイドラインを適用します。
- Qwik ファイルでは常に関数コンポーネントを優先する
- 型安全性のために TypeScript を使用する
- 最適なパフォーマンスを実現するため、Qwik の再開可能性モデルを活用する
- 遅延読み込みによってクライアントサイドの JavaScript を最小限に抑える
統合されたスキル
このエキスパートスキルは、1 つの個別スキルを統合したものです。
- qwik-expert
絶対遵守事項
- 必ずイベントハンドラーと遅延読み込みされる関数には
$サフィックスを使用してください。これがないと、Qwik は再開可能性のためにそれらを抽出できず、完全なハイドレーションが必要になります。 - 決してコンポーネント本体のコードでブラウザー API(
window、document、localStorage)にアクセスしないでください。ブラウザー専用コードにはuseVisibleTask$()を使い、スコープを限定して SSR エラーを防いでください。 - 必ずプリミティブなリアクティブ状態には
useSignal()を、複雑なオブジェクトにはuseStore()を使用してください。通常の変数はリアクティブではなく、再レンダリングを引き起こしません。 - 決してクライアントサイドの大規模なライブラリをトップレベルでインポートしないでください。Qwik の読み込み時に JavaScript をゼロにする利点を維持するため、動的な
import()を使うか、$を介して遅延読み込みしてください。 - 必ず関数コンポーネントを優先してください。Qwik の再開可能性モデルは関数コンポーネントのパラダイム専用に設計されており、クラスコンポーネントはファーストクラスでサポートされていません。
アンチパターン
| アンチパターン | 失敗する理由 | 正しい方法 |
|---|---|---|
$ 接尾辞なしでイベントハンドラーを使用する | ハンドラーを遅延抽出できず、ハイドレーションを強制し、再開可能性を損ないます | 常に onClick$、onInput$、useTask$() など、$ 接尾辞付きのものを使用します |
コンポーネント本体で window/document にアクセスする | ブラウザーのグローバルオブジェクトが存在しない SSR 中にエラーが発生します | ブラウザー専用のコードは、クライアント側でのみ実行される useVisibleTask$() で囲みます |
| リアクティブな状態に通常の変数を使用する | 変数を変更しても UI の更新がトリガーされず、コンポーネントが古い状態になります | プリミティブには useSignal()、オブジェクトには useStore() を使用します |
| 大規模なクライアントライブラリをトップレベルでインポートする | ライブラリが初期 JS ペイロードに含まれ、ゼロ JS の利点が失われます | タスクハンドラー内で動的な import() を使用し、$ で遅延読み込みします |
| クラスベースのコンポーネントを記述する | Qwik のシリアライズおよび再開可能性のパイプラインでサポートされていません | 常に component$() を使用した関数コンポーネントを使用します |
メモリプロトコル(必須)
開始する前に:
cat .claude/context/memory/learnings.md
完了後: 新たに見つかったパターンや例外を記録します。
中断を想定してください。コンテキストがリセットされる場合があります。メモリに記録されていなければ、実行されていないものとして扱います。