fresh-start — Claude Code skill: what it does, how to install
Generates a compact handoff under 300 words to restart a bloated conversation in a clean session without losing critical task context.
npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a claude-codeWhat fresh-start does
Long chats re-send the entire transcript with every prompt, consuming context limits quickly and slowing down replies. This skill packs everything into a single copyable block: one-line goal, bulleted decisions with brief reasons, current file state, the next immediate action, and constraints or failed attempts that must not be forgotten.
The skill strictly forbids copying whole files, terminal logs, or raw transcripts into the summary. At the bottom, it outputs an estimated token comparison showing how much context the fresh chat saves relative to the bloated one.
In Claude Code, running /clear and pasting the handoff yields a fresh start, whereas /compact keeps working in place. For projects using /cco task patch, structured task states persist across compactions automatically.
What it helps with
- move an ongoing task into a fresh chat without losing context
- cut per-message token costs on long-running sessions
- capture key decisions and constraints before resetting history
- estimate token savings when switching to a clean conversation
Example prompts for the agent
- Write a handoff summary so I can continue this task in a new chat
- This conversation is getting too long, generate a fresh start block
- Summarize current progress and next steps before clearing context
How to install fresh-start
1Skills CLI (Vercel)
npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a claude-code2Manually: put the files in place
~/.claude/skills/fresh-start/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/fresh-start/
1Skills CLI (Vercel)
npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a codex2Manually: put the files in place
.agents/skills/fresh-start/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a cursor2Manually: put the files in place
.cursor/skills/fresh-start/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install egorfedorov/claude-context-optimizer fresh-start2Manually: put the files in place
.github/skills/fresh-start/SKILL.md1Skills CLI (Vercel)
npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a gemini-cli2Platform CLI
gemini skills install https://github.com/egorfedorov/claude-context-optimizer --path skills/fresh-startManually: put the files in place
.devin/skills/fresh-start/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about fresh-start
How to install fresh-start in Claude Code?
Run npx skills add egorfedorov/claude-context-optimizer --skill fresh-start -a claude-code or save the skill directly to ~/.claude/skills/fresh-start/SKILL.md.
What does the fresh-start summary contain?
It builds a snippet under 300 words containing your goal, key decisions, file state, next task, and constraints or tried approaches that failed.
How does fresh-start interact with Claude Code commands?
Regular compactions use /compact, while fresh-start is meant for a clean break via /clear. Pairing it with /cco task patch keeps task state intact.
Source text
SKILL.md · MIT
--- name: fresh-start description: Continue in a new chat without losing anything — writes a compact handoff to paste into a fresh conversation. Use whenever the user wants to move to a new chat or conversation, hits usage limits, says replies got slow or Claude forgets earlier details, or the conversation has grown long. license: MIT --- # Fresh start Every message re-sends the whole conversation, so a long one uses up limits fast and recalls its early details worse. A new conversation that starts from a short handoff costs a fraction and stays sharp. ## When to offer it - The user asks to start over, hits a limit, or says replies got slow or forgetful. - The conversation is clearly long: many long turns, large pasted files or documents. Offer it once, in one sentence, at a natural break. Don't interrupt a short conversation or a task that is nearly done. ## The handoff Write it in the user's language, under 300 words, inside one code block so it copies cleanly: 1. **Goal** — one line. 2. **Decisions so far** — bullets, each with its reason in a few words. 3. **Current state** — what exists now: files, drafts, versions, results. Quote only short snippets that the next step needs; name everything else. 4. **Next step** — the very next thing to do, then any open questions. 5. **Must not be lost** — names, numbers, constraints, preferences, things that were tried and failed. Then give the saving in one line, as an estimate: "This conversation is about 60K tokens; the handoff is about 500, so each message in the new chat re-sends under 1% of what it does here." Then tell the user: open a new conversation, paste the block, and continue. ## On each surface - **claude.ai chat:** a new chat with the pasted handoff. In a Project, the project's files stay available, so the handoff can just name them. - **Cowork:** start a new task with the handoff as its first message. - **Claude Code:** `/compact` keeps working in place and is usually enough. For a clean break, `/clear` and paste the handoff. `/cco task patch` keeps structured task state across `/compact` automatically. Never paste whole files, logs or the transcript into the handoff.
© egorfedorov · MIT · egorfedorov/claude-context-optimizer