Claude-skill-registry conversation-sync
Sync conversation history from .codex/sessions to .claude.json for context preservation
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cfn-conversation-sync" ~/.claude/skills/majiayu000-claude-skill-registry-conversation-sync && rm -rf "$T"
manifest:
skills/data/cfn-conversation-sync/SKILL.mdsource content
Conversation Sync Skill
This skill copies Claude Code conversation session files from
.codex/sessions to the repository's .claude.json file for context preservation and backup.
Purpose
When working across different environments (e.g., after WSL/Docker crashes), conversation history stored in
.codex/sessions can be referenced in .claude.json to maintain context continuity.
Usage
# Sync conversations from last N days (default: 7) ./.claude/skills/conversation-sync/sync-conversations.sh --days 7 # Sync conversations from a specific project ./.claude/skills/conversation-sync/sync-conversations.sh --project claude-flow-novice # Sync conversations from a specific date range ./.claude/skills/conversation-sync/sync-conversations.sh --from 2025-11-20 --to 2025-11-26 # Dry run (show what would be copied) ./.claude/skills/conversation-sync/sync-conversations.sh --dry-run
What It Does
- Searches
for conversation JSONL files.codex/sessions - Filters by project working directory (if specified)
- Filters by date range
- Creates/updates
with references to conversation files.claude.json - Preserves existing conversations in
.claude.json
Output Format
The skill updates
.claude.json with this structure:
{ "conversations": [ { "session_id": "rollout-2025-11-24T10-24-43-019ab71c-699f-7052-8ce1-892b6208ba94", "date": "2025/11/24", "file": "/mnt/c/Users/masha/.codex/sessions/2025/11/24/rollout-2025-11-24T10-24-43-019ab71c-699f-7052-8ce1-892b6208ba94.jsonl" } ] }
Notes
- Conversation files remain in their original locations
- Only references are added to
.claude.json - Supports both Windows (
) and Linux paths with automatic normalization/mnt/c/Users/... - Safe to run multiple times (idempotent)
- Path normalization handles both backslashes (
) and forward slashes (\
)/ - Case-insensitive matching for project filtering (works with mixed-case paths)
Location of Conversation Data
- Primary:
/mnt/c/Users/{username}/.codex/sessions/YYYY/MM/DD/*.jsonl - Alternate:
~/.codex/sessions/YYYY/MM/DD/*.jsonl - Docker mounts:
(if applicable)/mnt/wsl/docker-desktop-bind-mounts/
Requirements
- JSON processingjq
4.0+bash- Access to
directory.codex/sessions