Obsidian Skills is a collection of instructions that teaches compatible coding agents to work with Obsidian vaults and their open file formats. Users employ the skills to create and edit Obsidian Markdown, Bases, JSON Canvas, and related files through agents such as Claude Code, Codex, and OpenCode. The catalogue entries are the project's own agent skills and plugin packaging.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kepano/obsidian-skills --skill obsidian-basesgit clone --depth 1 https://github.com/kepano/obsidian-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kepano/obsidian-skills/obsidian-bases)<a href="https://agentmods.dev/skills/kepano/obsidian-skills/obsidian-bases"><img src="https://agentmods.dev/badge/skills/kepano/obsidian-skills/obsidian-bases/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kepano/obsidian-skills/obsidian-bases"><img src="https://agentmods.dev/badge/skills/kepano/obsidian-skills/obsidian-bases.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00063 | $0.03467 |
| Opus 5.5 | $0.00025 | $0.01387 |
| Sonnet 5.5 | $0.00013 | $0.00693 |
| Haiku 4.5 | $0.00006 | $0.00347 |
Grade A, and why
obsidian-bases scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
8 near-identical copies found in the catalogue:
- obsidian-bases — 100% identical, 0 lines differ
- obsidian-bases — 100% identical, 14 lines differ
- obsidian-bases — 100% identical, 14 lines differ
- obsidian-bases — 100% identical, 14 lines differ
- obsidian-bases — 100% identical, 0 lines differ
- obsidian-bases — 100% identical, 0 lines differ
- obsidian-bases — 100% identical, 14 lines differ
- obsidian-bases — 100% identical, 14 lines differ
How it starts
The opening of the file, as written. The whole thing — 500 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Obsidian Bases Skill
Workflow
- Create the file: Create a
.basefile in the vault with valid YAML content - Define scope: Add
filtersto select which notes appear (by tag, folder, property, or date) - Add formulas (optional): Define computed properties in the
formulassection - Configure views: Add one or more views (
table,cards,list, ormap) withorderspecifying 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.Xwithout definingXinformulas - Test in Obsidian: Open the
.basefile 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
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 500 lines · 63 tokens per session scan A c0037f20926c
obsidian-bases is a skill published in the GitHub repository kepano/obsidian-skills (50,080 stars, last pushed 1mo ago), licensed MIT. It adds 63 tokens to every session and 3,467 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
coverage-tracker
Run a Google Alerts-style keyword coverage tracker. Uses news-search for recent keyword queries, lets the LLM dedupe and classify real features versus junk, stores decisions in SQLite, and alerts only on new real coverage.
journalist-fit-check
Gate a pitch against one journalist at a time. Runs the pair through proven media-relations checks (last-10-bylines audit, 90-day topic sweep, beat-vs-angle-vs-one-off, the 5 forms of journalism, source-mirror, stated-preferences, database triangulation) and returns fit, soft-fit, no-fit, or unknown with a real recent…
alert
Send an operational alert. Use when asked to send an alert, page, or notification.
notion-artifact-capture
Use when a user says “save to Notion” for research, reports, drafts, references, or generated artifacts and wants a reusable default destination. Bootstraps a generic Notion AI Output Library under a user-created shared parent page, saves typed metadata and optional Markdown, verifies every write through the live API…
save-note
Save a short note to a file. Use when asked to record, save, or jot down a note.
janitor-discover
Find new skills on GitHub or check a specific skill before installing. Use when the user wants to search for skills, evaluate a skill URL, check overlap and security risk before installing, or compare a local skill against alternatives. Trigger with '/janitor-discover'.