| name | coding-worklog-obsidian |
| description | Create structured work logs in Obsidian for coding sessions with progressive disclosure, knowledge graphs, and intelligent queries. Use this skill whenever a user completes a coding segment in an Obsidian-based workflow, or when they mention "record session in Obsidian", "create work log", "document progress", or when wrapping up coding tasks. Perfect for users who want visual knowledge graphs, bidirectional linking, and powerful queries via Dataview. Triggers on phrases like "log this session", "create session note", "update work log", "vibe coding session complete", or when using IDE tools and reaching natural pause points. |
Coding Work Log - Obsidian Edition
Purpose
Generate comprehensive work logs as Obsidian notes with YAML frontmatter, bidirectional links, and Dataview-queryable metadata. Leverages Obsidian's knowledge graph for context continuity across sessions.
Core Philosophy
Document-based workflow, not conversation-dependent. Obsidian becomes your project memory, with automatic relationship discovery through [[links]] and Graph View visualization.
Quick Start
When user finishes a coding session:
- Read
modules/SESSION_LOGGING.md for detailed instructions
- Generate Obsidian note with YAML frontmatter
- Create bidirectional links to related sessions/decisions
- Save to user's Obsidian vault
Progressive Disclosure (3-Level Loading)
Level 1: This file (Always loaded)
Core instructions and triggers
Level 2: Modules (Load on-demand)
modules/SESSION_LOGGING.md - How to create session notes
modules/PROGRESS_TRACKING.md - Sprint planning and milestones
modules/ISSUE_MANAGEMENT.md - Track bugs and blockers
modules/ANALYTICS.md - Generate reports with Dataview
Level 3: Data files (As needed)
Templates, examples, and reference materials
Obsidian Vault Structure
MyProject-WorkLog/ (Obsidian Vault)
├── 00-INDEX.md # Project dashboard
├── 01-CURRENT-SESSION.md # Active session
│
├── sessions/ # Session logs
│ ├── 2026-02/
│ │ ├── 2026-02-23-user-auth.md
│ │ └── 2026-02-24-rate-limiting.md
│ └── templates/
│ ├── feature-template.md
│ ├── bug-fix-template.md
│ └── research-template.md
│
├── decisions/ # Technical decisions
│ ├── Use-PostgreSQL.md
│ ├── Add-Redis-Cache.md
│ └── rejected/
│ └── Why-Not-MongoDB.md
│
├── issues/ # Problem tracking
│ ├── active/
│ │ ├── Rate-Limiting-Missing.md
│ │ └── Email-Verification-TODO.md
│ └── resolved/
│ └── JWT-Expiration-Fixed.md
│
├── progress/ # Progress tracking
│ ├── milestones.md
│ ├── current-sprint.md
│ └── velocity.md
│
└── analytics/ # Reports
├── weekly/
│ └── 2026-W08.md
└── monthly/
└── 2026-02.md
YAML Frontmatter Schema
---
date: 2026-02-23
session_id: s001
type: feature
status: completed
duration: 180
tags:
- session
- authentication
- backend
files_changed:
- src/auth.py
- src/routes.py
- tests/test_auth.py
related_decisions:
- "[[Use-PostgreSQL]]"
- "[[JWT-vs-Session]]"
issues:
- "[[Rate-Limiting-Missing]]"
previous: "[[2026-02-20-database-setup]]"
next: "[[2026-02-25-email-verification]]"
---
Bidirectional Linking Strategy
Link to:
- Previous session:
previous: [[YYYY-MM-DD-session-name]]
- Next session:
next: [[YYYY-MM-DD-session-name]]
- Decisions made:
[[Decision-Name]]
- Issues encountered:
[[Issue-Name]]
- Related concepts:
[[Concept]] inline in text
Auto-discovered relationships:
Obsidian automatically shows all notes linking TO this session via backlinks panel.
Session Note Template Structure
---
[YAML frontmatter - see schema above]
---
# YYYY-MM-DD - Session Title
## 📋 Summary
[One-paragraph overview]
## ✅ What Was Accomplished
- Specific achievement 1
- Specific achievement 2
## 🎯 Why These Tasks
[Reasoning and context]
Related to: [[Previous-Session]] | Prepares for: [[Next-Session]]
## ⚠️ Problems Encountered
### Problem 1: [Title]
**Issue**: [Description]
**Tried**: [Approach A, B, C]
**Solution**: [What worked]
**Reference**: [[Related-Decision]] or [[Issue-Tracker]]
## 💡 Decisions Made
- [[Decision-Name]]: [Brief explanation]
## 🚧 Known Issues
Created: [[Issue-Active-1]], [[Issue-Active-2]]
Updated: [[Existing-Issue]]
## ❌ Not Completed
- [ ] Task 1 - reason
- [ ] Task 2 - reason
## 🔜 Next Steps
1. [[Next-Specific-Task]]
2. Continue with [[Related-Feature]]
## 📊 Metrics
- **Time spent**: {{duration}} minutes
- **Files changed**: {{files_changed.length}}
- **Tests added**: X
- **Code lines**: +XX / -YY
## 🔗 Links
**Previous**: [[previous]]
**Next**: [[next]]
**Sprint**: [[current-sprint]]
**Milestone**: [[milestone-name]]
---
Tags: {{tags}}
Dataview Query Examples
Embed these in any note for dynamic content:
Recent Sessions
TABLE duration, status, type
FROM "sessions"
SORT date DESC
LIMIT 10
This Week's Work
TABLE duration as "Time", status, summary
FROM "sessions"
WHERE date >= date(today) - dur(7 days)
SORT date DESC
Active Issues
LIST
FROM "issues/active"
SORT file.ctime DESC
Feature Sessions Only
TABLE duration, status
FROM "sessions"
WHERE type = "feature"
SORT date DESC
Total Time This Month
TABLE sum(rows.duration) as "Total Minutes"
FROM "sessions"
WHERE date >= date(today) - dur(30 days)
GROUP BY dateformat(date, "yyyy-MM")
Required Obsidian Plugins
Essential:
- Dataview - Query engine (all analytics depend on this)
- Templater - Advanced templates with variables
Highly Recommended:
- Calendar - Date navigation
- Tasks - TODO management
- Excalidraw - Diagrams
Optional but Useful:
- Kanban - Board view
- Projects - Project management view
- Git - Version control integration
Workflow Integration
With Claude:
- User: "Create work log for this session"
- Claude reads
modules/SESSION_LOGGING.md
- Claude generates Obsidian note with YAML frontmatter
- Claude creates [[links]] to related notes
- Claude saves to vault at correct path
With Templater:
User can also trigger via keyboard shortcut:
Cmd+Shift+N → New session note
- Auto-fills date, prompts for type and duration
- Creates file in correct folder
With Daily Notes:
# 2026-02-23 Daily Note
## Sessions Today
- [[2026-02-23-user-authentication]] - 3h
- [[2026-02-23-bug-fixing]] - 1h
## Key Outcomes
Completed user auth, see [[Use-JWT]] decision
## Tomorrow
- [ ] Continue with [[Rate-Limiting]]
Graph View Optimization
Tag Strategy:
#session - All session notes
#feature - Feature work
#bug - Bug fixes
#decision - Key decisions
#blocked - Blockers
#YYYY-MM - Monthly grouping
Color Coding in Graph:
- Sessions: Blue
- Decisions: Green
- Issues: Red
- Progress: Yellow
Anti-Patterns to Avoid
❌ Creating sessions without YAML frontmatter
❌ Not linking to related sessions/decisions
❌ Using vague link text like [[this]]
❌ Skipping the "why" explanation
❌ Not tagging appropriately
Success Metrics
A good Obsidian work log enables:
✅ Graph view shows clear project progression
✅ Dataview queries provide instant insights
✅ Backlinks reveal hidden connections
✅ Next session starts with clear context
✅ Decisions are traceable to sessions
Context Engineering Benefits
Progressive Disclosure:
- Claude loads only SKILL.md initially (~200 tokens)
- Loads specific modules when needed (~300 tokens each)
- Never loads entire vault into context
Filesystem-as-Memory:
- Obsidian vault is the persistent memory
- Claude queries via Dataview or grep
- No context window bloat
Bidirectional Discovery:
- Links create automatic context
- Graph view shows relationships
- Claude can navigate the knowledge graph
Example Usage Flow
Scenario: User finishes implementing user authentication
User: "Log this session in Obsidian"
Claude Process:
- Load
modules/SESSION_LOGGING.md
- Ask clarifying questions if needed
- Generate note with YAML frontmatter
- Create links:
[[Use-JWT]] decision
[[2026-02-20-database-setup]] previous
[[Rate-Limiting-Missing]] issue created
- Save to
sessions/2026-02/2026-02-23-user-authentication.md
- Present file to user
Result:
- Session documented
- Relationships established
- Queryable via Dataview
- Visible in Graph view
Next Steps
After installing this skill:
- Set up Obsidian vault with recommended structure
- Install Dataview and Templater plugins
- Create your first session note
- Explore Graph view to see connections
- Use Dataview queries for insights
Reference
For detailed instructions on each module, use view tool to read:
modules/SESSION_LOGGING.md - Complete session creation guide
modules/PROGRESS_TRACKING.md - Sprint and milestone tracking
modules/ISSUE_MANAGEMENT.md - Bug and blocker workflows
modules/ANALYTICS.md - Reporting and analysis
Remember: Your Obsidian vault is your project memory. Claude reads it, you visualize it, Dataview queries it.