mcpField
Q
qwik-expert

qwik-expert

github.com/oimiragieo開発4479 回インストール17 週間前に更新
リポジトリ

qwik-expert について

qwik-expertは、Qwik開発者向けのスキルです。再開可能性、遅延読み込み、状態管理、プロジェクト構成の指針に基づき、コードのレビューや改善を支援します。

主な機能

  1. 01Qwikコードのレビューとリファクタリング
  2. 02再開可能性と遅延読み込みの指針
  3. 03リアクティブな状態とデータ取得のパターン
  4. 04Qwik Cityのルーティングと構成
  5. 05TypeScriptとTailwind CSSの実践

活用シーン

  1. 01Qwikコンポーネントの問題点の確認
  2. 02状態管理や副作用APIの選定
  3. 03Qwikプロジェクト構成の計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oimiragieo/agent-studio --skill qwik-expert

インストール後、Claude Code で/qwik-expertを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

commands/
qwik-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
qwik-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
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 を最小限に抑える
使用例: ``` User: "Review this code for qwik best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

統合されたスキル

このエキスパートスキルは、1 つの個別スキルを統合したものです。

  • qwik-expert

絶対遵守事項

  1. 必ずイベントハンドラーと遅延読み込みされる関数には $ サフィックスを使用してください。これがないと、Qwik は再開可能性のためにそれらを抽出できず、完全なハイドレーションが必要になります。
  2. 決してコンポーネント本体のコードでブラウザー API(window、document、localStorage)にアクセスしないでください。ブラウザー専用コードには useVisibleTask$() を使い、スコープを限定して SSR エラーを防いでください。
  3. 必ずプリミティブなリアクティブ状態には useSignal() を、複雑なオブジェクトには useStore() を使用してください。通常の変数はリアクティブではなく、再レンダリングを引き起こしません。
  4. 決してクライアントサイドの大規模なライブラリをトップレベルでインポートしないでください。Qwik の読み込み時に JavaScript をゼロにする利点を維持するため、動的な import() を使うか、$ を介して遅延読み込みしてください。
  5. 必ず関数コンポーネントを優先してください。Qwik の再開可能性モデルは関数コンポーネントのパラダイム専用に設計されており、クラスコンポーネントはファーストクラスでサポートされていません。

アンチパターン

アンチパターン失敗する理由正しい方法
$ 接尾辞なしでイベントハンドラーを使用するハンドラーを遅延抽出できず、ハイドレーションを強制し、再開可能性を損ないます常に onClick$、onInput$、useTask$() など、$ 接尾辞付きのものを使用します
コンポーネント本体で window/document にアクセスするブラウザーのグローバルオブジェクトが存在しない SSR 中にエラーが発生しますブラウザー専用のコードは、クライアント側でのみ実行される useVisibleTask$() で囲みます
リアクティブな状態に通常の変数を使用する変数を変更しても UI の更新がトリガーされず、コンポーネントが古い状態になりますプリミティブには useSignal()、オブジェクトには useStore() を使用します
大規模なクライアントライブラリをトップレベルでインポートするライブラリが初期 JS ペイロードに含まれ、ゼロ JS の利点が失われますタスクハンドラー内で動的な import() を使用し、$ で遅延読み込みします
クラスベースのコンポーネントを記述するQwik のシリアライズおよび再開可能性のパイプラインでサポートされていません常に component$() を使用した関数コンポーネントを使用します

メモリプロトコル(必須)

開始する前に:

cat .claude/context/memory/learnings.md

完了後: 新たに見つかったパターンや例外を記録します。

中断を想定してください。コンテキストがリセットされる場合があります。メモリに記録されていなければ、実行されていないものとして扱います。

コメント