by migsilva89
See and manage what your coding assistants load — skills, commands, subagents, plugins and MCP servers, with real usage.
# Add to your Claude Code skills
git clone https://github.com/migsilva89/loadoutLast scanned: 9/9/2026
{
"issues": [
{
"file": "README.md",
"line": 84,
"type": "dangerous-command",
"message": "Dangerous command (writes to Claude config): \">/skills` — `~/.claude/\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-09-09T08:41:55.846Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how loadout compares with popular alternatives.
loadout is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by migsilva89. See and manage what your coding assistants load — skills, commands, subagents, plugins and MCP servers, with real usage. It has 51 GitHub stars.
Yes. loadout passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/migsilva89/loadout" and add it to your Claude Code skills directory (see the Installation section above).
loadout is primarily written in Swift. It is open-source under migsilva89 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh loadout against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
claude, codex or opencode to change a skill; it proposes, you accept change by changermbrew install --cask migsilva89/loadout/loadout
Or download the latest release — the website
points at the same file — and drag Loadout.app into /Applications. The disk image is signed and
notarised, so it opens without a Gatekeeper warning and without a trip through System Settings.
macOS 15 or later, on Apple silicon or Intel.
Or build it yourself, which needs Xcode:
git clone https://github.com/migsilva89/loadout.git
cd loadout
./Scripts/build-app.sh
open dist/Loadout.app
Open Chat beside New skill from any tab. It uses an assistant CLI already installed and its existing subscription — there is no API key. Choose the assistant and model in the chat panel.
Press Ask on a skill to attach it to the current conversation. You can attach several skills and remove them above the message box. Selecting another row does not change the attachments or switch conversations. Removing an attachment excludes its files from future messages; earlier messages stay in the conversation. New starts a chat with no attachments, and History includes earlier conversations, including those started before global chat.
The assistant runs in disposable copies of the attached folders. Review each proposed change in the chat panel with Accept or Reject, then choose Save accepted changes. Only accepted changes reach their original files, with a backup first. If a file changed elsewhere, review the updated proposal before saving. Plugin files remain read-only references.
In the New skill sheet, Create and ask makes the skeleton and hands it to an assistant with what you typed as the brief, so the description and body come back as proposals.
Each assistant reads its skills from ~/.<name>/skills — ~/.claude/skills, ~/.codex/skills,
and so on. Loadout finds them by itself: any such folder that exists is included, and an assistant
installed tomorrow shows up without a code change.
Clicking an assistant that does not have the skill puts it there. On disk, the folder is promoted
to ~/.agents/skills/<name> and each assistant gets a symlink to it — one copy, one edit, both
sides always the same. Clicking a lit mark removes only that link, never the one real copy. The
Loadout menu has Sync all with … to close the gaps at once.
If two assistants have their own, possibly different, copies of the same skill, the app refuses to merge them on its own and says why.
| Data | Location | Written by Loadout? |
|---|---|---|
| Your skills, commands, subagents and MCP servers | ~/.claude/, ~/.codex/, ~/.<assistant>/ |
Only when you save, create, delete or share |
| Backups, taken before every write | ~/Library/Application Support/Loadout/backups/ |
Yes |
| Usage index, rebuildable | ~/Library/Application Support/Loadout/usage.sqlite |
Yes |
| Working copies for the assistant conversation | ~/Library/Application Support/Loadout/ask-workspaces/ |
Yes |
| The assistants' session logs | ~/.claude/projects/, ~/.codex/sessions/ |
Never — read only |
Loadout keeps its own files out of ~/.claude: that directory belongs to Claude, and an app that
keeps its database in someone else's folder is a surprise waiting for whoever wipes .claude to
fix something.
The app itself makes no network calls. The assistant CLI it runs on your behalf talks to its own provider, with the credentials already on your machine; Loadout never sees them.
The test suite never touches any of this: every test runs against a temporary tree, which is why
Paths takes its root by injection.
Codex plugin discovery and configuration edits use its local app-server protocol. Loadout does not
start an AI conversation for these operations. To check this integration with an installed Codex,
run .build/debug/LoadoutApp --self-check-codex after building. It creates a temporary marketplace
and tests individual switches, parent restoration, updates, backups and configuration preservation.
See SECURITY.md. The areas that matter here: writes outside the expected directories, command execution driven by file contents, and any path where a backup fails without stopping the write.
See CONTRIBUTING.md for the scope, how to run the tests, and what a pull request needs. A feature outside that scope will be declined however well it is written, so open an issue first. The specification, with the acceptance criteria one by one, is in docs/SPEC.md.
A personal project, maintained when it suits. It works and is used every day, but it does not come with a product's promise of support.
Releases are built by ./Scripts/release.sh, which refuses to run from a dirty tree, an untagged
commit or a branch other than main, and runs the tests before signing anything.
Loadout updates itself. A release publishes three files together — the disk image, an identical
copy named Loadout-<version>-update.dmg, and a signed appcast.xml that points installed copies
at it. The app only accepts an update signed with the key it was built with. release.sh will not
print the publish command unless that signed feed exists.
MIT.