jpskill.com
🎨 デザイン コミュニティ

obsidian-theme-designer

Obsidianのテーマをデザイン、プレビュー、カスタマイズしたい場合に、スタイルの選択、配色比較、フォント調整、CSSスニペット生成などを行い、好みの外観を作成するSkill。

📜 元の英語説明(参考)

Use when the user wants to design, preview, or customize an Obsidian vault theme — including choosing styles, comparing color schemes, adjusting typography, or generating CSS snippets. Triggers on keywords like "Obsidian theme", "color scheme", "CSS snippet", "appearance".

🇯🇵 日本人クリエイター向け解説

一言でいうと

Obsidianのテーマをデザイン、プレビュー、カスタマイズしたい場合に、スタイルの選択、配色比較、フォント調整、CSSスニペット生成などを行い、好みの外観を作成するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o obsidian-theme-designer.zip https://jpskill.com/download/16884.zip && unzip -o obsidian-theme-designer.zip && rm obsidian-theme-designer.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16884.zip -OutFile "$d\obsidian-theme-designer.zip"; Expand-Archive "$d\obsidian-theme-designer.zip" -DestinationPath $d -Force; ri "$d\obsidian-theme-designer.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して obsidian-theme-designer.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → obsidian-theme-designer フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
2

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Obsidian Theme Designer

ユーザーが視覚的なブラウザプレビューを通じてObsidianのテーマを反復的にデザインし、インポート可能なCSSスニペットを生成するのを支援します。

言語: ユーザーが記述したのと同じ言語で応答します。中国語で書かれていれば、中国語で返信します。英語であれば、英語で返信します。

プロセスフロー

digraph theme_design {
  "1. Analyze Vault" [shape=box];
  "2. Extract Theme Variables" [shape=box];
  "3. Launch Visual Companion" [shape=box];
  "4. Gather Preferences" [shape=box];
  "5. Iterative Design Refinement" [shape=diamond];
  "5b. Install Fonts" [shape=box];
  "6. Generate CSS Snippet" [shape=box];
  "7. Import Guide" [shape=doublecircle];

  "1. Analyze Vault" -> "2. Extract Theme Variables";
  "2. Extract Theme Variables" -> "3. Launch Visual Companion";
  "3. Launch Visual Companion" -> "4. Gather Preferences";
  "4. Gather Preferences" -> "5. Iterative Design Refinement";
  "5. Iterative Design Refinement" -> "5. Iterative Design Refinement" [label="user requests changes"];
  "5. Iterative Design Refinement" -> "5b. Install Fonts" [label="user approves"];
  "5b. Install Fonts" -> "6. Generate CSS Snippet";
  "6. Generate CSS Snippet" -> "7. Import Guide";
}

ステップ 1: Vault の分析

現在の構成を理解するために、次のファイルを読み取ります。

  • .obsidian/appearance.json — 現在のテーマ、フォントサイズ、ライト/ダークモード
  • .obsidian/community-plugins.json — インストールされているプラグイン (Style Settings を確認)
  • .obsidian/themes/ — ダウンロードされたコミュニティテーマ
  • .obsidian/snippets/ — 既存のカスタム CSS

また、ノートの種類(論文、日記、プロジェクト管理など)を理解するために vault ディレクトリ構造をスキャンし、プレビューコンテンツが実際の使用状況を反映するようにします。

ステップ 2: テーマ CSS 変数の抽出

grep を使用して、インストールされている各テーマの theme.css からキーとなる変数を抽出します。

カテゴリ キーとなる変数
背景 --background-primary, --background-secondary, --color-base-00
テキスト --text-normal, --text-muted, --text-accent
アクセント --interactive-accent, --color-accent
フォント --font-text-theme, --font-interface-theme
見出し --h1-color ~ --h6-color, --size-h1 ~ --size-h6
タイポグラフィ line-height, --p-spacing, font-size

.theme-light.theme-dark の両方の値を抽出します。並列抽出には Explore エージェントを使用します。

ステップ 3: Visual Companion の起動

スーパーパワーブレインストーミング Visual Companion を使用して、ブラウザでオプションを表示します。

Windows:

# run_in_background: true
scripts/start-server.sh --project-dir /path/to/vault

次に、$STATE_DIR/server-info から URL を読み取ります。

ステップ 4: ユーザーの好みの収集

一度に 1 つの質問を、複数の選択肢で尋ねます。 不安なユーザーのために、常に推奨されるデフォルトを提供します(「よくわからない場合は、X をお勧めします。なぜなら...」)。

4a. 参考資料の収集 (最初に尋ねる)

スタイルのオプションを表示する前に、ユーザーに尋ねます。

