astoreyai avatar

astoreyai-productivity-skills

Productivity skills including memory-keeper, obsidian-memory-keeper, and todo-keeper with automatic todo persistence for automated context management, daily notes, task tracking, session management, and project status updates with Obsidian vault integration

version
1.3.0
GitHub stars
5

Install

/plugin install astoreyai-productivity-skills@astoreyai-productivity

Run it inside Claude Code after adding the marketplace with /plugin marketplace add astoreyai/claude-skills.

Contents

Commands 3

Update Memory Command

Invokes the memory-keeper skill to update Aaron's Core Memory (CLAUDE.md) with recent developments, project status changes, and session notes.

Instructions

Use the memory-keeper skill to analyze recent work and update ~/.claude/CLAUDE.md.

Analysis Scope

By default, analyze the last 7 days of activity. This includes:

  • Git commits across all active projects
  • Recent conversation history
  • New documentation files
  • Status file updates
  • Version tag changes

Step-by-Step Process

  1. Activate the memory-keeper skill

    Use the Skill tool to invoke "memory-keeper"
    
  2. The skill will automatically:

    • Read the current CLAUDE.md file
    • Analyze git activity for all active projects:
      • ~/projects/xai/ (PhD dissertation)
      • ~/cc-flow/ (Kymera AI desktop)
      • ~/projects/stoch/ (Stock scanner)
      • ~/github/astoreyai/screener/ (Trading scanner)
      • ~/github/astoreyai/ai_scientist/ (Research assistant)
    • Check conversation statistics via workspace-manager tools
    • Identify new phase completions, releases, or major milestones
    • Find new documentation (PHASE_.md, STATUS.md, README.md updates)
  3. Update CLAUDE.md with:

    • Project Status: Version updates, phase completions, achievement summaries
    • Session Notes: Date-stamped major developments
    • Patterns Observed: New workflows, productivity insights
    • Infrastructure Updates: New scripts, tools, configurations
    • Last Updated: Current timestamp
  4. Report what was updated:

    • List all sections modified
    • Summarize key changes
    • Note any issues or uncertainties

Usage Examples

Basic Usage

/update-memory

Analyzes last 7 days and updates CLAUDE.md.

With Context

/update-memory
"I just completed stoch v2.0.0 final release with 35 bug fixes"

Focuses on specific project and includes user-provided context.

After Major Milestone

/update-memory
"PhD defense date confirmed for Jan 28, 2026. Committee expanded to 6 members."

Records critical PhD milestone information.

What Gets Updated

Active Projects (Current: 6)

  1. xai - PhD Dissertation
  2. Research Assistant - Academic workflow automation
  3. cc-flow - Kymera AI Desktop Assistant
  4. astoreyai - Personal AI projects
  5. emotional_intelligence_llm - EQ research
  6. stoch - Stock scanner
  7. screener - Trading scanner (planning phase)

Update Types

Version/Status Changes:

  • Git tags: git describe --tags
  • Phase completions: New PHASE_*_COMPLETE.md files
  • Status updates: Changes in STATUS files
  • Version bumps in package.json, setup.py, etc.

Major Developments:

  • Releases (alpha, beta, production)
  • Phase completions (cc-flow phases)
  • Significant commits (>100 LOC changes)
  • New features or modules
  • Infrastructure additions

Patterns Observed:

  • Productivity insights (peak days, parallel workflows)
  • Development patterns (agent usage, stripping workflows)
  • Recovery procedures (from incidents)
  • New techniques or approaches

Safety Features

The memory-keeper skill follows these safety rules:

✅ Read First: Always reads current CLAUDE.md before editing ✅ Preserve Content: Only adds/augments, never deletes ✅ Verify Paths: Checks that all referenced files exist ✅ Accurate Dates: Validates date chronology ✅ Backup on Error: Creates backup if corruption detected ✅ Ask if Uncertain: Prompts user for clarification when needed

Expected Output

After running /update-memory, you should see:

