Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/b33eep/claude-code-setup/add-customgit clone --depth 1 https://github.com/b33eep/claude-code-setupWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00783 |
| Opus 5 | $0.00000 | $0.00392 |
| Sonnet 5 | $0.00000 | $0.00157 |
| Haiku 4.5 | $0.00000 | $0.00078 |
Grade D, and why
add-custom scanned grade D with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
version=$(cat ~/.claude/custom/VERSION 2>/dev/null || echo "0") Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf ~/.claude/custom How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add Custom Modules
Add a custom module repository (company or personal) to claude-code-setup.
Usage
/add-custom <git-url>
Tasks
-
Validate URL format
- Accept:
git@...orhttps://... - Reject: plain
http://(insecure) - If invalid, show error and expected formats
- Accept:
-
Check if ~/.claude/custom already exists
- If exists and is a git repo:
- Get current remote:
git -C ~/.claude/custom remote get-url origin - If same URL: skip clone, run
git pullinstead - If different URL: warn and abort
- Get current remote:
- If exists but NOT a git repo: warn and abort
- If doesn't exist: proceed with clone
- If exists and is a git repo:
-
Clone repository
git clone <url> ~/.claude/custom -
Read VERSION and update installed.json
- Read
~/.claude/custom/VERSION(if exists) - Update
~/.claude/installed.json:# Only if VERSION exists and installed.json exists if [[ -f ~/.claude/custom/VERSION ]] && [[ -f ~/.claude/installed.json ]]; then version=$(cat ~/.claude/custom/VERSION 2>/dev/null || echo "0") jq --arg v "$version" --arg u "<url>" \ '.custom_version = ($v | tonumber) | .custom_url = $u' \ ~/.claude/installed.json > tmp && mv tmp ~/.claude/installed.json fi - If VERSION doesn't exist, skip (legacy custom repo without versioning)
- Read
-
Show available modules
- Count skills in
~/.claude/custom/skills/ - Count MCP servers in
~/.claude/custom/mcp/ - Display: "Found X skills, Y MCP servers"
- Display: "Custom version: vX" (if VERSION exists)
- Count skills in
-
Hint next step
- "Run /claude-code-setup to select and install modules"
Output
Success (new clone):
Cloned custom modules from <url>
Custom version: v1
Found:
- 3 skills
- 2 MCP servers
Run /claude-code-setup to select and install modules.
Success (existing, pulled):
Custom repo already configured. Pulled latest changes.
Custom version: v2 (was v1)
Found:
- 3 skills
- 2 MCP servers
Run /claude-code-setup to install new modules.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 122 lines · 0 tokens per session scan D 669e10b341d9
add-custom is a command published in the GitHub repository b33eep/claude-code-setup (56 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 783 tokens. A static security scan graded it D with 2 findings (reads agent configuration directories, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
merge
Finalize work on a branch: verify docs + tree are clean, merge to main, clean up. Supports both standard git checkout -b branches and git worktree flows — auto-detected at pre-flight.
expect
Diff-aware AI browser testing — reads the git diff, maps changes to affected pages via the route map, generates a targeted test plan, and executes it via agent-browser (Rust daemon + CDP, ARIA-tree-first) with pass/fail reporting. Use when testing UI changes, verifying PRs before merge, or running regression checks on…
speckit.tasks
Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.
dev
Runs Vendure in development mode. By default it starts three processes: the GraphQL server (ts-node ./src/index.ts), the worker (ts-node ./src/index-worker.ts), and the dashboard (a Vite dev server).
start
Runs a project that has already been compiled with vendure build.
pipeline-undo
Undo a pipeline run's result. With worktree isolation (the current engine), this is clean and low-risk: a run never touches your checkout — its result lives only on a pipeline/ branch (and, for a --push run, on the remote). "Undo" therefore means deleting that branch and its worktree, not reverting your working tree.