agentleFS
satishbabariyasatishbabariya/claude-mem-go/skills/mem-timeline/SKILL.md

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.

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
  1. Very specific:

    Not for a specific lookup — "did we fix the parser bug" is mem-search.

    line 20
  2. Very specific:

    Always page: Keep increasing offset by limit until a call returns fewer than limit rows.

    line 36
  3. Distinctive:

    Write the narrative: what the project was, what problems came up, what was decided, where it ended.

    line 47
  4. Distinctive:

    Write one chapter per week, carrying forward a short "where things stood" block so consecutive chapters read as one story.

    line 63
  5. Very specific:

    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 …

    line 78
  6. Distinctive:

    Don't infer work that isn't recorded.

    line 95
  7. Very specific:

    If a project is excluded from capture (see mem-doctor), say that rather than reporting an empty history as if nothing happened.

    line 98

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. Enumerate the whole project, oldest first, paging until exhausted.
  2. Note the first and last created_at to establish the real span.
  3. Group into phases by what changed, not by fixed date buckets — the observations' own titles usually make the phase boundaries obvious.
  4. 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

  1. Establish the span (step 2 above).
  2. 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)
  1. Write one chapter per week, carrying forward a short "where things stood" block so consecutive chapters read as one story.
  2. 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.