Skip to content
Back to skills

Tiered Memory

ASecurity

Three-tier agent memory model (hot/cold/wiki) for context reduction per spawn

  • 802 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsdebugginggitapisecurityperformance

Works with

  • api

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add sbroenne/mcp-server-excel --skill tiered-memory --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tiered Memory?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tiered Memory
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/sbroenne-tiered-memory/badge)](https://www.skillsdirectory.com/skills/sbroenne-tiered-memory)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tiered-memory
description: Three-tier agent memory model (hot/cold/wiki) for context reduction per spawn
domain: memory-management, performance
confidence: design (runtime not yet implemented)
source: design proposal
---

# Skill: Tiered Agent Memory

> **Status (v0.10.0):** This skill describes a **design proposal**, not a shipped runtime. Skill files install via `squad init`/`upgrade`, but the underlying tier scaffolding (`.squad/memory/hot/`, `cold/`, `wiki/`), Scribe promotion logic, and spawn-template tier-aware reads are tracked in [bradygaster/squad#1264](https://github.com/bradygaster/squad/issues/1264). Until those land, agents continue to load full `history.md` + `decisions.md` on every spawn.

## Overview

Squad agents today load their full context history on every spawn, which grows unboundedly across sessions. The Tiered Agent Memory model proposes a three-tier separation so agents only load the bytes that are actually relevant to the current task, with older context kept available on demand.

---

## Memory Tiers

### πŸ”₯ Hot Tier β€” Current Session Context
- **Size target:** keep small (~2–4KB typical)
- **Load policy:** Always loaded. Every spawn includes hot memory by default.
- **Contents:** Current task description, active decisions made this session, immediate blockers, last 3–5 actions taken, who you are talking to right now.
- **Lifetime:** Current session only. Discarded after session ends (Scribe promotes relevant parts to Cold).
- **Purpose:** Provide immediate task context without any latency or load decision.

### ❄️ Cold Tier β€” Summarized Cross-Session History
- **Size target:** larger summary, not full transcript (~8–12KB typical)
- **Load policy:** Load on demand. Include only when the task explicitly needs history.
- **Contents:** Summarized past sessions (compressed by Scribe), cross-session decisions, recurring patterns, unresolved issues from prior work.
- **Lifetime:** Rolling window (default proposal: 30 days). Eligible entries are then promoted to Wiki.
- **Purpose:** Answer "what have we tried before?" and "what was decided?" without replaying full transcripts.
- **How to include:** Pass `--include-cold` in spawn template or add `## Cold Memory` section.

### πŸ“š Wiki Tier β€” Durable Structured Knowledge
- **Size target:** variable, structured reference docs
- **Load policy:** Async write, selective read. Load only when task requires domain knowledge.
- **Contents:** Architecture decisions (ADRs), agent charters, routing rules, stable conventions, external API contracts, known platform constraints.
- **Lifetime:** Permanent until explicitly deprecated.
- **Purpose:** Authoritative reference. Not history β€” structured facts.
- **How to include:** Pass `--include-wiki` or reference specific wiki doc paths in spawn template.

---

## When to Load Each Tier

| Situation | Hot | Cold | Wiki |
|-----------|-----|------|------|
| New task, no prior context needed | βœ… | ❌ | ❌ |
| Resuming interrupted work | βœ… | βœ… | ❌ |
| Debugging a recurring issue | βœ… | βœ… | ❌ |
| Implementing against a spec/ADR | βœ… | ❌ | βœ… |
| Onboarding to unfamiliar subsystem | βœ… | ❌ | βœ… |
| Post-incident review | βœ… | βœ… | βœ… |

---

## Spawn Template Pattern

The default spawn prompt should include **Hot tier only**:

```
## Memory Context

### Hot (current session)
{hot_context}
```

Add `--include-cold` when the task needs history:
```
## Memory Context

### Hot (current session)
{hot_context}

### Cold (summarized history β€” load on demand)
See: .squad/memory/cold/{agent-name}.md
```

Add `--include-wiki` when the task needs domain knowledge:
```
## Memory Context

### Hot (current session)
{hot_context}

### Wiki (durable reference)
See: .squad/memory/wiki/{topic}.md
```

---

## Integration with Scribe Agent (design β€” not yet implemented)

Scribe is the proposed memory coordinator for this system. Once the runtime lands, Scribe will:

1. **End of session:** Compress Hot β†’ Cold summary (target: ~10% of session verbosity)
2. **Aged cold entries:** Promote Cold β†’ Wiki for decisions/facts that aged into stable knowledge
3. **On-demand wiki writes:** Any agent can request Scribe to write a wiki entry mid-session

Until then, see the Scribe charter for current behavior: `.squad/agents/scribe/charter.md`

---

## Implementation Checklist (tracked in #1264)

- [ ] Scribe writes Hot context file at session start (`.squad/memory/hot/{agent}.md`)
- [ ] Scribe compresses and writes Cold summary at session end
- [ ] Spawn templates default to Hot-only
- [ ] Coordinators add `--include-cold` / `--include-wiki` flags as needed
- [ ] Wiki entries stored in `.squad/memory/wiki/`
- [ ] Cold entries stored in `.squad/memory/cold/` with rolling TTL

---

## References

- Tracking issue: [bradygaster/squad#1264](https://github.com/bradygaster/squad/issues/1264) β€” installation gap + runtime status
- Original design spike: [bradygaster/squad#686](https://github.com/bradygaster/squad/issues/686) β€” tiered memory implementation plan
- Related: [bradygaster/squad#600](https://github.com/bradygaster/squad/issues/600) β€” context payload growth

---

## Spawn Template

# Spawn Template: Agent with Tiered Memory

Use this template when spawning any Squad agent. By default it loads **Hot tier only**. Add optional sections as needed.

---

## Task

{task_description}

## WHY

{why_this_matters}

## Success Criteria

- [ ] {criterion_1}
- [ ] {criterion_2}

---

## Memory Context

### πŸ”₯ Hot (always included)

> Paste current session context here (~2–4KB target):

```
Current task: {task_description}
Active decisions: {decisions_this_session}
Last actions: {last_3_to_5_actions}
Blockers: {current_blockers_or_none}
Talking to: {current_interlocutor}
```

---

### ❄️ Cold (include when task needs history β€” add `--include-cold`)

> Load on demand. Do not inline unless specifically needed.

Summarized cross-session history is at:
`.squad/memory/cold/{agent-name}.md`

Include when:
- Resuming interrupted work
- Debugging a recurring issue
- "What have we tried before?"

**To load cold memory, add this section and fetch the file before spawning:**

```
## Cold Memory Summary
{contents_of_.squad/memory/cold/{agent-name}.md}
```

---

### πŸ“š Wiki (include when task needs domain knowledge β€” add `--include-wiki`)

> Load on demand. Reference specific wiki docs by path.

Wiki entries are at: `.squad/memory/wiki/`

Include when:
- Implementing against an ADR or spec
- Onboarding to unfamiliar subsystem
- Need stable conventions or API contracts

**To load wiki, add this section and reference the specific doc:**

```
## Wiki Reference
{contents_of_.squad/memory/wiki/{topic}.md}
```

---

## Escalation

If blocked or uncertain:
- Architecture questions β†’ current architecture owner from `routing.md`
- Security concerns β†’ current security owner from `routing.md`
- Infrastructure/deployment β†’ current delivery owner from `routing.md`
- Memory/history questions β†’ current memory owner from `routing.md`

---

## Notes

- Hot tier is always included; keep it focused
- Cold adds a summary; only include when history is relevant
- Wiki adds variable size; only include specific relevant docs
- Runtime backing is tracked in [bradygaster/squad#1264](https://github.com/bradygaster/squad/issues/1264) β€” until those changes land, this skill is design-only and agents continue to load full history.md + decisions.md on every spawn

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…