Updated CLAUDE.md with:
- xai: No changes detected (last update Nov 12)
- cc-flow: No changes detected (last update Nov 17)
- stoch: Version updated to v2.0.0-beta1+28 (28 commits since beta1)
- Session notes: Added Nov 20 developments
  - sudo askpass helper created
  - cc-term project deletion (2.1GB)
- Patterns: Added "Project pruning" observation
- Infrastructure: Documented askpass helper and sudo wrapper
- Last Updated: 2025-11-20

Total sections updated: 3
No issues detected.

When to Use

Recommended frequency:

  • End of work session: Capture what was accomplished
  • After major milestones: Releases, phase completions, breakthroughs
  • Weekly review: Every 5-7 days to stay current
  • Before long breaks: Ensure context preserved

Good triggers:

  • "Just tagged v2.0.0"
  • "Completed Phase 5"
  • "Submitted paper for review"
  • "New infrastructure deployed"
  • "Significant bug fixes committed"

Integration Points

This command works with:

  • Git repositories: All active projects tracked via git
  • Conversation history: ~/cc-flow/tools/workspace-manager/
  • CLAUDE.md: ~/.claude/CLAUDE.md (primary memory file)
  • Project docs: Status files, phase docs, READMEs

Troubleshooting

If updates seem incomplete:

  • Ensure git repositories are up to date (git fetch)
  • Check that status files are committed
  • Verify conversation history is current

If skill asks for clarification:

  • Provide specific context about recent work
  • Confirm version numbers or dates
  • Specify which projects to focus on

If CLAUDE.md formatting breaks:

  • Skill creates automatic backup before editing
  • Restore from ~/.claude/CLAUDE.md.backup.* if needed

Advanced Usage

Focus on specific project:

/update-memory
"Only update stoch status - ignore other projects"

Longer time window:

/update-memory
"Analyze last 14 days for all projects"

Dry run (report only):

/update-memory
"Analyze what would be updated but don't modify CLAUDE.md"

Note: This command is designed to be run proactively by Claude or invoked by the user. The memory-keeper skill handles all the analysis and updating logic automatically.

You are the obsidian-memory-keeper skill handler.

Task

Manage daily notes and Obsidian vault synchronization for Aaron's Obsidian vault located at ~/Documents/Obsidian/Aaron/.

Your Role

  1. Create/Update Daily Notes: Ensure today's daily note exists and is current
  2. Session Tracking: Add session summaries to daily notes
  3. CLAUDE.md Sync: Bidirectionally sync with CLAUDE.md
  4. Weekly Reviews: Generate weekly summaries (Sundays)
  5. Knowledge Organization: Link notes, create indexes, maintain structure

Current Context

Vault Location: ~/Documents/Obsidian/Aaron/ Daily Notes: ~/Documents/Obsidian/Aaron/Daily/YYYY-MM-DD.md Templates: ~/Documents/Obsidian/Aaron/Templates/ CLAUDE.md: ~/.claude/CLAUDE.md

Actions Required

Based on the user's request:

User Message: {{USER_MESSAGE}}

1. Check Today's Daily Note

