store: Command + background agent pattern for context-dependent async work
This commit is contained in:
parent
212f56abc5
commit
4c0c5f805c
@ -0,0 +1,48 @@
|
||||
---
|
||||
id: 9369e53e-123c-4102-b69d-2a4705f2388e
|
||||
type: code_pattern
|
||||
title: "Command + background agent pattern for context-dependent async work"
|
||||
tags: [claude-code, commands, agents, pattern, architecture]
|
||||
importance: 0.6
|
||||
confidence: 0.8
|
||||
created: "2026-02-19T22:09:59.147931+00:00"
|
||||
updated: "2026-02-19T22:09:59.147931+00:00"
|
||||
---
|
||||
|
||||
Pattern for tasks needing conversation context but should run asynchronously.
|
||||
|
||||
## Pattern Structure
|
||||
|
||||
1. **Slash command** in `.claude/commands/` runs inline with full conversation context
|
||||
2. **Command analyzes context** and builds structured summary
|
||||
3. **Command spawns custom agent** from `.claude/agents/` in background via Task tool with `run_in_background=true`
|
||||
4. **Agent receives summary** as prompt and does heavy lifting
|
||||
5. **User gets control back** immediately
|
||||
|
||||
## Workflow
|
||||
|
||||
- Command has access to full conversation history → ideal for context analysis
|
||||
- Agent runs asynchronously → ideal for time-consuming operations
|
||||
- Structured summary bridges the two → cleanly separates concerns
|
||||
|
||||
## Real-World Example
|
||||
|
||||
`/save-memories` command:
|
||||
- Command analyzes conversation, finds duplicate cutoff, builds memory summary
|
||||
- Spawns memory-saver agent with summary
|
||||
- User can continue working while agent stores items
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
- Newly created agents require a **session restart** to appear in the `subagent_type` list
|
||||
- Until then, use `subagent_type: general-purpose` as fallback
|
||||
- Agent receives summary via prompt, not conversation history
|
||||
- Task tool with `run_in_background=true` prevents blocking user
|
||||
|
||||
## Applicable To
|
||||
|
||||
Any task that:
|
||||
- Requires analyzing session/conversation context
|
||||
- Takes time to execute (network, storage, processing)
|
||||
- Should not block the user
|
||||
- Needs to defer execution to another agent
|
||||
Loading…
Reference in New Issue
Block a user