Claude Automation Recommender
anthropics/claude-plugins-official
Scans a codebase and suggests which Claude Code hooks, subagents, skills, plugins and MCP servers fit its stack, without changing any files.
Capify an existing project. An agent skill from infragate/capa.
$ npx skills add infragate/capa --skill bootstrap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install infragate/capa bootstrap --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/infragate/capa.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/bootstrap .claude/skills/bootstrap && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bootstrap" agent skill from https://github.com/infragate/capa/tree/main/skills/bootstrap into .claude/skills/bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bootstrap", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/infragate/capa/tree/main/skills/bootstrapType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add infragate/capa --skill bootstrap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install infragate/capa bootstrap --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/infragate/capa.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/bootstrap .agents/skills/bootstrap && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bootstrap" agent skill from https://github.com/infragate/capa/tree/main/skills/bootstrap into .agents/skills/bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bootstrap", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add infragate/capa --skill bootstrap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install infragate/capa bootstrap --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/infragate/capa.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/bootstrap .cursor/skills/bootstrap && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bootstrap" agent skill from https://github.com/infragate/capa/tree/main/skills/bootstrap into .cursor/skills/bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bootstrap", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/infragate/capa.git --path skills/bootstrap--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add infragate/capa --skill bootstrap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install infragate/capa bootstrap --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/infragate/capa.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/bootstrap .gemini/skills/bootstrap && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bootstrap" agent skill from https://github.com/infragate/capa/tree/main/skills/bootstrap into .gemini/skills/bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bootstrap", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install infragate/capa bootstrapInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add infragate/capa --skill bootstrap -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/infragate/capa.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/bootstrap .github/skills/bootstrap && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bootstrap" agent skill from https://github.com/infragate/capa/tree/main/skills/bootstrap into .github/skills/bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bootstrap", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add infragate/capa --skill bootstrap -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install infragate/capa bootstrap --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/infragate/capa.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/bootstrap .opencode/skills/bootstrap && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bootstrap" agent skill from https://github.com/infragate/capa/tree/main/skills/bootstrap into .opencode/skills/bootstrap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bootstrap", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bootstrapCapify an existing project. An agent skill from infragate/capa.
Bootstrap is an agent skill from infragate/capa. Capify an existing project. Scans the repo for already-installed MCP servers, skills, rules, hooks, sub-agents, and plugins (across .claude, .cursor, .codex, .gemini, etc.), consolidates them into shared top-level directories (skills/, rules/, hooks/), and synthesizes a sound capabilities.yaml from the inventory. Use whenever the user says "bootstrap capa", "capify this project", "onboard capa onto an existing repo", "inventory my agent setup", or asks how to turn an ad-hoc Claude/Cursor/Codex configuration into…
Its SKILL.md is about 5.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/evals.json`, `references/discovery.md` and `references/event-mapping.md`).
It sits in Agent Workflows, covering MCP servers and Subagents. It works with Model Context Protocol. The repository describes itself as: One capabilities.yaml wires skills, tools, rules, sub-agents, MCP servers, and plugins into Cursor, Claude Code, Codex, Windsurf, GitHub Copilot, and 30+ other AI coding agents. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7f868cd. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bootstrap loads about 5.9k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 161 tokens; SKILL.md has 3,032 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from infragate/capa at commit 7f868cd, republished under its MIT licence (© infragate). 3,032 words, ~5,891 tokens.
.claude/skills/bootstrap/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Turn an existing project that has accumulated MCP servers, skills, rules, hooks, and sub-agents across several provider-specific directories into a clean, reproducible capabilities.yaml managed by capa.
The user has a repo that already works with at least one AI coding agent (Claude Code, Cursor, Codex, Gemini, Copilot, etc.) but has never run capa init. They want capa to take over so the configuration is shared across providers and version-controlled in one place.
Trigger words and shapes: "bootstrap capa", "capify", "set capa up on this repo", "convert my .claude/.cursor config to capa", "I have a bunch of skills and rules already — onboard them".
If capabilities.yaml already exists at the repo root, this skill is the wrong tool — point the user at the capabilities-manager skill instead, which knows how to extend an existing file.
capabilities-managerBootstrap is the one-time on-boarding helper. It produces a capabilities.yaml from scratch. capabilities-manager is the long-term editor — adding skills, registering MCP servers, configuring hooks on an already-bootstrapped project. Read capabilities-manager for schema details and YAML examples rather than re-deriving them here; this skill focuses on discovery and migration, and defers all schema questions to it.
When you (the agent) need to know the exact shape of a skills: entry, a hooks: entry, the canonical event names, the difference between @ and :: in def.repo, or any other schema-level detail — load the capabilities-manager skill rather than guessing. Bootstrap calls schema decisions out by name, but never inlines the schema reference.
capabilities.yaml.capabilities.yaml and update .gitignore.capa install and surface anything that didn't take.expose: all), and with the default search mode the agent finds them by task, so usually nothing needs to be added; narrow with except / exactly or curate tools: only when the project needs it. Servers with zero tools usually mean unfinished auth — tell the user and wait.Each phase is described below. Don't skip a phase; each one's output is the next one's input.
Before scanning, confirm three things:
Capa is installed. Run capa --version. If it isn't installed, stop and ask the user to install it (point them at the README); don't attempt to bootstrap blind.
Git state is sane. Run git status --porcelain and git rev-parse --abbrev-ref HEAD. If the working tree has uncommitted changes that aren't agent-config files (i.e., user is mid-edit on real code), tell them and ask whether to proceed; bootstrap will move files and they may want a clean slate first.
Branch decision. Look at the current branch:
main, master, trunk, or matches the repo's default branch (from git symbolic-ref refs/remotes/origin/HEAD — fall back to main if unset), create a new branch named capa/bootstrap (or a unique suffix if that already exists) with git checkout -b capa/bootstrap. Bootstrap touches many files; isolating that in a branch makes it trivially revertable.Existing capabilities file. If capabilities.yaml or capabilities.json already exists at the repo root, stop. Tell the user the project is already bootstrapped and they should use capabilities-manager to extend it.
Sweep the project for every kind of agent configuration. Run the searches in parallel — they're independent and reading them sequentially wastes time on large repos. Always exclude node_modules, dist, build, .git, vendor, and target from globs.
For each category below, also resolve symlinks (find . -type l -not -path './node_modules/*' -not -path './.git/*') and check git submodules (git submodule status — if any submodule is itself an agent-config repo, surface it). A symlinked .cursor pointing at ~/dotfiles is a real finding that affects what you do with it.
See references/discovery.md for the exhaustive search matrix — every file glob, every JSON/TOML key, every provider quirk. Use that file rather than memorizing locations; provider directories change and the reference is updated when capa learns a new one.
The shape of the inventory you build should look like:
discovered:
mcp_servers:
- source: .cursor/mcp.json
id: postgres
kind: local-subprocess
def: { cmd: ..., args: ..., env: ... }
skills:
- source: .claude/skills/code-review/SKILL.md
id: code-review
provider: claude-code
rules:
- source: .cursor/rules/typescript.mdc
id: typescript
provider: cursor
applies_to: ["**/*.ts", "**/*.tsx"]
hooks:
- source: .claude/settings.json
event: PreToolUse
provider: claude-code
command: "..."
subagents:
- source: .claude/agents/api-reviewer.md
id: api-reviewer
symlinks: [...]
submodules: [...]
ignored_dirs_present: [".claude", ".cursor"]You don't have to use that exact format — it's a checklist. Whatever you produce should let the user see, at a glance, what's about to be migrated.
Show the inventory to the user. Before moving any files, propose:
Why moves are necessary (lead with this — users often resist file moves until they understand): capa's install model assumes it owns the provider-specific directories. On every capa install, it rewrites .claude/skills/, .cursor/skills/, etc. from a separate source-of-truth location. If a skill stays under .claude/skills/ and is also declared as type: local pointing at the same dir, install fails with "directory already exists and is not managed by capa." So the source has to live outside provider dirs — that's the whole reason for the move, not aesthetics.
If the project's own conventions designate .claude/skills/ (or similar provider dir) as the shared canonical location (often documented in an AGENTS.md at that path), call that out and explain that the convention worked pre-capa but capa-managed projects need a separate source dir. Offer to update the project's AGENTS.md as part of the migration so it reflects the new layout.
Which items to migrate into shared dirs, and what they'll become:
.claude/skills/foo/ → skills/foo/ referenced as type: local, def.path: ./skills/foo.cursor/skills/bar/ → skills/bar/ (or merged with an existing one of the same name; flag the conflict).cursor/rules/*.mdc → rules/*.md referenced as type: local with path: ./rules/<id>.md (preferred for anything non-trivial). Small one-liners can stay type: inline with content: embedded..claude/agents/*.md → entries in the top-level subagents: section (capa regenerates the file on install).claude/settings.json / .cursor/hooks.json → top-level hooks: entries, using canonical event names. For non-trivial hook scripts, move the script under hooks/<id>.sh and reference via source: { type: local, path: ./hooks/<id>.sh }. Inline one-liners stay inline..cursor/mcp.json, .claude/settings.json mcpServers, .codex/config.toml mcp_servers → top-level servers: entries. Merge duplicates by id; flag mismatched configs (e.g., two providers point a server with the same id at different commands).Which providers to declare in options.providers (or to omit so capa resolves at install time). Default: declare exactly the providers whose config dirs you found.
Which directories to .gitignore — by default, ignore generated subpaths only:
.claude/skills/
.claude/agents/
.cursor/skills/
.cursor/rules/
.cursor/mcp.json.claude/settings.json and .cursor/settings.json often contain user-specific bits the user wants to keep editing by hand, so leave them tracked. If the user has nothing hand-authored there, they can broaden to .claude/ / .cursor/ themselves.
Conflicts and ambiguities — call them out explicitly:
type: local / type: inline form (note any lost Cursor-only fields like complex globs and ask)Wait for confirmation before Phase 4. The user may want to skip some items, rename others, or change the target layout. Don't move files without sign-off — bootstrap's whole value is being the careful path.
Execute the plan. Use git mv rather than mv so history follows the files. Keep moves atomic per category — easier to revert if something looks wrong.
After moving, run git status and show the user the rename list so they can spot-check before you write the capabilities file.
Compose capabilities.yaml at the project root. The skeleton:
providers:
# only the ones actually present in the project
options:
toolExposure: search
skills:
- id: capabilities-manager
type: github
def:
repo: infragate/capa@capabilities-manager
description: Guide for managing capabilities with capa CLI
# then everything discovered, sorted by id
servers: []
tools: []
rules: []
hooks: []
subagents: []
plugins: []Rules of composition:
capabilities-manager so future edits have the schema available to the agent.id within each section. Stable order makes future diffs readable..cursor/mcp.json has env vars and .claude/settings.json doesn't, take Cursor's). Replace literal secrets with ${VarName} placeholders and warn the user that capa will prompt for them on capa install.type: local with path: pointing at the migrated file under rules/ — capa re-reads it on each install. Use type: inline with content: only for short one-liners. Remote github/gitlab sources are fine when the rule already lives in another repo.references/event-mapping.md. If a hook's provider event has no canonical mapping, keep the provider-scoped form (cursor:beforeShellExecution) — don't drop it.servers: [] and tools: [] belong (so users know where to add things); subagents: [] only belongs if you actually expect them to add some.For the exact field-by-field shape of every entry type, consult the capabilities-manager skill's references/capabilities-schema.md — bootstrap should never duplicate that.
Then update .gitignore per the plan from Phase 3. Append a clearly-marked block so the user can see what bootstrap added:
# Added by capa bootstrap — generated agent configs
.claude/skills/
.claude/agents/
.cursor/skills/
.cursor/rules/
.cursor/mcp.jsonRun capa install and watch the output. Three things to surface to the user:
If install fails, don't auto-rollback — the user is on a branch, and the partial state is debuggable. Tell them what failed and let them decide whether to fix forward or git reset.
tools:Discovered MCP servers are now registered with capa, and the synthesized file has tools: []. Capa's server can introspect what each MCP server actually exposes. Use that to confirm each server is reachable and authenticated, and to decide whether its default expose: all should be narrowed. With the default search mode, agents discover exposed tools by task, so an empty tools: section is normal.
Look up the project id. Capa assigns each project a stable id like <basename>-<hash>. GET http://127.0.0.1:5912/api/projects returns a projects array; match by path == $(pwd) and read .id.
For each server in capabilities.yaml, hit:
GET http://127.0.0.1:5912/api/projects/<project-id>/servers/<server-id>/toolsThe response is always {"tools": [...]}. Each tool has name, description, inputSchema (and sometimes outputSchema, _meta with FastMCP tags).
A server you leave alone already exposes its own tools. A server entry with
no tools: entries pointing at it defaults to expose: all, so its live tools
are callable with no YAML per tool:
servers:
- id: github
type: mcp
# expose: all is the default; narrow with except / exactly, or turn it off
# with none
expose: except
tools: [delete_repo] # remote names
def: { url: https://example.com/mcp }Those tools need no skill requires: entry. Writing tools: entries for a
server turns its policy off — that list then is the server's tool list, the
way capa has always worked. So curate tools: when the project needs a handful
of named tools with friendly ids, defaults, or a formatter; leave the server
alone when the agent should just have everything it offers. See
capabilities-manager → references/capabilities-schema.md.
If the tools array is populated and the project needs curated entries (friendly ids, defaults, a formatter, or requires: wiring under on-demand / expose-all): add relevant entries to the tools: section of capabilities.yaml, remembering that this turns the server's expose policy off. Otherwise leave the server alone, optionally narrowing it with except / exactly. "Relevant" means: tools the project actually needs based on what the README/AGENTS.md says the project does. Don't dump every tool — a server with 37 tools probably only has 4–8 the project will use. Group related tools by setting a shared group: on command-style tools, or just let them sit at the top level for MCP tools. Use the FastMCP _meta.fastmcp.tags (when present) as a hint for grouping.
Capa entry shape for an MCP tool:
tools:
- id: create_mr
type: mcp
description: Create a GitLab MR. (Short; the agent sees this in tool descriptions.)
def:
server: "@gitlab"
tool: gitlab_create_merge_requestThe id is the local-friendly name the agent uses; def.tool is the remote MCP tool name. Skills require: the tools with @<server-id>.<id>.
Important — don't repeat the server name in the id. Capa already groups tools by server: an entry under @gitlab shows up in capa sh as gitlab search-projects, and skills refer to it as @gitlab.search_projects. If you write id: gitlab_search_projects, you get gitlab gitlab-search-projects — noisy and redundant. Pick ids that describe the function alone (search_projects, get_mr, list_pipelines), not the server. The same principle applies when the upstream MCP tool name already includes the server prefix (e.g. gitlab_gatekeeper_searchProjects): strip the prefix in id, keep the full name in def.tool since that's what the remote server actually exposes.
If the tools array is empty ([]): assume the server needs authentication that hasn't been completed yet. Tell the user explicitly:
The
<server-id>MCP server returned 0 tools, which usually means authentication isn't done. Complete the auth flow (open the server's web UI, paste an API key, finish OAuth — whatever its README says) and let me know when you're done. I'll re-fetch the tool list and confirm the server is exposing its tools.
Then wait for the user to confirm. When they do, re-fetch and proceed. Don't guess at tool names from documentation — the live tool list is the source of truth, and the names sometimes differ from docs.
After tool inspection is complete, ensure any skill that declares a requires: list points to real @<server-id>.<tool-id> entries that now exist in tools:. If a discovered local skill required a tool that doesn't show up in any server's tool list, flag it — the skill may have been written against a different version of the server, or the user may need to add a different MCP server.
Watch for the "declared but unused" trap (only when the project uses on-demand or expose-all; the default search mode ignores requires: and needs no action here). With options.toolExposure: on-demand, capa only exposes tools the agent will see after a skill calls setup_tools(['<skill>']). The exposure list is computed from each skill's requires: field — so a tool that's declared in tools: but not in any skill's requires: ends up invisible to the agent. capa install warns about this:
13 tool(s) are not exposed to MCP clients (not required by any skill): gitlab.search_projects, gitlab.get_mr, ... Add them to a skill's
requireslist to expose.
If you see that warning, decide with the user: either add requires: entries to the relevant local skills (the right answer when the skills clearly use specific tools) or switch options.toolExposure: expose-all (the right answer when the project uses many tools ad-hoc and requires: would be guesswork). Bootstrap shouldn't silently choose — surface the warning and the options.
Offer to remove the bootstrap skill itself from capabilities.yaml. Bootstrap is one-shot: once the file exists, future capabilities edits go through capabilities-manager, not bootstrap. Leaving - id: bootstrap in skills: is harmless but installs an unused skill into every provider, adds a line to every diff, and confuses future readers ("why is the on-boarding skill still here?"). Ask the user:
Bootstrap is finished. Should I remove the
bootstrapskill entry fromcapabilities.yamlso future runs ofcapa installskip it? (Thecapa initdefault re-adds it for new projects; this only affects this file.)
If they say yes: delete the entry (and any trailing comment that explained it), re-run capa install to confirm the file still parses and to deregister the skill from providers, then commit. If they say no: leave it; some users keep it as a self-documenting marker.
Do not auto-remove without asking. The skill never edits capabilities.yaml silently after Phase 5 — every change since gets the user's sign-off, and self-removal is no exception.
End with a one-paragraph summary: which branch you're on, what was migrated, what tools got added (and which servers are pending auth), what to do next (commit, capa restart, open PR). Optionally mention capa wrap <provider> if the user wants to try an agent without committing provider dirs, and the Web UI at http://localhost:5912 for the capabilities editor and Activity feed.
capabilities.yaml after the first write. Hand off to capabilities-manager for ongoing edits.git mv moves them; if the user wants the originals back, the rename is in git history..claude/skills/ as the shared location, capa needs source-of-truth outside provider dirs (see Phase 3). Explain and migrate; don't try to be clever.When discovery surfaces something capa has no first-class representation for, note it in the inventory and leave it in place. Don't try to force a fit. Today this list includes:
.cursor/commands/*.md) — Cursor-only feature with no Claude equivalent. Document them in the migration summary and leave the files where they are..claude/settings.json → permissions.allow) — capa doesn't write these; tell the user this file stays under their control and only the mcpServers/hooks sections will be regenerated..mcp.json and a sibling mcp.json with identical content) — flag the duplicate and recommend removing the non-standard one (mcp.json is not part of any provider spec; .mcp.json is the Claude standard). Show the user the diff before removing.ai-skills/ left by a partial migration attempt) — surface them; the user may want to delete or keep.references/discovery.md: shortlist by name (anything matching skill|agent|prompt|mcp|context), init only the shortlist, scan for SKILL.md, register as type: github/type: gitlab pinned to the submodule's commit SHA. Don't list 70+ application-code submodules individually; one summary line is enough.| Topic | File |
|---|---|
| Where to look for each kind of config (full search matrix) | references/discovery.md |
| Provider event names → canonical hook names | references/event-mapping.md |
| Capabilities file schema | (load capabilities-manager skill → references/capabilities-schema.md) |
Commands (capa init, capa install, etc.) | (load capabilities-manager skill → references/commands.md) |
© infragate, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/bootstrap of infragate/capa.
Open the folder on GitHubat commit 7f868cd
Bootstrap next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bootstrap this skillinfragate/capa | 724 | — | ~5.9k | Automated safety check: Pass | MIT | |
| Claude Automation Recommenderanthropics/claude-plugins-official | 37k | 3 repos | ~2.7k | Automated safety check: Notes | Apache-2.0 | |
| Agent Deckasheshgoplani/agent-deck | 1k | — | ~1.7k | Automated safety check: Pass | MIT | |
| CC Workflow Studio AI Editorbreaking-brake/cc-wf-studio | 5.4k | — | ~561 | Automated safety check: Pass | Custom licence | |
| Puppetmaster Agent Orchestrationprofessorpalmer/Puppetmaster | 467 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Agentforce GenerateSalesforceAIResearch/agentforce-adlc | 112 | 1 repos | ~7.4k | Automated safety check: Pass | Custom licence |
anthropics/claude-plugins-official
Scans a codebase and suggests which Claude Code hooks, subagents, skills, plugins and MCP servers fit its stack, without changing any files.
asheshgoplani/agent-deck
agent-deck, the terminal session manager for AI coding agents.
breaking-brake/cc-wf-studio
Creates and edits visual agent workflows in CC Workflow Studio through conversation, with the agent reading and writing the canvas over MCP.
professorpalmer/Puppetmaster
Operates and supervises Puppetmaster, a multi-agent orchestrator, through its MCP tools or CLI, picking the right verb for edits, reviews, audits and long-running jobs.
SalesforceAIResearch/agentforce-adlc
Build, modify, audit, repair, optimize, debug, and deploy agents with Agentforce Agent Script.
centminmod/my-claude-code-setup
Consult official Claude Code documentation from code.claude.com using selective fetching.
Works with
Categories
Capify an existing project. An agent skill from infragate/capa. Bootstrap is an agent skill from infragate/capa. Capify an existing project.
Bootstrap fits situations like: the user says bootstrap capa; capify this project; onboard capa onto an existing repo; inventory my agent setup.
Run `npx skills add infragate/capa --skill bootstrap -a claude-code`. Or copy the skill folder (skills/bootstrap in infragate/capa) into .claude/skills/bootstrap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add infragate/capa --skill bootstrap -a codex`. Or copy the skill folder (skills/bootstrap in infragate/capa) into .agents/skills/bootstrap in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add infragate/capa --skill bootstrap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bootstrap, .gemini/skills/bootstrap, .github/skills/bootstrap and .opencode/skills/bootstrap in your project.
Going by SKILL.md and its folder, Bootstrap needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Bootstrap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.9k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bootstrap: Claude Automation Recommender (anthropics/claude-plugins-official, 37k stars), Agent Deck (asheshgoplani/agent-deck, 1k stars), CC Workflow Studio AI Editor (breaking-brake/cc-wf-studio, 5.4k stars) and Puppetmaster Agent Orchestration (professorpalmer/Puppetmaster, 467 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
infragate (a GitHub organization) maintains it in infragate/capa, which has 724 GitHub stars. The repository was last updated on October 3, 2026.
Source: infragate/capa on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.