スキル自身の言葉で
design-system スキルは、markdown-html プラグインにおいて共有されるブランドオーナーです。10 項目のオンボーディングウィザードを通じてブランドアイデンティティを一度だけ取得します——プライマリカラーとアクセントカラーの HEX 値、見出しと本文の Google Fonts、デザインスタイル(editorial、technical、minimal、playful のいずれか)、デフォルトの出力ディレクトリ、コードテーマ、TOC の挙動、そして任意の会社名とロゴです。その後、本文テキストとリンクのコントラストを WCAG 2.2 AA に対して検証し、HSL 空間で 12 個の CSS カスタムプロパティを導出します。
標準ライブラリのみを使う3つのPythonツールが、オンボーディング、設定の読み込み、パレットの検証を担います。優先順位はプロジェクト、グローバル、組み込みデフォルトの順です。すべてのコンバーター(md-document、md-review、md-slides)は保存された設定を読み込むため、トークンを1つ変更するとレンダリングされるすべてのドキュメントが変わります。
生成されるもの
- ブランドと派生パレットを保持する設定ファイルで、グローバルまたはプロジェクト内に書き込まれます。
- 各コンバーターのstyleブロックにインライン展開される12個のCSSカスタムプロパティ(--md-surface、--md-border、--md-link、--md-warnなど)。
- 設定用のJSONスキーマで、検証用のアセットとして同梱されます。
仕組み
- 01オンボーディングを一度だけ実行する
このスキルはmarkdown-htmlプラグインの共有ブランド管理元です。md-document、md-review、md-slidesはいずれもこのスキルが書き込む設定を利用するため、一度実行するだけですべての変換にブランドが適用されます。
- 0210の質問に答える
ウィザードはdefault_output_dir、primaryとaccentのHEX、見出しと本文のフォント、design_style、code_theme、toc.behavior、および任意のcompany_nameとlogo_urlを記録します。
- 03保存の前に検証を通す
brand_palette_validator.validate() は変更のたびに実行されるため、ペアはウィザードの最後だけでなく、各フィールドの編集時に再チェックされます。
- 0412個のトークンを導出する
derive_palette() は、--md-surface を bg の輝度±4〜6%として、--md-text-muted を rgba(text, 0.68) として計算し、同じ設定ファイルの derived_palette に保存します。
- 05優先順位で設定を解決する
config_loader.py は、すべてのコンバーターがレンダリング前に呼び出すインポート可能なローダーです。プロジェクト、グローバル、組み込みデフォルトの順にマージし、バイパス用の環境変数にも対応します。
- 06非対話で上書きまたはリセットする
ウィザード以外にも、onboard.py は --defaults、--set key=value、--scope project、--show、--reset を受け付けるため、質問に再び答えることなくブランドのフィールドを変更または消去できます。