Retrieve memory summaries by ID, project, or recency. Returns structured JSON with compression metrics. Use to access compressed historical context for LLM prompts.
Retrieves existing memory summaries from BrAIny storage.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EXECUTION DECISION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββ βββββββββββββββββββββ β
β β START ββββββΆβ SUBAGENT AVAILABLE?β β
β ββββββββββββ βββββββββββ¬ββββββββββ β
β β β
β ββββββββββββββββ΄βββββββββββββββ β
β βΌ βΌ β
β ββββββββββββββ ββββββββββββββ β
β β YES β β NO β β
β βββββββ¬βββββββ βββββββ¬βββββββ β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββ βββββββββββββββββββββββ β
β β Task(summarizer, β β Bash(bun scripts/ β β
β β prompt: "...") β β list-summaries.ts)β β
β βββββββββββββββββββββββ βββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Use the summarizer subagent for lower token cost:
Task(
subagent_type: "summarizer",
description: "Retrieve summaries",
prompt: "List summaries for project 3afb861a-b783-45a6-bba2-4b6d96468aeb limit 5"
)
If subagent unavailable, execute scripts directly:
bun .opencode/skills/memory-summary-retrieve/scripts/list-summaries.ts PROJECT_ID [LIMIT]
bun .opencode/skills/memory-summary-retrieve/scripts/get-summary-by-id.ts SUMMARY_ID
bun .opencode/skills/memory-summary-retrieve/scripts/format-summary-context.ts SUMMARY_ID
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β RETRIEVAL WORKFLOW β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββ βββββββββββββββββββ β
β β START ββββββΆβ DETERMINE_MODE β β
β ββββββββββββ ββββββββββ¬βββββββββ β
β β β
β ββββββββββββββββββββΌβββββββββββββββββββ β
β βΌ βΌ βΌ β
β ββββββββββββββ ββββββββββββββ ββββββββββββββ β
β β BY_ID β β BY_PROJECT β β FORMAT β β
β β β β β β β β
β βββββββ¬βββββββ βββββββ¬βββββββ βββββββ¬βββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββ ββββββββββββββ ββββββββββββββ β
β β FETCH_ONE β β FETCH_LIST β β FETCH_ONE β β
β βββββββ¬βββββββ βββββββ¬βββββββ βββββββ¬βββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββ ββββββββββββββ ββββββββββββββ β
β β OUTPUT_JSONβ βOUTPUT_LIST β βOUTPUT_MD β β
β βββββββ¬βββββββ βββββββ¬βββββββ βββββββ¬βββββββ β
β β β β β
β βββββββββββββββββββΌβββββββββββββββββββ β
β βΌ β
β ββββββββββββββ β
β β END β β
β ββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| State | Entry Condition | Action | Exit Condition |
|---|---|---|---|
| DETERMINE_MODE | Start | Parse arguments | Mode selected |
| BY_ID | SUMMARY_ID provided | Fetch single summary | Data retrieved |
| BY_PROJECT | PROJECT_ID provided | Fetch summary list | List retrieved |
| FORMAT | --format flag set | Fetch and format | Content formatted |
| OUTPUT_JSON | JSON mode | Print JSON | End |
| OUTPUT_LIST | List mode | Print table | End |
| OUTPUT_MD | Format mode | Print Markdown | End |
bun .opencode/skills/memory-summary-retrieve/scripts/get-summary-by-id.ts SUMMARY_ID
Input: SUMMARY_ID (UUID)
Output:
ID: abc-123
Type: coding_session
Compression: 6.25x (5000 β 800 tokens)
Memories: 44
Created: 2026-01-07T10:30:00Z
File: /tmp/summary-abc-123.json
bun .opencode/skills/memory-summary-retrieve/scripts/list-summaries.ts PROJECT_ID [LIMIT]
Input:
Output:
Found: 3 summaries
1. abc-123
Type: coding_session
Compression: 6.25x
Memories: 44
2. def-456
Type: conversation
Compression: 4.50x
Memories: 30
bun .opencode/skills/memory-summary-retrieve/scripts/format-summary-context.ts SUMMARY_ID
Input: SUMMARY_ID (UUID)
Output (Markdown):
## OBJECTIVE: Implement authentication
## PROGRESS:
- Created AuthService β JWT generation working
- Added middleware β Routes protected
## FILES TOUCHED:
| Path | Operation | Changes |
|------|-----------|---------|
| src/auth/service.ts | created | JWT logic |
## CURRENT STATE: Tests passing
## CRITICAL DETAILS:
- JWT_SECRET required in production
- Token expiry: 24h
interface Summary {
id: string; // UUID
summaryType: string; // coding_session | conversation | custom
sections: object; // Type-specific structured data
content: string | null; // Formatted text for LLM
originalMemoryIds: string[]; // Source memory UUIDs
originalTokenCount: number; // Pre-compression tokens
compressedTokenCount: number; // Post-compression tokens
compressionRatio: number; // original / compressed
model: string; // AI model used
createdAt: string; // ISO timestamp
}
{
objective: string;
progress: string[];
filesTouched: { path: string; operation: string; changes: string }[];
currentState: string;
criticalDetails: string[];
}
{
topics: string[];
decisions: string[];
actionItems: string[];
context: string[];
openQuestions: string[];
}
{
prompt: string;
content: string;
keyPoints: string[];
}
| Variable | Default | Description |
|---|---|---|
| BRAINY_API_URL | http://localhost:3000 | API endpoint |
| SUMMARY_OUTPUT_FORMAT | json | Output format (json | markdown) |
| Error | Cause | Resolution |
|---|---|---|
| "Summary not found" | Invalid SUMMARY_ID | Verify UUID |
| "Project not found" | Invalid PROJECT_ID | Verify UUID |
| Empty list | No summaries exist | Run memory-summarize first |
What do you need?
βββ Single summary by ID β get-summary-by-id.ts
βββ List of project summaries β list-summaries.ts
βββ Formatted text for LLM β format-summary-context.ts
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Error (invalid input, API failure) |
| 2 | Not found |
| 3 | No content |