obsidianos_work

skill
Security Audit
Pass
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 151 GitHub stars
Code Pass
  • Code scan — Scanned 10 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

ObsidianOS - Work Vault

README.md

ObsidianOS

ObsidianOS: Work

An Obsidian vault wired with AI agent skills — an Agentic Operating System for Thinkers.

Sneak Peek

Slash commands that run inside your vault, powered by any AI agent:

/meeting                  → Create notes from Google Calendar
/cache-notes              → Embed AI meeting transcripts
/fill-participants        → Resolve names to [[@Person]] wikilinks
/followup-todos           → Extract action items as plain markdown bullets (no Tasks checkboxes)
/note-status              → Verify notes are fully processed
/recap                    → Weekly summary from email, Slack, Jira & vault
/commit                   → Stage & commit with inferred intent
/sync-upstream-obsidianos → Pull updates from upstream ObsidianOS

Agent-agnostic — works with Cursor, Claude Code, OpenCode, or any MCP-compatible client. Clone it, fill in USER.md, and go.

Obsidian vault demo

Cursor CLI demo — /recap this week

Compatible agents

Agent Support level Notes
Cursor IDE Full Loads .cursor/rules/ and .cursor/mcp.json automatically
Cursor CLI (cursor) Full Same engine in background/headless mode
Claude Code Full Reads AGENTS.md + CLAUDE.md natively; see CLAUDE.md for QMD MCP setup
OpenCode / Crush Full Reads OpenCode.md; see OpenCode.md for QMD MCP setup
OpenClaw Full Workspace skills in skills/ (symlink to .agents/skills/); config in ~/.openclaw/openclaw.json
Other MCP-compatible clients Partial Can use the QMD MCP server; agent instructions won't auto-load

Skills

Skill What it does
/meeting Create or wrap up meeting notes (from Google Calendar or manual)
/cache-notes Fetch & embed AI meeting transcripts as Obsidian callouts
/fill-participants Resolve names in notes to [[@Person]] wikilinks
/followup-todos Extract action items as plain markdown bullets (no Tasks checkboxes)
/recap Weekly recap from emails, Slack, Jira, and vault notes
/note-status Verify meeting notes are fully processed (Notes, Cache, Participants, Todos)
/commit Stage and commit — accepts file/folder scope, free-text intent, or amend
/sync-upstream-obsidianos Pull structural updates from upstream ObsidianOS
defuddle Clean markdown from URLs via Defuddle CLI
json-canvas JSON Canvas (.canvas) authoring
obsidian-bases Obsidian Bases (.base) views, filters, formulas
obsidian-cli Vault operations via the obsidian CLI (Obsidian must be running)
obsidian-markdown Obsidian Flavored Markdown conventions

Each skill supports multiple sub-commands and arguments — see AGENTS.md for the full reference. Skill proxies: .cursor/skills, .claude/skills, .opencode/skills, and repo-root skills/ are symlinks to .agents/skills/ so Cursor, Claude Code, OpenCode, and OpenClaw share one canonical tree.

Prerequisites

Setup

1. Clone and install

git clone https://github.com/youruser/obsos_work.git
cd obsos_work
npm install

2. Fill in your identity

Edit USER.md with your name, email, timezone, and aliases. This is the single source of truth that all skills reference — no other file needs your personal info.

3. Google Workspace CLI (optional)

Required for /meeting (list today’s Calendar events), /cache-notes / /fill-participants (read Gemini Google Docs), and /recap (Gmail + Calendar). All of these workflows are read-only; use OAuth scopes limited to what you need (e.g. Drive/Docs/Calendar/Gmail readonly).

  1. Install gws — pick one:
    • GitHub Releases (pre-built binary)
    • brew install googleworkspace-cli
    • npm install -g @googleworkspace/cli
  2. Authenticate (browser flow):
gws auth login

Use a scope preset or --scopes that includes readonly access for the APIs you use. Credentials are stored under ~/.config/gws/ by default. Optional env vars: see .env.example and the upstream README.

  1. Command examples for agents are in .agents/skills/_shared/google-workspace-cli.md.

[!NOTE]
Google Workspace is not exposed via MCP in this vault — agents run gws in the terminal. Cursor still loads QMD from .cursor/mcp.json only.

4. QMD vault search (optional)

Required for /recap and vault-wide search. QMD indexes your markdown files for keyword and semantic search.

npx qmd collection add . --name my_vault
npx qmd embed

The npx qmd mcp server (configured in .cursor/mcp.json) will serve searches from this index. Re-run npx qmd embed after adding significant new content.

5. Vault structure

The vault ships with these directories already in place:

