agentleFS
AgriciDanielAgriciDaniel/claude-obsidian/skills/obsidian-bases/SKILL.md

obsidian-bases

Skill16k starsChanged 52 days agoMITView on GitHub

Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, list, or version-gated kanban views. Use for Obsidian Bases, database-like vault views, dynamic tables, reading lists, task trackers, filters, formulas, summaries, and .base file edits.

We split this skill into the rules it gives an agent

9 rules. 0 are common, 4 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 74 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this as a compact workflow and fallback syntax reference.

    line 8
  2. Very specific:

    Every ../wiki/references/ link in this file resolves the same way, relative to this skill's own directory under $PRODUCT_ROOT, never …

    line 26
  3. Distinctive:

    Add formulas only for values that must be computed.

    line 34
  4. Very specific:

    If an edit was requested, read operation-transactions.md, keep the .base file under wiki/, and build one claude-obsidian.transaction.v1 …

    line 40
  5. Very specific:

    Use note properties by name, file metadata as file.name, file.path, file.folder, file.ext, file.ctime, file.mtime, or file.tags, and …

    line 105
  6. Very specific:

    Do not transplant Dataview-only keys such as from or where into a Base.

    line 118
  7. Distinctive:

    Do not invent properties absent from the selected notes without explaining that the resulting column will be empty.

    line 119
  8. Distinctive:

    No native app observation in this update resolves that disagreement.

    line 131
  9. Distinctive:

    After an applied edit, report the operation ID, exact changed path, validation performed, and anything that still requires rendering in …

    line 206

“Common” is measured: kept by at least 6 in 10 of the 74 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Obsidian Bases

Use this as a compact workflow and fallback syntax reference. Prefer a separately installed kepano/obsidian-skills obsidian-bases skill, then the current official Bases syntax, for detailed or version-sensitive fields and functions.

Answer design and syntax questions read-only. For a requested .base edit, resolve the user vault and use one inspected transaction; never write the file directly.

Resolve the installed product root from this skill's own location, not from the vault or current working directory:

PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"

Every ../wiki/references/ link in this file resolves the same way, relative to this skill's own directory under $PRODUCT_ROOT, never relative to the selected vault's wiki/ directory.

Workflow

  1. Inspect representative note properties and any existing .base file.
  2. Define the smallest filter that selects the intended notes.
  3. Add formulas only for values that must be computed.
  4. Choose views and display order. Do not assume a view type or option is supported by the user's Obsidian version or installed plugins.
  5. Validate YAML, expression quoting, property names, formula references, and null handling.
  6. Preview the complete file and expected result set before a mutation.
  7. If an edit was requested, read operation-transactions.md, keep the .base file under wiki/, and build one claude-obsidian.transaction.v1 bundle with operation_type: base. Inspect it, then set APPROVAL_SHA256 to the returned approval_sha256 only after review and apply once:

    python3 "$CORE" transaction inspect "$BUNDLE" --vault "$VAULT"
    python3 "$CORE" transaction apply "$BUNDLE" --vault "$VAULT" \
      --approved-plan-sha256 "$APPROVAL_SHA256"
  8. Record static validation separately from native Obsidian rendering. Follow the conformance procedure when application behavior cannot be verified locally. Never label unobserved output as tested.

Version boundary

Checked 2026-10-17 against official view documentation. Table and cards require 1.9+, list requires 1.10+, and native kanban requires 1.14+. Map requires the Maps plugin. These are documented minimum versions, not versions exercised by this package's offline tests. On an older app, keep an ordinary table fallback. Preserve unknown existing view fields.

Compact schema

.base files are YAML. Common top-level keys are filters, formulas, properties, summaries, and views.

filters:
  and:
    - file.inFolder("wiki")
    - 'status != "archived"'

formulas:
  status_label: 'if(status == "mature", "Ready", "Review")'

properties:
  status:
    displayName: "Status"

views:
  - type: table
    name: "Wiki pages"
    order:
      - file.name
      - type
      - status
      - updated
      - formula.status_label

Global filters apply to every view. A view may also define its own filters. Recursive filter objects use one of and, or, or not at each level.

filters:
  or:
    - file.hasTag("concept")
    - and:
        - file.hasTag("source")
        - 'status == "active"'

Use note properties by name, file metadata as file.name, file.path, file.folder, file.ext, file.ctime, file.mtime, or file.tags, and computed properties as formula.<name>.

Formula and YAML rules

  • Quote expressions that contain operators, colons, or nested string quotes.
  • Guard nullable properties with if().
  • Date subtraction has conflicting current source descriptions. Treat the examples in the date section below as unverified compatibility candidates, and test the user's supported app versions before relying on the output.
  • Define every formula.<name> before referencing it in a view or property display configuration.
  • Do not transplant Dataview-only keys such as from or where into a Base.
  • Do not invent properties absent from the selected notes without explaining that the resulting column will be empty.

Date arithmetic needs native evidence

