From galeharness-cli
Sync GaleHarnessCLI skills with latest changes from the reference upstream repo. Use when you need to pull upstream updates, review what changed, apply gh: renames, and re-inject HKTMemory patches. Triggers: 'sync upstream', 'update skills', 'pull latest changes', 'upstream diff'.
npx claudepluginhub wangrenzhu-ola/galeharnesscodingcli --plugin galeharness-cliThis skill uses the workspace's default tool permissions.
Sync GaleHarnessCLI with upstream compound-engineering-plugin changes through per-commit patch batches.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Sync GaleHarnessCLI with upstream compound-engineering-plugin changes through per-commit patch batches.
Current baseline: Read from .upstream-ref in repo root.
cat .upstream-ref
GaleHarnessCLI was forked from EveryInc/compound-engineering-plugin at the commit recorded in .upstream-ref. All subsequent changes are independent developments.
Use the upstream sync CLI as the source of truth for batch generation, per-commit worktrees, PR creation, state transitions, cleanup, and .upstream-ref updates.
From the repository root, run:
python3 scripts/upstream-sync/sync-cli.py init
python3 scripts/upstream-sync/sync-cli.py status
The CLI reads .upstream-ref and .upstream-repo, generates a dated batch under .context/galeharness-cli/upstream-sync/, and writes workflow state under .context/galeharness-cli/upstream-sync/state.json.
If init reports no new upstream commits, stop. Do not mutate .upstream-ref manually.
Start exactly one pending upstream commit:
python3 scripts/upstream-sync/sync-cli.py next
The CLI creates an isolated worktree, applies one adapted patch, runs verification, commits the result, pushes the branch, and opens a PR. Treat the generated PR as the review boundary for that upstream commit.
Default operating model:
Mechanical adaptation only handles naming and path rewrites. In the generated worktree or PR:
gh: naming expectations not covered by raw text replacementAfter the PR is merged, return to the original worktree and run:
python3 scripts/upstream-sync/sync-cli.py resume
python3 scripts/upstream-sync/sync-cli.py status
resume verifies the PR target, reconciles upstream ancestry, updates .upstream-ref for the merged upstream commit, cleans up the worktree, and returns the workflow to idle for the next explicit next command. It does not automatically start the next commit.
If a commit must be abandoned, run:
python3 scripts/upstream-sync/sync-cli.py skip --reason "short reason"
For an open or closed PR that needs cleanup, use:
python3 scripts/upstream-sync/sync-cli.py skip --force-cleanup --reason "short reason"
The CLI validates branch ownership before deleting remote branches.
Repeat next -> PR review/merge -> resume until status reports complete.
Do not hand-edit .upstream-ref. The CLI advances it only after each corresponding PR is confirmed merged and upstream ancestry checks pass.
After each upstream sync, these patches must be re-applied:
.context/, not a Git-tracked artifact