
Sync Conversations
- 1 installs
- 3 repo stars
- Updated July 5, 2026
- yinjialu/context-harness
Syncs local Codex and Claude Code conversation records into a context-harness data home via full or incremental backup.
About
Runs the context-harness CLI to collect Codex and Claude Code conversations into a data home, supporting full and incremental sync. A developer uses it to back up and inspect Code Agent conversation history.
- Supports codex and claude-code sources, incremental (--latest) or full (--all)
- Reports checked/created/updated/skipped counts and output dir
Sync Conversations by the numbers
- 1 all-time installs (skills.sh)
- Ranked #2,479 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/yinjialu/context-harness --skill sync-conversationsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 3 |
| Last updated | July 5, 2026 |
| Repository | yinjialu/context-harness ↗ |
What it does
Syncs local Codex and Claude Code conversation records into a context-harness data home via full or incremental backup.
Files
Sync Conversations
Use this skill to collect local Code Agent conversations into context-harness. The skill can bootstrap the CLI runtime even when only the skill was installed.
Runtime Bootstrap
Before running context-harness, execute the bundled bootstrap script from this skill directory:
runtime_dir="$(bash scripts/bootstrap.sh)"
cd "$runtime_dir"The script clones or updates the runtime repository at ~/.local/share/context-harness by default, checks out v0.1.7, and runs uv sync.
Overrides:
CONTEXT_HARNESS_RUNTIME_DIR: custom runtime checkout path.CONTEXT_HARNESS_REPO_URL: custom fork URL.CONTEXT_HARNESS_REF: custom branch, tag, or commit.CONTEXT_HARNESS_BOOTSTRAP_SKIP_UPDATE=1: skip fetch/pull.
Sources
V1 supports:
codexclaude-code
Claude Web, Antigravity, ChatGPT, Gemini, and browser exports are outside V1.
Workflow
1. Run the Runtime Bootstrap steps above. Use the returned path as the context-harness repository root. 2. Resolve the context home from CONTEXT_HARNESS_HOME, the user's explicit path, or ~/.context-harness. 3. Change to the runtime repository root. 4. Run the requested sync command from the repository root. 5. Summarize checked, created, updated, skipped, and output_dir.
Commands
Before running any command, first run the Runtime Bootstrap steps and change to the returned repository root. Run all uv run context-harness ... commands from that root.
Incremental sync:
uv run context-harness --context-home <context-home> sync codex --latest 1
uv run context-harness --context-home <context-home> sync claude-code --latest 1Full sync:
uv run context-harness --context-home <context-home> sync codex --all
uv run context-harness --context-home <context-home> sync claude-code --allAfter running, summarize checked, created, updated, skipped, and output_dir.
#!/usr/bin/env bash
set -euo pipefail
repo_url="${CONTEXT_HARNESS_REPO_URL:-https://github.com/yinjialu/context-harness.git}"
runtime_dir="${CONTEXT_HARNESS_RUNTIME_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/context-harness}"
runtime_ref="${CONTEXT_HARNESS_REF:-v0.1.7}"
skip_update="${CONTEXT_HARNESS_BOOTSTRAP_SKIP_UPDATE:-0}"
log() {
printf '%s\n' "$*" >&2
}
require_command() {
if ! command -v "$1" >/dev/null 2>&1; then
log "Missing required command: $1"
exit 1
fi
}
require_command git
require_command uv
runtime_parent="$(dirname "$runtime_dir")"
mkdir -p "$runtime_parent"
if [ -e "$runtime_dir" ] && [ ! -d "$runtime_dir/.git" ]; then
log "Runtime path exists but is not a git checkout: $runtime_dir"
log "Set CONTEXT_HARNESS_RUNTIME_DIR to another path or move the existing directory."
exit 1
fi
if [ ! -d "$runtime_dir/.git" ]; then
log "Cloning context-harness runtime into $runtime_dir"
git clone "$repo_url" "$runtime_dir" >&2
fi
cd "$runtime_dir"
if [ "$skip_update" != "1" ]; then
log "Updating context-harness runtime"
git fetch --tags --prune origin >&2
fi
if [ -n "$runtime_ref" ]; then
log "Checking out $runtime_ref"
git checkout --quiet "$runtime_ref"
elif [ "$skip_update" != "1" ]; then
log "Fast-forwarding current branch"
git pull --ff-only >&2
fi
log "Preparing Python environment with uv"
uv sync >&2
printf '%s\n' "$runtime_dir"