The Help syntax checked 2026-10-17 still describes date differences in milliseconds. The official 1.9.3 changelog describes a Duration, and the pinned upstream skill also uses a Duration field. The recorded excerpts of the API types at the reviewed commit do not include a Duration definition, so they are not cited for either reading. No native app observation in this update resolves that disagreement.

These retained millisecond expressions are candidates for an isolated test, not a compatibility guarantee:

formulas:
  age_days: '((now() - file.ctime) / 86400000).round(0)'
  days_until: 'if(due_date, ((date(due_date) - today()) / 86400000).round(0), "")'

Compare direct subtraction/division, the Duration day field, and explicit number(date) subtraction using one-day, multi-month, negative, and missing values. Record app version, timezone, expression, actual value/type, and errors using native-conformance.md. Do not rewrite existing formulas or assert that any candidate is correct before that check.

Additional views

Cards and list examples:

views:
  - type: cards
    name: "Reading list"
    order:
      - file.name
      - author
      - status
  - type: list
    name: "Quick list"
    order:
      - file.name
      - status

For Obsidian 1.14+, group a kanban by an existing writable note property:

filters:
  and:
    - file.inFolder("wiki")
    - 'file.ext == "md"'
views:
  - type: kanban
    name: "Page status"
    groupBy:
      property: note.status
      direction: ASC
    groupOrder:
      - seed
      - developing
      - mature
      - evergreen
      - null
    order:
      - file.name
      - status

groupOrder lists visible groups in display order. An absent groupOrder shows all groups using the groupBy sort; an empty list hides every group. null includes pages without the grouped value. Adding an empty group does not create a note. Native card moves can change a note property, and grouping by file.folder can move files; agents must still use reviewed transactions for vault mutations. A formula or other read-only file property is unsuitable for an editable status board. See Kanban view.

Embed a Base or one named view in a Markdown note:

![[Dashboard.base]]
![[Dashboard.base#Wiki pages]]

After an applied edit, report the operation ID, exact changed path, validation performed, and anything that still requires rendering in Obsidian. Do not commit Git.

Download now (ZIP)

Trending

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Aug 30: 0 new projectsWeek of Sep 6: 0 new projectsWeek of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projects
Aug 2026Sep 2026Oct 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Who's talking about AgriciDaniel/claude-obsidian

The biggest 5 of 68 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 68

Talked about on GitHub, YouTube and Bluesky (68 times).

On GitHub · 37

32 more on GitHub

On YouTube · 25

20 more on YouTube

On Bluesky · 6

1 more on Bluesky
  • Other versions76 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 76

    1. kepano/obsidian-skills★ 49ksame name
    2. anbeime/skill★ 7.9ksame name
    3. breferrari/obsidian-mind★ 5.4ksame name
    4. Atmosphere/atmosphere★ 3.8ksame name
    5. heyitsnoah/claudesidian★ 2.6ksame name
    6. pedronauck/skills★ 641same name
    7. freestylefly/canghe-skills★ 461same name
    8. edrickleong/obsidian-calendar-bases★ 186same name
    9. benoror/obsidianos_work★ 166same name
    10. bozhouDev/video-skills-toolkit★ 147same name

    66 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use obsidian-cli, knap and 7 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • jykimSkill

      obsidian-cli

      Interact with Obsidian using the official CLI to read, search, create, and manage notes, daily notes, tasks, properties, and more. Use when the user wants to query or manipulate vault content via the obsidian command.

      Also in 45 projects that use this

    • lucasmaher-hashSkill

      knap

      Render Markdown from templates and structured data using Knap CLI. Use when the user asks to apply a Knap template, turn JSON or CSV data into notes, batch-generate Markdown files, or format Defuddle output into a note.

      Also in 4 projects that use this

    • pedronauckSkill

      alex-hormozi-pitch

      Create irresistible offers and pitches using Alex Hormozi's methodology from $100M Offers. Guides through value equation, guarantee frameworks, pricing psychology, and creating offers "too good not to take" for any product or service.

      Also in 3 projects that use this

    • BCS1037Skill

      mermaid-visualizer

      Transform text content into professional Mermaid diagrams for presentations and documentation. Use when users ask to visualize concepts, create flowcharts, or make diagrams from text. Supports process flows, system architectures, comparisons, mindmaps, and more with built-in syntax error prevention.

      Also in 4 projects that use this

    • az9713Skill

      vault-health

      Audit vault health: unresolved links, orphan notes, dead-end files, missing frontmatter, structural gaps. Produces an actionable report note with prioritized fix suggestions. Use when wanting to clean up, organize, or assess the current state of the vault.

      Also in 3 projects that use this

    • 0xHoneyJarSkill

      qmd

      Local markdown search engine for knowledge bases, notes, and documentation. Combines BM25 full-text search, vector semantic search, and LLM re-ranking. Use when searching through markdown notes, retrieving documents, or managing knowledge collections.

      Also in 5 projects that use this

  • In this repository17 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.