mem-timeline
Skill1 starsChanged 45 days agoMITView on GitHub
Produce a narrative report of a project's development history from claude-mem-go's stored observations — a full-project timeline, or a week-by-week digest. Use when the user asks for a "timeline report", "project history", "development journey", "what happened last week/month", "weekly digest", or a "story" of how a project got here.
In this repository5 other files it gives its agents.
- mem-doctorSkill
- mem-exportSkill
- mem-pruneSkill
- mem-reembedSkill
- mem-searchSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Not for a specific lookup — "did we fix the parser bug" is mem-search.
- Very specific: line 36
Always page: Keep increasing offset by limit until a call returns fewer than limit rows.
- Distinctive: line 47
Write the narrative: what the project was, what problems came up, what was decided, where it ended.
- Distinctive: line 63
Write one chapter per week, carrying forward a short "where things stood" block so consecutive chapters read as one story.
- Very specific: line 78
Do this for the handful that carry the story, not for everything — get_observations is capped at 100 ids and the full text is far more …
- Distinctive: line 95
Don't infer work that isn't recorded.
- Very specific: line 98
If a project is excluded from capture (see mem-doctor), say that rather than reporting an empty history as if nothing happened.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Timeline & Digest Reports
Turn a project's stored observations into a narrative rather than a list.
mem-search answers "find the thing I'm thinking of"; this answers "tell
me what happened over this period", which needs the observations in
chronological order and in full, not the top N matches for a term.
When to use
- "Write a timeline report for this project"
- "What did we get done last week?" / "…this month?"
- "Give me a week-by-week digest of this project"
- "How did we end up with this architecture?"
Not for a specific lookup — "did we fix the parser bug" is mem-search.
The one tool call that makes this possible
search_observations with no query enumerates instead of searching:
every observation matching the other filters, in the order you ask for.
search_observations(orderBy="date_asc", limit=100, offset=0)This is the only way to walk a whole project. recent_observations has
no offset and stops at the 100 most recent, so on any project with more
history than that, the older observations cannot be reached through it at
all.
Always page. Keep increasing offset by limit until a call returns
fewer than limit rows. Stopping at the first page silently reports on a
fraction of the project and reads exactly like a complete answer — the
same failure the session summary itself used to have.
Recipe: full-project timeline
- Enumerate the whole project, oldest first, paging until exhausted.
- Note the first and last
created_atto establish the real span. - Group into phases by what changed, not by fixed date buckets — the observations' own titles usually make the phase boundaries obvious.
- Write the narrative: what the project was, what problems came up, what was decided, where it ended.
Reach for type="decision" as a second pass to pull the decisions out
explicitly — those carry the "why" that change observations assume.
Recipe: week-by-week digest
- Establish the span (step 2 above).
- For each ISO week in the span, enumerate just that week:
search_observations(dateStart="2026-08-10", dateEnd="2026-08-16",
orderBy="date_asc", limit=100)- Write one chapter per week, carrying forward a short "where things stood" block so consecutive chapters read as one story.
- Say so explicitly when a week has no observations — a quiet week is a real finding, not a gap to paper over.
Getting the detail
Enumeration returns abbreviated [id] title (project, tool) lines. When
a specific observation clearly matters to the narrative, pull its full
narrative and facts:
get_observations(ids=[42, 87])Do this for the handful that carry the story, not for everything —
get_observations is capped at 100 ids and the full text is far more
tokens than the list.
Pass all_projects: true whenever you are reporting on a project other
than the one you're running in — to search_observations and to
get_observations. Both default to the current project, and
get_observations rejects ids belonging to another one. A live run of
this skill hit exactly that: it enumerated another project's 150
observations successfully, then could not read a single narrative,
because the enumeration passed all_projects and the follow-up detail
call did not. The report that came back was built from titles alone.
Reporting honestly
- Say what period the report actually covers, and how many observations it is drawn from.
- Don't infer work that isn't recorded. These observations come from tool calls, so conversation-only decisions may never have been captured — worth stating when the record looks thin.
- If a project is excluded from capture (see
mem-doctor), say that rather than reporting an empty history as if nothing happened.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

