⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
sync-orchestration-context
Use when editing docks-kit, cli/src/main.ts, cli/src/engine.ts, cli/src/engine-native/index.ts, cli/src/engine-native/engineCtx.ts, cli/src/engine-native/syncDispatch.ts, cli/src/engine-native/syncConcurrency.ts, cli/src/engine-native/parseArgs.ts, cli/src/engine-native/parseModifiers.ts, cli/src/engine-native/modes.ts, cli/src/engine-native/models.ts, cli/src/engine-native/liveModels.ts, any sync flag or positional target, renamed-legacy-flag hints, stored harness selection (legacy claude/codex/agents fallback), model validation, or cross-cutting sync idempotency. Not for tool-specific JSON/TOML/plugin/skill logic.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
Not yet listed on ClawHub or SkillsMP
// README
docks-kit
Portable configuration kit for AI coding agents. Per-tool Single Source of Truth (SoT) directories deploy to each tool's user-config location. Clone once to get a consistent AI-assisted environment on supported Linux, macOS, and Windows machines. Tuned for token efficiency without sacrificing quality.
Supported harnesses: Claude Code, Codex, and Oh My Pi (omp).
The kit also deploys agentskills.io universal skills.
Quick start
git clone https://github.com/DocksDocks/public.git ~/projects/public
cd ~/projects/public
./docks-kit harnesses # choose this machine's flag-less sync harnesses
./docks-kit sync # deploy this machine's harness selection
./docks-kit sync omp # deploy omp explicitly
./docks-kit status # doctor view: drift, toolchain, plugins, skills
POSIX hosts use the ./docks-kit launcher on x64 and arm64. Windows uses
.\docks-kit.ps1 on x64 and arm64. Each launcher prefers the matching compiled
binary in cli/dist/ only when its version matches the checkout. Otherwise it
runs from source via Bun and auto-installs Bun plus dependencies when needed.
Hosts outside this matrix fail immediately and never fall back to Bun source.
Stale ignored build artifacts cannot mask newer checkout code.
Other install paths include global bun add -g docks-kit, the POSIX curl
installer, and the Windows PowerShell installer. See ./docks-kit docs install.
No-Bun recovery path:
Download the platform release binary from GitHub Releases and run it directly.
The executable carries the generated sync payload; no checkout or adjacent
SoT/ directory is required.
Source and global installs require Bun. npm-global tools require Node/npm.
jq is optional doctor/test tooling. curl is needed only to download Bun's
upstream installer when Bun is absent: by the POSIX launcher and installer, and
by sync's Bun bootstrap, which a release binary can also run. The Windows
launcher and installer use Invoke-WebRequest.
CLI
docks-kit sync [claude] [codex] [agents] [omp] deploy explicit targets or the machine selection
docks-kit harnesses view or change this machine's selection
docks-kit update [--no-sync] self-update the kit (autodetects checkout vs global install), then sync
docks-kit model <claude|codex> [value] get/set the DEPLOYED model (TTY picker)
docks-kit models [claude|codex|omp] [--refresh] live catalogs for enabled harnesses (`--json`)
docks-kit omp [--model <m>|--pick] [args...] one omp session on a free model, nothing deployed changes
docks-kit omp --fast toggle omp fast mode for OpenAI/Codex models, then exit
docks-kit toolchain [check|ensure <tool>|outdated|upgrade] verified-version floors for external tools
docks-kit status [--json] deployed-vs-SoT drift + toolchain + counts
docks-kit plugins list [--json] enabledPlugins tri-state vs installed
docks-kit skills list [--json] universal skills vs manifest
docks-kit docs [topic] self-documentation (12 topics)
--help --version --wizard --completions built-in
The CLI is a typed Effect 4 RC front-end on Bun; all mutation runs through
EngineNative in cli/src/engine-native/, with golden-regression coverage for
dry-run output, mutation snapshots, and argv logs. Its dependency graph is
[email protected] (including effect/unstable/cli),
@effect/[email protected] (BunServices.layer and
BunRuntime.runMain), @effect/[email protected], and [email protected]
(inside the @effect/vitest peer range >=5.0.0 <6.0.0). @effect/cli and
@effect/platform are removed: neither has a 4.x release, the CLI API moved
into core, and the standalone platform package was unused here.
Key flags (docks-kit sync)
| Flag | Effect |
|---|---|
--dry-run | Preview without applying |
--reconcile | Reconcile kit-owned settings toward SoT (user-only keys preserved) |
--prune | Uninstall kit-managed plugins/marketplaces/skills not in SoT |
--claude-model=<m> | Deploy-time modifier: deployed Claude model |
--claude-compact-window=<n> | Deploy-time modifier: autocompact window (680k) |
--claude-permissive | Deploy-time modifier: empty ask/deny (sandboxes only) |
--claude-plugin=<name> | Sticky opt-in plugin (supabase, n8n) |
--codex-model=<m> | Deploy-time modifier: deployed Codex model |
--skip-bubblewrap | Skip optional bubblewrap bootstrap (Codex Linux sandbox) |
--skip-plugin-refresh | Install missing plugins but skip refresh-only updates |
Deploy-time modifiers change deployed config only — the SoT is untouched
and a later flag-less sync reverts them. Full reference: docks-kit docs flags
(includes the old→new rename table for the pre-CLI sync.sh flags).
How syncing works
- Additive by default — user-only settings keys, plugins, and skills
survive a plain sync. Reconciliation toward the SoT is explicit
(
--reconcile/--prune). - Per-machine selection —
~/.docks-kit/kit.dbdrives a flag-less sync. A missing selection selects Claude Code, Codex, and universal skills. It does not select omp. Usedocks-kit harnessesto view or change the selection. With no stored selection, its picker pre-ticks every harness, omp included. - Idempotent — every step is safe to re-run; no-change syncs are no-ops.
- Toolchain floors —
SoT/toolchain.jsonrecords the kit-verified version floors for external tools (bun, bwrap, …).docks-kit toolchain checkprints the full doctor table. Bun is the one managed install and is pinned to its verified version. - Model catalog — enabled harnesses provide live Claude, Codex, or omp
model IDs;
SoT/models.jsonsupplies Claude and Codex aliases, notes, and the offline fallback. omp has no curated fallback list. - Claude runtime — sync materializes three dependency-free Bun
.mjsprograms for statusline, SessionStart, and Notification. Quota display uses Claude's nativerate_limits; there is no OAuth fetch, shared usage cache, or Stop hook. If Bun cannot be resolved or bootstrapped, sync preserves a working legacy hook/statusline setup and reports that migration is deferred. - Command guards — omp, Claude Code, and Codex share one fail-closed
policy for destructive shell commands; to remove, agents use the trash
(
gio trash -- <path>, ortrash <path>on macOS).rmof the home directory or/andHOMEreassignment are denied. omp also denies every recursivermand asks before any otherrm.find -delete,git clean,git reset --hard, anygit pushthat could force, andgit rmother thangit rm -- <path>ask; Claude Code and Codex also ask before a recursivermand everygit rm. An omp subagent cannot answer an ask, so omp rejects it; a Codex ask can go to itsauto_reviewreviewer. Details, per-tool differences, and gaps:docks-kit docs command-guards.
Repository map
| Path | Purpose |
|---|---|
SoT/.claude/ | Claude Code SoT (settings template, Bun runtime programs, CLAUDE.md) |
SoT/.codex/ | Codex SoT (config.toml, rules, AGENTS.md, marketplace) |
SoT/.omp/ | omp SoT (AGENTS.md, config.yml, models.yml, mcp.json, intercom.json) |
SoT/.agents/ | Universal-skill manifest |
SoT/models.json | Curated aliases, notes, and offline Claude/Codex fallback |
SoT/toolchain.json | Verified-version floors |
cli/src/engine-native/ | EngineNative sync/model/toolchain implementation |
cli/src/generated/sotPayload.ts | Generated in-memory payload used by standalone and npm installs |
cli/ | docks-kit CLI (Effect 4 RC on Bun) + bundled docs topics |
docks-kit / docks-kit.ps1 | POSIX and Windows launchers (binary → Bun-from-source) |
install.sh / install.ps1 | POSIX and Window |
// HOW IT'S BUILT
KEY FILES