obsidian-ops
Skill68 starsChanged 23 days agoMITView on GitHub
Processes meeting transcripts into structured notes and tracks projects in an Obsidian vault, keeping linked hub notes current after every edit. Use when the user mentions "meeting notes," "process this meeting," "transcript," "project status," "create a project," "update project," "what did we decide," "what's active," "Obsidian," or "vault." Modes: process, project.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- davidvkimball/obsidian-dev-skillstheir own version, first seen Jan 22, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- davidvkimball/obsidian-dev-skills★ 51same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository33 other files it gives its agents.
- ad-creativeSkill
- agent-skill-builderSkill
- ai-content-generationSkill
- ai-humanizerSkill
- case-study-builderSkill
- clay-gtm-outboundSkill
- competitive-intelligenceSkill
- copy-anatomySkill
- customer-segmentsSkill
- domain-healthSkill
- experimentationSkill
- icp-personaSkill
- landing-pageSkill
- lifecycle-marketing-campaignsSkill
- marketing-advantagesSkill
- marketing-product-ideasSkill
- n8n-automationSkill
- outbound-engineSkill
- performance-marketingSkill
- portfolio-positioningSkill
- press-releaseSkill
- product-launch-gtmSkill
- product-marketing-metricsSkill
- product-messagingSkill
- product-onboarding-activationSkill
- product-positioningSkill
- prospect-scraperSkill
- remotionSkill
- saas-landing-pagesSkill
- seo-auditSkill
- skill-to-promptSkill
- storytelling-frameworkSkill
- vibe-codingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 12 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
If none of these exist, ask for the vault path once and suggest saving it to CLAUDE.md so later sessions find it.
- Distinctive: line 26
Use when the user mentions meeting notes, a transcript, processing a meeting, project status, creating or updating a project, past …
- Distinctive: line 55
Ask before updating only when the update needs a fact the user has to supply, such as a price, an outcome, or a contact name.
- Distinctive: line 79
Every note gets YAML frontmatter with these standard fields.
- Distinctive: line 165
After creating the note, report:
- Very specific: line 174
Do not invent content. If part of the transcript is unclear, mark it [unclear] or ask.
- Distinctive: line 175
Keep the original meaning.
- Very specific: line 185
Read every file in Work/Projects/ with status: active and display:
- Very specific: line 196
Search Work/Projects/ for a matching file and display its full contents.
- Distinctive: line 200
Ask the user for:
- Very specific: line 211
Create the file at Work/Projects/[Project Name].md from the vault's project template if one exists in System/Templates/.
- Distinctive: line 215
Read the existing project file and ask what to update:
- Distinctive: line 217
Add a status update entry (what happened, what's next)
- Distinctive: line 218
Update task statuses (mark done, add new tasks)
- Distinctive: line 220
Update the target date
- Distinctive: line 228
When invoked without arguments, infer the mode from the conversation:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
obsidian-ops
An operations system that uses an Obsidian vault as the single source of truth for meetings and projects.
Setup
Find the vault before doing anything else. Check, in order:
- A vault path the user gives in the conversation
- The
OBSIDIAN_VAULTenvironment variable - A
vault:line in the project'sCLAUDE.md
If none of these exist, ask for the vault path once and suggest saving it to CLAUDE.md so later sessions find it.
The folder names below are defaults. If the vault already uses a different structure, follow the vault's structure and map each default to its nearest equivalent.
When to Use
Use when the user mentions meeting notes, a transcript, processing a meeting, project status, creating or updating a project, past decisions, active work, Obsidian, or the vault.
Invocation
/obsidian-ops process # Process a meeting transcript
/obsidian-ops project # Create, view, or update a project
/obsidian-ops # Auto-detect from conversationHub Freshness Rule
This rule applies to every vault edit, including edits made outside this skill.
At the end of any vault edit, update every hub note and cross-linked note the edit affects. Do the updates without asking. A hub is any note that summarizes and links a body of work, such as a project note, a client hub, a campaign hub, or an index note.
Standard updates after any edit:
- Frontmatter:
status,last_touch_date, and any status-specific dates - Milestone tables, decision logs, and outreach or export logs
- Next-action tasks
- Back-references, so every note the edit links to links back where it should
Reconcile ## Next Actions before adding to it. This is the most-skipped step. Each time you open a hub's task list, check off everything completed with the date, delete obsolete or superseded tasks and dead sub-sections, and merge duplicates. Then add new forward tasks. Next Actions holds live forward work only. Completed items and abandoned tracks belong in the hub's logs. Refresh any stale status summary line so it describes today. Don't add speculative tasks nobody will return to.
Write current-state documents. Every note this skill creates or updates should read as if written in one pass by someone who already knew everything now known. When facts change mid-session, rewrite the affected section in place and fix anything else in the note, or in sibling notes, that the change contradicts. Never append dated addenda, **Update:** blocks, or change narration such as (corrected 2026-09-11). History goes in one short line in the hub's log.
Ask before updating only when the update needs a fact the user has to supply, such as a price, an outcome, or a contact name. Keep those blocked items in one pending-updates note so they don't get lost.
Vault Structure (defaults)
+Inbox/ Raw transcripts and captures waiting to be processed
Work/
Meetings/ Processed meeting notes
Projects/ All projects (status in frontmatter)
Session-Logs/ AI session logs
Archive/ Historical material
Personal/
Calendar/
Daily/ Daily notes
Weekly/ Weekly reviews
System/
Templates/ Note templates
Dashboards/ Dataview dashboardsFrontmatter Standards
Every note gets YAML frontmatter with these standard fields. Consistent fields are what let Dataview dashboards query decisions, tasks, and project status across the vault.
| Field | Values | Required |
type | meeting, project, session, daily | Yes |
date | YYYY-MM-DD | Yes |
status | active, completed, on-hold, archived | For projects |
project | Project name | If work-related |
client | Client or company name | If client work |
meeting_type | strategy, standup, planning, review, general | For meetings |
attendees | List of names | For meetings |
priority | critical, high, medium, low | For projects |
owner | Person responsible | For projects |
target_date | YYYY-MM-DD | For projects |
tags | List of tags | Optional |
Mode 1: Process Meeting Transcript (/obsidian-ops process)
Input
Accept any of:
- A transcript pasted into the conversation
- A file path to a transcript (.txt, .md)
- A file in the
+Inbox/folder
Workflow
Step 1: Parse and extract
From the transcript, extract:
- Date, from metadata, the filename, or the content
- Participants, the list of attendees
- Meeting type, inferred from content (strategy, standup, planning, review, general)
- Client or project, if identifiable
- Summary, a 2-3 sentence overview
- Key points, each distinct topic with its key details
- Decisions, each explicit decision with its owner if stated
- Action items, covering who, what, and by when (if stated)
- Project references, meaning updates on existing projects. Check
Work/Projects/for matches.
Step 2: Create the meeting note
Save to Work/Meetings/YYYY-MM-DD [Client or Project] [Type].md.
Some meetings belong somewhere else. If the vault has a dedicated folder for a kind of call (customer testimonial calls, interviews, user research sessions), save the note there with that folder's field set, and tell the user where it went.
Use this structure:
---
type: meeting
date: YYYY-MM-DD
meeting_type: [type]
client: [if applicable]
project: [if applicable]
attendees: [list]
tags: []
---
## Summary
[2-3 sentences]
## Key Points
[Bulleted list of distinct topics]
## Decisions
- [Decision] — [Owner, if stated]
## Action Items
- [ ] [Task] — [Owner] — [Due date, if stated]
## Project Updates
[Any updates to existing projects, each linked to its project note]Step 3: Report to the user
After creating the note, report:
- Project updates found. List each one with its matching project and ask whether to apply it to that project note.
- Decisions. Give the count. They live in the meeting note, where dashboards can query them.
- Action items. List each one with its owner and due date.
Rules
- Meeting notes are fixed once processed. Do not edit them on later runs.
- Do not invent content. If part of the transcript is unclear, mark it
[unclear]or ask. - Keep the original meaning. Do not add interpretation beyond what was said.
Mode 2: Project Management (/obsidian-ops project)
Sub-commands
/obsidian-ops project (no arguments) shows active projects.
Read every file in Work/Projects/ with status: active and display:
| Project | Owner | Priority | Target | Last Updated |
|---------|-------|----------|--------|--------------|Also show the count of on-hold and completed projects.
/obsidian-ops project [name] shows one project.
Search Work/Projects/ for a matching file and display its full contents.
/obsidian-ops project new creates a project.
Ask the user for:
- Project name (used as the filename)
- Objective
- Owner (default: the user)
- Priority (critical, high, medium, low)
- Target date (optional)
- Client (optional)
- Success criteria
- Initial tasks
Create the file at Work/Projects/[Project Name].md from the vault's project template if one exists in System/Templates/. Otherwise use the frontmatter standards above with sections for Objective, Success Criteria, Tasks, and Status Updates.
/obsidian-ops project update [name] updates a project.
Read the existing project file and ask what to update:
- Add a status update entry (what happened, what's next)
- Update task statuses (mark done, add new tasks)
- Change project status (active, completed, on-hold, archived)
- Update the target date
Status Updates is the project note's log. Add each entry newest first, in one or two lines. Every other section is current state, so when the objective, success criteria, scope, or tasks change, rewrite those sections in place. Don't describe the change in a status entry. Set date in the frontmatter to today.
Auto-Detect Mode (/obsidian-ops)
When invoked without arguments, infer the mode from the conversation:
- The user pasted or mentioned a transcript:
process - The user asked about project status or tasks:
project - Unclear: ask which mode they need
File Naming
- Meetings:
YYYY-MM-DD [Client or Project] [Type].md(for example,2026-04-16 Acme Strategy.md) - Projects:
[Project Name].md(for example,Q3 Product Launch.md)
Link related meetings and projects with Obsidian wikilinks (the note name in double square brackets).
Related Skills
- lifecycle-marketing-campaigns: turn launch or campaign decisions from a meeting into a campaign flow
- product-launch-gtm: build a launch plan from a project note
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

