| name | add-theme |
| description | mdview に新規テーマを追加する。theme.rs / THEME_CYCLE / THEME_REGISTRY / main.js / package.json / README.md の6箇所更新と WCAG AA 5ペアのコントラスト確認を一括で行う。「テーマ追加」「新しいテーマ」「tokyo-night 入れて」等の要望に使う。 |
add-theme — mdview テーマ追加ワークフロー
mdview に新規テーマを追加する。テーマ定義は Rust(TUI)と JS(Electron)の6ファイルにまたがる ため、1箇所でも漏らすとコンパイルエラーや T キー循環の不整合が起きる。本スキルは抜け漏れを防ぐチェックリストとして機能する。
SSOT: 手順の正典はリポジトリの CLAUDE.md「テーマ機能メンテナンスガイド」。本スキルはそれを実行可能なチェックリストに落としたもの。詳細・最新の注意書きは必ず CLAUDE.md 側を確認すること。
入力
ユーザーから「テーマ ID」(例 tokyo-night-dark)と light/dark の別、ベースにする配色を聞く。不明なら確認する。
手順(全ステップ完了まで止まらない)
新規テーマ ID を <id> とする。
WCAG AA コントラスト確認
このスキルに同梱の wcag.py を使う。fg/bg のペアを並べて渡す:
python3 "$CLAUDE_PROJECT_DIR/.claude/skills/add-theme/wcag.py" \
"<statusbar_fg>" "<statusbar_bg>" \
"<toc_highlight_fg>" "<toc_highlight_bg>" \
"<code_badge_fg>" "<code_badge_bg>" \
"<search_match_fg>" "<search_match_bg>" \
"<search_current_fg>" "<search_current_bg>"
1ペアでも FAIL が出たら色値を調整して全ペア PASS になるまで繰り返す。TUI(theme.rs)と Electron(THEME_REGISTRY)で同一色値を使うこと。
完了報告
更新した6ファイル + WCAG 確認結果(各ペアの比率)+ ビルド結果をユーザーに報告する。