skills/obsidian-memory-keeper/SKILL.md
# Obsidian Memory Keeper Skill ## Description Manages daily notes, session tracking, and knowledge base synchronization for Aaron's Obsidian vault located at `~/Documents/Obsidian/Aaron/`. ## Purpose This skill provides automated daily note creation, session summaries, and bidirectional synchronization between CLAUDE.md and Obsidian vault content. It ensures Aaron's personal knowledge base stays current and organized. ## When to Invoke **Auto-Invoke** (proactive): - Daily note doesn't exis
npx skillsauth add astoreyai/claude-skills skills/obsidian-memory-keeperInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manages daily notes, session tracking, and knowledge base synchronization for Aaron's Obsidian vault located at ~/Documents/Obsidian/Aaron/.
This skill provides automated daily note creation, session summaries, and bidirectional synchronization between CLAUDE.md and Obsidian vault content. It ensures Aaron's personal knowledge base stays current and organized.
Auto-Invoke (proactive):
Manual Invoke (explicit):
/daily-note commandCreate or update daily notes in Obsidian vault following the Daily-Note template:
Location: ~/Documents/Obsidian/Aaron/Daily/YYYY-MM-DD.md
Template Structure:
# YYYY-MM-DD
## Morning Review
- [ ] Check CLAUDE.md status
- [ ] Review active projects
- [ ] Plan today's priorities
## Session Notes
### Session 1: [Time]
**Project**:
**Focus**:
### Session 2: [Time]
**Project**:
**Focus**:
## Accomplishments
-
## Learnings
-
## Tomorrow
- [ ]
- [ ]
## Links
- [[Projects]]
- [[CLAUDE.md]]
---
Tags: #daily-note #YYYY #MM
Daily Note Creation Rules:
Track Claude Code sessions with context:
What to Capture:
How to Capture:
Example Session Entry:
### Session 3: 14:30-16:15
**Project**: ~/projects/xai (PhD Dissertation)
**Focus**: Experimental validation sprint Week 2
**Completed**:
- Ran Experiment 6.1 with n=500 samples (GPU cluster)
- Fixed type errors in attribution methods (3 files)
- Updated test suite (12 new tests added)
- Compiled thesis PDF (479 pages, no errors)
**Files Modified**:
- src/attribution/methods.py (+45, -12)
- tests/test_attribution.py (+150, -0)
- outputs/thesis/chapters/chapter6.tex (+23, -8)
**Decisions**: Chose SHAP over LIME for efficiency on n=500
**Next**: Week 3 - Experiment 6.2 with demographic analysis
Bidirectional sync between CLAUDE.md and Obsidian vault:
CLAUDE.md → Obsidian:
~/Documents/Obsidian/Aaron/Projects/Obsidian → CLAUDE.md:
Sync Process:
Connect daily notes to Aaron's broader knowledge base:
Auto-Linking:
~/Documents/Obsidian/Aaron/Projects/ notes~/Documents/Obsidian/Aaron/Knowledge/ notesContent Organization:
~/Documents/Obsidian/Aaron/Archive/Every Sunday, create weekly review note:
Location: ~/Documents/Obsidian/Aaron/Daily/Weekly-Reviews/YYYY-WXX.md
Content:
Process:
Step 1: Environment Check
# Verify Obsidian vault exists
if [ ! -d ~/Documents/Obsidian/Aaron ]; then
echo "ERROR: Aaron vault not found. Run migration first."
exit 1
fi
# Check daily notes directory
mkdir -p ~/Documents/Obsidian/Aaron/Daily/
# Get today's date
TODAY=$(date +%Y-%m-%d)
Step 2: Daily Note Creation/Update
# Check if today's note exists
DAILY_NOTE=~/Documents/Obsidian/Aaron/Daily/$TODAY.md
if [ ! -f "$DAILY_NOTE" ]; then
# Create from template
cp ~/Documents/Obsidian/Aaron/Templates/Daily-Note.md "$DAILY_NOTE"
# Replace date placeholders
sed -i "s/YYYY-MM-DD/$TODAY/g" "$DAILY_NOTE"
fi
Step 3: Session Analysis
# Analyze current working directory
CWD=$(pwd)
PROJECT=$(basename $CWD)
# Get git status if in git repo
if [ -d .git ]; then
GIT_STATUS=$(git status --short)
FILES_MODIFIED=$(echo "$GIT_STATUS" | wc -l)
fi
# Capture session context
SESSION_TIME=$(date +%H:%M)
Step 4: Content Extraction
From conversation history, extract:
Step 5: Note Formatting
Format session entry as markdown:
### Session N: HH:MM
**Project**: $CWD
**Focus**: [extracted from conversation context]
**Completed**:
- [bullet points from task list]
- [file modifications]
- [test results]
**Files Modified**: [from git status]
**Decisions**: [from conversation analysis]
**Next**: [from todo list or user intent]
Step 6: Append to Daily Note
# Find "## Session Notes" section
# Append new session entry
# Increment session counter
Step 7: Sync with CLAUDE.md
# Read CLAUDE.md
with open(os.path.expanduser('~/.claude/CLAUDE.md'), 'r') as f:
claude_md = f.read()
# Extract session notes section
# Compare with Obsidian daily notes
# Apply bidirectional updates
# Write back to CLAUDE.md
Never:
Always:
Auto-Updates (SessionEnd hook):
Manual Updates (/daily-note command):
When conflicts arise between CLAUDE.md and Obsidian:
Input: User starts Claude Code at 9:00 AM, Nov 20, 2025 Context: No daily note exists for today
Actions:
~/Documents/Obsidian/Aaron/Daily/2025-11-20.md existsOutput: Daily note created, ready for session tracking
Input: User completes work on stoch project at 2:30 PM Context: Daily note exists, need to add session summary
Actions:
Output:
### Session 2: 14:30
**Project**: ~/projects/stoch
**Focus**: Beta1 bug fixes - Rules 3-4, BB Width, ATR calculation
**Completed**:
- Fixed Bollinger Band width calculation (commit a30c58d)
- Corrected ATR implementation in technical indicators
- Updated Rules 3-4 logic for signal generation
- All 149 tests passing
**Files Modified**:
- src/indicators.py (+34, -12)
- src/rules.py (+18, -5)
**Decisions**: Used pandas rolling std for BB width consistency
**Next**: Performance benchmarking with real IB Gateway data
Input: User invokes /daily-note on Sunday, Nov 24, 2025
Context: Week of Nov 18-24 complete
Actions:
~/Documents/Obsidian/Aaron/Daily/Weekly-Reviews/2025-W47.mdOutput: Weekly review note with aggregated insights
Input: User types /update-memory and wants Obsidian sync
Context: Both CLAUDE.md and daily notes have new content
Actions:
Output: Both files synchronized, no conflicts
File: ~/.claude/commands/daily-note.md
You are the obsidian-memory-keeper skill handler.
**Task**: Manage daily notes and Obsidian vault synchronization.
**Actions**:
1. Check if today's daily note exists
2. Create or update with current session
3. Sync with CLAUDE.md if requested
4. Generate weekly review if Sunday
**User Intent**: {{USER_MESSAGE}}
Can be configured to auto-create daily note entry:
{
"hooks": {
"SessionEnd": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "python3 ~/.claude/skills/obsidian-memory-keeper/auto_session.py",
"timeout": 30
}
]
}
]
}
}
~/Documents/Obsidian/Aaron/~/Documents/Obsidian/Aaron/Templates/~/.claude/CLAUDE.md~/.claude/skills/obsidian-memory-keeper/SKILL.md (this file)~/.claude/skills/obsidian-memory-keeper/auto_session.py (SessionEnd hook script)~/.claude/commands/daily-note.md (slash command)~/.claude/skills/obsidian-memory-keeper/README.md (installation guide)~/.claude/skills/obsidian-memory-keeper/USAGE.md (examples and workflows)Together these provide complete memory management across both systems.
content-media
# YouTube Transcriber Skill Extract transcripts from YouTube videos, playlists, and channels with automatic intelligent processing. ## Overview One unified command that intelligently assesses input and handles everything—single videos, batch files, playlist expansion, channel extraction. No need to choose between commands; it figures out what to do. ## Capabilities - **Auto-Detect Input**: Single URL, file of URLs, playlist, channel - **Smart Expansion**: Automatically expands playlists/cha
development
# Trading Analysis Skill **Version**: 1.0.0 **Category**: Financial Analysis / Trading **Author**: Claude Code **Last Updated**: November 22, 2025 ## Overview Comprehensive trading performance analysis and edge identification system for Interactive Brokers accounts. Analyzes CSV statements to identify trading patterns, position sizing issues, time-of-day edges, and risk management problems. ## Features ### 1. **CSV Statement Parsing** - Parse Interactive Brokers activity statements (CSV for
development
# System Health Check & Cleanup Skill **Version**: 1.0.0 **Category**: System Administration / Performance Optimization **Author**: Claude Code **Last Updated**: November 22, 2025 ## Overview Automated system health monitoring and cleanup workflow. Diagnoses performance issues, identifies resource bottlenecks, fixes orphaned services, kills stale processes, and cleans cache bloat. Designed for archimedes (32c/125GB) but works on any Linux system. ## Features ### 1. **System Diagnostics** -
testing
Unified worklog system. Synthesizes session work into daily markdown files with clean bullet points. Supports weekly rollups for Slack #progress sharing. Replaces fragmented checkpoint/session-state/weekly-notes systems.