| name | taskmanager-memory |
| description | Manage project memories - constraints, decisions, conventions with conflict detection and resolution |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion |
TaskManager Memory Skill — router
.taskmanager/taskmanager.db holds the project-wide memory: table memories, FTS5
mirror memories_fts, task-scoped entries in state.task_memory. You dispatch; the
work lives in ONE reference file per situation. Load only the matching row.
| Situation | Load |
|---|
| Find memories for the current work (keywords, files, domains, task IDs); record usage | references/memory-search.md |
| Browse or inspect memories (list, show, get, statistics) | references/memory-query.md |
| Capture a new long-lived decision / constraint / convention | references/memory-create.md |
| Correct, deprecate, or supersede an existing memory | references/memory-update.md |
| Check active memories for conflicts; resolve them | references/memory-conflicts.md |
| Task-scoped memory: add / retrieve / promote | references/memory-task-scoped.md |
RULES (always):
- DB missing → run
taskmanager:init first, stop.
- Enum values are fixed by the schema —
kind: constraint, decision, bugfix,
workaround, convention, architecture, process, integration, anti-pattern, other ·
status: active, deprecated, superseded, draft · source_type: user, agent,
command, hook, other. Never invent values.
- Memories are never deleted — only
deprecated or superseded (the audit trail).
source_type = 'user' → never auto-modified; every change asks via AskUserQuestion.
- Search goes through
memories_fts MATCH, never LIKE over body.
- At most 10 memories per retrieval (each query's LIMIT); the only full dump is
list --all.
- Deferred work lives in the
deferrals table (owned by the run and update
commands) — never create a memory to track a deferral.
- Single-quote SQL strings; double embedded single quotes.
- Log to
.taskmanager/logs/activity.log, append-only, levels ERROR and DECISION:
<timestamp> [ERROR|DECISION] [memory] <message> — one line per create, update,
deprecate/supersede, memory-applied-to-task, conflict resolution, and error.