Agent skill

Crush Configuration

by charmbracelet in charmbracelet/crush

Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

Custom licenceAuto-check passedAgent Workflows

Install Crush Configuration

skills CLI
$ npx skills add charmbracelet/crush --skill crush-config -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install charmbracelet/crush crush-config --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/charmbracelet/crush.git skills-src && mkdir -p .claude/skills && cp -r skills-src/internal/skills/builtin/crush-config .claude/skills/crush-config && rm -rf skills-src

Use ~/.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/

Facts

Skill name
crush-config
GitHub stars
29k
Token cost
~3.7k tokens
SKILL.md length
1,182 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
Custom licence

At a glance

Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

  • Works in 2 steps: .crushrc / crushrc / .crush.json /… → $XDG_CONFIG_HOME/crush/crushrc or…
  • Writing a crushrc to set up providers and models
  • SKILL.md covers crushrc at a glance, Commands, Hooks runtime and User-invocable skills, plus 2 more sections
  • Calls sh; reaches api.deepseek.com and api.githubcopilot.com; needs DEEPSEEK_API_KEY and ANTHROPIC_API_KEY

What it does

Crush reads two config formats, and this skill recommends crushrc, a Bash script run at load time that builds the configuration by calling builtins such as provider, model, mcp, lsp, hook, permissions and option. Because it is real Bash, includes, secrets, conditionals and variables work naturally, and a failing command substitution aborts the load. A crush.json file remains fully supported.

Both formats are discovered together and deep-merged. Project-local files, where the one closest to the working directory wins, take priority over the user config under the XDG config folder or ~/.config/crush. If one directory holds both, they merge with crushrc winning and Crush logs a warning, and the data directories hold machine-owned JSON state only.

Commands are verb-first, with remove accepting rm, and booleans accept true, false, 1, 0, yes or no. Provider setup takes flags such as name, type, API key and base URL, with types including openai, openai-compat, anthropic and local ones like ollama, lmstudio and llamacpp. CRUSH_VERSION is exported into the script so you can feature-detect the running version.

When your agent uses it

  • Writing a crushrc to set up providers and models
  • Adding an MCP server or an LSP to Crush
  • Changing Crush permissions or adding a hook
  • Migrating a crush.json file to the Bash crushrc format

Example prompts

  • “Write a crushrc that adds an Anthropic provider and sets it as my default model.”
  • “Add the gopls language server to my Crush config, but skip it for local development builds.”
  • “Convert my crush.json into a crushrc file.”
  • “Why is my project crushrc not overriding my global config?”

