WCAG 準拠のアクセシビリティチェックをチェックリスト駆動で実行するスキル。 コンポーネント・ページ・PR に対して Pass/Fail/N/A/Needs review の構造化レポートを 生成し、エビデンスと修正案を提示する。 「アクセシビリティチェック」「a11y チェック」「WCAG をチェック」「a11y レビュー」 「アクセシビリティ監査」「WCAG 準拠確認」「アクセシビリティレポート」への言及、 または PR やコンポーネントのアクセシビリティレビュー依頼で発動する。 English: "check accessibility", "a11y audit", "a11y check", "WCAG review", "accessibility report", "screen reader test", "review for a11y", "review this PR for accessibility", "axe audit"
setup-sparkle-design
**未導入プロジェクト向け**の sparkle-design 初期導入・セットアップを支援するスキル。 npm インストール、sparkle-design-cli による初回 CSS 生成、sparkle.config.json の 新規作成、AI ガード(Sparkle Design Guard)の導入、コンポーネント選択ガイドまでをカバー。 **導入済みプロジェクトでテーマ(primary / font / radius)を変えたい場合は `change-sparkle-config` スキルを使うこと** — この setup スキルは初期導入専用。 「Sparkle Design を導入」「sparkle-design をインストール」「デザインシステムをセットアップ」 「コンポーネントライブラリを追加」「どのコンポーネントを使えばいい」で発動。 English: "install sparkle-design", "add sparkle design", "set up sparkle design", "which component should I use"
インストール方法を見る含まれるファイル(6)
- SKILL.md12.6 KB
- references/component-catalog.md12.5 KB
- references/component-selection.md3.2 KB
- references/config-reference.md1.5 KB
- references/troubleshooting.md2.1 KB
- references/update-workflow.md3.5 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Skill: setup-sparkle-design
プロジェクトに sparkle-design を npm パッケージとして導入し、コンポーネントを利用できる状態にするためのスキル。
社内版との違い: 社内版
@goodpatch/sparkle-design-internalを導入する場合はinstall-sparkle-designスキルを使ってください。こちらは公開版sparkle-design用です。
<!-- ========== AI アシスタント向け指示(ユーザーにそのまま見せない) ========== -->
AI アシスタントへの指示
実行方針
-
プロジェクト状態を確認する
- パッケージマネージャを特定(
package.jsonや lockfile から) sparkle.config.jsonの有無を確認- Tailwind エントリ CSS(
globals.css/index.css等)の場所と内容を確認
- パッケージマネージャを特定(
-
不足しているステップのみ案内する
- 既に完了しているステップは省略してよい
- エラーが出たときはトラブルシューティングセクションを参照
参照ドキュメント
| ドキュメント | いつ参照するか |
|---|---|
| この SKILL.md | 導入・基本設定(常に利用可能) |
references/config-reference.md | primary/radius の選択肢確認・複数テーマ運用の相談時 |
references/update-workflow.md | アップデートが求められたとき |
references/component-catalog.md | コンポーネント選択の相談時 |
references/component-selection.md | コンポーネント置き換え・統一の依頼時 |
references/troubleshooting.md | 導入エラー発生時 |
Quick Start(1 コマンド)
npx --yes sparkle-design-cli setup --assistant claude
このコマンド 1 つで以下が全て実行される:
- パッケージマネージャー検出 -- pnpm / yarn / bun / npm を lockfile から自動判定
- パッケージインストール --
sparkle-designを dependencies、tailwindcss+@tailwindcss/postcssを devDependencies に追加(既に入っていればスキップ) - 初期ファイル生成 --
sparkle.config.json/postcss.config.mjs/ Tailwind エントリ CSS(Next.js:globals.css、Vite:index.css)が無ければ作成(既存ファイルは保持) - AI ガード設定 --
CLAUDE.mdに Sparkle Design Guard ブロックとlint:sparkleスクリプトを追加(既存AGENTS.mdがあれば併用書き込み) - Stop hook 自動設定 --
--assistantに応じて.claude/settings.json/.cursor/hooks.json/.codex/hooks.jsonにlint:sparkle --strict || exit 2の Stop hook を投入。findings があれば応答終了をブロックする generate実行 --sparkle-design.cssとSparkleHead.tsxを生成(Vite プロジェクトはindex.htmlの<head>に font<link>の managed block も自動注入)
--assistant は claude / cursor / codex / generic から選択可能。部分的に実行したい場合は --skip-install / --skip-scaffold / --skip-generate を使う。CI では --strict を付けて silent failure を exit 1 に昇格できる。
実行前後の確認
- 実行前に
--dry-runを付けて変更予定を確認する(既存プロジェクトでは特に) - 実行後に
git status --shortで新規作成されたファイル(sparkle.config.json・生成 CSS など)を、git diffで既存ファイル(package.json・CLAUDE.md・.claude/settings.jsonなど)の変更を確認し、ユーザーに要約して伝える lint:sparkleを 1 回実行し、通ることを確かめる
生成されるファイル
sparkle.config.json-- デザインテーマ設定(初期値: blue / BIZ UDPGothic / BIZ UDGothic / md)postcss.config.mjs-- PostCSS 設定(@tailwindcss/postcssプラグインを有効化)src/app/globals.css/src/globals.css/src/index.css-- Tailwind エントリ CSS(プロジェクト構成から自動判定。@import "tailwindcss";不在時は canonical な import を自動 prepend)src/app/sparkle-design.css-- デザイントークン(プリミティブ:root+ セマンティック:root+@theme inline)src/app/SparkleHead.tsx-- フォント読み込み用 React コンポーネント(Next.js 等のレイアウト用)index.html(Vite のみ) --<head>内に<!-- sparkle-design-cli:fonts:start --> ... end -->の managed block で font<link>を upsertCLAUDE.md/AGENTS.md(後者は既存があるときのみ) -- AI ガードブロック(<!-- sparkle-design-cli:setup:start -->で囲まれた部分).claude/settings.json/.cursor/hooks.json/.codex/hooks.json-- assistant 別の Stop hook(--assistant claude/cursor/codex時にそれぞれ生成)
SparkleHead の配置
生成された SparkleHead をルートレイアウトの <head> 内に配置する:
import { SparkleHead } from "./SparkleHead";
export default function RootLayout({ children }) {
return (
<html>
<head>
<SparkleHead />
</head>
<body>{children}</body>
</html>
);
}
TailwindCSS v4 との互換性: CLI が Tailwind エントリ CSS に
@sourceディレクティブを自動挿入するため、TailwindCSS v4 でもnode_modules内のクラスが正しく検出されます。追加パッケージがある場合はextend.source-packages配列に追加してください。
Tailwind エントリ CSS がアプリのエントリで import されていることを確認する(Next.js:
src/app/layout.tsxや_app.tsx、Vite:src/main.tsx等)。
初期導入時にテーマを決める
初期導入の流れの中で sparkle.config.json を編集した場合は、再生成する。導入済みプロジェクトでテーマを変える場合は change-sparkle-config スキルを使う。
npx --yes sparkle-design-cli generate
拡張設定(extend)
フォントのウェイト個別指定やカスタム CSS トークンの読み込みが可能。
{
"primary": "blue",
"font-pro": "Montserrat",
"font-mono": "Roboto Mono",
"radius": "md",
"extend": {
"fonts": {
"pro": [
{ "family": "Montserrat", "weights": [500, 600, 700] },
{ "family": "Noto Sans JP", "weights": [400, 500, 600, 700] }
],
"mono": [
{ "family": "Roboto Mono", "weights": [400, 700] }
]
},
"source-packages": [],
"custom-css": "./src/app/custom-tokens.css"
}
}
| フィールド | 説明 |
|---|---|
extend.fonts.pro / extend.fonts.mono | フォントファミリーごとにウェイトを指定。font-pro / font-mono より優先 |
extend.source-packages | @source で追加スキャンする npm パッケージ名の配列 |
extend.custom-css | プロジェクト固有のカスタムトークン CSS ファイルパス |
extend にはファイルパスも指定可能(例: "extend": "./sparkle.extend.json")。
コンポーネントを使う
import { Button, Card, Input } from "sparkle-design";
export function MyPage() {
return (
<Card>
<Input placeholder="名前を入力" />
<Button>送信</Button>
</Card>
);
}
どのコンポーネントを使うか迷ったら references/component-catalog.md を参照。
sparkle.config.json リファレンス
primary / radius の選択肢一覧・必須および型検証の挙動・複数テーマ運用したい場合の案内は references/config-reference.md を参照。
設定ファイルは Sparkle Design Theme Settings Figma プラグインからも書き出せる。
部分的な setup 実行
フルセットアップではなく特定のステップだけ実行したい場合:
# 既存プロジェクトに AI ガードだけ追加する(パッケージ導入・ファイル生成・generate をスキップ)
npx --yes sparkle-design-cli setup --assistant claude --skip-install --skip-scaffold --skip-generate
# パッケージは別途インストール済みで、scaffold と generate だけやりたい
npx --yes sparkle-design-cli setup --assistant claude --skip-install
# Cursor の rules ファイルだけ追加
npx --yes sparkle-design-cli setup --assistant cursor --skip-install --skip-scaffold --skip-generate
--dry-run で変更内容のプレビュー、--target <path> で lint 対象ディレクトリの明示指定が可能。
アンチパターン検査
# テキスト出力
npx --yes sparkle-design-cli check src
# 厳格モード(違反があれば exit 1、CI 向け)
npx --yes sparkle-design-cli check src --strict
# JSON 出力(AI 連携向け、manualReviewReminders も含む)
npx --yes sparkle-design-cli check src --format json
検出ルールの一覧は CLI の help で確認する(件数やルール名をここに書き写さない)。lint:sparkle があるプロジェクトでは、個別ルールを毎回列挙するより先にコマンドを回す。
トラブルシューティング
| エラー | 原因 | 対処 |
|---|---|---|
| CSS が反映されない | globals.css が import されていない | ルートレイアウトで import "./globals.css" を確認 |
| CSS 再生成でデザインが崩れる | sparkle-design.css にカスタムトークンを直接追加していた | カスタムトークンは別ファイルに移動し、sparkle.config.json の extend.custom-css で指定する |
| フォントウェイトが足りない | デフォルトでは [400, 700] のみ | sparkle.config.json の extend.fonts でフォントごとにウェイトを指定する |
createContext is not a function | barrel export で client boundary が崩れる | "use client" 付きの re-export file を作る(references/troubleshooting.md 参照) |
詳細は references/troubleshooting.md を参照。
AI アシスタント補足
AI ガード(Sparkle Design Guard)の浸透
setup を使った場合は、CLI が CLAUDE.md(既存の AGENTS.md があれば併記)に Guard ブロックを自動で入れるので、手動の追記は不要。setup を使わずに導入した場合に限り、同じ規則で CLAUDE.md(既存の AGENTS.md があれば併記)へ最低限以下を追記する:
## Sparkle Design Guard
- Sparkle Design を触った PR では `lint:sparkle` を実行する
- `lint:sparkle` が未設定なら `npx --yes sparkle-design-cli check src --strict` を script 化する。AI が直接確認する場合は `npx --yes sparkle-design-cli check src --format json` を優先する
- 機械検出できない使い分けは Sparkle Design の docs / JSDoc を参照する
個別ルールの説明を毎回複製するより、まず lint:sparkle を回す。Badge/Tag の意味的な使い分けや CardDescription の typography など、機械検出できないものだけ docs で補う。
Progressive Disclosure
Load references as needed:
- Always available: This SKILL.md (core workflow)
- Load on error:
references/troubleshooting.md - Load for component selection:
references/component-catalog.md,references/component-selection.md - Load for update:
references/update-workflow.md - Load for config field details / multi-theme setups:
references/config-reference.md
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Sparkle Design の UI コンポーネントを shadcn registry 経由でプロジェクトに追加するスキル。 パッケージマネージャの自動検出、設定バリデーション、コンポーネントインストール、 Storybook 統合、CSS セットアップ、トラブルシューティングをカバーする。 「Sparkle コンポーネントを追加」「sparkle-design のコンポーネントをインストール」 「@sparkle-design のセットアップ」「コンポーネントをどう追加する」 「registry の設定」「components.json の設定」への言及で発動する。 English: "add a sparkle button", "install sparkle-design card", "add @sparkle-design/input", "set up components from sparkle registry", "how do I install components", "registry setup"
**導入済みの sparkle-design プロジェクト**で、ユーザーが目指したい「雰囲気」を 自然言語で伝えたら、`sparkle.config.json` の primary / font-pro / font-mono / radius を 書き換えて `sparkle-design-cli generate` まで実行するスキル。選択肢は Theme Settings Figma プラグインが扱える範囲(primary 7 色 / radius 8 段階 / fonts 11 種)に揃えて おり、Figma と CLI の見た目がずれません。**未導入プロジェクトの初期セットアップは `setup-sparkle-design`(internal 環境では `install-sparkle-design`)を使うこと。** 「雰囲気を変えたい」「もっとポップに」「ビジネスライクに」「高級感を出したい」 「primary を変えたい」「角丸をもっと丸く」「フォントを変えたい」「テーマを提案して」 「テナントごとに配色を変えたい」「役割ごとに色を出し分けたい」(後者2つは複数 バリアント要望として範囲外に誘導するために発動) で発動。English: "change the vibe", "make it more playful", "make it more business-like", "adjust the theme", "change primary color".
sparkle-design(公開 npm パッケージ)の新バージョンをリリースするための手順スキル。 package.json の version bump、CHANGELOG.md の更新、リリース PR 作成、PR マージ後の npm への stage、メンテナーによる 2FA 承認(npm stage approve)、承認後の git tag・ GitHub Release 作成までを一連の手順で実行する。 CHANGELOG 更新漏れと GitHub Release 作成漏れを防ぐためのチェックリストを含む。 「sparkle-design をリリース」「sparkle-design の新バージョンを切る」「vX.Y.Z をリリース」 「sparkle-design の CHANGELOG を更新」で発動。 English: "release sparkle-design", "cut a new sparkle-design version", "publish sparkle-design", "bump sparkle-design version".