First, verify if today's daily note exists:

  • Path: ~/Documents/Obsidian/Aaron/Daily/YYYY-MM-DD.md (use today's date)
  • If missing, create from template
  • If exists, read and prepare to append

2. Analyze Current Session

Gather context about current session:

  • Working directory (use pwd)
  • Git status (if in git repo)
  • Recent conversation history
  • Tasks completed
  • Files modified

3. Create Session Entry

Format a session entry with:

  • Session timestamp (HH:MM)
  • Project name and path
  • Focus area (what user was working on)
  • Completed tasks (from conversation)
  • Files modified (from git status)
  • Key decisions made
  • Next steps

4. Update Daily Note

Append session entry to today's daily note:

  • Find "## Session Notes" section
  • Increment session number
  • Add formatted entry
  • Save file

5. Optional: Sync with CLAUDE.md

If user requested full sync:

  • Read CLAUDE.md session notes
  • Compare with Obsidian daily notes
  • Apply bidirectional updates
  • Update Last Updated timestamp

6. Optional: Weekly Review

If today is Sunday:

  • Gather all daily notes from this week (Mon-Sun)
  • Extract accomplishments and learnings
  • Create weekly review in ~/Documents/Obsidian/Aaron/Daily/Weekly-Reviews/YYYY-WXX.md
  • Link to individual daily notes

Output Format

After completing the task, report:

  • Daily note path and status (created/updated)
  • Session entry summary
  • Files modified count (if applicable)
  • Sync status (if applicable)
  • Weekly review status (if applicable)

Safety Checks

Before making changes:

  • Verify vault exists at ~/Documents/Obsidian/Aaron/
  • Check template exists if creating new daily note
  • Preserve user's manual edits
  • Create backups for major operations
  • Log all actions to ~/.claude/logs/obsidian-memory-keeper.log

Examples

Example 1: Basic Daily Note Update

User types /daily-note at end of work session on stoch project.

Actions:

  1. Check if 2025-11-20.md exists in Daily/
  2. Read current content
  3. Analyze conversation: worked on stoch beta1 bug fixes
  4. Format session entry with git changes
  5. Append to daily note
  6. Report: "Daily note updated: 2025-11-20.md (Session 3 added)"

Example 2: Full Sync with CLAUDE.md

User types /daily-note sync to synchronize both systems.

Actions:

  1. Read CLAUDE.md session notes (Nov 12-20)
  2. Read all daily notes from same period
  3. Identify differences
  4. Merge PhD breakthrough from CLAUDE.md to daily note
  5. Add detailed session logs from daily notes to CLAUDE.md
  6. Update timestamps
  7. Report: "Synced 8 daily notes with CLAUDE.md (0 conflicts)"

Example 3: Weekly Review (Sunday)

User types /daily-note on Sunday, Nov 24, 2025.

Actions:

  1. Detect today is Sunday
  2. Gather daily notes: 2025-11-18 through 2025-11-24
  3. Extract accomplishments from each day
  4. Pull project metrics from CLAUDE.md
  5. Generate weekly review: 2025-W47.md
  6. Link to 7 daily notes
  7. Report: "Weekly review created: 2025-W47.md (7 days summarized)"

Integration

This skill works alongside:

  • memory-keeper: Updates CLAUDE.md only
  • obsidian-memory-keeper: Updates Obsidian vault (this skill)

Together they provide complete memory management.

Start Now

Analyze the user's request and proceed with the appropriate actions. Be concise and thorough.

You are the todo-keeper skill handler.

Task

Manage task lists and TODO tracking across Claude Code sessions, daily notes, and project files.

Your Role

  1. Task Management: Create, update, complete, and organize tasks
  2. Daily Note Integration: Sync tasks with Obsidian daily notes
  3. Project Tracking: Link tasks to specific projects
  4. Progress Monitoring: Track completion rates and metrics
  5. Context Awareness: Understand task context from conversation

Current Context

Daily Notes: ~/Documents/Obsidian/Aaron/Daily/YYYY-MM-DD.md CLAUDE.md: ~/.claude/CLAUDE.md Claude TodoWrite: Built-in task tracking tool

Actions Required

Based on the user's request:

User Message: {{USER_MESSAGE}}

Common Commands

List tasks:

  • /todo or /todo list - Show all pending tasks
  • /todo today - Show today's tasks from daily note
  • /todo project <name> - Show tasks for specific project

Add tasks:

  • /todo add <description> - Add new task
  • /todo add <description> --project <name> - Add task to project
  • /todo add <description> --priority high - Add high-priority task

Update tasks:

  • /todo complete <id> - Mark task as done
  • /todo start <id> - Mark task as in progress
  • /todo delete <id> - Remove task

Organize:

  • /todo sync - Sync with daily notes and CLAUDE.md
  • /todo clean - Remove completed tasks
  • /todo export - Export to markdown

Default Behavior (no arguments)

When user types just /todo:

  1. Show Claude TodoWrite current state
  2. Show today's daily note tasks
  3. Show summary statistics
  4. Suggest next actions

Integration Points

Claude TodoWrite:

  • Use TodoWrite tool for session-based tracking
  • Sync with daily notes at session end

Obsidian Daily Notes:

  • Read tasks from ## 🎯 Focus section
  • Update task completion in daily notes
  • Add new tasks to appropriate sections

CLAUDE.md:

  • Track project-level tasks
  • Update project status when tasks complete

Output Format

Provide clear, actionable task information:

  • Task ID, description, status
  • Project/context links
  • Completion statistics
  • Next recommended actions

Examples

Example 1: List Current Tasks

User types: /todo

Actions:

  1. Read Claude TodoWrite state
  2. Read today's daily note
  3. Combine and deduplicate
  4. Format as numbered list with status indicators
  5. Show completion percentage

Output:

📋 Current Tasks (5 total, 2 completed)

In Progress:
1. [🔄] Create todo-keeper skill with SKILL.md
2. [🔄] Integrate todo-keeper with daily notes

Pending:
3. [ ] Add to claude-skills plugin repository
4. [ ] Test /todo command functionality
5. [ ] Update documentation

Completed Today:
✓ Create /todo slash command specification

Progress: 40% (2/5 complete)

Example 2: Add New Task

User types: /todo add Review stoch beta1 performance --project stoch --priority high

Actions:

  1. Parse command and extract parameters
  2. Add to TodoWrite tool
  3. Add to today's daily note in appropriate section
  4. Link to project if specified
  5. Confirm addition

Output:

✅ Task added: "Review stoch beta1 performance"
   Project: stoch
   Priority: high
   Added to: Today's daily note + TodoWrite

Next: Type `/todo` to see all tasks

Example 3: Complete Task

User types: /todo complete 1

Actions:

  1. Find task #1 in TodoWrite
  2. Mark as completed
  3. Update daily note checkbox
  4. Log completion time
  5. Update statistics

Output:

✅ Completed: "Create todo-keeper skill with SKILL.md"
   Time: 13:15
   Duration: ~45 minutes

Remaining: 4 tasks
Progress: 60% (3/5 complete)

Example 4: Sync Tasks

User types: /todo sync

Actions:

  1. Read TodoWrite state
  2. Read today's daily note tasks
  3. Read CLAUDE.md project tasks
  4. Identify mismatches
  5. Sync bidirectionally
  6. Report conflicts if any

Output:

🔄 Syncing tasks across systems...

Synced:
- TodoWrite: 5 tasks
- Daily note: 3 tasks
- CLAUDE.md: 2 project tasks

Updates:
✓ Added "Review beta1" to daily note
✓ Marked "Zip analysis" as complete in CLAUDE.md

Status: All systems in sync

Task Storage Locations

  1. Session tasks: Claude TodoWrite (temporary, current session)
  2. Daily tasks: ~/Documents/Obsidian/Aaron/Daily/YYYY-MM-DD.md
  3. Project tasks: CLAUDE.md or project-specific files
  4. Archive: Completed tasks move to daily note archives

Smart Features

Context Detection:

  • If working in ~/projects/stoch, suggest stoch-related tasks
  • If multiple TODOs in conversation, offer to batch add
  • If task mentions file/function, create code link

Auto-completion Detection:

  • When you run tests successfully → suggest completing "Run tests" task
  • When you commit code → suggest completing related tasks
  • When you type "done" or "finished" → prompt to mark task complete

Priority Inference:

  • Words like "urgent", "asap", "critical" → high priority
  • Words like "eventually", "someday" → low priority
  • Default: normal priority

Integration with Other Skills

Works alongside:

  • obsidian-memory-keeper: Daily note task sync
  • memory-keeper: CLAUDE.md project task tracking
  • Built-in TodoWrite: Session-based task management

Start Now

Analyze the user's request and execute the appropriate todo action. Be concise and helpful.

Sponsors

Details

Marketplace
astoreyai/claude-skills
Author
Aaron Storey
Category
Productivity
License
MIT
Keywords
productivity, memory, context-management, automation, session-tracking, project-management, obsidian, daily-notes, knowledge-base, task-management, todo, todowrite, persistence, hooks