Requirements

  • The Crush CLI

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. .crushrc / crushrc / .crush.json / crush.json (project-local,
  2. $XDG_CONFIG_HOME/crush/crushrc or ~/.config/crush/crushrc

What it can do on your machine

Read from SKILL.md and the folder at commit 8b18242. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • sh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.deepseek.com
    • api.githubcopilot.com
    • charm.land

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DEEPSEEK_API_KEY
    • ANTHROPIC_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Crush Configuration loads about 3.7k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,182 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k

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.

Safety

Auto-check passed

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.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 1,182 words (~3,688 tokens).

name
crush-config

Read the full SKILL.md on GitHub

Files

Just SKILL.md in internal/skills/builtin/crush-config of charmbracelet/crush.

Open the folder on GitHubat commit 8b18242

Compare with similar skills

Crush Configuration 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.

Crush Configuration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Crush Configuration this skillcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence
Agent Setup Health Audittw93/Waza7.2k—~5.2kAutomated safety check: NotesMIT
Record Demoapify/mcpc1k—~3.3kAutomated safety check: NotesApache-2.0
Paseo Plugin Buildergetpaseo/paseo20k—~9.4kAutomated safety check: PassCustom licence
Trace MCPnikolai-vysotskyi/trace-mcp189—~1.6kAutomated safety check: NotesMIT
Grok Build CLI GuideXiaomiMiMo/MiMo-Code14k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.

    7.2k GitHub stars~5.2k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Record Demo

    apify/mcpc

    Official

    Record or regenerate the mcpc demo GIFs (the README hero docs/images/mcpc-demo.gif and the focused tapes in docs/vhs/) with VHS.

    1k GitHub stars~3.3k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Paseo Plugin Builder

    getpaseo/paseo

    Builds, installs and troubleshoots trusted local Paseo plugins, from lifecycle hooks and slash commands to screens, themes and timeline renderers.

    20k GitHub stars~9.4k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Trace MCP

    nikolai-vysotskyi/trace-mcp

    Use trace-mcp tools for code navigation, impact analysis, and framework-aware queries instead of Read/Grep/Glob/Bash.

    189 GitHub stars~1.6k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Grok Build CLI Guide

    XiaomiMiMo/MiMo-Code

    Reference for operating the Grok Build CLI (grok): interactive and headless runs, login, sandboxing and permissions, sessions, worktrees, MCP servers, plugins and output formats.

    14k GitHub stars~1.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Openspec Aware

    Chorus-AIDLC/Chorus

    OpenSpec-mode authoring for Chorus PM workflows in Hermes. An agent skill from Chorus-AIDLC/Chorus.

    1.2k GitHub stars~7.2k tokensUpdated today
    Agent WorkflowsAuto-check: notes

More from charmbracelet/crush

  • Crush Hook Writer

    charmbracelet/crush

    Helps write, debug and configure Crush hooks in crush.json that block, approve or rewrite tool calls before they run.

    29k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • JSON Processing with jq

    charmbracelet/crush

    Explains the jq command built into Crush for querying, filtering and reshaping JSON, including its supported flags and where it differs from standard jq.

    29k GitHub stars~746 tokensUpdated today
    Auto-check passed
  • Crush Shell Builtins

    charmbracelet/crush

    Explains how to add a new in-process builtin command to Crush's embedded POSIX shell, so it is intercepted before reaching the OS, with context polling and exit-status rules.

    29k GitHub stars~790 tokensUpdated today
    Auto-check passed
  • Crush Builtin Skills

    charmbracelet/crush

    Explains how the Crush coding agent embeds builtin skills in its binary and how to add or edit one, including the discovery test and build commands.

    29k GitHub stars~466 tokensUpdated today
    Auto-check passed

Questions about Crush Configuration

What does Crush Configuration do?

Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence. Crush reads two config formats, and this skill recommends crushrc, a Bash script run at load time that builds the configuration by calling builtins such as provider, model, mcp, lsp, hook, permissions and option. Because it is real Bash, includes, secrets, conditionals and variables work naturally, and a failing command substitution aborts the load.

When should I use Crush Configuration?

Crush Configuration fits situations like: writing a crushrc to set up providers and models; adding an MCP server or an LSP to Crush; changing Crush permissions or adding a hook; migrating a crush.json file to the Bash crushrc format.

How do I install Crush Configuration in Claude Code?

Run `npx skills add charmbracelet/crush --skill crush-config -a claude-code`. Or copy the skill folder (internal/skills/builtin/crush-config in charmbracelet/crush) into .claude/skills/crush-config in your project. Claude Code loads it when a task matches its description.

How do I install Crush Configuration in Codex?

Run `npx skills add charmbracelet/crush --skill crush-config -a codex`. Or copy the skill folder (internal/skills/builtin/crush-config in charmbracelet/crush) into .agents/skills/crush-config in your project. Codex loads it when a task matches its description.

Can I use Crush Configuration in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add charmbracelet/crush --skill crush-config -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/crush-config, .gemini/skills/crush-config, .github/skills/crush-config and .opencode/skills/crush-config in your project.

What does Crush Configuration need to run?

Going by SKILL.md and its folder, Crush Configuration needs the command-line tools its instructions call (sh) and credentials named DEEPSEEK_API_KEY and ANTHROPIC_API_KEY. Our summary lists: The Crush CLI.

Does Crush Configuration access the network?

SKILL.md names 3 domains. In commands or code: api.deepseek.com, api.githubcopilot.com and charm.land; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Crush Configuration safe to install?

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.

What licence does Crush Configuration use?

Crush Configuration has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Crush Configuration use?

About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Crush Configuration?

Skills that share tags, products or a category with Crush Configuration: Agent Setup Health Audit (tw93/Waza, 7.2k stars), Record Demo (apify/mcpc, 1k stars), Paseo Plugin Builder (getpaseo/paseo, 20k stars) and Trace MCP (nikolai-vysotskyi/trace-mcp, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Crush Configuration?

charmbracelet (a GitHub organization) maintains it in charmbracelet/crush, which has 28,580 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 10, 2026.

Source: charmbracelet/crush on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.