Memento Skill
Overview
Memento Skill treats research memory as a controlled recall problem. External
records help an agent continue work across sessions, but they can also pollute
the next decision if stale notes, weak evidence, or misleading summaries are
read as current facts.
The goal is not to remember everything. The goal is to keep the current decision
surface clear: facts in one ledger, contrasts in another, beliefs in a third,
and stale fragments behind an archive index until there is a real reason to
recall them.
Default stance: optimize for fast continuation, not exhaustive replay. A good
tracker lets a fresh agent recover the current decision surface quickly without
re-reading the whole experimental past.
Use this skill when
- The user wants an experiment tracker, ablation plan, run table, or research log.
- The project has many runs and needs a global landscape rather than ad hoc notes.
- The user wants help picking the next experiment by information gain, not intuition alone.
- The user wants to compare predictions against outcomes and update beliefs systematically.
- The user wants to prevent old context, archived findings, or memory fragments
from becoming accidental instructions.
Core rules
- Maintain both views at once: the global landscape and the next local gradient.
- Separate active decision support from archival completeness.
- Add a contrast before launching a run.
- Change one primary axis per contrast; keep the rest controlled enough to interpret.
- Prefer experiments whose outcome would most change the roadmap.
- Negative results are useful if the prediction was explicit and the control was clean.
- The worst result is a bad contrast that teaches nothing.
- If an old experiment no longer changes the next decision, demote it out of the
default working set.
- Do not let every note become a tattoo: a fragment must be classified,
checked, and placed in the right memory layer before it drives action.
Required working set
runs.csv: factual ledger, one row per run.
contrasts.csv: reasoning ledger, one row per controlled comparison.
hypotheses.md: belief ledger, one section per claim and update rule.
If these files do not exist, create them. Use the starter schemas in references/TEMPLATES.md.
Preferred layered layout
For medium or large research programs, prefer this layout:
CURRENT_STATE.md: the minimum entry point for a fresh agent. Keep it short.
ACTIVE_TRACKER.md or ACTIVE_TRACKER.csv: only experiments that still have
decision gradient for the current roadmap.
EVIDENCE_LOG.md: compressed statement of what the project currently believes
and which few experiments justify that belief.
runs.csv, contrasts.csv, hypotheses.md: the full ledger.
archive/: experiments and tracker snapshots that should not be read by
default.
- optional
ARCHIVE_INDEX.md: a searchable index for cold-memory recall.
- optional archive cards: one short note per archived cluster explaining when it
should ever be revisited.
- optional
RECALL_NOTES/: small audit trail for archive recalls that actually
happened.
Think of these as memory layers:
- hot path:
CURRENT_STATE.md, ACTIVE_TRACKER.*, EVIDENCE_LOG.md
- full ledger:
runs.csv, contrasts.csv, hypotheses.md
- cold memory:
archive/, ARCHIVE_INDEX.md, archive cards, RECALL_NOTES/
Compatibility rule:
- Do not break projects that only have
runs.csv, contrasts.csv,
hypotheses.md.
- When the tracker has become too large, introduce the layered files above and
make them the default reading path.
- Do not require archive files for projects that do not need cold-memory recall
yet.
Archive recall model
Treat archive as a cold-memory layer, not as dead storage and not as part of the
default read path.
Rules:
- Do not read archive by default.
- Only recall archive when the current problem justifies it.
- Recall should begin from an index or archive card, not from blind directory
traversal.
- Recall is for extracting reusable assets, not for replaying the entire old
branch.
- If recall finds a still-useful result, promote that result back into the hot
path (
CURRENT_STATE.md, ACTIVE_TRACKER.*, EVIDENCE_LOG.md) rather than
leaving it buried.
Recommended recall triggers:
- current mainline has stalled or failed repeatedly
- current question is structurally similar to an archived question
- a new result conflicts with the active project story
- a high-value anomaly appears and active evidence does not explain it
- the user explicitly asks for historical excavation
Recommended recall budget:
- first read
ARCHIVE_INDEX.md or the relevant archive card
- select at most 1-2 archive clusters
- read at most 1-3 source files per cluster before deciding whether to stop
- write a short recall note if the recall materially informs the next step
Workflow
- Read the smallest authoritative entry point first: prefer
CURRENT_STATE.md,
then ACTIVE_TRACKER.*, then EVIDENCE_LOG.md, then the full ledger only as
needed.
- Identify the active questions, hypotheses, and unresolved decision points.
- Mark old experiments as one of:
active: still changes current decisions
reference: useful supporting evidence but not part of the default working set
archived: historical only unless a specific question reopens
- Propose candidate contrasts and rank them by expected information gain.
- Write the prediction before execution: direction, minimum meaningful delta,
and reason.
- Record observed facts in
runs.csv, not interpretation.
- Update
contrasts.csv with actual deltas, information gain, and next
action.
- Update
hypotheses.md based on the gap between expected and observed
results.
- If archive recall is triggered, consult
ARCHIVE_INDEX.md or archive cards,
do a bounded read, and summarize reusable findings in a recall note.
- Promote any recalled high-value finding into the hot path instead of keeping
it archive-only.
- Refresh
CURRENT_STATE.md and ACTIVE_TRACKER.* so a new agent can resume
without replaying the whole ledger.
- If tracker files exist, run
python <path-to-this-skill>/scripts/validate_tracker.py <tracker_dir>
after editing them. Resolve the script path relative to this SKILL.md.
Deliverables
When using this skill, produce:
- A concise landscape summary
- The most informative next contrasts, ranked
- The control requirements for each contrast
- The predicted gradient or decision impact for each contrast
- Explicit hypothesis updates after new evidence
- A statement of what moved into the active set, what stayed as reference, and
what was archived out of the default reading path
- When archive recall happened: why recall was triggered, what was read, what
reusable asset was found, and whether it changed the plan
Quality bar
runs.csv should store facts and quality flags, not conclusions.
contrasts.csv should make it obvious what changed, what stayed controlled, what was predicted, and what was learned.
hypotheses.md should state what would change the belief, not just the belief itself.
- If a contrast is weakly controlled, mark it inconclusive instead of pretending it resolved the question.
CURRENT_STATE.md should be readable in one short sitting.
ACTIVE_TRACKER.* should contain only the experiments with nontrivial current
decision gradient.
- Historical completeness belongs in the ledger and archive, not in the default
agent entry point.
- Archive should be indexed by problem value, not only by date or snapshot name.
- Useful archived findings should be promotable back into the hot path with
minimal rewriting.
See references/REFERENCE.md for the full rubric and references/TEMPLATES.md for starter files and examples.
1---2name: memento-skill3description: Controlled recall for research memory, experiment tracking, evidence ledgers, hypothesis updates, archival recall, and next high-information experimental contrasts.4license: MIT5---67# Memento Skill89## Overview1011Memento Skill treats research memory as a controlled recall problem. External12records help an agent continue work across sessions, but they can also pollute13the next decision if stale notes, weak evidence, or misleading summaries are14read as current facts.1516The goal is not to remember everything. The goal is to keep the current decision17surface clear: facts in one ledger, contrasts in another, beliefs in a third,18and stale fragments behind an archive index until there is a real reason to19recall them.2021Default stance: optimize for fast continuation, not exhaustive replay. A good22tracker lets a fresh agent recover the current decision surface quickly without23re-reading the whole experimental past.2425## Use this skill when2627- The user wants an experiment tracker, ablation plan, run table, or research log.28- The project has many runs and needs a global landscape rather than ad hoc notes.29- The user wants help picking the next experiment by information gain, not intuition alone.30- The user wants to compare predictions against outcomes and update beliefs systematically.31- The user wants to prevent old context, archived findings, or memory fragments32 from becoming accidental instructions.3334## Core rules3536- Maintain both views at once: the global landscape and the next local gradient.37- Separate active decision support from archival completeness.38- Add a contrast before launching a run.39- Change one primary axis per contrast; keep the rest controlled enough to interpret.40- Prefer experiments whose outcome would most change the roadmap.41- Negative results are useful if the prediction was explicit and the control was clean.42- The worst result is a bad contrast that teaches nothing.43- If an old experiment no longer changes the next decision, demote it out of the44 default working set.45- Do not let every note become a tattoo: a fragment must be classified,46 checked, and placed in the right memory layer before it drives action.4748## Required working set4950- `runs.csv`: factual ledger, one row per run.51- `contrasts.csv`: reasoning ledger, one row per controlled comparison.52- `hypotheses.md`: belief ledger, one section per claim and update rule.5354If these files do not exist, create them. Use the starter schemas in [references/TEMPLATES.md](references/TEMPLATES.md).5556## Preferred layered layout5758For medium or large research programs, prefer this layout:5960- `CURRENT_STATE.md`: the minimum entry point for a fresh agent. Keep it short.61- `ACTIVE_TRACKER.md` or `ACTIVE_TRACKER.csv`: only experiments that still have62 decision gradient for the current roadmap.63- `EVIDENCE_LOG.md`: compressed statement of what the project currently believes64 and which few experiments justify that belief.65- `runs.csv`, `contrasts.csv`, `hypotheses.md`: the full ledger.66- `archive/`: experiments and tracker snapshots that should not be read by67 default.68- optional `ARCHIVE_INDEX.md`: a searchable index for cold-memory recall.69- optional archive cards: one short note per archived cluster explaining when it70 should ever be revisited.71- optional `RECALL_NOTES/`: small audit trail for archive recalls that actually72 happened.7374Think of these as memory layers:7576- hot path: `CURRENT_STATE.md`, `ACTIVE_TRACKER.*`, `EVIDENCE_LOG.md`77- full ledger: `runs.csv`, `contrasts.csv`, `hypotheses.md`78- cold memory: `archive/`, `ARCHIVE_INDEX.md`, archive cards, `RECALL_NOTES/`7980Compatibility rule:8182- Do not break projects that only have `runs.csv`, `contrasts.csv`,83 `hypotheses.md`.84- When the tracker has become too large, introduce the layered files above and85 make them the default reading path.86- Do not require archive files for projects that do not need cold-memory recall87 yet.8889## Archive recall model9091Treat archive as a cold-memory layer, not as dead storage and not as part of the92default read path.9394Rules:9596- Do not read archive by default.97- Only recall archive when the current problem justifies it.98- Recall should begin from an index or archive card, not from blind directory99 traversal.100- Recall is for extracting reusable assets, not for replaying the entire old101 branch.102- If recall finds a still-useful result, promote that result back into the hot103 path (`CURRENT_STATE.md`, `ACTIVE_TRACKER.*`, `EVIDENCE_LOG.md`) rather than104 leaving it buried.105106Recommended recall triggers:107108- current mainline has stalled or failed repeatedly109- current question is structurally similar to an archived question110- a new result conflicts with the active project story111- a high-value anomaly appears and active evidence does not explain it112- the user explicitly asks for historical excavation113114Recommended recall budget:115116- first read `ARCHIVE_INDEX.md` or the relevant archive card117- select at most 1-2 archive clusters118- read at most 1-3 source files per cluster before deciding whether to stop119- write a short recall note if the recall materially informs the next step120121## Workflow1221231. Read the smallest authoritative entry point first: prefer `CURRENT_STATE.md`,124 then `ACTIVE_TRACKER.*`, then `EVIDENCE_LOG.md`, then the full ledger only as125 needed.1262. Identify the active questions, hypotheses, and unresolved decision points.1273. Mark old experiments as one of:128 - `active`: still changes current decisions129 - `reference`: useful supporting evidence but not part of the default working set130 - `archived`: historical only unless a specific question reopens1314. Propose candidate contrasts and rank them by expected information gain.1325. Write the prediction before execution: direction, minimum meaningful delta,133 and reason.1346. Record observed facts in `runs.csv`, not interpretation.1357. Update `contrasts.csv` with actual deltas, information gain, and next136 action.1378. Update `hypotheses.md` based on the gap between expected and observed138 results.1399. If archive recall is triggered, consult `ARCHIVE_INDEX.md` or archive cards,140 do a bounded read, and summarize reusable findings in a recall note.14110. Promote any recalled high-value finding into the hot path instead of keeping142 it archive-only.14311. Refresh `CURRENT_STATE.md` and `ACTIVE_TRACKER.*` so a new agent can resume144 without replaying the whole ledger.14512. If tracker files exist, run146 `python <path-to-this-skill>/scripts/validate_tracker.py <tracker_dir>`147 after editing them. Resolve the script path relative to this `SKILL.md`.148149## Deliverables150151When using this skill, produce:152- A concise landscape summary153- The most informative next contrasts, ranked154- The control requirements for each contrast155- The predicted gradient or decision impact for each contrast156- Explicit hypothesis updates after new evidence157- A statement of what moved into the active set, what stayed as reference, and158 what was archived out of the default reading path159- When archive recall happened: why recall was triggered, what was read, what160 reusable asset was found, and whether it changed the plan161162## Quality bar163164- `runs.csv` should store facts and quality flags, not conclusions.165- `contrasts.csv` should make it obvious what changed, what stayed controlled, what was predicted, and what was learned.166- `hypotheses.md` should state what would change the belief, not just the belief itself.167- If a contrast is weakly controlled, mark it inconclusive instead of pretending it resolved the question.168- `CURRENT_STATE.md` should be readable in one short sitting.169- `ACTIVE_TRACKER.*` should contain only the experiments with nontrivial current170 decision gradient.171- Historical completeness belongs in the ledger and archive, not in the default172 agent entry point.173- Archive should be indexed by problem value, not only by date or snapshot name.174- Useful archived findings should be promotable back into the hot path with175 minimal rewriting.176177See [references/REFERENCE.md](references/REFERENCE.md) for the full rubric and [references/TEMPLATES.md](references/TEMPLATES.md) for starter files and examples.