Skip to content
Back to skills

Carapace

ASecurity

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.

  • 2,009 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
toolsgoshelldockerapidocumentation

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add carapace-sh/carapace-bin --skill carapace --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Carapace?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Carapace
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/carapace-sh-carapace/badge)](https://www.skillsdirectory.com/skills/carapace-sh-carapace)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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) |
| Effective actions, ActionValues, ActionCallback, ActionExecCommand, modifiers, naming, caching, batch, MultiParts, UID, tags, linting, carapace:curated | [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).

Files in this skill

  • SKILL.md4 KB
  • references/action.md20.8 KB
  • references/choice.md9 KB
  • references/convert.md10.5 KB
  • references/env.md7.8 KB
  • references/integrate.md29.1 KB
  • references/lexer.md24.3 KB
  • references/macro.md19.4 KB
  • references/man.md13.5 KB
  • references/mcp.md14 KB
  • references/scrape.md6.3 KB
  • references/setup.md6.8 KB
  • references/spec.md8 KB
  • references/update.md11.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.