A collection of agent skills that extend capabilities across planning, development, and tooling.
Install all skills from the repository's main branch:
skills add connorch/skills --allInstall specific skills by name:
Skill names match the live directories under skills/.
When adding or removing live skills, update these examples and the development list in the same change.
skills add connorch/skills --skill qa-ux-plan
skills add connorch/skills --skill qa-ux-verify
skills add connorch/skills --skill codex-review
skills add connorch/skills --skill codex-implementation
skills add connorch/skills --skill claude-code-subagent
skills add connorch/skills --skill step-back
skills add connorch/skills --skill pull-upstream
skills add connorch/skills --skill babysit-pr
skills add connorch/skills --skill merge-risk
skills add connorch/skills --skill file-pr
skills add connorch/skills --skill implement-and-review
skills add connorch/skills --skill handoff
skills add connorch/skills --skill html-communication
skills add connorch/skills --skill vaut-file-hosting
skills add connorch/skills --skill fleet-exec
skills add connorch/skills --skill jev
skills add connorch/skills --skill mac-vm
skills add connorch/skills --skill bambu-print
skills add connorch/skills --skill t3-browser
skills add connorch/skills --skill motion-explainerYou can also install multiple specific skills in one command:
skills add connorch/skills --skill qa-ux-plan qa-ux-verify codex-review codex-implementation claude-code-subagent step-back pull-upstream babysit-pr merge-risk file-pr implement-and-review handoff html-communication vaut-file-hosting fleet-exec jev mac-vm bambu-print t3-browser motion-explainerThis repo is one Tracked Repo in fleetfizz's
config at ~/.config/fleetfizz/config.jsonc, which lists every machine in the
fleet, the vite-plus toolchain they share, and each repo to install (this one,
connorch/vaut, connorch/claude-router, psychopomp). fizz ship brings every listed machine in line with it, in
parallel, over tailscale ssh, and copies the config to each of them, so any
machine can run the next Ship.
Every machine, this one included, keeps a Managed Clone of this repo that
fleetfizz resets to origin/main, then runs the Install Command there when
something changed: pnpm install --frozen-lockfile && pnpm ship:machine. Nothing
installs from a working copy: push to main first.
vp install -g fleetfizz # once, on the machine you ship from
fizz ship # every machine
fizz ship --dry-run # print each machine's plan, change nothing
fizz ship --only connors-mac-studio
pnpm ship:machine # install this checkout here, by handpnpm ship:machine installs this checkout's skills, agent instructions, and
CLIs on the machine it runs on. fleetfizz runs it with FLEETFIZZ_MACHINE,
FLEETFIZZ_PLATFORM, and FLEETFIZZ_MACHINES set; run by hand, it reads the
same facts from tailscale status --json. A hand install of a working copy
stays until the next fizz ship --rebuild connorch-skills, because the
commit in the Managed Clone has not changed.
The machine you ship from needs tailscale and a logged-in gh (its token is
lent to the others for one Ship so private repos clone). Every other machine
needs git, curl, and Tailscale SSH: on macOS that means the open-source
tailscaled rather than Tailscale.app (see
docs/adr/0001-push-based-ship-over-tailscale-ssh.md
and docs/adr/0002-install-from-origin-with-fleetfizz.md).
A skill chooses where it ships with optional metadata in its SKILL.md
frontmatter. The fields combine: a machine gets the skill only if it passes all
of them.
metadata:
agents: [claude-code] # skills CLI agent slugs. Default: [claude-code, codex]
platforms: [darwin] # darwin and/or linux. Default: both
machines: [connors-mac-studio] # tailnet names. Default: every machineA workspace package ships by defining a ship:machine script, which installs it
on the machine it runs on, and can restrict itself with the same fields (except
agents) under a ship key in its package.json.
Each machine records what pnpm ship:machine has installed in
~/.local/state/<owner>-<repo>/manifest.json (the Install Manifest), so skills
deleted, archived, or retargeted in this repo are removed on the next install. Skills installed from
anywhere else are never touched.
instructions/ holds the global instructions every agent loads. AGENTS.md is
shared by every harness, and each harness gets it with its own *_ONLY.md
appended. A ship writes, overwriting what was there:
~/.agents/AGENTS.md-AGENTS.md, for any other harness~/.claude/CLAUDE.md-AGENTS.md+CLAUDE_ONLY.md~/.codex/AGENTS.md-AGENTS.md+CODEX_ONLY.md
Edit them here, not on a machine. To review exactly what a ship would write,
a dry run writes the files under instructions/dry-run/ (gitignored) instead,
and reports whether each is new, changed, or unchanged on this machine:
pnpm --dir instructions ship:machine --dry-runThese skills help you plan, verify, write, refactor, and fix code.
- qa-ux-plan — Generate end-to-end QA UX verification plans from the current branch's diff without executing tests.
- qa-ux-verify — Execute QA UX plans with browser automation and generate evidence-backed HTML reports without fixing issues.
- codex-review — Ask Codex CLI for an independent review of uncommitted changes, branch diffs, commits, or specific implementations.
- codex-implementation — Delegate bounded code changes to Codex CLI, then inspect the resulting diff and verification.
- claude-code-subagent — For non-Claude agents (Codex, Hermes, etc.): delegate bounded implementation, review, or investigation to Claude Code CLI (
claude -p) on the user's Claude subscription, then inspect the result and diff. - step-back — Step-back review of a branch after a batch of point fixes, finding and fixing the damage the iteration itself caused.
- pull-upstream - Sync a fork with its upstream: inventory the fork's features, merge upstream in with upstream taking priority, re-apply the fork's work on top, and verify every feature survived - clean merges included.
- implement-and-review - Take an approved plan through implementation, browser QA, PR filing, the review-bot loop with step-back every three Codex rounds, a final QA pass, a handoff writeup of unplanned decisions and deferred findings, and an explainer video in the PR description when merge-risk rates the PR Moderate or higher.
- handoff - Compact the current conversation into a handoff document in the OS temp directory so a fresh agent can pick up the work. Invoked by the user only. Adapted from a skill by Matt Pocock.
- babysit-pr — Monitor a pull request through review and CI, verifying bot findings, fixing real failures, and dismissing false positives with reasons. Adapted from a skill by Theo Browne.
- merge-risk - Rate a PR's merge risk on a Minimal-to-Critical scale in an independent subagent, verifying existing bot findings before they count toward the rating.
- html-communication — Create self-contained HTML writeups (plans, specs, findings, UI mocks) and publish them privately to files.vaut.dev with the vaut CLI. Adapted from a skill by Theo Browne.
- vaut-file-hosting - Upload any local file to files.vaut.dev and return a permanent URL (private by default, public on request), backed by the host and the
vautCLI in connorch/vaut. Adapted from a skill by Theo Browne. - t3-browser - Drive T3 Code's built-in Browser panel, which the user watches live, for browser QA and screenshots whenever its
preview_*tools are available, reaching dev servers by environment port so they resolve to the machine running the code. - motion-explainer - Turn a pull request, or a question about how something works, into a 1080p60 motion graphic explainer in the style of Kit Langton's PR films, rendered with his psychopomp engine and published privately to files.vaut.dev. Ships to macOS only.
- jev - Use TypeSafe's Jev decision model for bulk classification and fast Jev-driven browsing in the Agents Chrome, through the
jevxCLI inapps/jevx-cli/. Ships only to connors-mac-studio.
- fleet-exec - Run commands on your other machines over Tailscale SSH ("make sure main is pulled on my MacBook Pro"), with the gotchas agents would otherwise hit: exit codes that always read 0, a locked keychain, and repo paths that differ per machine.
- mac-vm - Boot an on-demand macOS VM (Tart) whose desktop is always unlocked, so agents can drive GUI apps while the host Mac is locked, then shut it down. Backed by the
mac-vmCLI inapps/mac-vm/. Ships only to connors-mac-studio. - bambu-print - Design, slice, and start prints on the Bambu Lab P1S: status and camera over the LAN, models from code (parametric parts through the
cadskill from earthtojake/text-to-cad), headless slicing that refuses bad profiles, a plate check before every print, printing through Bambu Connect in the mac-vm VM (works while the Mac is locked), and a check that filament actually loaded. Backed by thebambuCLI inapps/bambu-cli/. Ships only to connors-mac-studio.
The repo is a pnpm workspace with vite-plus at the
root. Skills live under skills/ as plain directories; the code behind them
lives in apps/ (see CONTEXT-MAP.md for each app's
domain docs).
apps/jevx-cli- thejevxCLI thejevskill calls (Mac Studio only).apps/mac-vm- themac-vmCLI themac-vmskill calls (connors-mac-studio only).apps/bambu-cli- thebambuCLI for the P1S on the home LAN (connors-mac-studio only).apps/ship- the skills installer behindpnpm ship:machine.instructions- the global agent instructions (see above).
pnpm install
pnpm ship:machine # install skills, instructions, and CLIs here
pnpm typecheck # every workspace package
pnpm lint # oxlint via vp
pnpm fmt # oxfmt via vp (skills/ is left as written)
pnpm test # every workspace packageArchived skills live under archived/<skill-name>/ and do not use the live
SKILL.md filename. To restore one, move it back under skills/<skill-name>/ and
rename SKILL.archived.md to SKILL.md.
- code-trust-pragma — Archived because it is no longer part of the live skill set.
- codex-computer-use — Archived because it is no longer part of the live skill set.
- sb-ingest - Archived because it is no longer part of the live skill set.
- sb-ingest-superwhisper-meeting - Archived because it is no longer part of the live skill set.
- qa-ux-fix-loop - Archived because it is no longer part of the live skill set.