← ClaudeAtlas

brewtoolsthink-shortlisted

Toggles terse-output mode to cut preamble and filler. Triggers: think-short, be terse, think shorter.
kochetkov-ma/claude-brewcode · ★ 27 · AI & Automation · score 77
Install: claude install-skill kochetkov-ma/claude-brewcode
# Think-Short > Toggle terse-output mode. Writes state to `$CLAUDE_PLUGIN_DATA/think-short.json` (global) or `.claude/brewtools/think-short.json` (project). Hooks read state and inject profile-specific directives into SessionStart + PreToolUse:Task. This skill ONLY parses intent and mutates state. <instructions> ## Robustness Rules | Rule | Applies | |------|---------| | Every Bash call ends with `&& echo "OK ..." \|\| echo "FAILED ..."` | ALL | | Never use `Write`/`Edit` on `~/.claude/*` or `$CLAUDE_PLUGIN_DATA` — use Bash + Node `fs` via helpers | ALL | | State writes go through `writeState()` in `helpers/state.mjs` (atomic, O_NOFOLLOW, 0600, merges defaults + timestamps) | P2 | | State reads go through `resolveEffectiveState()` in `helpers/state.mjs` (merges hardcoded → global → project → env) | P0, status | | NL-prompt resolution ALWAYS logged via `log()` from `helpers/state.mjs` at INFO level (auto-prefixed `think-short`), to `.claude/logs/brewtools.log` | P0 | ### BT_ROOT Resolver `$CLAUDE_PLUGIN_ROOT` is NOT inherited by the Bash tool in main-conversation slash invocations. Every Bash block MUST resolve `BT_ROOT` dynamically (no hardcoded version): ```bash BT_ROOT="${CLAUDE_PLUGIN_ROOT:-$(ls -d ~/.claude/plugins/cache/claude-brewcode/brewtools/*/ 2>/dev/null | sort -V | tail -1 | sed 's:/*$::')}" test -d "$BT_ROOT/skills/think-short/helpers" || { echo "❌ BT_ROOT invalid: $BT_ROOT"; exit 1; } ``` Paths (use `$BT_ROOT` literally in Bash): - Global state: `$CLAUDE