home / skills / ykdojo / claude-code-tips / half-clone
This skill helps you quickly clone only the latest half of a conversation to save tokens while preserving recent work.
npx playbooks add skill ykdojo/claude-code-tips --skill half-cloneReview the files below or copy the command above to add this skill to your agents.
---
name: half-clone
description: Clone the later half of the current conversation, discarding earlier context to reduce token usage while preserving recent work.
---
Clone the later half of the current conversation, discarding earlier context to reduce token usage while preserving recent work.
Steps:
1. Get the current session ID and project path: `tail -1 ~/.claude/history.jsonl | jq -r '[.sessionId, .project] | @tsv'`
2. Find half-clone-conversation.sh with bash: `find ~/.claude -name "half-clone-conversation.sh" 2>/dev/null | sort -V | tail -1`
- This finds the script whether installed via plugin or manual symlink
- Uses version sort to prefer the latest version if multiple exist
3. Preview the conversation to verify the session ID: `<script-path> --preview <session-id> <project-path>`
- Check that the first and last messages match the current conversation
4. Run the clone: `<script-path> <session-id> <project-path>`
- Always pass the project path from the history entry, not the current working directory
5. Tell the user they can access the half-cloned conversation with `claude -r` and look for the one marked `[HALF-CLONE <timestamp>]` (e.g., `[HALF-CLONE Jan 7 14:30]`). The script automatically appends a reference to the original conversation at the end of the cloned file.
This skill clones the later half of the current Claude conversation, discarding earlier messages to save tokens while preserving recent work. It locates the latest helper script, previews the target session, and creates a new conversation file containing only the second half of the history with a reference to the original. Use it to continue a thread without carrying full context.
The tool reads your most recent session ID and project path from the local Claude history file. It finds the latest half-clone script installed in ~/.claude, verifies the session by previewing messages, and then writes a new conversation file that contains only the later messages. The cloned file is marked with a timestamped [HALF-CLONE ...] tag and includes a reference to the original conversation.
How do I find the correct session ID and project path?
Run tail -1 ~/.claude/history.jsonl | jq -r '[.sessionId, .project] | @tsv' to get the session ID and project path used by the script.
What if multiple versions of the script exist?
The installer uses find with version sort and tail -1 to pick the latest half-clone-conversation.sh automatically.
How do I verify the clone before committing?
Use the script's --preview <session-id> <project-path> option to inspect the first and last messages of the planned cloned file.
Where do I find the cloned conversation?
Open claude -r and look for the entry marked [HALF-CLONE <timestamp>]; the cloned file includes a reference to the original conversation at the end.