agentsclimarketplace

Obsidian vault

Skill risadams/ink-and-agency/skills/obsidian/obsidian-vault

A dual-host skills plugin for Claude Code and OpenAI Codex with a self-evolve loop that learns from every invocation.

Install
npx -y skills add risadams/ink-and-agency --skill obsidian-vault

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

SKILL.md

4.0 KB, as published. Nobody here has run it

Obsidian Vault

Vault location

Assume the user is running this skill from inside a vault. Resolve the vault root using git:

VAULT=$(git rev-parse --show-toplevel)

All commands below use $VAULT. Mostly flat at root level.

Naming conventions

  • Index notes: aggregate related topics (e.g., Ralph Wiggum Index.md, Skills Index.md, RAG Index.md)
  • Title case for all note names
  • No folders for organization - use links and index notes instead

Linking

  • Use Obsidian [[wikilinks]] syntax: [[Note Title]]
  • Notes link to dependencies/related notes at the bottom
  • Index notes are just lists of [[wikilinks]]

Workflows

Search for notes

VAULT=$(git rev-parse --show-toplevel)

# Search by filename
find "$VAULT" -name "*.md" | grep -i "keyword"

# Search by content
grep -rl "keyword" "$VAULT" --include="*.md"

Or use Grep/Glob tools directly on the vault path.

Create a new note

  1. Use Title Case for filename
  2. Write content as a unit of learning (per vault rules)
  3. Add [[wikilinks]] to related notes at the bottom
  4. If part of a numbered sequence, use the hierarchical numbering scheme

Find related notes

Search for [[Note Title]] across the vault to find backlinks:

VAULT=$(git rev-parse --show-toplevel)
grep -rl "\\[\\[Note Title\\]\\]" "$VAULT"

Find index notes

VAULT=$(git rev-parse --show-toplevel)
find "$VAULT" -name "*Index*"

Find untagged references

Detect note titles mentioned in prose that aren't wrapped in [[wikilinks]]. This catches references the author forgot to link.

  1. Build a list of all note titles (filenames without .md)
  2. For each title, search the vault for occurrences that are NOT inside [[ ]]
  3. Report the file, line, and unlinked mention
VAULT=$(git rev-parse --show-toplevel)

# Get all note titles
titles=$(find "$VAULT" -name "*.md" -printf '%f\n' | sed 's/\.md$//')

# For each title, find mentions not wrapped in [[ ]]
for title in $titles; do
  grep -rn --include="*.md" "$title" "$VAULT" \
    | grep -v "\[\[$title\]\]" \
    | grep -v "^.*/$title\.md:"
done

Or use Grep to search for a specific title and manually check which hits lack wikilink syntax.

Find duplicate or misspelled tags

Detect tags that look like near-duplicates (case differences, typos, plural/singular variants).

  1. List all unique tags across the vault:
VAULT=$(git rev-parse --show-toplevel)

grep -roh '#[A-Za-z0-9_/-]\+' "$VAULT" --include="*.md" \
  | sort | uniq -c | sort -rn
  1. Find case-insensitive duplicates (e.g., #RAG vs #rag vs #Rag):
grep -roh '#[A-Za-z0-9_/-]\+' "$VAULT" --include="*.md" \
  | sort -u | awk '{lower=tolower($0); if (seen[lower]++) print prev[lower], $0; else prev[lower]=$0}'
  1. Spot low-frequency tags that may be typos of common ones:
grep -roh '#[A-Za-z0-9_/-]\+' "$VAULT" --include="*.md" \
  | sort | uniq -c | sort -n | head -30

Review the low-count tags against the high-count list. Tags used only once or twice are likely misspellings of an existing tag.

  1. Find where a suspicious tag is used so you can fix it:
grep -rn '#suspicioustag' "$VAULT" --include="*.md"

Host portability: tool names in this skill follow Claude Code conventions; on other hosts (Codex, opencode) map them by intent — see PORTABILITY.md.

<!-- self-evolve:start -->

Self-Evolve Loop

Journal: ~/.ink-and-agency/learnings/obsidian-vault.md (workspace-local .ink-and-agency/learnings/obsidian-vault.md where the sandbox confines writes). Read it first, append what the run taught last — SELF-EVOLVE.md.

<!-- self-evolve:end -->

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.