「参考にしたいもの(スクリーンショット、ウェブサイト、または外観をエミュレートしたいアプリ)はありますか?なければ、心配ありません。いくつかのオプションを表示します。」

ユーザーが参考資料を提供した場合、その視覚的特徴(色温度、フォントスタイル、密度、装飾レベル)を分析し、それらを使用してその後の選択をガイドします。参考資料がスタイルの方向性や色の好みを明確に決定している場合は、対応するサブステップ(4b、4c)をスキップして、次の未決定の質問に直接進みます。 ユーザーがすでに示したことを尋ねないでください。

4b. 全体的なスタイルの方向性

スタイルの方向性を、単なるテキストラベルではなく、ブラウザで視覚的にミニモックアップで表示します。各オプションには、デザインの専門家ではない人でも理解できるように、共感できるアナロジーを含める必要があります。

方向性 デザインの専門家ではない人のためのアナロジー
アカデミック 「LaTeX PDF や印刷されたジャーナルのように」
ミニマル 「Apple Notes のように — クリーンで、白いスペースが多い」
ダークイマーシブ 「夜間のコードエディタのように — 目に優しい」
サイバーパンク-dev 「VS Code やハッカーターミナルのように」
ウォームテクスチャ 「本物の紙に書くように — ソフトで、暖かいトーン」

ユーザーが「わからない」または「どれでも良い」と言った場合は、vault のコンテンツに最も一致する方向性をお勧めします(例:研究中心の vault の場合はアカデミック)。

4c. 色の好み

プレーンな言葉で尋ねます。16進数コードは使用しないでください。

「クールトーン(青、ティール、グレー)、ウォームトーン(ゴールド、オレンジ、ブラウン)、またはニュートラル(純粋な黒と白)のどれが好きですか?」

次に、選択した方向性を適用した2〜3色のパレットオプションをブラウザで視覚的に表示します。ユーザーに16進数の値を直接選択させることは絶対にしないでください。

4d. ライト/ダークモード

  • ダークのみ / ライトのみ / デュアルモード
  • デュアルモードの場合:各モードは異なるアクセントカラーを持つことができます — ブラウザで並べて表示します

4e. frontend-design を使用したフォントの選択

必須: frontend-design:frontend-design スキルを呼び出して、特徴的なフォントの組み合わせを選択します。

重要: フォント名を主要な選択方法としてターミナルに表示しないでください。ユーザーは「Playfair Display」がどのように見えるかを知りません。常にブラウザでレンダリングされたフォントを表示します — ユーザーは名前ではなく、視覚的な外観で選択します。

原則 (frontend-design から):

  • 一般的なフォント(Arial、Inter、Roboto、system-ui のデフォルト)は絶対に使用しないでください。個性的なフォントを選択してください。
  • 各バリアントは、実際のコントラストを与えるために異なるフォントの組み合わせを使用する必要があります。
  • CJK + ラテン語のバイリンガルコンテンツの場合、ラテン語フォントを一致する CJK フォントとペアリングします(例:Playfair Display + Noto Serif SC、DM Sans + Noto Sans SC)。
  • プレビューでは、Google Fonts の <link> タグを介してフォントをロードします。最終的な CSS スニペットでは、ローカルにインストール可能なフォント名をフォールバックとともに使用します。
役割
見出し (表示) Playfair Display, DM Sans, Outfit, Libre Baskerville, Sora
本文 (読み取り) Source Serif 4, Literata, DM Sans, Outfit
CJK ペアリング Noto Serif SC (セリフ付き), Noto Sans SC (セリフなし), LXGW WenKai
コード (等幅) JetBrains Mono, IBM Plex Mono, Fira Code, Cascadia Code

フォントのショーケース形式: コンテンツフラグメントではなく、フルページの HTML ギャラリーを作成します

