mcpField
L
lab

lab

github.com/playful-designデザイン・UI1686 回インストール1 週間前に更新
リポジトリ

lab について

labは、実際のUIコンポーネントを各バリアントや状態とともに表示する開発用スキルです。開発者が一か所でコンポーネントを確認・調整でき、ページは本番環境から除外されます。

主な機能

  1. 01実コンポーネントの状態を表示
  2. 02操作状態を強制的に展開
  3. 03項目をソース位置に紐付け
  4. 04カスタムプロパティの調整
  5. 05開発時のみルートを有効化

活用シーン

  1. 01ホバー、フォーカス、読み込み、エラー状態の確認
  2. 02一つの画面でコンポーネントの値を調整
  3. 03アプリ内を移動せずバリアントを確認

インストール

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

$npx skills add https://github.com/playful-design/router --skill lab

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

同梱ファイル

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

lab.js
LICENSE
agents/
openai.yaml

詳細

Lab

このスキルは、コンポーネントを確認するためのページを構築します。実際のコンポーネントのすべてのバリアントと状態を1つの画面に表示するため、ユーザーはアプリ内をクリックして回らずに調整できます。

すべての状態を表示し、偽装しない

この Lab はコピーではなく、実際のコンポーネントをレンダリングします。開いたメニューやホバーなど、クリックが必要な状態は強制的に開きます。Lab は開発用ページであり、リリースには含めません。

1つのアイデアについて新しい選択肢を試す場合は、prototypeを使用します。ページ上の値には、defaults、motion、colorおよびプロジェクトのトークンを使用します。

1. 状態を見つける

各コンポーネントを読み、バリアント、サイズ、状態を列挙します。状態には、ホバー、押下、フォーカス、開いた状態、選択済み、無効、読み込み中、空、エラーがあります。通常状態しか表示しない Lab はlab-every-stateです。

2. 1つのルートを作成する

/labなどの開発専用ルートを1つ追加し、実際のコンポーネントをインポートします。lab.jsをアプリにコピーし、そのルートで一度だけ読み込みます。コピーしたマークアップから作成した Lab はlab-real-componentsです。

3. 状態を強制的に開く

メニュー、ポップオーバー、ツールチップ、サブメニューは、制御用のプロパティまたはdata-*属性を使って開いた状態でレンダリングします。エントリーにforce="hover"などのforceを指定し、ホバーとフォーカスを維持します。表示するのにクリックが必要なメニューはlab-states-openです。ユーザーが両方を求めていない限り、アプリで現在使用中のテーマを使います。これはlab-one-themeです。

4. 各エントリーをソースにリンクする

lab.jsのヘッダーコメントにあるように、コンポーネント、状態、ソース行を示すlab-entryで各状態を囲みます。ラベルのないグリッドはlab-link-the-sourceです。ユーザーが値の調整を求めた場合は、各カスタムプロパティに範囲を指定したlab-tuneを追加します。

グリッド、ラベル、フィルター、コントロールはスキルに含まれているため、エントリーだけを記述します。独自のグリッド、ラベル、スタイルを持つ Lab ページはlab-shipped-frameです。

5. 開く

開発サーバーを起動して Lab を開きます。返信にルート名を書いても、実際には開いていない場合はlab-open-itです。

6. リリースに含めない

ルートとlab.jsを開発環境限定にするか、リリース前に両方を削除します。本番環境でアクセスできる Lab はlab-not-in-productionです。

対比

各チェック項目は対比になっています。問題のある行の隣に、それを置き換える行を示します。

ルール問題のある例置き換え
lab-every-state通常状態のボタンのみ通常、ホバー、押下、フォーカス、無効、読み込み中
lab-real-components状態ごとにコピーしたマークアップインポートした実際のButton
lab-states-openトリガーの背後にあるメニューサブメニューを開いた<Menu open>
lab-one-theme求められていないライトテーマとダークテーマの並列表示アプリで現在使用中のテーマ
lab-link-the-sourceラベルのないグリッドmenu/index.tsxにリンクされたMenu / Submenu Open
lab-shipped-frameLab のグリッドとラベルを一から記述lab.jsを読み込み、lab-entry要素だけを記述
lab-open-it「/labを追加しました」ユーザーのために開いた Lab
lab-not-in-production本番サイトで公開中の/lab開発環境に限定されたルート

報告

重大度。 コピーから作成された Lab、または本番環境でアクセス可能な Lab はHIGHです。状態の欠落、クリックが必要な状態、手書きの Lab ページはMEDIUMです。ラベルのないエントリー、またはユーザーのために開いていない Lab はLOWです。

形式。 根本原因ごとに1件の指摘を記載します。

file:line - [rule-id] what is wrong

続いてRule | Count | Severityの概要を記載します。HIGHが1件でも残っている場合はBlock、それ以外はApproveとします。レンダリングできなかった状態にはすべてNot verifiedと記載します。

コメント