sync-tool

Installs and updates registered coding CLI tools across macOS, Linux, and Windows.

4|1|Updated Jul 31, 2025
One-click install
npx skills add https://github.com/alvis/.agents --skill sync-tool-alvis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sync-tool
Source: https://github.com/alvis/.agents/tree/main/plugins/coding/skills/sync-tool
Command: npx skills add https://github.com/alvis/.agents --skill sync-tool-alvis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Coding workflows that depend on CLI tools like jj, gh, brew, fallow, and python break when those tools are missing, outdated, or not on PATH, especially across different operating systems. This Skill idempotently installs or updates a fixed registry of tools from official upstream sources so sibling skills can rely on them at minimum versions. ## Core Features & Use Cases - Cross-platform installation: Detects macOS, Linux, or Windows (Git-Bash/MSYS/Cygwin) and runs per-OS installer scripts using Homebrew, apt/dnf, cargo, tarballs, or winget. - Verification and preview modes: --check reports status without changes, --dry-run prints planned commands, and --force reinstalls even when current. - Safe gh auth handling: Polls gh auth status and prints a banner instructing the user to run gh auth login in another terminal, never invoking interactive auth itself; SYNC_TOOL_NO_WAIT=1 fails fast for CI. - Use Case: Before running a commit workflow that needs jj and gh, run the sync with --only=jj,gh to guarantee both tools are present at minimum versions. ## Quick Start Ask the assistant to install or update the registered coding CLI tools, optionally limiting the run to specific tools like jj and gh or running in check-only mode.

Frequently Asked Questions about sync-tool

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install jj and gh CLI tools on macOS or Linux?

Run the sync pipeline with --only=jj,gh to install just those tools. On macOS it uses Homebrew; on Linux it uses cargo, apt/dnf, or release tarballs; on Windows it uses winget. Each tool is verified against its minimum version afterward.

How do I check if my coding CLI tools are up to date?

Run the pipeline with the --check flag for status-only verification. It exits non-zero if any selected tool is missing or below its registry minimum version, and prints one status line per tool plus a summary.

Does this work on Windows?

Yes, but only under Git-Bash, MSYS2, or Cygwin, since the installers are bash scripts and the pipeline is invoked from a POSIX shell. PowerShell and CMD are not supported; Windows installs use winget.

Why does the gh install hang waiting for authentication?

After installing gh, the script polls gh auth status every 5 seconds and prints a banner asking you to run gh auth login in another terminal. Set SYNC_TOOL_NO_WAIT=1 to print the banner once and exit non-zero instead, which suits CI environments.

Can I use this to install arbitrary packages?

No. The registry is deliberately closed and limited to brew, jj, gh, fallow, and python, each with a hand-tuned installer matching official upstream guidance. Adding a tool requires writing an installer script and registering it in sync.ts.