Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
npx skills add GregTheGreek/claude-obsidian --skill "daily-sync"
Install specific skill from multi-skill repository
# Description
Process daily notes, clean interviews, extract tasks, and update the Daily Dashboard.
# SKILL.md
name: daily-sync
description: Process daily notes, clean interviews, extract tasks, and update the Daily Dashboard.
allowed-tools: Read, Bash, Write, Edit, Glob, Grep, Skill
Daily Sync
Processes daily notes from ~/obsidian/Daily Notes/, cleans up formatting, extracts todos/tasks, and maintains the Daily Dashboard. Also triggers interview cleanup to ensure action items flow into the dashboard.
When to Use
- User asks to "sync daily notes" or "process daily notes"
- User wants to update the Daily Dashboard
- End of day to organize captured thoughts and tasks
Workflow
1. Clean Interviews First
Before processing daily notes, run the clean-interviews skill to ensure all interview files are properly structured and have action items extracted:
/clean-interviews
This ensures:
- Raw interview notes are structured with frontmatter
- Important action items are tagged in action-items field
- Interview insights are aggregated to research dashboard
2. Scan Daily Notes
Find all markdown files in daily notes folder:
find ~/obsidian/Daily\ Notes -name "*.md" -type f -mtime -7 | sort
Focus on files modified in last 7 days for active processing.
3. Read and Parse Notes
For each daily note file:
- Read full contents
- Identify sections (if any headers exist)
- Extract all todos/tasks (lines starting with - [ ] or - [x])
- Extract bullet points and thoughts
- Identify any project/topic keywords (e.g., "Project-A", "Project-B", "deployment")
4. Clean Up Daily Notes
Apply formatting improvements:
- Add date header if missing (use filename or current date)
- Group related items under topic headers
- Convert loose bullets into proper task format where appropriate
- Preserve original content - only enhance structure
5. Extract Tasks by Category
Organize todos into categories:
- Project-specific - Related to active projects (Project-A, Project-B, etc.)
- Technical - Development, debugging, infrastructure tasks
- Research - Investigation, analysis, validation tasks
- Meetings/Calls - Scheduled conversations
- Admin/Ops - General operational tasks
- Ideas/Future - Backlog items, future exploration
6. Scan Interviews for Action Items
Check user interviews for action items that should surface on the dashboard:
find ~/obsidian/Research/User\ interviews -name "*.md" -type f
For each interview file:
1. Read the YAML frontmatter
2. Check for action-items: field
3. If present, extract items and note the source (interviewee name, date)
Important: Only pull items from the action-items frontmatter field - not from the Follow-ups section. The clean-interviews skill curates what belongs in frontmatter vs what's just general follow-up notes.
7. Update Daily Dashboard
Update ~/obsidian/daily-dashboard.md with:
- Recent daily notes index (last 7 days)
- Tasks by category (single source of truth for all tasks)
- Interview action items (from frontmatter)
- Quick capture section for new items
Important: Tasks appear ONLY in the "Tasks by Category" section. Completed tasks stay in place (marked [x]) until archived after 7 days. No duplicate entries across sections.
Interview Action Items: Add these under the most appropriate category with a source link:
- Intros/connections: Outreach/Follow-ups
- Follow-up calls: Meetings/Interviews
- Technical investigations: Research/Analysis or Technical/Infrastructure
- Partner investigations: Outreach/Follow-ups
Format: - [ ] Action item (from [[Interview Name|Interviewee]], YYYY-MM-DD)
Deduplication: Before adding an interview action item, check if it already exists in the dashboard (may have been added manually or in a previous sync). Skip duplicates.
Daily Dashboard Structure
# Daily Dashboard
**Last Updated:** YYYY-MM-DD
**Week:** Mon DD - Sun DD
---
## Recent Daily Notes (Last 7 Days)
- **[YYYY-MM-DD](Daily%20Notes/YYYY-MM-DD.md)** - Brief summary of topics
- **[YYYY-MM-DD](Daily%20Notes/YYYY-MM-DD.md)** - Another day's summary
---
## Tasks by Category
### ${PROJECT}
- [ ] Pending task related to project
- [x] Completed project task
### Technical/Infrastructure
- [ ] Development task
- [ ] Deployment task
### Research/Analysis
- [ ] Investigation needed
- [ ] Data to validate
### Meetings/Interviews
- [ ] Call scheduled
- [ ] Follow-up needed
- Meeting notes (non-checkbox items for records)
### Outreach/Follow-ups
- [ ] Outreach task
### Tooling/Skills
- [ ] Tooling task
### Ideas/Backlog
- [ ] Future exploration
- [ ] Nice-to-have feature
---
## Quick Capture
_Use this section for rapid capture throughout the day_
---
*This dashboard aggregates tasks from daily notes. Use Obsidian's daily note button for quick capture, then run /daily-sync to process.*
Guidelines
Preserve User Voice
- Don't rewrite user's original notes
- Keep informal language and shorthand
- Only add structure, don't change content
Smart Categorization
Automatically categorize based on keywords:
- Project-specific keywords β ${PROJECT} category
- "deploy", "contract", "bug", "test" β Technical/Infrastructure
- "interview", "validate", "research", "analyze" β Research/Analysis
- "call", "meeting", "sync" β Meetings
- "maybe", "later", "explore", "idea" β Ideas/Backlog
Date Handling
- Use ISO format: YYYY-MM-DD
- Link to daily notes using Obsidian wikilink format
- Show current week range in header
Task Management
- Tasks appear ONLY in "Tasks by Category" section (single source of truth)
- Preserve task state (
[ ]vs[x]) - Don't duplicate tasks - if task exists in dashboard, update don't add
- Completed tasks stay in place with
[x]marker until archived - Archive completed tasks older than 7 days to "Completed This Week" note or remove
Processing Daily Notes
When cleaning up individual daily note files:
- Add structure if missing:
```markdown
# YYYY-MM-DD
## Tasks
- [ ] Task items here
## Notes
- Thought items here
## Meetings
- Meeting notes here
```
- Don't over-structure - if notes are just a quick list, that's fine
- Preserve timestamps if user included them
- Link to related docs if obvious connections exist
Example Transformation
Before (raw daily note):
- A/B test volatile assets vs usdc when it comes to offering/issuing the credit
- Not enough credit for full top up, what do we do
- Use permits to move funds (like TWAP) from main account
- team dogan introudced us to for v2
After (cleaned up):
# 2026-01-06
## Project Ideas
- [ ] A/B test volatile assets vs USDC for credit issuance
- [ ] Handle partial credit scenarios (not enough for full top-up)
- [ ] Use permits to move funds (TWAP-style) from main account
## Connections
- Team introduced for V2 work
Dashboard entry:
### ${PROJECT}
- [ ] A/B test volatile assets vs USDC for credit issuance
- [ ] Handle partial credit scenarios (not enough for full top-up)
- [ ] Use permits to move funds (TWAP-style) from main account
Important Notes
- Run this skill on-demand, not automatically
- Always preserve original daily notes - only enhance, never delete content
- If dashboard doesn't exist, create it with the template structure
- Group related tasks together but preserve individual task granularity
- Link back to source daily note for context
Paths Reference
- Daily notes:
~/obsidian/Daily Notes/ - Daily dashboard:
~/obsidian/daily-dashboard.md - Archive (optional):
~/obsidian/Daily Notes/archive/
Note: Paths can be customized in ~/.claude/config/paths.env
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.