Meetings/          Meeting notes (create subfolders per team/project as needed)
Teams/People/      Person files: @Name.md (one per colleague)
Teams/             Team files: +TeamName.md
Templates/         Obsidian templates

A default Teams/People/@Me.md is included as the vault owner's person file. Add subfolders under Meetings/ to organise notes by team or project (e.g. Meetings/Eng/, Meetings/TBs/).

6. Open in Obsidian + Cursor

Open the vault folder in both Obsidian (for viewing/editing notes) and Cursor (for running agent skills). Cursor will auto-load MCP servers from .cursor/mcp.json (this repo ships QMD only) and the rules from .cursor/rules/. Install and log in to gws separately for Google Workspace features.

In Obsidian, hide non-vault folders from the file explorer: go to Settings → Files & Links → Excluded files and add node_modules.

Obsidian plugins

The vault works with vanilla Obsidian, but these community plugins power specific features. Install whichever you need from Settings → Community plugins → Browse.

Required

Plugin ID Used by
Tasks obsidian-tasks-plugin ToDo's.md queries, task checkboxes & priorities elsewhere in the vault
Update modified date frontmatter-modified-date Auto-updates modified: in YAML frontmatter when you edit a note

Recommended

Plugin ID What it adds
Natural Language Dates nldates-obsidian Type @today or @next Monday to insert date links — handy for task due dates
Calendar calendar Sidebar calendar widget for navigating daily/meeting notes by date
Dataview dataview Query engine for vault data — tables, lists, and tasks from frontmatter and inline fields
Open Tab Settings open-tab-settings Tab deduplication and placement control — prevents the same note from opening twice

Optional (cosmetic / workflow)

These are not required by any skill but improve the day-to-day experience:

Plugin ID What it adds
Obsidian Git obsidian-git Auto-backup vault to git on a schedule (alternative to /commit)
Auto Card Link auto-card-link Paste a URL and get a rich preview card
File Explorer Note Count file-explorer-note-count Shows note count badges on folders
Icon Folder obsidian-icon-folder Custom icons on folders and files in the explorer
Custom File Explorer Sorting custom-sort Manual sorting rules for files and folders in the explorer
Cycle Through Panes cycle-through-panes Ctrl/Cmd+Tab to cycle through open tabs like a browser

Optional (agent skills: Obsidian CLI stack)

These line up with the bundled kepano/obsidian-skills agent skills (obsidian-cli, json-canvas, obsidian-bases, obsidian-markdown). None are extra Community plugins unless noted — turn on the features you use, and keep Obsidian running when an agent drives the vault via the Obsidian CLI.

Feature ID / setup Agent skill
Obsidian CLI Install/update from the Obsidian download page; enable CLI support per help obsidian-cli
Canvas Core json-canvas
Bases Core obsidian-bases
Obsidian Flavored Markdown Core obsidian-markdown

The defuddle skill uses the Defuddle CLI (npm install -g defuddle), not an Obsidian plugin.

Updates

If you forked or cloned this repo into a private vault, you can pull structural updates (skills, rules, shared conventions) without overwriting your personal data.

# First time — add the upstream remote
git remote add upstream <url-to-this-repo>

# Pull updates (auto-configures merge driver on first run)
./.scripts/sync-upstream.sh

# Preview what's new without merging
./.scripts/sync-upstream.sh --preview

You can also run /sync-upstream-obsidianos from any supported agent — it wraps the same script with an interactive preview and merge flow.

Personal paths are protected during merges via .gitattributes — your USER.md, Tracker.md, .env, .cursor/mcp.json, Meetings/, Teams/, Templates/, and Recaps/ are always kept as-is. Edit .gitattributes to add or remove protected paths.

Project structure

.agents/skills/       Skill definitions (SKILL.md + supporting scripts)
.agents/rules/        Shared rules (single source of truth for all agents)
.claude/skills/       Symlink → .agents/skills (Claude Code discovery)
.cursor/rules/        Cursor rules (auto-injected by glob; point to .agents/rules/)
.cursor/mcp.json      MCP configuration (QMD vault search)
.cursor/skills/       Symlink → .agents/skills (Cursor)
.opencode/skills/     Symlink → .agents/skills (OpenCode)
skills/               Symlink → .agents/skills (OpenClaw workspace skills)
AGENTS.md             Agent reference: skills, conventions, vault layout
CLAUDE.md             Claude Code instructions + MCP setup
OpenCode.md           OpenCode / Crush instructions + MCP setup
USER.md               Vault owner identity (fill in after cloning)
Templates/            Obsidian note templates

License

MIT

Reviews (0)

No results found