
Wiki Dashboard
Spin up auto-updating Obsidian dashboard views (Bases or Dataview) over vault notes for projects, concepts, or content indexes.
Install
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-dashboardWhat is this skill?
- Supports Obsidian Bases (.base YAML, native 1.8+) and Dataview (plugin, GROUP BY / computed columns)
- Config Resolution Protocol resolves OBSIDIAN_VAULT_PATH before building views
- Starts from index.md inventory so dashboards align with existing wiki categories
- Triggers on plain language: vault dashboard, dynamic view, query my vault, content index
- Official Bases schema: top-level filters plus view definitions over note properties
Adoption & trust: 1.6k installs on skills.sh; 1.8k GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
First appears when builders structure their second brain during product docs and wiki setup, but the same dashboards support launch and growth content tracking later. Docs subphase covers vault-native documentation surfaces—tables and filters over markdown—not application frontend code.
Common Questions / FAQ
Is Wiki Dashboard safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Wiki Dashboard
# Wiki Dashboard — Dynamic Vault Views Two tools available: **Obsidian Bases** (native, GUI-driven, no plugin) and **Dataview** (community plugin, SQL-like, more powerful). Check which the user has and prefer Bases unless they ask for Dataview or need GROUP BY / computed columns. ## Before You Start 1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (walk up CWD for `.env` → `~/.obsidian-wiki/config` → prompt setup). This gives `OBSIDIAN_VAULT_PATH`. 2. Read `$OBSIDIAN_VAULT_PATH/index.md` to understand what categories and pages exist. 3. Ask the user what they want to view if not specified — folder, tag, category, date range? 4. Ask if they have Dataview installed if you're unsure which tool to use. --- ## Option A — Obsidian Bases (`.base` files) Bases are YAML files that define live views over vault notes. Native to Obsidian 1.8+, no plugin needed. ### Official canonical schema Top-level keys: ```yaml filters: # Global filter applied to all views (expression strings under and/or/not) formulas: # Named computed properties — referenced as formula.<name> properties: # Display config per property — sets displayName for column headers summaries: # Aggregation formulas (e.g. mean, sum) views: # Array of view definitions (required) ``` Each item in `views:`: ```yaml views: - type: table # table | list | cards | map name: "View Name" # display label limit: 50 # optional max rows order: # column display order (list of property/formula names) - file.name - note.updated groupBy: # grouping — goes INSIDE the view, NOT at top level property: note.tags direction: ASC # ASC | DESC filters: # view-specific filter (merges with global filters) and: - 'note.status != "done"' summaries: formula.myFormula: Average ``` ### Filter syntax — CRITICAL **Filters use expression strings, not typed objects.** Always wrap in `and:`, `or:`, or `not:` — a bare list causes a "may only have one of and/or/not keys" parse error. ```yaml # CORRECT filters: and: - file.inFolder("concepts") # WRONG — typed objects (parse error) filters: - type: folder folder: concepts ``` Filters support nesting: ```yaml filters: or: - file.hasTag("book") - and: - file.inFolder("concepts") - file.hasTag("research") - not: - file.hasTag("archived") ``` ### Property name conventions Different contexts use different naming — confirmed from Obsidian's auto-reformat behaviour: | Context | Frontmatter field `tags` | File name | Formula | |---|---|---|---| | `properties:` keys | `note.tags` | `file.name` | `formula.<name>` | | `order:` values | `tags` (bare) | `file.name` | `formula.<name>` | | `groupBy.property:` | `tags` (bare) | `file.name` | — | | `filters:` expressions | `file.hasTag(...)` / `note.tags` | `file.name` | `formula.<name>` | | `formulas:` expressions | `note.tags`, `note.updated` | `file.name` | — | ### Basic table — folder filter ```yaml filters: and: - file.inFolder("concepts") properties: file.name: displayName: Page note.tags: displayName: Tags note.summary: displayName: Summary note.updated: displayName: Updated views: - type: table name: Table order: - file.name - tags - summary - updated ``` ### Cards view — folder filter ```yaml filters: