Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add shyftlabs/continuum --skill continuum-memorygit clone --depth 1 https://github.com/shyftlabs/continuumWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shyftlabs/continuum/continuum-memory)<a href="https://agentmods.dev/skills/shyftlabs/continuum/continuum-memory"><img src="https://agentmods.dev/badge/skills/shyftlabs/continuum/continuum-memory/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shyftlabs/continuum/continuum-memory"><img src="https://agentmods.dev/badge/skills/shyftlabs/continuum/continuum-memory.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00107 | $0.01426 |
| Opus 5.5 | $0.00043 | $0.00570 |
| Sonnet 5.5 | $0.00021 | $0.00285 |
| Haiku 4.5 | $0.00011 | $0.00143 |
Grade A, and why
continuum-memory scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 221 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Continuum Memory Skill
Authoritative sources: docs/memory.md and
docs/session.md.
Two layers
| Layer | Class | Backend | Purpose |
|---|---|---|---|
| Short-term | SessionClient |
Redis (port 6380) | Conversation history this session |
| Long-term | MemoryClient |
mem0 + Qdrant or Milvus | Facts extracted across sessions |
AgentRunner uses both automatically when user_id and session_id
are passed.
Vector store selection
Default is Milvus. Switch via env var:
VECTOR_STORE_PROVIDER=milvus # default — Milvus (port 19530)
VECTOR_STORE_PROVIDER=qdrant # Qdrant (port 6333)
Milvus config:
MILVUS_HOST=localhost
MILVUS_PORT=19530
MILVUS_TOKEN= # for Zilliz Cloud
MILVUS_COLLECTION=orchestrator_memories
Qdrant config:
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY= # for Qdrant Cloud
QDRANT_COLLECTION=orchestrator_memories
Quick agent setup
from continuum.agent import BaseAgent
from continuum.agent.config import AgentMemoryConfig
from continuum.agent.types import MemoryScope
agent = BaseAgent(
name="assistant",
instructions="...",
memory_config=AgentMemoryConfig(
search_memories=True,
store_memories=True,
search_scope=MemoryScope.USER, # ENUM, not the dataclass
store_scope=MemoryScope.USER,
search_limit=5,
),
)
resp = await runner.run(agent, "...", user_id="u1", session_id="s1")
Direct memory access
from continuum.memory import MemoryClient
client = MemoryClient() # uses env defaults
# add (fact extraction via LLM)
await client.add(
messages=[{"role": "user", "content": "I'm vegetarian"}],
user_id="u1",
)
# semantic search
result = await client.search("dietary preferences", user_id="u1", limit=5)
for entry in result.results:
print(entry.memory)
# CRUD
entry = await client.get(memory_id)
all_entries = await client.get_all(user_id="u1")
await client.update(memory_id, "Updated text")
await client.delete(memory_id)
await client.delete_all(user_id="u1") # wipe a user's memories
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 221 lines · 107 tokens per session scan A 594cabe7ba26
continuum-memory is a skill published in the GitHub repository shyftlabs/continuum (84 stars, last pushed 11d ago), licensed Apache-2.0. It adds 107 tokens to every session and 1,426 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
tanstack-ai-memory-redis
Use when wiring redis() from @tanstack/ai-memory/redis in production — covers client setup (ioredis or node-redis via fromNodeRedis), the storage model, client-side ranking limits, and troubleshooting.
V3 Memory Unification
Unify 6+ memory systems into AgentDB with HNSW indexing for 150x-12,500x search improvements. Implements ADR-006 (Unified Memory Service) and ADR-009 (Hybrid Memory Backend).
theokit-database
TheoKit database — Drizzle ORM, SQLite schema, migrations, seeds, db commands.
data-tier-cutover
The stateful-tier migration PROCEDURE skill — cut an app's SQL database + cache over from self-managed instances to a managed serverless target. A read-only procedure the generic agent runs alongside the id- infra-delivery steps: it drives the fail-closed cutover-mechanism DECISION TREE (snapshot-restore vs…
caching-strategies
Implement effective caching at every layer: in-memory, Redis, CDN, and browser. Activate whenever the user asks about caching, performance optimization for repeated data access, Redis patterns, CDN configuration, cache invalidation, HTTP cache headers, memoization, or stale-while-revalidate strategies.
golang-samber-hot
In-memory caching in Golang using samber/hot — eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, TwoQueue, SIEVE, FIFO), TTL, cache loaders, sharding, stale-while-revalidate, missing key caching, and Prometheus metrics. Apply when using or adopting samber/hot, when the codebase imports…