A native macOS app that shows every AI-agent skill and MCP server configured on your
machine — across Claude Code, OpenCode, Codex, Cursor, and Pi — at both the global and
project level, with tight integration to the skills.sh / npx skills
ecosystem.
Stop digging through dotfiles to see what each agent is actually loaded with.
Clean-room, MIT-licensed. Informed by
RESEARCH.md(verified ecosystem research) and by Chops (Shpigford/chops) as a UX reference only — no code or assets are copied.
Via Homebrew (the zackbart/tap/loadout shorthand taps automatically):
brew install --cask zackbart/tap/loadoutOr tap first, then install by name:
brew tap zackbart/tap
brew install --cask loadoutUpgrade to the latest release with brew upgrade --cask loadout, and remove with
brew uninstall --cask loadout.
The app is signed and notarized, so it opens with a normal double-click — no Gatekeeper right-click dance. Requires macOS 26+.
- Scans each agent's global skill directories plus the
~/.agents/skillscanonical store. - Dedupes by canonical (symlink-resolved) path — one skill, with badges for every agent that references it.
- Parses
SKILL.mdfrontmatter with a real YAML parser (Yams). - Reads
~/.agents/.skill-lock.jsonfor provenance (source repo, hash, timestamps). - Surfaces declared-vs-wired drift: skills the
skillsCLI declares for an agent but that aren't actually symlinked on disk. - Full-text search across name, description, and body.
- Project scope (walk cwd → git root across
.claude/skills,.opencode/skills,.agents/skills,.codex/skills,.pi/skills). - Live FSEvents watching.
- Built-in
SKILL.mdeditor. - Active-state resolution (OpenCode permission rules, Pi project trust).
- Two-way mutations via the
skillsCLI (add / remove / update / init).
brew install xcodegen # one-time
xcodegen generate # generates Loadout.xcodeproj from project.yml
open Loadout.xcodeproj # then ⌘RThe Xcode project is generated — edit project.yml, not the .xcodeproj.
- macOS 14+, Xcode 16+. Sole dependency: Yams (via SPM).
- Runs non-sandboxed to read agent dotfiles in your home directory.
Releases are tag-driven, and tags are the only thing that runs CI — there are no
push/PR build triggers. Pushing a v* tag runs .github/workflows/release.yml, which builds,
signs (Developer ID), notarizes, and publishes a notarized .dmg to GitHub Releases.
Tags are only cut from a release-bump merge — never off a random commit:
- Open a "Release vX.Y.Z" PR that bumps
MARKETING_VERSIONinproject.yml, and merge it tomain. - Tag that merge commit and push the tag:
git tag v0.0.1
git push origin v0.0.1CI injects the version from the tag at build time, so the project.yml bump is just the human
marker that makes the release commit self-describing. Release notes are auto-generated from commits.
One-time setup (already done): seven repo secrets. Six hold the Apple credentials —
BUILD_CERTIFICATE_BASE64, P12_PASSWORD, AC_API_KEY_BASE64, AC_API_KEY_ID,
AC_API_ISSUER_ID, APPLE_TEAM_ID (regenerate if the Developer ID cert (≈5 yr) or the App Store
Connect API key is rotated). The seventh, HOMEBREW_TAP_TOKEN, lets the update-tap job push the
cask to zackbart/homebrew-tap (non-expiring). See DECISIONS.md (D6).
MIT — see LICENSE.