Skills Plugins MCP Prompt Model 博客 我的中心
开发编程 #data #database

obsidian-bases

Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.

DeepseekModel 官方收录技能 质量 优秀 · 90 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=kepano-obsidian-skills-skills-obsidian-bases-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name obsidian-bases description Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian. Obsidian Bases Skill Workflow Create the file : Create a .base file in the vault with valid YAML content Define scope : Add filters to select which notes appear (by tag, folder, property, or date) Add formulas (optional): Define computed properties in the formulas section Configure views : Add one or more views ( table , cards , list , or map ) with order specifying which properties to display Validate : Verify the file is valid YAML with no syntax errors. Check that all referenced properties and formulas exist. Common issues: unquoted strings containing special YAML characters, mismatched quotes in formula expressions, referencing formula.X without defining X in formulas Test in Obsidian : Open the .base file in Obsidian to confirm the view renders correctly. If it shows a YAML error, check quoting rules below Schema Base files use the .base extension and contain valid YAML. # Global filters apply to ALL views in the base filters: # Can be a single filter string # OR a recursive filter object with exactly ONE key: and, or, or not and: - 'status == "active"' - not: - 'file.hasTag("archived")' # 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 follow the same rules and: - 'status == "active"' 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 ! logical not Properties Three Types of Properties Note properties - From frontmatter: note.author or just author File properties - File metadata: file.name , file.mtime , etc. 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, "")' Key Functions Most commonly used functions. For the complete reference of all types (Date, String, Number, List, File, Link, Object, RegExp), see FUNCTIONS_REFERENCE.md . Function Signature Description date() date(string): date Parse string to date ( YYYY-MM-DD HH:mm:ss ) now() now(): date Current date and time today() today(): date Current date (time = 00:00:00) if() if(condition, trueResult, falseResult?) Conditional duration() duration(string): duration Parse duration string file() file(path): file Get file object link() link(path, display?): Link Create a link Duration Type When subtracting two dates, the result is a Duration type (not a number). Duration Fields: duration.days , duration.hours , duration.minutes , duration.seconds , duration.milliseconds IMPORTANT: Duration does NOT support .round() , .floor() , .ceil() directly. Access a numeric field first (like .days ), then apply number functions. # CORRECT: Calculate days between dates "(date(due_date) - today()).days" # Returns number of days "(now() - file.ctime).days" # Days since created "(date(due_date) - today()).days.round(0)" # Rounded days # WRONG - will cause error: # "((date(due) - today()) / 86400000).round(0)" # Duration doesn't support division then round Date Arithmetic # Duration units: y/year/years, M/month/months, d/day/days, # w/week/weeks, h/hour/hours, m/minute/minutes, s/second/seconds "now() + \"1 day\"" # Tomorrow "today() + \"7d\"" # A week from today "now() - file.ctime" # Returns Duration "(now() - file.ctime).days" # Get days as number View Types Table View views: - type: table name: "My Table" order: - file.name - status - due_date summaries: price: Sum count: Average Cards View views: - type: cards name: "Gallery" order: - file.name - cover_image - description List View views: - type: list name: "Simple List" order: - file.name - status Map View Requires latitude/longitude properties and the Maps community plugin. views: - type: map name: "Locations" # Map-specific settings for lat/lng properties Default Summary Formulas Name Input Type Description Average Number Mathematical mean Min Number Smallest number Max Number Largest number Sum Number Sum of all numbers Range Number Max - Min Median Number Mathematical median Stddev Number Standard deviation Earliest Date Earliest date Latest Date Latest date Range Date Latest - Earliest Checked Boolean Count of true values Unchecked Boolean Count of false values Empty Any Count of empty values Filled Any Count of non-empty values Unique Any Count of unique values Complete Examples Task Tracker Base filters: and: - file.hasTag("task") - 'file.ext == "md"' formulas: days_until_due: 'if(due, (date(due) - today()).days, "")' is_overdue: 'if(due, date(due) < today() && status != "done", false)' priority_label: 'if(priority == 1, "🔴 High", if(priority == 2, "🟡 Medium", "🟢 Low"))' properties: status: displayName: Status formula.days_until_due: displayName: "Days Until Due" formula.priority_label: displayName: Priority views: - type: table name: "Active Tasks" filters: and: - 'status != "done"' order: - file.name - status - formula.priority_label - due - formula.days_until_due groupBy: property: status direction: ASC summaries: formula.days_until_due: Average - type: table name: "Completed" filters: and: - 'status == "done"' order: - file.name - completed_date Reading List Base filters: or: - file.hasTag("book") - file.hasTag("article") formulas: reading_time: 'if(pages, (pages * 2).toString() + " min", "")' status_icon: 'if(status == "reading", "📖", if(status == "done", "✅", "📚"))' year_read: 'if(finished_date, date(finished_date).year, "")' properties: author: displayName: Author formula.status_icon: displayName: "" formula.reading_time: displayName: "Est. Time" views: - type: cards name: "Library" order: - cover - file.name - author - formula.status_icon filters: not: - 'status == "dropped"' - type: table name: "Reading List" filters: and: - 'status == "to-read"' order: - file.name - author - pages - formula.reading_time Daily Notes Index filters: and: - file.inFolder("Daily Notes")
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。