working-memory
Maintain a project's mid-term working memory — a WORKING.md file in the repo holding the current stage's state (decision log, what was tried and failed…
Skill by ikotelkin
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ikotelkin-working-memory
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/working-memory
What's inside
- Skill name
working-memory- Description
- Maintain a project's mid-term working memory — a WORKING.md file in the repo holding the current stage's state (decision log, what was tried and failed, what's next) so it survives context compaction and new sessions. Use to set up WORKING.md in a project, to read it at the start of a session, to checkpoint progress into it after a meaningful step or before /compact, and to consolidate settled conclusions into long-term assistant memory (then reset WORKING.md) when a stage completes. Triggers: "set up working memory", "checkpoint", "save state", "resume where we left off", "consolidate memory", "end of stage", or a mention of WORKING.md.
- License
- MIT
- Instructions
- 59 lines in SKILL.md · view on GitHub
Files (5)
- plugin.json · .claude-plugin/
- README.md
- SKILL.md
- CLAUDE-snippet.md · assets/
- WORKING.template.md · assets/
SKILL.md (first lines)
# Working Memory ## Why A long session runs out of context and gets **compacted** — the transcript is squeezed into a summary, and the details drop out: decisions, edge-cases, what was already tried and failed. Work quality falls, and the next session starts blind — the user feels "didn't we already do this?". Root cause: the important state lived **only in the conversation** — volatile memory that dies on compaction and never crosses into a new session. The fix is to stage that state onto a medium that survives: a `WORKING.md` file in the repo. ## The three levels | Level | Medium | Lifespan | |---|---|---| | **Short-term** | session context | hours — dies on compaction | | **Mid-term** | `WORKING.md` in the repo | days–weeks — while a stage runs | | **Long-term** | the assistant's memory (e.g. Claude Code memory files) | months — survives everything | This skill owns the mid-term level and the bridge up to long-term. Flow: **context → WORKING.md → (distill at stage end) → long-term memory.** WORKING.md is a *staging area* for memory, not a parallel store. ## The file `WORKING.md` lives at the repo root (a working thread in a subfolder may have its own, e.g. `docs/research/WORKING.md`). Four sections: - **Current stage** — one or two lines: where we are right now. - **Decision log** — datestamped entries (absolute dates), newest-relevant on top: what was decided/done and *why*. - **Tried / didn't work** — dead ends, so they aren't re-attempted. - **Next** — open tails, TODOs, the obvious next step. Copy `assets/WORKING.template.md` as the starting point. ## Operations ### Setup (once per project) When a project has no WORKING.md and the work is non-trivial: copy the template to the repo root, fill **Current stage** from what's known, and add a pointer to the project's `CLAUDE.md` so it's read on every future session (snippet in `assets/CLAUDE-snippet.md`). If there is no `CLAUDE.md`, create one with just that pointer. ### Start / resume (every session) At the start of work on a project, **read WORKING.md before acting** — it restores the stage state that context loss erased. Check subfolders for thread-specific WORKING.md too. If asked to "resume", this is the anchor. ### Checkpoint (often — the core habit) After any meaningful decision or step — and **before a planned `/compact`, and whenever the user says "checkpoint / save state"** — append to WORKING.md: update **Current stage**, add 1–3 lines to the **Decision log**, record any new dead end, refresh **Next**. Do it *during* the work, not at session end — compaction can strike first. Keep entries terse; the quality bar is that a fresh session could resume from them. ### Consolidate (at stage end) When a stage closes: **distill** the settled conclusions from WORKING.md up into long-term assistant memory, then **reset** WORKING.md to a clean slate for the next stage. Decide what rises with the belonging test below. This is the "sleep" step — without it, WORKING.md grows into an unreadable log and nothing reaches durable memory. ## The belonging test For any line, ask: **"When this stage ends and WORKING.md is reset — should this survive?"** - **Yes** → it's a settled conclusion (architecture, an infra fact, a hard-won gotcha, who-knows-what). → long-term memory. - **No** → it's operational state (progress, an open tail, a TODO). → stays in WORKING.md, dies with the stage. One event splits across levels: the *investigation* stays as a decision-log entry; the *lesson* rises to memory. Example — log: "spent a day chasing 87% 5xx, turned out to be bots on missing paths"; memory: "the catch-all handler must return 404 for unknown routes, not 500". ## Rules - **Don't duplicate what code or git already show.** WORKING.md holds decisions and reasons, not a changelog you could `git log`. - **Procedural knowledge** (how to deploy, how to test) belongs in `CLAUDE.md` or `docs/`, not WORKING.md — it's not stage state. - **Absolute dates.** Resolve "tomorrow / next week" to a real date, so the log stays readable later. - **Don't wait for stage end to write.** Mid-term memory only helps if it's written before context is lost.
From ikotelkin/claude-skills, MIT.
More from ikotelkin/claude-skills
- 0.564score
dialog-tree
ikotelkin
Maintain a visual "dialog tree" — a data file plus a self-contained HTML viewer in the project repo that map the branches of a long conversation (user…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
frugal-subagents
ikotelkin
On Claude Fable 5.1 or Opus, subagents inherit the session's expensive model and can spawn more of themselves, so one research fan-out can burn the usage…
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ikotelkin/claude-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ikotelkin
- 0.564score
dialog-tree
ikotelkin
Maintain a visual "dialog tree" — a data file plus a self-contained HTML viewer in the project repo that map the branches of a long conversation (user…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
frugal-subagents
ikotelkin
On Claude Fable 5.1 or Opus, subagents inherit the session's expensive model and can spawn more of themselves, so one research fan-out can burn the usage…
SkillBFreshness: B★ 3Claude Code +9
Cite this page
working-memory skill. Agent Mart. https://agentmart.dev/skills/ikotelkin-working-memory (last updated 2026-10-24)