Skip to content
AI & Agents
Skill

/obsidian-bases

内容创作者与技术写作员在管理海量笔记时,当需要构建 Obsidian 数据库视图、配置过滤器或编写 YAML 公式,使用此技能可自动生成标准 .base 文件,轻松实现笔记的表格/卡片多维展示与数据汇总,让知识库管理效率翻倍。

BOOST
From plugin
anbeime-skill
7.4k78 skills
Install
$ npx -y skills add anbeime/skill --skill obsidian-bases --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/obsidian-bases

Context preview

The summary Claude sees to decide when to auto-load this skill.

内容创作者与技术写作员在管理海量笔记时,当需要构建 Obsidian 数据库视图、配置过滤器或编写 YAML 公式,使用此技能可自动生成标准 .base 文件,轻松实现笔记的表格/卡片多维展示与数据汇总,让知识库管理效率翻倍。

SKILL.md

obsidian-bases.SKILL.md
name: obsidian-bases
description: 内容创作者与技术写作员在管理海量笔记时,当需要构建 Obsidian 数据库视图、配置过滤器或编写 YAML 公式,使用此技能可自动生成标准 .base 文件,轻松实现笔记的表格/卡片多维展示与数据汇总,让知识库管理效率翻倍。

Obsidian Bases Skill

This skill enables skills-compatible agents to create and edit valid Obsidian Bases (`.base` files) including views, filters, formulas, and all related configurations.

Overview

Obsidian Bases are YAML-based files that define dynamic views of notes in an Obsidian vault. A Base file can contain multiple views, global filters, formulas, property configurations, and custom summaries.

File Format

Base files use the `.base` extension and contain valid YAML. They can also be embedded in Markdown code blocks.

Complete Schema

# Global filters apply to ALL views in the base
filters:
  # Can be a single filter string
  # OR a recursive filter object with and/or/not
  and: []
  or: []
  not: []

# Define formula properties that can be used across all views
formulas:
  formula_name: 'expression'

# Configure display names and settings for properties
properties:
  property_name:
    displayName: "Display Name"
  formula.formula_name:
    displayName: "Formula Display Name"
  file.ext:
    displayName: "Extension"

# Define custom summary formulas
summaries:
  custom_summary_name: 'values.mean().round(3)'

# Define one or more views
views:
  - type: table | cards | list | map
    name: "View Name"
    limit: 10                    # Optional: limit results
    groupBy:                     # Optional: group results
      property: property_name
      direction: ASC | DESC
    filters:                     # View-specific filters
      and: []
    order:                       # Properties to display in order
      - file.name
      - property_name
      - formula.formula_name
    summaries:                   # Map properties to summary formulas
      property_name: Average

Filter Syntax

Filters narrow down results. They can be applied globally or per-view.

Filter Structure

# Single filter
filters: 'status == "done"'

# AND - all conditions must be true
filters:
  and:
    - 'status == "done"'
    - 'priority > 3'

# OR - any condition can be true
filters:
  or:
    - 'file.hasTag("book")'
    - 'file.hasTag("article")'

# NOT - exclude matching items
filters:
  not:
    - 'file.hasTag("archived")'

# Nested filters
filters:
  or:
    - file.hasTag("tag")
    - and:
        - file.hasTag("book")
        - file.hasLink("Textbook")
    - not:
        - file.hasTag("book")
        - file.inFolder("Required Reading")

Filter Operators

| Operator | Description | |----------|-------------| | `==` | equals | | `!=` | not equal | | `>` | greater than | | `<` | less than | | `>=` | greater than or equal | | `<=` | less than or equal | | `&&` | logical and | | `\|\|` | logical or | | <code>!</code> | logical not |

Properties

Three Types of Properties

1. **Note properties** - From frontmatter: `note.author` or just `author` 2. **File properties** - File metadata: `file.name`, `file.mtime`, etc. 3. **Formula properties** - Computed values: `formula.my_formula`

File Properties Reference