(原文がここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Obsidian Theme Designer

Help users iteratively design Obsidian themes through visual browser previews, then generate an importable CSS snippet.

Language: Respond in the same language the user writes in. If they write in Chinese, reply in Chinese. If English, reply in English.

Process Flow

digraph theme_design {
  "1. Analyze Vault" [shape=box];
  "2. Extract Theme Variables" [shape=box];
  "3. Launch Visual Companion" [shape=box];
  "4. Gather Preferences" [shape=box];
  "5. Iterative Design Refinement" [shape=diamond];
  "5b. Install Fonts" [shape=box];
  "6. Generate CSS Snippet" [shape=box];
  "7. Import Guide" [shape=doublecircle];

  "1. Analyze Vault" -> "2. Extract Theme Variables";
  "2. Extract Theme Variables" -> "3. Launch Visual Companion";
  "3. Launch Visual Companion" -> "4. Gather Preferences";
  "4. Gather Preferences" -> "5. Iterative Design Refinement";
  "5. Iterative Design Refinement" -> "5. Iterative Design Refinement" [label="user requests changes"];
  "5. Iterative Design Refinement" -> "5b. Install Fonts" [label="user approves"];
  "5b. Install Fonts" -> "6. Generate CSS Snippet";
  "6. Generate CSS Snippet" -> "7. Import Guide";
}

Step 1: Analyze Vault

Read the following files to understand current configuration:

  • .obsidian/appearance.json — current theme, font size, light/dark mode
  • .obsidian/community-plugins.json — installed plugins (check for Style Settings)
  • .obsidian/themes/ — downloaded community themes
  • .obsidian/snippets/ — existing custom CSS

Also scan the vault directory structure to understand note types (papers, journals, project management, etc.) so preview content reflects real usage.

Step 2: Extract Theme CSS Variables

Use grep to extract key variables from each installed theme's theme.css:

Category Key Variables
Background --background-primary, --background-secondary, --color-base-00
Text --text-normal, --text-muted, --text-accent
Accent --interactive-accent, --color-accent
Font --font-text-theme, --font-interface-theme
Headings --h1-color ~ --h6-color, --size-h1 ~ --size-h6
Typography line-height, --p-spacing, font-size

Extract values for both .theme-light and .theme-dark. Use an Explore agent for parallel extraction.

Step 3: Launch Visual Companion

Use the superpowers brainstorming Visual Companion to show options in the browser.

Windows:

# run_in_background: true
scripts/start-server.sh --project-dir /path/to/vault

Then read $STATE_DIR/server-info for URL.

Step 4: Gather Preferences

Ask one question at a time with multiple choices. Always provide a recommended default for users who are unsure ("if you're not sure, I recommend X because...").

4a. Reference Collection (ask first)

Before showing style options, ask the user:

"Do you have any references you like — a screenshot, website, or app whose look you want to emulate? If not, no worries, I'll show you some options."

If the user provides a reference, analyze its visual characteristics (color temperature, font style, density, decoration level) and use them to guide subsequent choices. If the reference clearly determines style direction and/or color preference, skip the corresponding sub-steps (4b, 4c) and go directly to the next undecided question. Don't ask what the user has already shown you.

4b. Overall Style Direction

Show style directions visually in the browser with mini mockups, not just text labels. Each option should include a relatable analogy so non-designers can understand:

Direction Analogy for non-designers
Academic "Like a LaTeX PDF or printed journal"
Minimal "Like Apple Notes — clean, lots of white space"
Dark immersive "Like a code editor at night — easy on the eyes"
Cyberpunk-dev "Like VS Code or a hacker terminal"
Warm texture "Like writing on real paper — soft, warm tones"

If the user says "I don't know" or "any is fine", recommend the direction that best matches their vault content (e.g., academic for research-heavy vaults).

4c. Color Preference

Ask in plain terms, NOT hex codes:

"Do you prefer cool tones (blue, teal, gray), warm tones (gold, orange, brown), or neutral (pure black & white)?"

Then show 2-3 color palette options visually in the browser with the chosen direction applied. Never ask users to pick hex values directly.

4d. Light/Dark Mode

  • Dark only / Light only / Dual mode
  • If dual mode: each mode can have a different accent color — show side-by-side in browser

4e. Font Selection with frontend-design

REQUIRED: Invoke the frontend-design:frontend-design skill to select distinctive font pairings.

Critical: NEVER present font names in the terminal as the primary selection method. Users don't know what "Playfair Display" looks like. Always show fonts rendered in the browser — users choose by visual appearance, not by name.

Principles (from frontend-design):

  • NEVER use generic fonts (Arial, Inter, Roboto, system-ui defaults). Choose fonts with character.
  • Each variant should use a DIFFERENT font combination to give real contrast.
  • For CJK + Latin bilingual content, pair Latin fonts with matching CJK fonts (e.g., Playfair Display + Noto Serif SC, DM Sans + Noto Sans SC).
  • Load fonts via Google Fonts <link> tags in previews. In the final CSS snippet, use locally-installable font names with fallbacks.
Role Examples
Heading (display) Playfair Display, DM Sans, Outfit, Libre Baskerville, Sora
Body (reading) Source Serif 4, Literata, DM Sans, Outfit
CJK pairing Noto Serif SC (with serif), Noto Sans SC (with sans-serif), LXGW WenKai
Code (monospace) JetBrains Mono, IBM Plex Mono, Fira Code, Cascadia Code

Font showcase format: Create a full-page HTML gallery (not content fragments) with 8-10 font cards. Each card should render the SAME sample content (including bilingual text AND numbers/data) in that card's font pairing. Include a Dark/Light mode toggle at the top. Users can click cards to select. The sample text must include:

  • A Chinese heading
  • A paragraph with mixed Chinese and English
  • A line with numbers and data (e.g., "从 127.4s 降至 48.6s,优化率达 61.8%")
  • A code snippet in the monospace font
  • Tags

Users may mix-and-match: A user may like the Chinese rendering from one card and the English/number rendering from another. Support this — the final CSS can combine fonts from different cards (e.g., Spectral for Latin + Noto Serif SC for CJK).

Step 5: Iterative Design Refinement

Show full simulation in browser (sidebar + editor), confirm step by step.

Critical rules (MUST follow):

  • Bilingual content: Preview MUST include both Chinese and English text — headings, body, and quotes
  • Dual-mode side-by-side: Use <div class="split"> to show light/dark modes next to each other
  • Unified fonts: Light and dark modes MUST use the same font family — only change colors
  • Real elements: Preview must cover h1-h3 headings, body text, blockquotes, code blocks, inline code, tags, tables, and links
  • Use real content: Read actual notes from the vault for preview text

Write a new file for each iteration (e.g., design-v2.html). Never overwrite previous versions.

Step 5b: Install Fonts

After the user approves the font selection, download and install the chosen fonts to the system so Obsidian can use them.

Download from Google Fonts CSS API:

# 1. Fetch the CSS which contains direct .ttf URLs
CSS=$(curl -s "https://fonts.googleapis.com/css2?family=FontName:wght@400;600;700" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)")

# 2. Extract and download all .ttf URLs
echo "$CSS" | grep -o 'https://[^)]*' | while read url; do
  curl -sL "$url" -o "/tmp/fonts/$(basename "$url")"
done

Install per platform:

  • Windows: Copy .ttf files to $HOME/AppData/Local/Microsoft/Windows/Fonts/ and register in registry:
    FONTDIR="$HOME/AppData/Local/Microsoft/Windows/Fonts"
    cp /tmp/fonts/*.ttf "$FONTDIR/"
    # Register each font in HKCU registry
    for f in /tmp/fonts/*.ttf; do
      fname=$(basename "$f")
      powershell.exe -Command "New-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts' -Name '$fname' -Value '$(cygpath -w "$FONTDIR")\\$fname' -PropertyType String -Force"
    done
  • macOS: Copy to ~/Library/Fonts/
  • Linux: Copy to ~/.local/share/fonts/ then run fc-cache -f

Important: Remind user to restart Obsidian after font installation for changes to take effect.

Step 6: Generate CSS Snippet

Once the user approves, generate a CSS snippet file to .obsidian/snippets/.

CSS structure template:

/* Shared fonts */
body {
  --font-text-theme: '...';
  --font-interface-theme: '...';
}

/* Light mode */
.theme-light {
  --background-primary: ...;
  --text-accent: ...;
  --h1-color: ...; --h2-color: ...;
}

/* Dark mode */
.theme-dark {
  --background-primary: ...;
  --text-accent: ...;
  --h1-color: ...; --h2-color: ...;
}

/* Element-specific styles: headings, blockquotes, code, tags, etc. */

Notes:

  • Use Obsidian's native CSS variable names for compatibility
  • Use !important only when necessary to override a base theme
  • Separate light/dark with .theme-light / .theme-dark

Step 7: Import Guide

Tell the user how to enable the snippet:

  1. Open Obsidian Settings (Ctrl+,)
  2. Go to Appearance
  3. Optionally switch CSS theme back to default (or keep a base theme)
  4. Scroll to CSS Snippets at the bottom
  5. Click the refresh button, then toggle the new snippet on
  6. Use Obsidian's built-in light/dark mode toggle to see both color schemes

Common Mistakes

Mistake Correct Approach
Asking user to pick hex colors or font names in terminal Always show colors and fonts visually in browser — users choose by appearance
Using generic fonts (Inter, Arial, Roboto) Invoke frontend-design skill for distinctive font pairings per variant
Showing text-only style options without visual examples Every style direction must have a visual mockup in browser
No fallback when user says "I don't know" Always provide a recommended default with reasoning
Not asking for references first Ask if user has screenshots/websites they like before showing options
Preview in English only Must include bilingual content (Chinese + English) in headings and body
Different fonts in light/dark modes Font family must be unified; only change colors
Too many options at once Show 3-4 options max per screen
Oversimplified preview Must include headings, body, quotes, code, tables, tags
Generate CSS without preview Always confirm design in browser before generating
Snippet in wrong directory Must be placed in .obsidian/snippets/

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。