Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .claude/skills/change-sparkle-config/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ user-invocable: true
1. **前提チェック**
- カレントディレクトリに `sparkle.config.json` があるか確認。無ければ **未導入状態**。その場合は「**新規導入 + カスタムテーマ**は `setup-sparkle-design` スキル(internal 環境では `install-sparkle-design` スキル)が担当する(setup 実行時に `sparkle.config.json` を編集しておけば同じテーマで導入できる)」と案内し、setup にバトンパスして中断する。
- `package.json` の `dependencies` / `devDependencies` に `sparkle-design` が含まれるか確認(pnpm workspace 等で hoist されているケースに備え、`node_modules` のパスチェックは避ける)。未導入なら setup を案内して中断。
- ユーザーの要望が「役割・テナント・画面ごとに複数の固定配色バリアントを 1 デプロイで切り替えたい」という趣旨(例:「管理画面と一般ユーザー画面で色を変えたい」「テナントごとに配色を出し分けたい」)なら **このスキルの範囲外**。本スキルは単一の `sparkle.config.json` を書き換えるだけなので複数バリアントの同時提供には対応できない。sparkle-design-cli の README「複数のテーマ配色を 1 デプロイでサポートしたい場合」(config を分割して複数回 `generate` する方式を推奨、単一 CSS + 属性スコープでの Tailwind クラス上書きは非推奨)を案内し、中断する。
- ユーザーの要望が「役割・テナント・画面ごとに複数の固定配色バリアントを 1 デプロイで切り替えたい」という趣旨(例:「管理画面と一般ユーザー画面で色を変えたい」「テナントごとに配色を出し分けたい」)なら **このスキルの範囲外**。本スキルは単一の `sparkle.config.json` を書き換えるだけなので複数バリアントの同時提供には対応できない。中断する前に、どちらのケースかだけ 1 回短く確認する(「管理画面と一般ユーザー画面は別々のページ/レイアウトですか?それとも同じ画面内で属性の切り替えだけで見た目を変えたいですか?」):
- **画面(ビルド)ごとにバリアントが固定される**(レイアウト単位で読み込む CSS を出し分けられる)→ sparkle-design-cli README の「複数のテーマ配色を 1 デプロイでサポートしたい場合」の **ケース A**(config を分割して複数回 `generate`。生成した複数 CSS を同時 import してはいけない)を案内する
- **単一バンドル内でランタイムに切り替えたい**(`data-*` 属性の付け外しだけで切り替え、ページ遷移や再ビルドを伴わない)→ 同 README の **ケース B**(`generate --scope` で、ベースの通常 `generate` 出力とセマンティックトークンだけをスコープしたリテラル値の差分 CSS を同時 import する。sparkle-design-cli `2.4.0` 以降が必要)を案内する
- 単一 CSS + 属性スコープでの Tailwind クラス上書きは(どちらのケースでも)非推奨
いずれの場合も本スキルはここで中断する(実際の config 分割・`--scope` 実行はユーザー自身か別の作業に委ねる)。
2. **現在値を読み取り(元ファイルをスナップショット保存)**
- `sparkle.config.json` の元バイト列をそのままメモリに保持(後の rollback 用)。
- `JSON.parse` で解釈し、現在の `primary` / `font-pro` / `font-mono` / `radius` / `extend.*` とそれ以外のユーザー独自キーを把握。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@

## 複数テーマ運用したい場合

役割・テナントごとに複数の固定配色バリアントを 1 デプロイで切り替えたい場合は、単一の `sparkle.config.json` では対応できない。sparkle-design-cli の README「複数のテーマ配色を 1 デプロイでサポートしたい場合」config を分割して複数回 `generate` する方式)を参照
役割・テナントごとに複数の固定配色バリアントを 1 デプロイで切り替えたい場合は、単一の `sparkle.config.json` では対応できない。sparkle-design-cli の README「複数のテーマ配色を 1 デプロイでサポートしたい場合」を参照。画面(ビルド)ごとにバリアントが固定されるなら「ケース A: config を分割して複数回 `generate`」、単一バンドル内で `data-*` 属性の付け外しだけでランタイムに切り替えたいなら「ケース B: `generate --scope`」(sparkle-design-cli `2.4.0` 以降)を使う
Loading