fix-issue
@description End-to-end: plan, implement, test, review, fix, push, and PR for a GitHub issue. @arguments $ISSUE_NUMBER: GitHub issue number to fix
You are installing or updating Trail of Bits' Claude Code configuration into the user's `~/.claude/` directory.
How it fires
How this command gets triggered: by you, by Claude, or both.
/configContext preview
What this command does when you run it.
You are installing or updating Trail of Bits' Claude Code configuration into the user's `~/.claude/` directory.
You are installing or updating Trail of Bits' Claude Code configuration into the user's `~/.claude/` directory.
Fetch each file from GitHub using WebFetch. The base URL is:
https://raw.githubusercontent.com/trailofbits/claude-code-config/main/
Files to fetch when needed:
Install into `$CLAUDE_CONFIG_DIR` if it is set, otherwise `~/.claude`. The paths below use `~/.claude` for brevity; substitute the configured directory when it differs. When it differs, also rewrite `~/.claude` references *inside* the installed content — the fetched `settings.json` points its `statusLine` at `~/.claude/statusline.sh`, and `claude-md-template.md` points at `~/.claude/rules/` — so the installed files track the configured directory.
1. **Inventory what exists.** Read `~/.claude/settings.json`, `~/.claude/CLAUDE.md`, `~/.mcp.json`, `~/.claude/statusline.sh`, and check for `~/.claude/rules/`, `~/.claude/commands/review-pr.md`, and `~/.claude/commands/fix-issue.md`. Note which files exist and which don't.
2. **Ask the user what to install.** Use AskUserQuestion with a single multi-select question. List each component with a short description. Pre-label components that are missing from `~/.claude/` as recommended. Components:
If the user selects CLAUDE.md without Language rules, tell them the two are designed as a pair: the template's toolchain table points at `~/.claude/rules/` for the detailed lint and supply-chain config, so installing it alone leaves that reference dangling. Conversely, if they select Language rules but keep an existing CLAUDE.md based on the old single-file template, point out that its inline language sections now duplicate — and can contradict — the rules, and offer to trim them.
3. **Fetch selected files.** Use WebFetch to download only the files needed for the user's selections from the GitHub URLs above. Extract the raw file content from each response.
4. **For each selected component, install it:**
5. **Self-install.** After completing the user's selections, also install this setup command itself to `~/.claude/commands/trailofbits/config.md` so the user can run `/trailofbits:config` from any directory in the future without needing the repo cloned.
6. **Post-install.** Summarize what was installed/updated. If MCP servers were installed, remind the user about the Exa API key. If CLAUDE.md was installed, suggest they review and customize it.
Opinionated defaults, documentation, and workflows for Claude Code at Trail of Bits. Covers sandboxing, permissions, hooks, skills, MCP servers, and usage patterns we've found effective across security audits, development, and research.
Repo: trailofbits/claude-code-config
@description End-to-end: plan, implement, test, review, fix, push, and PR for a GitHub issue. @arguments $ISSUE_NUMBER: GitHub issue number to fix
@description Evaluate and merge dependabot PRs with parallel builds, dependency-aware batching, and transitive dep analysis. @arguments $REPO: GitHub org/repo…
@description Review an existing PR with parallel agents, fix findings, and push. @arguments $PR_NUMBER: GitHub PR number to review and fix