save-context
Skill10 starsChanged 39 days agoMITView on GitHub
Save session to CONTEXT-llm.md with conversation summary. Use when saving work, checkpointing progress, preserving session state. Triggers include "save context", "save session", "checkpoint", "save my progress".
3 other projects use a version of this.
Adopted by
Most recently taken up by
- eranw2000/multi-phase-skills-frameworktheir own version, first seen Oct 25, 2026
- ZAidBinAsif/flutter-ai-startertheir own version, first seen Jun 20, 2026
- rustimacc/context-ledger-skillstheir own version, first seen Apr 15, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- eranw2000/multi-phase-skills-framework★ 10same name
- rustimacc/context-ledger-skills★ 1same name
- ZAidBinAsif/flutter-ai-starter★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository81 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/development/biome-complete/AGENTS.mdAGENTS.md
- skills/development/bun-development/AGENTS.mdAGENTS.md
- skills/development/commanderjs/AGENTS.mdAGENTS.md
- skills/documentation/markdown-authoring/AGENTS.mdAGENTS.md
- skills/package-mgmt/mise-complete/AGENTS.mdAGENTS.md
- skills/testing/bdd-testing/AGENTS.mdAGENTS.md
- agents-mdSkill
- cache-auditSkill
- context-radar-auditSkill
- create-contextSkill
- guided-interviewSkill
- handover-document-creatorSkill
- load-contextSkill
- pick-modelSkill
- pinSkill
- professional-honestySkill
- rules-managementSkill
- session-reflectionSkill
- socratic-methodSkill
- vault-captureSkill
- vault-consolidateSkill
- vault-fetchSkill
- vault-searchSkill
- bird-fortune-political-satireSkill
- brooker-esque-media-satireSkill
- clarke-dawe-esqueSkill
- comedy-style-skill-generatorSkill
- cunk-esque-mockumentarySkill
- gervais-esque-cringe-satireSkill
- monty-python-esqueSkill
- pryor-esque-confessional-standupSkill
- rock-esque-observational-standupSkill
- biome-completeSkill
- bun-developmentSkill
- commanderjsSkill
- conventional-commitsSkill
- humanizerSkill
- journal-entry-importSkill
- markdown-authoringSkill
- mermaid-diagramsSkill
- plain-englishSkill
- professional-communicationSkill
- sop-structureSkill
- logql-generatorSkill
- mise-completeSkill
- context-indexSkill
- create-context-fileSkill
- follow-upSkill
- goal-trackerSkill
- nasa-pm-lessonsSkill
- plan-createSkill
- plan-executeSkill
- plan-reviewSkill
- risk-registerSkill
- tech-debtSkill
- tech-evaluationSkill
- blast-radiusSkill
- bridgeSkill
- challengeSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
CRITICAL: After EVERY AskUserQuestion call, check if answers are empty/blank.
- Distinctive: line 28
If answers are empty: DO NOT proceed with assumptions.
- Distinctive: line 31
WAIT for user reply before continuing.
- Very specific: line 59
Write CONTEXT file using template, then upsert INDEX.md in the session directory:
- Very specific: line 69
If status is done or parked → move the file to the done/ subfolder of the session directory:
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Save Context
Save current session state to CONTEXT-{stream}-llm.md in the session directory with LLM-optimized format.
.context/session/
INDEX.md index of streams
CONTEXT-llm.md default stream
CONTEXT-{name}-llm.md named stream
done/CONTEXT-{name}-llm.md archived stream (status done or parked)Target: 1200-1500 tokens MAX | Speed: 3-5 seconds
AskUserQuestion Guard
CRITICAL: After EVERY AskUserQuestion call, check if answers are empty/blank. Known harness bug affecting several agentic CLIs: outside Plan Mode, the AskUserQuestion tool can silently return empty answers without showing UI.
If answers are empty: DO NOT proceed with assumptions. Instead:
- Output: "Questions didn't display (known AskUserQuestion bug outside Plan Mode)."
- Present the options as a numbered text list and ask user to reply with their choice number.
- WAIT for user reply before continuing.
Performance Rules
- Use
rtkfor shell commands when it is installed (a harness hook may already rewrite them; bare commands are also fine) - Parallel tool calls — ALL independent calls in one message
- Minimize round-trips — gather all data phase 1, reason phase 2, write phase 3
Workflow
Phase 1: Gather Data (parallel)
Bash: ls .context/session/ + ls -t .context/session/CONTEXT-*llm.mdStream resolution: First word of $ARGUMENTS = stream name (^[a-zA-Z0-9_-]{1,50}$), rest = description. Empty → reuse prior /load-context stream or AskUserQuestion.
Phase 2: Analyze & Synthesize (single pass)
From conversation (last 15-20 messages):
- Next — infer 3 tasks from conversation (IMPORTANT: use heading "Next" — several agentic CLIs' compaction routines grep-match
next/todo/pending/remainingkeywords for survival priority) - Session — progression, decisions, thinking, unexpected (780 tokens max)
- Hot Files — max 10 discussed/edited
- Focus & Goal — 1-2 sentence focus + goal
Phase 3: Write & Report
Write CONTEXT file using template, then upsert INDEX.md in the session directory:
./scripts/upsert-index.sh repos my-project auth-refactor "building" "JWT middleware extracted" 2026-09-30Stream naming: default → CONTEXT-llm.md, {name} → CONTEXT-{name}-llm.md
Phase 3b: Auto-archive to done/
If status is done or parked → move the file to the done/ subfolder of the session directory:
Bash: mkdir -p .context/session/done && mv .context/session/CONTEXT-{stream}-llm.md .context/session/done/Report:
Archived to .context/session/done/ (status: {status})See references/reference.md for CONTEXT file template, quality self-check, status mapping, done/ archival rules, and INDEX.md upsert logic.
Philosophy
- Context saves are checkpoints, not archives — they capture the current state of intent and decisions, not a full transcript.
- Meaningful milestones over time intervals — save when something worth remembering happens, not on a schedule.
- Traceability over brevity — a save that omits the "why" behind a decision is incomplete.
- Reversible by design — saves accumulate; nothing is overwritten without explicit archival.
When to Use
- Before ending a multi-hour session — preserve decisions and next steps before the conversation closes.
- Before a context window reset or compaction — most agentic CLIs compact long conversations; save first to survive the reset.
- After completing a discrete milestone — a working feature, a passing test suite, a completed PR review.
- When switching streams or workspaces — checkpoint the current stream before pivoting to a different task.
- When you've made non-obvious architectural decisions — lock in the reasoning so future sessions don't relitigate it.
When Not to Use
- For trivial changes with obvious git history — a single-line fix with a clear commit message needs no context file.
- At the very start of a session — there is nothing meaningful to summarise yet; save at checkpoints, not at startup.
- As a substitute for proper documentation — context files are ephemeral session aids, not design docs or ADRs.
- When no meaningful work has occurred — an empty or near-empty context file creates noise and misleads future sessions.
- More than once per hour on short tasks — over-saving dilutes the signal; one file per meaningful checkpoint is enough.
- When another session or person will pick the work up: a quick checkpoint is not a handover. Use the
handover-document-creatorskill, which writes a structured, validated handover with evidence for what landed and links for what is outstanding.
Anti-Patterns
NEVER overwrite an existing context file without reading it first — Silent overwrites lose prior session decisions. WHY: The INDEX.md may reference decisions that inform current architecture; discarding them breaks traceability.
# BAD - blind overwrite, prior decisions gone with no diff echo "$new_summary" > .context/session/CONTEXT-llm.md # GOOD - read first, merge forward, then write old=$(cat .context/session/CONTEXT-llm.md 2>/dev/null || echo "") # ...fold decisions still relevant from $old into the new summary... echo "$merged_summary" > .context/session/CONTEXT-llm.mdNEVER save with a generic or missing stream name when multiple streams are active — Ambiguous names cause the wrong file to be loaded next session. WHY:
CONTEXT-llm.mdcollides across unrelated workstreams and forces manual disambiguation.# BAD - two unrelated workstreams both save to the default stream /save-context # auth-refactor work lands in CONTEXT-llm.md /save-context # billing-migration work overwrites it minutes later # GOOD - each workstream gets its own named stream /save-context auth-refactor "JWT middleware extraction done" /save-context billing-migration "Stripe webhook handler drafted"- NEVER skip the INDEX.md upsert step — Omitting it leaves the index out of sync. WHY:
load-contextrelies onINDEX.mdto discover the latest file; a stale index means the wrong snapshot is loaded. - NEVER archive to
done/prematurely — Moving an active context todone/hides it from future loads. WHY: Auto-archive is only correct when status is explicitlydoneorparked; applying it to in-progress work severs continuity. - NEVER exceed the 1500-token budget — Bloated context files slow down load and waste model capacity. WHY: The target is 1200-1500 tokens; beyond that the signal-to-noise ratio degrades and compaction may truncate critical sections.
Usage Examples
Saving context before ending a long session:
# Invocation (default stream)
/save-context
# Files written to .context/session/
# .context/session/CONTEXT-llm.md ← session snapshot
# .context/session/INDEX.md ← updated index entrySaving context under a named stream:
# Invocation with explicit stream name
/save-context auth-refactor "completed JWT middleware extraction"
# Files written to .context/session/
# .context/session/CONTEXT-auth-refactor-llm.md ← named snapshot
# .context/session/INDEX.md ← updated index entryArchiving a completed stream:
# When status resolves to "done" the skill auto-archives
/save-context auth-refactor "all tests green, PR merged" --status done
# Result
# .context/session/done/CONTEXT-auth-refactor-llm.md ← archived
# .context/session/INDEX.md ← updated with archived statusReferences
| Topic | Reference | When to Use |
| CONTEXT file template, status mapping, index upsert, archival, token budget | Reference | Writing the file, choosing a status label or archiving a stream |
| Index upsert script | upsert-index.sh | Updating INDEX.md after every save |
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.

