workos-widgets
WorkOS Widget(ユーザー管理・ユーザープロフィール・Admin Portal の SSO 接続・ドメイン検証)の実装・埋め込み・デバッグ時に使用します。フロントエンド(Next.js、React、React Router、TanStack Start、Vite、SvelteKit)の検出から、バックエンド SDK(Node、Python、Go、Ruby、PHP、Java、.NET)によるアクセストークンの生成、OpenAPI 仕様に基づくウィジェットコンポーネントの正しい接続まで、フルスタックで対応します。`@workos-inc/widgets` からのインポートや `<UserManagement />` / `<UserProfile />` JSX が含まれる場合にも適用されます。
description の原文を見る
Use when the user is implementing, embedding, or debugging a WorkOS Widget — specifically the User Management, User Profile, Admin Portal SSO Connection, or Admin Portal Domain Verification widgets. Handles the full stack — detecting the frontend (Next.js, React, React Router, TanStack Start, Vite, SvelteKit), generating access tokens via the backend SDK in use (Node, Python, Go, Ruby, PHP, Java, .NET), and wiring up the widget component correctly per the bundled OpenAPI spec. Also use when code imports from @workos-inc/widgets or the user pastes <UserManagement /> or <UserProfile /> JSX.
SKILL.md 本文
WorkOS Widgets
ワークフロー概要
- ユーザーリクエストからウィジェット対象を特定します (
user-management、user-profile、admin-portal-sso-connection、admin-portal-domain-verification)。 - 以下の順序でプロジェクトファイルをスキャンします:
- パッケージ/依存関係マニフェスト
- フレームワーク/ルーターエントリーポイント
- 認証/トークンユーティリティ
- スタイリング/コンポーネントパターン
references/detection.mdを使用してスタック、データレイヤースタイル、スタイリング、コンポーネントシステム、パッケージマネージャーを検出します。- AuthKit/WorkOS の存在を確認します:
- 検出された場合、続行します;
- 検出されない場合、ユーザーに
WORKOS_MODE=agent npx workos@latest installを実行するよう指示します。確認を待ってから続行します。
- 検出が曖昧または矛盾している場合、1 つの焦点を絞った質問を行い、その後続行します。
- 検出されたスタックとウィジェットに関連するリファレンスファイルのみを読み込みます。
- スタック形状に基づいて統合を実装します:
- ウィジェット UI が同じアプリに存在する場合、フロントエンドルート/ページ + ウィジェットコンポーネント
- バックエンドファースト/マルチアプリアーキテクチャが検出された場合、トークンエンドポイント/サービス + クライアント統合サーフェス
- 完成前にルーティング/配線、インポート、トークン/API 使用法を検証します。
正規入力
ユーザーリクエストから以下の入力を受け入れます (利用可能な場合):
- ウィジェットタイプ (またはリクエスト意図から推定)
- オプションのコンポーネントパス
- オプションのページ/ルートパス
- オプションのトークンエンドポイント/サービス設定
- オプションの制約 (例: 広範なリファクタリングを回避)
入力が不足している場合、既存のプロジェクト慣例と検出されたスタックから推定します。
検出と曖昧性プロトコル
references/detection.mdから検出ヒューリスティクスを適用します。- 質問する前に探索します。マニフェストとルート/認証エントリーポイントをチェックした後も曖昧性が残る場合のみ質問します。
- 1 つの決定を解決する 1 つの具体的な質問を聞きます。
- ユーザーレスポンスがない場合、最も強い検出所有信号にデフォルト設定します。
- インストールが必要な場合、プロジェクトファイル/ロックファイルから検出されたパッケージマネージャーを使用します。
リファレンス読み込みマップ
常にこれらのコアリファレンスを読み込みます:
references/detection.mdreferences/token-strategies.mdreferences/fetching-apis.mdreferences/styling-and-components.md
React/TypeScript スタック (Next.js、React Router、TanStack Router、TanStack Start、Vite) の場合、また読み込みます:
references/react-ts-standards.md
スタック固有のリファレンスガイダンスを読み込みます:
- Next.js:
references/framework-nextjs.md - React Router:
references/framework-react-router.md - TanStack Router:
references/framework-tanstack-router.md - TanStack Start:
references/framework-tanstack-start.md - Vite:
references/framework-vite.md - SvelteKit:
references/framework-sveltekit.md - Ruby:
references/framework-ruby.md - Python:
references/framework-python.md - Go:
references/framework-go.md - PHP:
references/framework-php.md - Java:
references/framework-java.md - 混合リポジトリ:
references/framework-mixed-repositories.md
その後、正確に 1 つのウィジェットリファレンスを読み込みます:
- User Management:
references/widget-user-management.md - User Profile:
references/widget-user-profile.md - Admin Portal SSO Connection:
references/widget-admin-portal-sso-connection.md - Admin Portal Domain Verification:
references/widget-admin-portal-domain-verification.md
グローバルウィジェットガイダンス
references/fetching-apis.mdのエンドポイントパス/メソッドを使用してウィジェット操作を実装します。リクエストボディを構築またはレスポンスを解析する場合、関連するウィジェットのスキーマについて OpenAPI spec をクエリします:node references/scripts/query-spec.cjs --widget <widget-name>--listを使用して利用可能なウィジェットグループを確認します。- 読み込み、空、エラー状態を明示的でユーザーに見えるようにします。
- ミューテーション結果を見えるようにし、成功後に影響を受けたデータを更新/再度読み込みします。
- テーブル/リスト/アクション UI を既存のプロジェクト慣例に合わせます。
- 部分的/オプションデータに対して動作を回復力のあるものにし、脆弱な UI 前提を回避します。
コアガイドライン
- ホストプロジェクトと OpenAPI スキーマから既存のドメイン型を再利用します。モデル定義の重複を回避します。
references/fetching-apis.mdをパス、メソッド、スキーマクエリに使用してウィジェットリクエストを構築します。- エンドポイント呼び出しに直接
fetch/HTTP 呼び出し (または同等のサーバー HTTP クライアント) を使用します。 - ウィジェットリクエストの一貫した認可レイヤーを実装します。必要に応じて機密エンドポイントのエレベートトークン処理を含みます。
- アプリが既に React Query または SWR を使用している場合、それらの直接呼び出しの周りのオーケストレーション/キャッシュレイヤーとして使用します。
- React/TypeScript ウィジェットコード品質期待については、
references/react-ts-standards.mdに従います。 - AuthKit/WorkOS が不足している場合、続行前にユーザーに
WORKOS_MODE=agent npx workos@latest installを実行するよう指示します。WORKOS_MODE=agentはインストーラーを決定論的に保ちます (プロンプトなし、ブラウザなし、ホスト信頼なし); 出力を解析する必要がある場合は--jsonを渡します。 - 厳密に必要な場合のみ追加依存関係をインストールし、検出されたパッケージマネージャー/ツールを使用します。
- サーバー状態処理を選択されたデータレイヤーアプローチに合わせます。
- UI インタラクション状態には必要に応じてローカル状態/リデューサーを使用します。
- 既存のデザインシステムとスタイリング慣例を優先します。
- 広範な無関係なリファクタリングとグローバルスタイル書き換えを回避します。
完了要件
完了前に、すべての関連項目を検証します:
- ウィジェットコンポーネントが存在し、コンポーネントレベルの統合がスコープ内にある場合
accessToken: stringを受け入れます。 - ルート統合がスコープ内にある場合、ルート/ページ配線が完了しています。
- トークンソースが既存のアプリアーキテクチャと一致します (AuthKit クライアントフローまたはバックエンド WorkOS トークンフロー)。
- API メソッドとパスがバンドルされた OpenAPI spec と一致し、データレイヤー使用法がプロジェクト慣例と一致します。
- 必要なクエリ/ミューテーション フローに対してローディングおよびエラーブランチが存在します。
検証チェックリスト
- エンドポイントパスと HTTP メソッドがバンドルされた OpenAPI spec から来ていることを確認します。
- リクエスト/レスポンス処理が spec のスキーマ期待に従っていることを確認します。
- クエリ/ミューテーション無効化/リフェッチが成功したミューテーション後に必要な場合適用されることを確認します。
- 空/エラー/ローディング状態が明示的でユーザーに見えることを確認します。
- パッケージインストール (ある場合) が検出されたパッケージマネージャー/ツールを使用していることを確認します。
- 実装が既存のコードベース慣例に沿っていることを確認します。
- 既存のコンポーネントに
classNameまたはstyleprops を渡して組み込みスタイリングをオーバーライドしていないことを確認します。各コンポーネントをそのまま使用するか、独自の props API (variant、sizeなど) を通じて使用します。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- workos
- リポジトリ
- workos/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/workos/skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。