External audit flagged 8 actionable items against current best practices for Agent Skills, Claude Code hooks, Obsidian v1.9-v1.12, and JSON Canvas 1.0. This release addresses all of them and adds multi-agent compatibility files at zero cost to existing users. Tier 1, critical fixes: * wiki/meta/dashboard.base: NEW Obsidian Bases dashboard (native, no plugin needed). Replaces Dataview as the primary dashboard. Six views: Recent Activity, Seed Pages, Entities Missing Sources, Open Questions, Comparisons, Sources. * wiki/meta/dashboard.md: now embeds dashboard.base. Legacy Dataview queries retained as optional fallback for users on Obsidian < 1.9.10. * README.md and skills/wiki/references/plugins.md: Plugins section reorganized to recommend Bases (core, no install) primary, Dataview optional/legacy. * skills/canvas/references/canvas-spec.md: added missing JSON Canvas 1.0 fields. Group nodes now document background and backgroundStyle (cover, ratio, repeat). Edges document fromEnd (default 'none') and toEnd (default 'arrow') asymmetric defaults. Hex ID convention noted alongside descriptive ID alternative. * .gitignore: track wiki/meta/dashboard.base explicitly. Tier 2, important improvements: * hooks/hooks.json: SessionStart now uses both command type ([ -f wiki/hot.md ] && cat ...) and prompt type. Command type is the canonical safety check that works in non-vault sessions without erroring. Matcher: startup|resume. * hooks/hooks.json: NEW PostCompact hook re-injects hot cache after context compaction (hook-injected context does not survive compaction; CLAUDE.md does). * hooks/hooks.json: PostToolUse auto-commit now guarded by [ -d .git ]. * hooks/README.md: NEW documentation including known plugin-hooks STDOUT bug (anthropics/claude-code#10875) and workarounds. * skills/wiki/references/mcp-setup.md: added Option D (Obsidian CLI) for v1.12+. Added warning callout above NODE_TLS_REJECT_UNAUTHORIZED line explaining process-wide TLS bypass and recommending Option D as the secure alternative. * skills/wiki-ingest/SKILL.md: documented [!contradiction] custom callout CSS dependency on vault-colors.css snippet. * skills/wiki/references/css-snippets.md: full documentation of all four custom callouts (contradiction, gap, key-insight, stale) with built-in fallback equivalents. Tier 3, multi-agent compatibility (low complexity, high reach): * AGENTS.md: Codex CLI / OpenCode bootstrap. * GEMINI.md: Gemini CLI / Antigravity bootstrap. * .cursor/rules/claude-obsidian.mdc: Cursor always-on rules. * .windsurf/rules/claude-obsidian.md: Windsurf Cascade rules. * .github/copilot-instructions.md: GitHub Copilot conventions. * bin/setup-multi-agent.sh: idempotent symlink installer for Codex, OpenCode, Gemini, Cursor, Windsurf. Wires up the skills/ directory in each agent's expected location. Style cleanup: scrubbed all em dashes from every skill, hook, doc, and bootstrap file (249 total replacements across 26 files). Skills now use periods, commas, and colons throughout for cleaner natural prose. Version: 1.3.0 to 1.4.0 (aligns plugin.json with GitHub release tag format). Already resolved in v1.1 (no action needed): * defuddle, obsidian-bases, obsidian-markdown skills shipped * URL ingestion, vision ingestion, delta tracking docs * Multi-depth wiki-query (Quick / Standard / Deep) * PostToolUse auto-commit hook * allowed-tools field removed from all SKILL.md files * All templates already use plural tag/alias forms * Custom callouts CSS already in vault-colors.css Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
123 lines
4.2 KiB
Markdown
123 lines
4.2 KiB
Markdown
# Visual Customization
|
|
|
|
Apply during scaffold. This makes the file explorer color-coded by folder type and adds custom callout styles.
|
|
|
|
---
|
|
|
|
## CSS Snippet
|
|
|
|
Create this file at `.obsidian/snippets/vault-colors.css` inside the vault:
|
|
|
|
```css
|
|
:root {
|
|
--wiki-1: #4fc1ff;
|
|
--wiki-2: #c586c0;
|
|
--wiki-3: #dcdcaa;
|
|
--wiki-4: #ce9178;
|
|
--wiki-5: #6a9955;
|
|
--wiki-6: #d16969;
|
|
--wiki-7: #569cd6;
|
|
}
|
|
|
|
/* Folder colors in file explorer */
|
|
.nav-folder-title[data-path^="wiki/domains"] { color: var(--wiki-1); }
|
|
.nav-folder-title[data-path^="wiki/entities"] { color: var(--wiki-2); }
|
|
.nav-folder-title[data-path^="wiki/concepts"] { color: var(--wiki-3); }
|
|
.nav-folder-title[data-path^="wiki/sources"] { color: var(--wiki-4); }
|
|
.nav-folder-title[data-path^="wiki/questions"] { color: var(--wiki-5); }
|
|
.nav-folder-title[data-path^="wiki/comparisons"] { color: var(--wiki-6); }
|
|
.nav-folder-title[data-path^="wiki/meta"] { color: var(--wiki-7); }
|
|
.nav-folder-title[data-path=".raw"] { color: #808080; opacity: 0.6; }
|
|
|
|
/* Custom callouts */
|
|
.callout[data-callout='contradiction'] {
|
|
--callout-color: 209, 105, 105;
|
|
--callout-icon: lucide-alert-triangle;
|
|
}
|
|
.callout[data-callout='gap'] {
|
|
--callout-color: 220, 220, 170;
|
|
--callout-icon: lucide-help-circle;
|
|
}
|
|
.callout[data-callout='key-insight'] {
|
|
--callout-color: 79, 193, 255;
|
|
--callout-icon: lucide-lightbulb;
|
|
}
|
|
.callout[data-callout='stale'] {
|
|
--callout-color: 128, 128, 128;
|
|
--callout-icon: lucide-clock;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Enable the Snippet
|
|
|
|
Tell the user: Settings > Appearance > CSS Snippets > open folder > paste the file > click the refresh icon > toggle it on.
|
|
|
|
---
|
|
|
|
## Graph View Groups
|
|
|
|
Guide the user to set these in Graph View settings (click the settings icon in the graph view):
|
|
|
|
| Query | Color |
|
|
|-------|-------|
|
|
| `path:wiki/domains` | Blue (`#4fc1ff`) |
|
|
| `path:wiki/entities` | Purple (`#c586c0`) |
|
|
| `path:wiki/concepts` | Yellow (`#dcdcaa`) |
|
|
| `path:wiki/sources` | Orange (`#ce9178`) |
|
|
| `path:wiki/questions` | Green (`#6a9955`) |
|
|
| `path:.raw` | Gray (dimmed) |
|
|
|
|
---
|
|
|
|
## Custom Callouts
|
|
|
|
This vault defines **four custom callout types** beyond Obsidian's built-in set (`note`, `tip`, `warning`, `info`, `todo`, `success`, `question`, `failure`, `danger`, `bug`, `example`, `quote`). They render correctly **only when `vault-colors.css` is enabled**. Without the snippet, they fall back to default callout styling (still readable, just plain).
|
|
|
|
| Custom callout | Color | Icon | Use for |
|
|
|---|---|---|---|
|
|
| `contradiction` | reddish-brown (rgb 209,105,105) | `lucide-alert-triangle` | New source conflicts with existing claim |
|
|
| `gap` | beige (rgb 220,220,170) | `lucide-help-circle` | Topic has no source yet |
|
|
| `key-insight` | bright blue (rgb 79,193,255) | `lucide-lightbulb` | Important takeaway worth highlighting |
|
|
| `stale` | gray (rgb 128,128,128) | `lucide-clock` | Claim may be outdated, source older than threshold |
|
|
|
|
### Usage
|
|
|
|
Use these in wiki pages to flag important states:
|
|
|
|
```markdown
|
|
> [!contradiction] Title
|
|
> [[Page A]] claims X. [[Page B]] says Y. Needs resolution.
|
|
|
|
> [!gap] Title
|
|
> This topic has no source yet. Consider finding one.
|
|
|
|
> [!key-insight] Title
|
|
> The most important takeaway from this section.
|
|
|
|
> [!stale] Title
|
|
> This claim may be outdated. Source was from 2022.
|
|
```
|
|
|
|
### Why custom callouts (vs built-in)
|
|
|
|
The four custom types map to wiki-specific concepts that don't fit cleanly into Obsidian's default set:
|
|
|
|
- `contradiction` is more specific than `warning`: it signals a **resolvable conflict** between two wiki pages, not a generic warning.
|
|
- `gap` is more specific than `question`: it signals a **missing source**, an actionable improvement.
|
|
- `key-insight` is more specific than `tip`: it marks **the** most important takeaway from a section, used sparingly.
|
|
- `stale` has no built-in equivalent: it signals time-based decay of a claim.
|
|
|
|
If you don't want custom callouts, replace them with built-ins:
|
|
- `[!contradiction]` → `[!warning] Contradiction`
|
|
- `[!gap]` → `[!question] Gap`
|
|
- `[!key-insight]` → `[!tip] Key insight`
|
|
- `[!stale]` → `[!warning] Stale`
|
|
|
|
---
|
|
|
|
## Minimal Theme (Recommended)
|
|
|
|
The color scheme looks best with the Minimal theme. Install via Settings > Appearance > Manage > search "Minimal".
|