vianbara

Explain Bash — Development skill for Claude Code

Development community

Risk marks and short notes on Bash commands and MCP calls in Claude Code.

How to install Explain Bash

This entry records only its repository, not the path inside it, so there is no exact command to give. Open vianbara/explain-bash and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Explain Bash does

Risk marks and short notes on Bash commands and MCP calls in Claude Code.

Alternatives in Development

  • Ccusage — CLI for analyzing Claude Code/Codex usage from local JSONL files 11.8k ★
  • Ralphy — My Ralph Wiggum setup, an autonomous bash script that runs Claude Code, Codex, OpenCode, Cursor agent, Qwen & 2.8k ★
  • Obsidian MCP Server — Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP 686 ★

README

explain-bash

A Claude Code mod that puts a risk mark and a short plain-language note on every Bash command and MCP tool call in the transcript, so you can tell at a glance what a long command does.

![Notes appearing on Bash rows in Claude Code](docs/demo.gif)

The demo runs in a sandbox: `kubectl` is a stub script and `origin` is a local bare repository.

  • The note is display only. The command, what the model reads, and permission prompts are unchanged.
  • The call runs at once. Its note replaces 【explaining…】 a second or two later.

Install

/plugin install explain-bash --marketplace vianbara/explain-bash

Answer `y` to add the marketplace, then pick a scope. To run from a local checkout instead, add the folder to `CLAUDE_CODE_PLUGIN_DIRS` or pass `claude --plugin-dir `.

Marks

Mark Meaning
🟢 Read-only, including reads of remote systems
✏️ Writes or changes local files or state
🗑️ Deletes data
☁️ Changes a remote or shared system: cluster, cloud, database, git push, API write, ticket or chat post
❔ Unknown: the reply could not be read, or the call hides what it does and the model called it read-only

Marks stack: a remote delete shows ☁️🗑️. A Bash row shows the 【note】 above the command; an MCP row shows it as the first argument name.

Settings

`/explain` with no arguments shows the current settings, the token use of note calls (this session and all time), and the mark legend. Words can be combined in any order and persist across sessions.

Word Effect Default
on, off Turn notes on or off on
haiku, sonnet, opus, claude-* Model for the notes sonnet
low … max Effort low
lang: Note language as a language code, such as en, ja or zh-TW. Notes work in any language the model writes en

Example: `/explain sonnet low lang:ja`.

Interface text (`explaining…`, the legend, `/explain` replies) is translate