Skip to content
CLI Tools
Skill

/carapace

Use when working with carapace shell completion — integrating into CLIs, writing YAML specs, creating custom actions, building completion-aware lexers for DSLs, looking up macros, setting up shell completion, configuring choices/bridges, using the MCP server, or adding man page

BOOST
From plugin
carapace-bin
2k23 skills
Install
$ npx -y skills add carapace-sh/carapace-bin --skill carapace --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/carapace

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when working with carapace shell completion — integrating into CLIs, writing YAML specs, creating custom actions, building completion-aware lexers for DSLs, looking up macros, setting up shell completion, configuring choices/bridges, using the MCP server, or adding man page

SKILL.md

carapace.SKILL.md
name: carapace
description: >
  Use when working with carapace shell completion — integrating into CLIs, writing YAML specs,
  creating custom actions, building completion-aware lexers for DSLs, looking up macros,
  setting up shell completion, configuring choices/bridges, using the MCP server, or adding
  man page documentation.
user-invocable: true

Carapace Usage Reference

Reference for using [carapace](https://carapace.sh) shell completion — integrating into CLIs, writing specs, creating actions, and configuring completions.

Sub-Resources

Load the reference that matches your task. When in doubt, load multiple references.

| Keywords | Reference | |----------|----------| | Integrate carapace, cobra, PreRun, PreInvoke, bridge, standalone mode, flag config, non-POSIX flags | [references/integrate.md](references/integrate.md) | | Custom actions, ActionValues, ActionCallback, ActionExecCommand, modifiers, naming, caching, batch, MultiParts, UID, tags | [references/action.md](references/action.md) | | YAML spec, user spec, flags, subcommands, parsing modes, exclusiveflags, aliases, completion, macros, modifiers, runnable specs | [references/spec.md](references/spec.md) | | Macro format, MacroN, MacroI, MacroV, $files, macro signatures, modifier chaining | [references/macro.md](references/macro.md) | | Choices, variants, bridges, CARAPACE_BRIDGES, --choice, --list, group priority | [references/choice.md](references/choice.md) | | Setup, shell integration, environment variables, overlays, extensions, install | [references/setup.md](references/setup.md) | | Environment variable completion, env YAML, conditions, ActionNames, ActionValues | [references/env.md](references/env.md) | | Convert spec to Go, codegen, macro-to-Go mapping, modifier translation | [references/convert.md](references/convert.md) | | Update existing completer, incremental update, new flags, new subcommands, surgical edits | [references/update.md](references/update.md) | | Scrape spec, generate from source, Docker, supported frameworks, patch-and-container | [references/scrape.md](references/scrape.md) | | MCP server, complete tool, list_macros tool, codegen tool, JSON-RPC, stdio transport | [references/mcp.md](references/mcp.md) | | Man pages, carapace-man, UID documentation, YAML man pages, inline descriptions, scheme, host, path | [references/man.md](references/man.md) | | Lexer, parser, DSL completion, CompletionContext, ParseForCompletion, grammar package, completion-aware parser, argstream | [references/lexer.md](references/lexer.md) |

Quick Guide

  • **How do I add carapace to my cobra CLI?** → [references/integrate.md](references/integrate.md)
  • **How do I create a custom completion action?** → [references/action.md](references/action.md)
  • **How do I write a YAML user spec?** → [references/spec.md](references/spec.md)
  • **How do I format macro arguments?** → [references/macro.md](references/macro.md)
  • **How do completers/bridges/choices work?** → [references/choice.md](references/choice.md)
  • **How do I set up shell completion?** → [references/setup.md](references/setup.md)
  • **How do I add environment variable completions?** → [references/env.md](references/env.md)
  • **How do I convert a spec to a native Go completer?** → [references/convert.md](references/convert.md)
  • **How do I update an existing completer for a new CLI version?** → [references/update.md](references/update.md)
  • **How do I generate a spec from CLI source code?** → [references/scrape.md](references/scrape.md)
  • **How do I use the MCP server?** → [references/mcp.md](references/mcp.md)
  • **How do I add inline documentation for completion values?** → [references/man.md](references/man.md)
  • **How do I build a lexer for a DSL value?** → [references/lexer.md](references/lexer.md)

Cross-Project References

For internal library development (Action API internals, traverse engine, shell formatters, style system), use the **carapace-dev** skill (in the carapace repo).

Read more
Ships withcarapace-bin

Carapace-bin provides argument completion for multiple CLI commands (full list), and works across multiple POSIX and non-POSIX shells. Supported shells: Bash Cmd (experimental) Elvish Fish Ion (experimental) Nushell Oil Powershell Tcsh (experimental) Xonsh Zsh

Get the whole plugin
Stats
1,983
Stars
149
Forks
Active
Maintenance
Go
Language
MIT
License
6h ago
Last commit
6y ago
Created
3d ago
Added

Repo: carapace-sh/carapace-bin

Other skills on carapace-bin.