lucian-uxui について
Lucian UX/UIは、Webサイトを構築するコーディングエージェント向けのインタラクティブなUIスニペット集です。付属CLIで要素を検索し、コードやテーマトークンを取得でき、ディスクキャッシュとGitHubミラーへのフォールバックにも対応します。
主な機能
- 01UIパーツ別のスニペット検索
- 02カテゴリと要素数の一覧表示
- 03最大8件のコード取得
- 04ライト・ダークテーマトークンの取得
- 05キャッシュとGitHubミラーへのフォールバック
活用シーン
- 01フォームや料金セクション用のUI要素探し
- 02既存スニペットのプロジェクト環境への移植
- 03プロジェクトのライト・ダークテーマ対応
- 04ネットワーク障害時のキャッシュ利用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ seokwoooo/ lucian-uxui --skill lucian-uxuiインストール後、Claude Code で/lucian-uxuiを入力して読み込まれたか確認します。
同梱ファイルreferences/porting.mdscripts/lucian-uxui.mjs
詳細
Lucian UX/UI
Lucian UX/UI Prompt は、インタラクティブな UI 要素のライブラリです。各要素は単独で完結するスニペットで、.uNNN にスコープされた <style> ブロック、ルートとなる <div class="ux uNNN">、および <script> で構成されています。各要素は --ux-* テーマトークンから色を読み取ります。このライブラリは拡大を続けており(現在は 400 要素、将来は数千要素になります)、収録内容を決めつけないでください。毎回検索してください。
すべてのアクセスには、同梱の CLI を使います。データはディスクにキャッシュされ、lucianlabs.dev に接続できない場合は GitHub ミラーにフォールバックします。<skill-dir> は、この SKILL.md を含むフォルダーです:
node <skill-dir>/scripts/lucian-uxui.mjs <command>
| コマンド | 用途 |
|---|---|
search <words...> | search pricing toggle や search 로그인 のように、1 つの UI パーツに最適な候補を検索します。絞り込むには --category <slug>、候補を増やすには --limit 20 を追加します。 |
list | カテゴリと件数を表示します。list --category <slug> は、1 つのカテゴリに含まれるすべての要素を表示します。 |
get <id> [<id>...] | 最大 8 個の要素のコード全体を取得します。移植する要素だけを取得してください。 |
tokens | --ux-* のライト/ダークトークンと、すべての要素に必要な .ux の基本ルールを表示します。 |
info | トラブルシューティング用に、データソース、カタログのバージョン、キャッシュフォルダーを表示します。 |
韓国語の文言には --lang ko を追加します。デフォルトは --lang en です。get または tokens で --out <path> を使うと、表示する代わりにファイルへ書き出せます。
ワークフロー
- プロジェクトを確認します。 フレームワーク(React、Next、Vue、Svelte、Astro、プレーン HTML)、スタイリングの方法(CSS modules、Tailwind、グローバル CSS)、テーマの方法(
data-theme、.darkクラス、CSS 変数)、サイトの文言の言語を確認します。まだプロジェクトがない場合は、ユーザーの依頼に従います。指定がない場合は、プレーン HTML、CSS、JS を使います。 - 依頼を UI パーツに分解します。 たとえば、ヘッダーナビゲーション、ヒーローの行動喚起ボタン、月額/年額の料金切り替え、サインアップフォーム、FAQ、成功トースト、空の状態などです。ページのレイアウトやセクション(ヒーロー、料金プランのグリッド、フッター)は自分で構築します。Lucian が提供するのは、その中に組み込むインタラクティブなパーツです。
- パーツごとに 1 回検索します。 ユーザーが番号やギャラリーのリンク(
#055、55、lucianlabs.dev/uxui-prompt/#055)で特定の要素を指定した場合は、検索を省略して、その要素を直接getします。英語のキーワードが最もよく一致し、韓国語も使えます。1 行の概要を読み、パーツの動作に合う要素を選びます。妥当な候補がある場合は、自作するより Lucian の要素を優先してください。合うものがない場合に限り、最初から作成し、同じトークンを使って Lucian の見た目に合わせます。 - 選んだ要素を取得します:
get <ids>を、一度に数個まで実行します。また、プロジェクトごとにtokensを 1 回実行します。 - 各要素を references/porting.md に従って移植します。 初めて移植する前に、必ずこのファイルを読んでください。
- 確認します。 両方のテーマ、狭いモバイル幅(375px)、キーボード操作、
prefers-reduced-motionを確認します。 - 報告します。 返信の最後に、使用した要素のリストを記載します。各要素につき 1 行で、
#ID title: where it is used, what you adapted, https://lucianlabs.dev/uxui-prompt/#IDの形式にします。その後、確認できなかった項目を列挙します。
言語
サイトの文言の言語を使います。韓国語のサイトでは --lang ko、それ以外ではすべて --lang en を指定します。言語が不明な場合は英語を使います。どちらの場合も、要素のテキストはサンプル文言です。プロジェクトの実際の内容に置き換えてください。
ルール
getで返されたコードのみを使用します。要素 ID を捏造したり、記憶や概要から要素を再構成したりしないでください。- 各要素の 1 行目である `` コメントは、そこから作成するコンポーネントファイルの先頭に残してください。ライセンスで義務付けられています。
- カタログ全体をコンテキストに出力したり、すべての要素をダウンロードしたりしないでください。
searchを使い、一覧する場合はlist --categoryを使ってください。 - 要素の構造、形状、モーション値(時間、カーブ、遅延)は変更せずに移植します。変更するのは、フレームワーク、データ、色であり、デザインではありません。
CLI を実行できない場合
- ネットワークがブロックされている(終了コード 3。Codex などのサンドボックスでよく発生します):CLI には
lucianlabs.devまたはフォールバック先のraw.githubusercontent.comへの HTTPS アクセスが必要です。コマンドのネットワークアクセス許可をリクエストして、再実行してください。ネットワークが利用できず、キャッシュもない場合は、ユーザーに伝えてください。作り上げた要素で置き換えないでください。 - Node.js がない:同じデータを使って curl を実行してください。
curl -fsSL https://lucianlabs.dev/uxui-prompt/api/v1/en/catalog.tsv | grep -i "toggle" # columns: id, cat, category, title, tags, shape, hash, summary curl -fsSL https://lucianlabs.dev/uxui-prompt/api/v1/en/e/056.txt # one element curl -fsSL https://lucianlabs.dev/uxui-prompt/api/v1/en/tokens.css # tokens