| Property | Type | Description | |----------|------|-------------| | `file.name` | String | File name | | `file.basename` | String | File name without extension | | `file.path` | String | Full path to file | | `file.folder` | String | Parent folder path | | `file.ext` | String | File extension | | `file.size` | Number | File size in bytes | | `file.ctime` | Date | Created time | | `file.mtime` | Date | Modified time | | `file.tags` | List | All tags in file | | `file.links` | List | Internal links in file | | `file.backlinks` | List | Files linking to this file | | `file.embeds` | List | Embeds in the note | | `file.properties` | Object | All frontmatter properties |

The `this` Keyword

  • In main content area: refers to the base file itself
  • When embedded: refers to the embedding file
  • In sidebar: refers to the active file in main content

Formula Syntax

Formulas compute values from properties. Defined in the `formulas` section.

formulas:
  # Simple arithmetic
  total: "price * quantity"

  # Conditional logic
  status_icon: 'if(done, "✅", "⏳")'

  # String formatting
  formatted_price: 'if(price, price.toFixed(2) + " dollars")'

  # Date formatting
  created: 'file.ctime.format("YYYY-MM-DD")'

  # Calculate days since created (use .days for Duration)
  days_old: '(now() - file.ctime).days'

  # Calculate days until due date
  days_until_due: 'if(due_date, (date(due_date) - today()).days, "")'

Functions Reference

Global Functions

| Function | Signature | Description | |----------|-----------|-------------| | `date()` | `date(string): date` | Parse string to date. Format: `YYYY-MM-DD HH:mm:ss` | | `duration()` | `duration(string): duration` | Parse duration string | | `now()` | `now(): date` | Current date and time | | `today()` | `today(): date` | Current date (time = 00:00:00) | | `if()` | `if(condition, trueResult, falseResult?)` | Conditional | | `min()` | `min(n1, n2, ...): number` | Smallest number | | `max()` | `max(n1, n2, ...): number` | Largest number | | `number()` | `number(any): number` | Convert to number | | `link()` | `link(path, display?): Link` | Create a link | | `list()` | `list(element): List` | Wrap in list if not already | | `file()` | `file(path): file` | Get file object | | `image()` | `image(path): image` | Create image for rendering | | `icon()` | `icon(name): icon` | Lucide icon by name | | `html()` | `html(string): html` | Render as HTML | | `escapeHTML()` | `escapeHTML(string): string` | Escape HTML characters |

Any Type Functions

| Function | Signature | Description | |----------|-----------|-------------| | `isTruthy()` | `any.isTruthy(): boolean` | Coerce to boolean | | `isType()` | `any.isType(type): boolean` | Check type | | `toString()` | `any.toString(): string` | Convert to string |

Date Functions & Fields

*

Read more
Ships withanbeime-skill

收录最全、更新最快的AI Agent技能库,涵盖文档处理、内容创作、编程开发、机器学习、自动化工作流等多个领域的精选技能包。 🧠 知易智能基座 :20+模型自由切换,知识永远留在你手里 —一个对话框调度所有模型,240+技能即插即用,四色卡片让AI真正记住你。 👉 申请体验

Get the whole plugin
Stats
7,502
Stars
683
Forks
Active
Maintenance
Python
Language
6h ago
Last commit
8mo ago
Created
3h ago
Added

Repo: anbeime/skill

Other skills on anbeime-skill.

agent-team
Skill

agent-team

产品经理与项目管理专家在应对复杂项目时,使用此技能可动态组建包含“执行、指挥、评审”的专属AI团队。实时查看多智能体辩论与决策全过程,共享统一上下文记忆,一键完成从会议决策到系统构建的全流…

agentkit-multimedia-shopping
Skill

agentkit-multimedia-sh…

电商运营与内容创作者在需要制作带货短视频时,用此技能一键生成9:16竖屏数字人成片。自动编排AI绘画、语音合成与视频生成,快速产出“小省导购员”专属形象与专业配音,让多模态视频制作省时省力…