My LLM Wiki
MartinLwx/dotfiles
Provides access to the user's personal wiki, including notes, research, project documentation, decisions, and archived knowledge.
Explains, drafts and validates Obsidian Bases .base files, building filters, formulas and table, card or list views, and applying edits only through one inspected transaction.
$ npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AgriciDaniel/claude-obsidian obsidian-bases --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/obsidian-bases .claude/skills/obsidian-bases && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "obsidian-bases" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-bases into .claude/skills/obsidian-bases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-bases", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-basesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AgriciDaniel/claude-obsidian obsidian-bases --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/obsidian-bases .agents/skills/obsidian-bases && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "obsidian-bases" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-bases into .agents/skills/obsidian-bases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-bases", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AgriciDaniel/claude-obsidian obsidian-bases --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/obsidian-bases .cursor/skills/obsidian-bases && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "obsidian-bases" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-bases into .cursor/skills/obsidian-bases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-bases", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AgriciDaniel/claude-obsidian.git --path skills/obsidian-bases--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AgriciDaniel/claude-obsidian obsidian-bases --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/obsidian-bases .gemini/skills/obsidian-bases && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "obsidian-bases" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-bases into .gemini/skills/obsidian-bases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-bases", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AgriciDaniel/claude-obsidian obsidian-basesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/obsidian-bases .github/skills/obsidian-bases && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "obsidian-bases" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-bases into .github/skills/obsidian-bases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-bases", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AgriciDaniel/claude-obsidian obsidian-bases --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/obsidian-bases .opencode/skills/obsidian-bases && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "obsidian-bases" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/obsidian-bases into .opencode/skills/obsidian-bases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-bases", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
obsidian-basesExplains, drafts and validates Obsidian Bases .base files, building filters, formulas and table, card or list views, and applying edits only through one inspected transaction.
The skill treats this content as a compact fallback reference, preferring a separately installed Bases skill or the official Bases syntax documentation for detailed or version-sensitive fields. Design and syntax questions are answered read-only; a requested edit instead resolves the user's vault and goes through one inspected transaction rather than writing the .base file directly, with the skill's own product root and script path resolved from its own installed location, never from the vault or the current working directory.
The workflow inspects representative note properties and any existing .base file, defines the smallest filter that selects the intended notes, adds formulas only where a value must be computed, and chooses views without assuming a type is supported by the user's Obsidian version or plugins, validating YAML, expression quoting and property names before previewing the complete file and its expected result set. An edit is built as one transaction bundle, inspected, then applied once with an approval hash set only after review; a .base file is YAML with top-level keys such as filters, formulas, properties, summaries and views.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 32ac5a0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
help.obsidian.mdFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Obsidian Bases Editor loads about 1.2k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 422 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from AgriciDaniel/claude-obsidian at commit 32ac5a0, republished under its MIT licence (© AgriciDaniel). 422 words, ~1,169 tokens.
.claude/skills/obsidian-bases/SKILL.md (or your agent's skills folder).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.
Inspect representative note properties and any existing .base file.
Define the smallest filter that selects the intended notes.
Add formulas only for values that must be computed.
Choose views and display order. Do not assume a view type or option is supported by the user's Obsidian version or installed plugins.
Validate YAML, expression quoting, property names, formula references, and null handling.
Preview the complete file and expected result set before a mutation.
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"Ask the user to render the Base in Obsidian when application-level behavior cannot be verified locally.
.base files are YAML. Common top-level keys are filters, formulas,
properties, summaries, and views.
filters:
and:
- file.inFolder("wiki")
- 'status != "archived"'
formulas:
age_days: '((now() - file.ctime) / 86400000).round(0)'
status_label: 'if(status == "mature", "Ready", "Review")'
properties:
status:
displayName: "Status"
formula.age_days:
displayName: "Age (days)"
views:
- type: table
name: "Wiki pages"
order:
- file.name
- type
- status
- updated
- formula.age_daysGlobal 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>.
if().86400000
before rounding when a whole-day count is intended.formula.<name> before referencing it in a view or property
display configuration.from or where into a Base.formulas:
days_until: 'if(due_date, ((date(due_date) - today()) / 86400000).round(0), "")'Table, cards, and list views are common:
views:
- type: cards
name: "Reading list"
order:
- file.name
- author
- status
- type: list
name: "Quick list"
order:
- file.name
- statusEmbed 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.
© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/obsidian-bases of AgriciDaniel/claude-obsidian.
Open the folder on GitHubat commit 32ac5a0
Obsidian Bases Editor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Obsidian Bases Editor this skillAgriciDaniel/claude-obsidian | 15k | — | ~1.2k | Automated safety check: Pass | MIT | |
| My LLM WikiMartinLwx/dotfiles | 140 | — | ~2.7k | Automated safety check: Pass | None | |
| Obsidian Knowledge BuilderMichael-OvO/obsidian-knowledge-agent | 205 | — | ~917 | Automated safety check: Pass | MIT | |
| NexusProfSynapse/nexus | 157 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Obsidian Project Knowledge BaseGalaxy-Dawn/claude-scholar | 5.7k | — | ~551 | Automated safety check: Pass | MIT | |
| Obsidian Vault Operationsballred/obsidian-claude-pkm | 1.9k | — | ~652 | Automated safety check: Pass | MIT |
MartinLwx/dotfiles
Provides access to the user's personal wiki, including notes, research, project documentation, decisions, and archived knowledge.
Michael-OvO/obsidian-knowledge-agent
Turns PDFs, slides, syllabi, papers and transcripts into structured, teaching-quality Obsidian notes, matching how much structure is built to how much the material needs.
ProfSynapse/nexus
Read, search, and edit the user's Obsidian vault (notes, folders, canvas, bases, tasks, memory/workspaces, saved prompts) from the shell via the nexus CLI — no MCP connection needed.
Galaxy-Dawn/claude-scholar
Maintains a project-scoped Obsidian research knowledge base: bootstrapping its folders, routing notes, updating hub, plan and index notes, and linting.
ballred/obsidian-claude-pkm
Reads, creates and edits notes in an Obsidian vault while preserving wiki-links, YAML frontmatter, tags and template variables.
twhsi/skills
Assigns and checks Luhmann-style codes for book manuscript notes and Obsidian card folders without renumbering existing notes.
AgriciDaniel/claude-obsidian
Runs a bounded, source-grounded research loop that drafts a cited dossier and can propose a separately reviewed merge into an Obsidian vault.
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
AgriciDaniel/claude-obsidian
Sets up or adopts a separate Obsidian knowledge vault through the claude-obsidian core script and routes follow-up work to the right wiki sub-skill.
AgriciDaniel/claude-obsidian
Creates a bounded, extractive rollup of recent Obsidian wiki log entries, previewed by default, with one optional apply step and no changes to child pages.
AgriciDaniel/claude-obsidian
Plans, and with explicit network consent runs, an external Defuddle extractor that turns an article-like HTTPS page into clean Markdown for later wiki ingestion.
AgriciDaniel/claude-obsidian
Explains, drafts and validates Obsidian Flavored Markdown such as properties, wikilinks, embeds, callouts and Mermaid, with vault edits applied through approved transactions.
Works with
Categories
Explains, drafts and validates Obsidian Bases .base files, building filters, formulas and table, card or list views, and applying edits only through one inspected transaction. The skill treats this content as a compact fallback reference, preferring a separately installed Bases skill or the official Bases syntax documentation for detailed or version-sensitive fields.base file directly, with the skill's own product root and script path resolved from its own installed location, never from the vault or the current working directory.
Obsidian Bases Editor fits situations like: drafting a new Obsidian Bases .base file with filters and views; adding a computed formula column to an existing Base; editing an existing .base file's filters or view configuration safely.
Run `npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a claude-code`. Or copy the skill folder (skills/obsidian-bases in AgriciDaniel/claude-obsidian) into .claude/skills/obsidian-bases in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a codex`. Or copy the skill folder (skills/obsidian-bases in AgriciDaniel/claude-obsidian) into .agents/skills/obsidian-bases in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/claude-obsidian --skill obsidian-bases -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/obsidian-bases, .gemini/skills/obsidian-bases, .github/skills/obsidian-bases and .opencode/skills/obsidian-bases in your project.
Going by SKILL.md and its folder, Obsidian Bases Editor needs the command-line tools its instructions call (python3). Our summary lists: An Obsidian vault with the Bases feature.
SKILL.md names 1 domain. As links in the text: help.obsidian.md. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Obsidian Bases Editor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Obsidian Bases Editor: My LLM Wiki (MartinLwx/dotfiles, 140 stars), Obsidian Knowledge Builder (Michael-OvO/obsidian-knowledge-agent, 205 stars), Nexus (ProfSynapse/nexus, 157 stars) and Obsidian Project Knowledge Base (Galaxy-Dawn/claude-scholar, 5.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-obsidian, which has 15,420 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on September 10, 2026.
Source: AgriciDaniel/claude-obsidian on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.