Loading...
Loading...
Task management via Basic Memory schemas: create, track, and resume structured tasks that survive context compaction. Uses BM's schema system for uniform notes queryable through the knowledge graph.
npx skill4agent add basicmachines-co/basic-memory-skills memory-taskstype: Taskmemory/schema/Task.md---
title: Task
type: schema
entity: Task
version: 1
schema:
description: string, what needs to be done
status?(enum): [active, blocked, done, abandoned], current state
assigned_to?: string, who is working on this
steps?(array): string, ordered steps to complete
current_step?: integer, which step number we're on (1-indexed)
context?: string, key context needed to resume after memory loss
started?: string, when work began
completed?: string, when work finished
blockers?(array): string, what's preventing progress
parent_task?: Task, parent task if this is a subtask
settings:
validation: warn
---write_notenote_type="Task"metadatawrite_note(
title="Descriptive task name",
directory="tasks",
note_type="Task",
metadata={
"status": "active",
"priority": "high",
"current_step": 1,
"steps": ["First step", "Second step", "Third step"]
},
tags=["task"],
content="""# Descriptive task name
## Observations
- [description] What needs to be done, concisely
- [status] active
- [assigned_to] claude
- [current_step] 1
## Steps
1. [ ] First concrete step
2. [ ] Second concrete step
3. [ ] Third concrete step
## Context
What future-you needs to pick up this work. Include:
- Key file paths and repos involved
- Decisions already made and why
- What was tried and what worked/didn't
- Where to look for related context"""
)metadatasearch_notesmetadata_filters- [status] activeschema_validateparent_task [[Other Task]]related_to [[Some Note]]note_typeswrite_note(note_type="Task")tasknote_types=["task"]search_notes(note_types=["task"], status="active")current_stepcontextcurrent_step## Steps
1. [x] First step — done, resulted in X
2. [x] Second step — done, changed approach because Y
3. [ ] Third step — next up
## Context
Updated context reflecting current state...current_step: 3status: done
completed: YYYY-MM-DDsearch_notes(note_types=["task"], status="active")current_stepcontext| Query | What it finds |
|---|---|
| All tasks |
| Active tasks |
| Blocked tasks |
| My tasks |
| Tasks with blockers |
| Validate all tasks against schema |
| Detect drift between schema and actual task notes |
activeparent_task [[X]]schema_validate(noteType="Task")