Obsidian Bases Dynamic
Enterprise-grade skill for create, edit, obsidian, bases. Includes structured workflows, validation checks, and reusable patterns for document processing.
Obsidian Bases Dynamic
A specialized skill for creating and managing Obsidian Bases — a database-like feature within Obsidian for organizing notes with views, filters, formulas, and custom properties.
When to Use This Skill
Choose this skill when:
- Creating Obsidian Base files (
.base) for structured note organization - Building table views, kanban boards, or gallery views from notes
- Implementing filters, sorts, and formulas for note properties
- Designing note schemas with custom frontmatter properties
- Automating Base generation from structured data
Consider alternatives when:
- Working with plain Markdown notes → use an Obsidian Markdown skill
- Creating visual canvases → use a JSON Canvas skill
- Building a database application → use a database skill
- Working with Notion databases → use a Notion skill
Quick Start
// project-tracker.base { "schema": { "properties": { "status": { "type": "select", "options": ["Todo", "In Progress", "Done"] }, "priority": { "type": "select", "options": ["High", "Medium", "Low"] }, "assignee": { "type": "text" }, "dueDate": { "type": "date" }, "effort": { "type": "number" } } }, "views": [ { "name": "All Tasks", "type": "table", "columns": ["name", "status", "priority", "assignee", "dueDate"], "sort": [{ "property": "dueDate", "direction": "asc" }], "filter": { "operator": "and", "conditions": [ { "property": "status", "operator": "!=", "value": "Done" } ]} }, { "name": "By Status", "type": "kanban", "groupBy": "status", "columns": ["name", "priority", "assignee"] } ] }
Core Concepts
Base File Structure
| Component | Purpose | Configuration |
|---|---|---|
| Schema | Property definitions | Types: text, number, date, select, checkbox, tags |
| Views | Display configurations | Types: table, kanban, gallery, list |
| Filters | Row filtering | Conditions: equals, contains, before, after |
| Sorts | Row ordering | Direction: ascending or descending |
| Formulas | Computed values | Functions: count, sum, average, concat |
Property Types
{ "schema": { "properties": { "title": { "type": "text" }, "count": { "type": "number" }, "completed": { "type": "checkbox" }, "category": { "type": "select", "options": ["Research", "Development", "Design"] }, "tags": { "type": "tags", "options": ["urgent", "blocked", "review-needed"] }, "created": { "type": "date" }, "linkedNote": { "type": "file" } } } }
View Configuration
{ "views": [ { "name": "Sprint Board", "type": "kanban", "groupBy": "status", "columns": ["name", "priority", "assignee", "effort"], "filter": { "operator": "and", "conditions": [ { "property": "sprint", "operator": "=", "value": "Sprint 24" }, { "property": "status", "operator": "!=", "value": "Cancelled" } ] }, "sort": [ { "property": "priority", "direction": "desc" }, { "property": "effort", "direction": "asc" } ] }, { "name": "Gallery", "type": "gallery", "coverImage": "thumbnail", "columns": ["name", "status", "category"], "filter": { "operator": "or", "conditions": [ { "property": "category", "operator": "=", "value": "Design" }, { "property": "tags", "operator": "contains", "value": "visual" } ] } } ] }
Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
defaultViewType | string | 'table' | Default view: table, kanban, gallery, or list |
dateFormat | string | 'YYYY-MM-DD' | Date property display format |
numberFormat | string | 'decimal' | Number format: decimal, percent, or currency |
selectColors | boolean | true | Color-code select options |
formulaEnabled | boolean | true | Enable computed formula properties |
sourceFolder | string | '' | Folder to scan for notes |
Best Practices
-
Design schemas before creating notes — Define all property names and types in the Base schema before adding notes. Consistent frontmatter properties across notes enable reliable filtering, sorting, and grouping.
-
Use select types for fields with predefined options — Free-text fields create inconsistencies (e.g., "In Progress" vs "in progress" vs "WIP"). Select types constrain values to a defined set, enabling reliable kanban grouping and filtering.
-
Create multiple views for different perspectives — A single Base can have a table view for data entry, a kanban view for workflow management, and a gallery view for visual browsing. Different views serve different use cases without duplicating data.
-
Use compound filters with AND/OR logic — Simple filters are limiting. Combine conditions: "status is 'In Progress' AND priority is 'High'" shows urgent active tasks. Nested conditions enable sophisticated queries.
-
Add default values and validation to properties — Set sensible defaults for new entries (e.g., status defaults to "Todo"). This reduces manual data entry and prevents incomplete records.
Common Issues
Notes don't appear in Base — Notes must have frontmatter properties matching the Base schema. Verify that YAML frontmatter is properly formatted and property names match exactly (case-sensitive).
Kanban columns empty despite notes existing — The groupBy property must match a property name with select-type values. Check that the property exists in both the schema and the note frontmatter.
Formulas return incorrect results — Formula functions operate on the visible (filtered) set, not all notes. Verify the filter isn't excluding rows from the calculation. Check property types — summing text fields returns unexpected results.
Reviews
No reviews yet. Be the first to review this template!
Similar Templates
Full-Stack Code Reviewer
Comprehensive code review skill that checks for security vulnerabilities, performance issues, accessibility, and best practices across frontend and backend code.
Test Suite Generator
Generates comprehensive test suites with unit tests, integration tests, and edge cases. Supports Jest, Vitest, Pytest, and Go testing.
Pro Architecture Workspace
Battle-tested skill for architectural, decision, making, framework. Includes structured workflows, validation checks, and reusable patterns for development.