/SKILL.md
Manages git worktree-based sandboxes with the wt CLI tool, both locally and on remote hosts over SSH. Use when the user wants to create, enter, run commands in, list, remove, or manage isolated worktree sandboxes, configure remote hosts, or troubleshoot wt issues.
npx skillsauth add abhi-arya1/wt using-wtInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CLI tool that creates isolated git worktree checkouts ("sandboxes") locally or on remote SSH hosts. Built with TypeScript + Commander.
"local" (built-in) or a registered remote SSH target--mirror clone stored at .wt/mirrors/<repoId>.git (local) or <root>/mirrors/ (remote)~/.config/wt/config.json — stores hosts, sandboxes, default host.wt/ # Local (inside repo root, gitignored)
mirrors/<repoId>.git/ # bare --mirror clone
sandboxes/<sandboxName>/ # worktree checkout
meta/<sandboxName>.json # metadata
<remote-root>/ # Remote (user-configured)
mirrors/<repoId>.git/
sandboxes/<sandboxName>/
meta/<sandboxName>.json
| Command | Description |
|---|---|
| wt up [name] | Create sandbox on a host. -H <host>, --branch <ref>. Auto-names from branch. |
| wt local [name] | Shorthand for wt up on local host. |
| wt enter <name> | Shell into sandbox. --tmux for persistent session. |
| wt run <name> -- <cmd...> | Run command in sandbox. --json, --quiet. |
| wt ls | List sandboxes. --host to filter. |
| wt rm <name> | Remove sandbox (prompts confirmation, --yes to skip). |
| wt rename <old> <new> | Rename a sandbox. |
| wt status <name> | Show sandbox info (host, ref, path, age, tmux state). |
| wt sessions | List active wt-* tmux sessions. |
| wt gc | Remove stale sandboxes. --older-than 7d (default), --dry-run. |
| wt doctor | Check prerequisites (git, bun/node, tmux) on a host. |
| wt bootstrap | Report host readiness + install hints (read-only, installs nothing). |
| wt host add [name] | Register remote host. Interactive mode if args omitted. |
| wt host ls | List configured hosts (includes port mappings). |
| wt host check <name> | Test SSH connectivity. |
| wt host rm <name> | Remove host config. |
| wt host map <name> <localPort> <hostPort> | Add port forwarding (-L) to a host. |
| wt host unmap <name> <localPort> | Remove a port mapping. |
Local sandbox:
cd my-project
wt local my-experiment # Create from current repo
wt enter my-experiment # Shell in
wt rm my-experiment # Clean up
Remote sandbox:
wt host add prod --ssh [email protected] --root /srv/wt
wt doctor -H prod
wt up my-feature -H prod --branch feature/auth
wt enter my-feature --tmux
wt run my-feature -- make build
Port forwarding:
wt host map prod 3000 8080 # local:3000 -> remote:8080
wt host map prod 5432 5432 # forward postgres
wt enter my-feature # mappings applied automatically
wt host unmap prod 3000 # remove mapping
Parallel branch testing:
wt up auth --branch feature/auth
wt up payments --branch feature/payments
wt run auth -- bun test
wt run payments -- bun test
wt gc --older-than 1d
--json for machine-readable output (errors: { "ok": false, "error": "..." })-H (capital), not -h (which is --help)wt run uses -- to separate wt flags from the command to execute/, sanitized)/^[a-z][a-z0-9_-]{0,31}$/wt up is idempotent — re-running with same name/host/repo returns existing sandbox.env* files from CWD are auto-copied into new sandboxeswithConfig(fn) (proper-lockfile) in src/core/host/config.tswt up defaults to HEAD SHA (detached), not a branch ref. Branch name is only used for naming.wt enter --tmux and interactive commands call process.exit() — they take over the process..wt/ resolves from repo root via git rev-parse --show-toplevel, even from subdirectories.tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.