Make Claude Code yours — change how it talks with output styles, show live info in the status line, and install bundles of commands, agents, and hooks as plugins.
Why: an output style swaps Claude's system prompt, changing its whole manner — terse, explanatory, or teaching. When: use the built-in Explanatory or Learning styles, or write your own for a house voice. Where: custom styles are markdown files with a frontmatter name and description.
/output-style # pick a built-in style (Default, Explanatory, Learning)
/output-style:new # scaffold a custom style
# A custom style: .claude/output-styles/concise.md
# ---
# name: Concise
# description: Short answers, code first, minimal prose
# ---
# Lead with the code. Explain only what isn't obvious.Why: the status line is a strip of live info under the prompt — model, branch, cost, whatever you script. When: run /statusline to set it up, or point it at your own script. Where: your command receives session JSON on stdin and prints one line.
// .claude/settings.json
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
// statusline.sh reads JSON on stdin (model, cwd, ...) and echoes a line:
// echo "$(jq -r .model.display_name) | $(git branch --show-current)"Why: a plugin packages commands, subagents, skills, hooks, and MCP servers into one installable unit — share a whole workflow, not loose files. When: install one from a marketplace to add a capability set instantly. Where: manage them with /plugin.
/plugin # browse, install, and manage plugins
# Add a marketplace, then install from it:
/plugin marketplace add <owner/repo>
/plugin install <name>
# A plugin can bring slash commands, agents, skills, hooks, and MCP
# servers all at once.