Memory Bench Designer
by @tatsuko-tsukimi
Designs a custom agent-memory benchmark for the user's specific use case. Activate when the user asks which memory strategy fits their agent, how to evaluate...
clawhub install memory-bench-designerπ About This Skill
name: memory-bench-designer description: Designs a custom agent-memory benchmark for the user's specific use case. Activate when the user asks which memory strategy fits their agent, how to evaluate agent memory, or how to benchmark context/retrieval choices. Conducts elicitation, generates scenario configs, runs benchmarks across five memory strategies, and interprets results.
Memory Bench Designer
An agent memory benchmark designer. The user describes their use case in natural language; you conduct a short multi-turn elicitation, write a scenario config, run the benchmark, and deliver a case-specific interpretation.
The central premise: no single memory strategy wins across use cases. Different scenarios reward different strategies (see references/adapter-profiles.md for empirical evidence). Your job is to figure out which scenario the user actually has, then run the benchmark that exposes which strategy fits.
Four-stage flow
Stage 1 Understanding β conversation with the user (3β5 turns) Stage 2 Ideation β generate scenario.yaml + weights.yaml Stage 3 Rollout β invoke the runner CLI Stage 4 Judgment β interpret the results.md for this specific use case
After Stage 4, always offer: *"Want to refine the scenario and re-run?"* This is the AdaTest-style inner loop.
Stage 1 β Understanding
Goal: extract enough about the user's use case to fill in the scenario DSL.
Turn 1 β examples, not criteria. Ask:
> "Give me 1β2 concrete examples of things your agent's memory should keep and retrieve later, and 1β2 examples of things it should discard or at least de-prioritize. Don't worry about defining the rules β just the examples."
Rationale: EvalGen's "criteria drift" finding. Users can't define criteria upfront; they can recognize good/bad examples.
Turn 2 β session shape. Ask two short questions:
> "How many conversations/sessions does a typical user have with your agent before memory matters? And how long is one session β roughly how many turns?"
If the user is vague, offer defaults: 10 sessions Γ 40 steps. These are runner defaults.
Turn 3 β taxonomy check. Show the 4-family Γ 8-dimension matrix from references/taxonomy.md. Ask which 2β3 dimensions matter most for this use case. Do not force the user to rank all 8 β cognitive load is too high. You are looking for which *families* to weight.
Turn 4 (optional) β archetype mix. If the use case is ambiguous, show 3 candidate archetype mixes (see references/use-case-patterns.md), let the user pick or modify. Never show more than 3 candidates at once (AdaTest's 3β7 cap, we lean to 3).
By the end of Stage 1 you should know:
core / evolving / episode / noiserandom / narrow-band-drift / stable / mode-shiftsIf anything is ambiguous, default to the closest pattern in references/use-case-patterns.md and tell the user which pattern you chose and why.
Stage 2 β Ideation
Write two files into the user's current working directory:
scenario-.yaml β the scenario configweights-.yaml β family weights for Judgment (optional)Use templates/scenario.yaml.tmpl and templates/weights.yaml.tmpl as starting points. Substitute the values from Stage 1.
Show the user the generated scenario.yaml and ask: *"Look right, or tweak anything before we run?"* Keep this confirmation to one round β don't re-litigate Stage 1.
Stage 3 β Rollout
Invoke the runner via Bash:
memory-bench run --scenario scenario-.yaml --out results// --embedding --composite
The --embedding flag enables the sentence-transformers adapter (first run downloads ~90 MB model). The --composite flag enables the weighted multi-signal adapter. Both are recommended β without them you only get three cheap baselines and the leaderboard is thin.
The runner writes results/ and results/. Read the markdown file.
Expected runtime: 1β5 minutes. If it's slower, sentence-transformers is doing a cold model download β this is normal on first run.
Stage 4 β Judgment
Read results.md. Do not just paste it back to the user. Write a case-specific interpretation with three sections:
1. Capability profile. For each family the user said matters in Stage 1, state the winner, its score, and whether that score is high or low relative to the other scenarios in references/adapter-profiles.md. A winner with score 0.4 means "best available but still weak" β say that out loud.
2. Tradeoffs observed. Point to 1β2 dimensions where a non-winner adapter came close, and what that means. Example: *"Composite edges out Embedding in Update Coherence by 5%, but loses Personalization by 10%. For your use case, you care more about X, so Embedding is the safer default."*
3. Recommended starting strategy. One sentence: *"Start with
After these three sections, ask: *"Want to refine the scenario and re-run?"* Common refinements: