name: quests
description: Track and guide humans through complex multi-step real-world processes. Use when a user needs help with a bureaucratic, legal, technical, or any multi-step procedure that requires organized tracking, step-by-step guidance, and progress monitoring. Triggers on requests like "help me with this process", "guide me through", "track this project", "create a quest", or any complex task that benefits from being broken into manageable steps presented one at a time. Also triggers for existing quests: "how's my quest going", "what's next on [process]", "update my progress". This is for multi-session/multi-day processes, not simple one-off tasks. The quest replaces scattered memory files — it IS the memory for long-running processes.
Quests — Guided Process Framework
A standardized framework for AI agents to track and guide humans through complex long-term tasks. The quest is the single source of truth — context, decisions, contacts, risks, and progress live inside the quest, not scattered across memory files.
Philosophy
- One step at a time:
quest next shows only the current task — no overwhelm
- Quest as memory:
quest context gives the agent everything needed in minimal tokens
- Living document: Steps can be added, removed, reordered, and modified at any time
- Human-friendly:
quest brief generates summaries suitable for messaging
CLI: skills/quests/scripts/quest.py (symlink as quest)
Data stored at $WORKSPACE/data/quests.json. Quest IDs are auto-generated from names (slugified).
Conventions
- Auto-resolution: When only one quest is active, the quest argument is optional
- Fuzzy matching: Quests match by exact ID, ID prefix, or name substring
- Optional args:
quest done with no step completes the current active step
Quick Start
quest new "Fix car" --priority high --deadline 2026-06-01
quest add car "Get documents" --desc "Gather all paperwork"
quest substep car 1 "Find insurance certificate"
quest learn car "Tax exemption requires 12 months abroad"
quest decide car "Use contract dates as proof" --reason "No PERE registration"
quest contact car "Agency" --phone "555-1234" --role "Tax office"
quest next car # Present current step to human
quest done car 1.1 # Mark substep done
quest context car # Reload full context (~1K tokens)
Resuming a Quest (New Session)
quest list # Find active quests
quest context myquest # Load full state — replaces reading memory files
quest next myquest # Present current step to human
Commands Reference
Quest lifecycle:
new <name> [--desc] [--priority low|medium|high] [--deadline DATE] [--tags a,b]
list [--all] — list active (or all including archived)
delete <quest> [--archive] — archive is reversible, delete is permanent
Steps (fully flexible):
add <quest> <title> [--desc] — append a step
insert <quest> <position> <title> [--desc] — insert at specific position
remove <quest> <step> — remove a step or substep (e.g. 3 or 2.1)
substep <quest> <step> <title> — add substep to a step
done [quest] [step] — complete step/substep (auto-advances to next)
skip [quest] [step] — skip a step
block <quest> <step> <reason> — mark step as blocked
unblock <quest> <step> — unblock
edit <quest> [step] [--title] [--desc] — edit step or quest-level fields
reorder <quest> <step> <position> — move step to new position
Context & Memory (the core feature):
learn <quest> <fact> — record a key fact (quest-level, affects all steps)
decide <quest> <decision> [--reason] — record a decision with rationale
risk <quest> <concern> — flag a risk or concern
note <quest> <step> <text> — add a note to a specific step (step-level)
summarize <quest> <text> — update the high-level context summary
context [quest] [--json] — compact context dump (~500-1500 chars)
brief [quest] — human-friendly summary for async messaging
log [quest] [-n LIMIT] — timestamped activity log
learn vs note: Use learn for facts that affect the whole quest ("Tax exemption requires 12 months"). Use note for step-specific info ("Carlos said he has the CoC already").
Metadata:
meta <quest> [--priority] [--deadline] [--tags a,b] [--remove]
contact <quest> [name] [--phone] [--email] [--role] [--url] — add or list contacts
link <quest> [url] [--label] — add or list reference links
Templates:
template save <quest> [template_name] — save quest structure as reusable template
template list — list available templates
template use <template> [quest_name] — create new quest from template
Display:
next [quest] — current step only (for presenting to human)
show [quest] [-v] — full quest with all steps and context
status [quest] — quick progress overview
Export:
export <quest> [--file path] — markdown export
json [quest] — raw JSON (all quests if no arg)
Agent Guidelines
When (Not) to Create a Quest
- Create: Multi-session processes, bureaucratic tasks, anything >3 steps spanning multiple days
- Don't create: Simple one-off tasks, quick lookups, things that fit in one conversation
Starting a New Quest
- Create with
quest new — set priority and deadline if known
- Add 5-12 steps with
quest add (use substeps for granularity)
- Record initial facts with
quest learn
- Add contacts, links, and risks as discovered
- Present first step with
quest next
Session Resumption
At the start of any session involving an existing quest:
quest list — check what's active
quest context <id> — reload full state (replaces reading memory files)
quest next <id> — see where the human left off
During the Process
- Record everything: facts (
learn), decisions (decide), risks (risk)
- Update summary with
quest summarize as understanding evolves
- Add/remove/reorder steps freely as the process changes
- Use
quest brief when messaging the human asynchronously (WhatsApp/Discord recap)
- Use
quest next in interactive conversation
Presenting to Humans
- Always use
quest next — never show the full step list unprompted
- When human completes something →
quest done → auto-advances
- When blocked →
quest block with clear reason
- When human provides info →
quest learn or quest note
Multiple Active Quests
Auto-resolution only works with one active quest. When multiple are active, always specify the quest ID explicitly.
Quest Completion
When all steps are done, the quest auto-completes. Consider:
quest export <quest> --file to save a permanent record
quest template save if the process might repeat
quest delete <quest> --archive to clean up while preserving data
Token Efficiency
quest context outputs ~500-1500 chars with full situational awareness
- No need for separate memory files, trackers, or project docs
- The quest IS the memory — facts, decisions, contacts, risks, all in one place
- Use
quest context --json for structured programmatic access
1---2name: quests3description: A standardized framework for AI agents to track and guide humans through complex long-term tasks. The quest is the single source of truth — context, decisions, contacts, risks, and progress live inside the quest, not scattered across memory files.4---5
6---
7name: quests
8description: Track and guide humans through complex multi-step real-world processes. Use when a user needs help with a bureaucratic, legal, technical, or any multi-step procedure that requires organized tracking, step-by-step guidance, and progress monitoring. Triggers on requests like "help me with this process", "guide me through", "track this project", "create a quest", or any complex task that benefits from being broken into manageable steps presented one at a time. Also triggers for existing quests: "how's my quest going", "what's next on [process]", "update my progress". This is for multi-session/multi-day processes, not simple one-off tasks. The quest replaces scattered memory files — it IS the memory for long-running processes.
9---
10
11# Quests — Guided Process Framework
12
13A standardized framework for AI agents to track and guide humans through complex long-term tasks. The quest is the **single source of truth** — context, decisions, contacts, risks, and progress live inside the quest, not scattered across memory files.
14
15## Philosophy
16
17- **One step at a time**: `quest next` shows only the current task — no overwhelm
18- **Quest as memory**: `quest context` gives the agent everything needed in minimal tokens
19- **Living document**: Steps can be added, removed, reordered, and modified at any time
20- **Human-friendly**: `quest brief` generates summaries suitable for messaging
21
22## CLI: `skills/quests/scripts/quest.py` (symlink as `quest`)
23
24Data stored at `$WORKSPACE/data/quests.json`. Quest IDs are auto-generated from names (slugified).
25
26### Conventions
27
28- **Auto-resolution**: When only one quest is active, the quest argument is optional
29- **Fuzzy matching**: Quests match by exact ID, ID prefix, or name substring
30- **Optional args**: `quest done` with no step completes the current active step
31
32### Quick Start
33```bash
34quest new "Fix car" --priority high --deadline 2026-06-01
35quest add car "Get documents" --desc "Gather all paperwork"
36quest substep car 1 "Find insurance certificate"
37quest learn car "Tax exemption requires 12 months abroad"
38quest decide car "Use contract dates as proof" --reason "No PERE registration"
39quest contact car "Agency" --phone "555-1234" --role "Tax office"
40quest next car # Present current step to human
41quest done car 1.1 # Mark substep done
42quest context car # Reload full context (~1K tokens)
43```
44
45### Resuming a Quest (New Session)
46```bash
47quest list # Find active quests
48quest context myquest # Load full state — replaces reading memory files
49quest next myquest # Present current step to human
50```
51
52### Commands Reference
53
54**Quest lifecycle:**
55- `new <name> [--desc] [--priority low|medium|high] [--deadline DATE] [--tags a,b]`
56- `list [--all]` — list active (or all including archived)
57- `delete <quest> [--archive]` — archive is reversible, delete is permanent
58
59**Steps (fully flexible):**
60- `add <quest> <title> [--desc]` — append a step
61- `insert <quest> <position> <title> [--desc]` — insert at specific position
62- `remove <quest> <step>` — remove a step or substep (e.g. `3` or `2.1`)
63- `substep <quest> <step> <title>` — add substep to a step
64- `done [quest] [step]` — complete step/substep (auto-advances to next)
65- `skip [quest] [step]` — skip a step
66- `block <quest> <step> <reason>` — mark step as blocked
67- `unblock <quest> <step>` — unblock
68- `edit <quest> [step] [--title] [--desc]` — edit step or quest-level fields
69- `reorder <quest> <step> <position>` — move step to new position
70
71**Context & Memory** (the core feature):
72- `learn <quest> <fact>` — record a key fact (quest-level, affects all steps)
73- `decide <quest> <decision> [--reason]` — record a decision with rationale
74- `risk <quest> <concern>` — flag a risk or concern
75- `note <quest> <step> <text>` — add a note to a specific step (step-level)
76- `summarize <quest> <text>` — update the high-level context summary
77- `context [quest] [--json]` — compact context dump (~500-1500 chars)
78- `brief [quest]` — human-friendly summary for async messaging
79- `log [quest] [-n LIMIT]` — timestamped activity log
80
81> **`learn` vs `note`**: Use `learn` for facts that affect the whole quest ("Tax exemption requires 12 months"). Use `note` for step-specific info ("Carlos said he has the CoC already").
82
83**Metadata:**
84- `meta <quest> [--priority] [--deadline] [--tags a,b] [--remove]`
85- `contact <quest> [name] [--phone] [--email] [--role] [--url]` — add or list contacts
86- `link <quest> [url] [--label]` — add or list reference links
87
88**Templates:**
89- `template save <quest> [template_name]` — save quest structure as reusable template
90- `template list` — list available templates
91- `template use <template> [quest_name]` — create new quest from template
92
93**Display:**
94- `next [quest]` — current step only (for presenting to human)
95- `show [quest] [-v]` — full quest with all steps and context
96- `status [quest]` — quick progress overview
97
98**Export:**
99- `export <quest> [--file path]` — markdown export
100- `json [quest]` — raw JSON (all quests if no arg)
101
102## Agent Guidelines
103
104### When (Not) to Create a Quest
105- **Create**: Multi-session processes, bureaucratic tasks, anything >3 steps spanning multiple days
106- **Don't create**: Simple one-off tasks, quick lookups, things that fit in one conversation
107
108### Starting a New Quest
1091. Create with `quest new` — set priority and deadline if known
1102. Add 5-12 steps with `quest add` (use substeps for granularity)
1113. Record initial facts with `quest learn`
1124. Add contacts, links, and risks as discovered
1135. Present first step with `quest next`
114
115### Session Resumption
116At the start of any session involving an existing quest:
1171. `quest list` — check what's active
1182. `quest context <id>` — reload full state (replaces reading memory files)
1193. `quest next <id>` — see where the human left off
120
121### During the Process
122- Record everything: facts (`learn`), decisions (`decide`), risks (`risk`)
123- Update summary with `quest summarize` as understanding evolves
124- Add/remove/reorder steps freely as the process changes
125- Use `quest brief` when messaging the human asynchronously (WhatsApp/Discord recap)
126- Use `quest next` in interactive conversation
127
128### Presenting to Humans
129- **Always use `quest next`** — never show the full step list unprompted
130- When human completes something → `quest done` → auto-advances
131- When blocked → `quest block` with clear reason
132- When human provides info → `quest learn` or `quest note`
133
134### Multiple Active Quests
135Auto-resolution only works with one active quest. When multiple are active, always specify the quest ID explicitly.
136
137### Quest Completion
138When all steps are done, the quest auto-completes. Consider:
139- `quest export <quest> --file` to save a permanent record
140- `quest template save` if the process might repeat
141- `quest delete <quest> --archive` to clean up while preserving data
142
143### Token Efficiency
144- `quest context` outputs ~500-1500 chars with full situational awareness
145- No need for separate memory files, trackers, or project docs
146- The quest IS the memory — facts, decisions, contacts, risks, all in one place
147- Use `quest context --json` for structured programmatic access