$npx -y skills add jackspace/ClaudeSkillz --skill context-managerManages permanent memory storage for decisions, blockers, context, preferences, and procedures. Use when user says "remember", "save this decision", "what did we decide", "recall", "search memories", "any blockers", or when making important architectural decisions. Provides SDAM
| 1 | # Context Manager |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Permanent external memory system that compensates for SDAM (no episodic memory). Saves and recalls: |
| 6 | - **DECISION**: Architectural choices, tech stack selections, design decisions |
| 7 | - **BLOCKER**: Active obstacles preventing progress |
| 8 | - **CONTEXT**: Project background, requirements, constraints |
| 9 | - **PREFERENCE**: User preferences, coding style, patterns |
| 10 | - **PROCEDURE**: How-to guides, workflows, processes |
| 11 | - **NOTE**: General information, observations, reminders |
| 12 | |
| 13 | **For SDAM users**: Complete external memory - never forget decisions or context. |
| 14 | **For ADHD users**: Eliminates decision fatigue - past choices automatically recalled. |
| 15 | **For dyschronometria**: All memories time-anchored with explicit timestamps. |
| 16 | |
| 17 | ## Activation Triggers |
| 18 | |
| 19 | - User says: "remember", "save this", "don't forget" |
| 20 | - User asks: "what did we decide", "recall", "search for" |
| 21 | - User mentions: "decision", "blocker", "preference" |
| 22 | - Making important architectural decision (proactive save) |
| 23 | - Encountering obstacle (proactive blocker tracking) |
| 24 | |
| 25 | ## Core Workflow |
| 26 | |
| 27 | ### 1. Save Memory |
| 28 | |
| 29 | When user says "remember [something]": |
| 30 | |
| 31 | **Step 1**: Classify memory type |
| 32 | ``` |
| 33 | DECISION: "remember we're using PostgreSQL" |
| 34 | BLOCKER: "remember I can't access the API yet" |
| 35 | CONTEXT: "remember this is for BOOSTBOX project" |
| 36 | PREFERENCE: "remember I prefer functional components" |
| 37 | PROCEDURE: "remember how to deploy: npm run build then rsync" |
| 38 | NOTE: "remember to update docs after this feature" |
| 39 | ``` |
| 40 | |
| 41 | **Step 2**: Extract metadata |
| 42 | - Content: The actual memory |
| 43 | - Tags: Auto-generate from keywords (e.g., "PostgreSQL" → ["database", "postgresql", "backend"]) |
| 44 | - Project: Infer from current directory or explicit mention |
| 45 | - Timestamp: ISO 8601 format |
| 46 | |
| 47 | **Step 3**: Read current index |
| 48 | ```bash |
| 49 | # Cross-platform: Use $HOME (Linux/macOS) or %USERPROFILE% (Windows) |
| 50 | cat ~/.claude-memories/index.json |
| 51 | # Windows PowerShell alternative: |
| 52 | # Get-Content "$env:USERPROFILE\.claude-memories\index.json" |
| 53 | ``` |
| 54 | |
| 55 | **Step 4**: Add to index |
| 56 | ```json |
| 57 | { |
| 58 | "version": "1.0.0", |
| 59 | "created": "2025-10-17T17:45:00Z", |
| 60 | "last_updated": "{current_timestamp}", |
| 61 | "total_memories": N + 1, |
| 62 | "memories_by_type": { |
| 63 | "DECISION": X + 1, |
| 64 | ... |
| 65 | }, |
| 66 | "memories": [ |
| 67 | { |
| 68 | "id": "{uuid}", |
| 69 | "type": "DECISION", |
| 70 | "content": "Using PostgreSQL as primary database", |
| 71 | "timestamp": "{current_timestamp}", |
| 72 | "tags": ["database", "postgresql", "backend"], |
| 73 | "project": "boostbox", |
| 74 | "context": { |
| 75 | "file": "{current_file_if_relevant}", |
| 76 | "conversation_id": "{if_available}" |
| 77 | } |
| 78 | }, |
| 79 | ...existing memories |
| 80 | ], |
| 81 | "tags_index": { |
| 82 | "database": ["{uuid1}", "{uuid2}"], |
| 83 | "postgresql": ["{uuid}"] |
| 84 | }, |
| 85 | "project_index": { |
| 86 | "boostbox": ["{uuid1}", "{uuid2}"], |
| 87 | "toolhub": ["{uuid3}"] |
| 88 | } |
| 89 | } |
| 90 | ``` |
| 91 | |
| 92 | **Step 5**: Create detailed memory file |
| 93 | ```bash |
| 94 | # Save to category-specific directory |
| 95 | # Linux/macOS: ~/.claude-memories/decisions/{uuid}.md |
| 96 | # Windows: %USERPROFILE%\.claude-memories\decisions\{uuid}.md |
| 97 | ~/.claude-memories/decisions/{uuid}.md |
| 98 | ``` |
| 99 | |
| 100 | ```markdown |
| 101 | # DECISION: Using PostgreSQL |
| 102 | |
| 103 | **Date**: 2025-10-17T17:45:00Z (2 hours ago) |
| 104 | **Project**: BOOSTBOX |
| 105 | **Tags**: database, postgresql, backend |
| 106 | |
| 107 | ## Decision |
| 108 | |
| 109 | Using PostgreSQL as primary database instead of MongoDB. |
| 110 | |
| 111 | ## Rationale |
| 112 | |
| 113 | {if provided by user or inferred from conversation} |
| 114 | |
| 115 | ## Context |
| 116 | |
| 117 | {surrounding conversation context} |
| 118 | |
| 119 | ## Related Memories |
| 120 | |
| 121 | {if any related memories found by tag/project match} |
| 122 | |
| 123 | ## Last Updated |
| 124 | |
| 125 | 2025-10-17T17:45:00Z |
| 126 | ``` |
| 127 | |
| 128 | **Step 6**: Confirm to user |
| 129 | ``` |
| 130 | ✅ Remembered: Using PostgreSQL as primary database |
| 131 | 📁 Saved to: decisions/{uuid}.md |
| 132 | 🏷️ Tags: database, postgresql, backend |
| 133 | 📊 Total memories: {N+1} |
| 134 | ``` |
| 135 | |
| 136 | ### 2. Recall Memory |
| 137 | |
| 138 | When user asks "what did we decide about [topic]": |
| 139 | |
| 140 | **Step 1**: Parse query |
| 141 | - Extract keywords: "decide" → search DECISION type |
| 142 | - Extract topic: "database" → search tags/content |
| 143 | |
| 144 | **Step 2**: Search index |
| 145 | ```javascript |
| 146 | // Priority order: |
| 147 | 1. Exact tag match in requested project |
| 148 | 2. Exact tag match in any project |
| 149 | 3. Partial content match in requested project |
| 150 | 4. Partial content match in any project |
| 151 | |
| 152 | // Sort by: |
| 153 | 1. Relevance (exact match > partial) |
| 154 | 2. Recency (newer > older) |
| 155 | 3. Type priority (BLOCKER > DECISION > others) |
| 156 | ``` |
| 157 | |
| 158 | **Step 3**: Load detailed memory files |
| 159 | ```bash |
| 160 | # For each matching UUID |
| 161 | cat ~/.claude-memories/decisions/{uuid}.md |
| 162 | # Windows PowerShell: |
| 163 | # Get-Content "$env:USERPROFILE\.claude-memories\decisions\{uuid}.md" |
| 164 | ``` |
| 165 | |
| 166 | **Step 4**: Present results |
| 167 | ``` |
| 168 | 🔍 Found 3 memories about "database": |
| 169 | |
| 170 | 1. DECISION: Using PostgreSQL (2 days ago) |
| 171 | 📁 Project: BOOSTBOX |
| 172 | 💡 Using PostgreSQL as primary database instead of MongoDB |
| 173 | 🔗 decisions/ab |