Structured thinking for your AI coding assistant: decide with frameworks, solve with root causes, code with evidence.
$ npx -y skills add HoangTheQuyen/think-better --agent claude-code
Structured thinking for your AI coding assistant: decide with frameworks, solve with root causes, code with evidence. One CLI installs three skills and their slash commands so your AI decides with real frameworks, solves problems with a proven method, and changes code with evidence instead of guesses.
3 skills · 326 knowledge records · 20 slash commands · 4 AI tools
Works with Claude Code · GitHub Copilot · Antigravity · OpenCode
Website · User Guide · Quick Reference · Examples · Changelog
Pick one:
# Homebrew (macOS / Linux)
brew tap HoangTheQuyen/think-better https://github.com/HoangTheQuyen/think-better && brew install think-better
# Scoop (Windows)
scoop bucket add think-better https://github.com/HoangTheQuyen/think-better; scoop install think-better
# Install script (macOS / Linux) — installs to ~/.local/bin and verifies the SHA-256 checksum
curl -fsSL https://raw.githubusercontent.com/HoangTheQuyen/think-better/main/install.sh | sh
# Install script (Windows PowerShell) — installs to %LOCALAPPDATA%\think-better
irm https://raw.githubusercontent.com/HoangTheQuyen/think-better/main/install.ps1 | iex
# Go 1.25+
go install github.com/HoangTheQuyen/think-better/cmd/think-better@latest
Then, inside your project, install the skills for your AI tool:
| AI tool | Command | Skills | Slash commands |
|---|---|---|---|
| Claude Code | think-better init --ai claude | .claude/skills/ | .claude/commands/ |
| GitHub Copilot | think-better init --ai copilot | .github/skills/ | .github/prompts/*.prompt.md (agent mode) |
| Antigravity | think-better init --ai antigravity | .agents/skills/ | .agents/workflows/ |
| OpenCode | think-better init --ai opencode | .opencode/skills/ | .opencode/commands/ |
Every target gets all three skills and all 20 slash commands (/solve*, /decide*, /code*).
Add --global to install once for every project (for GitHub Copilot this installs the skills,
in ~/.copilot/skills/, but not the slash commands), --skill code-solving to install a single
skill with its commands, or --exclude-command code.perf to leave out a slash command you do not
want. The skills need Python 3
(standard library only); run think-better check to verify.
After upgrading the binary, run think-better update to refresh every install; files you edited
are kept (see Updating).
# Pin a release and pick the directory (no sudo needed)
curl -fsSL https://raw.githubusercontent.com/HoangTheQuyen/think-better/main/install.sh \
| THINK_BETTER_VERSION=v1.5.0 INSTALL_DIR="$HOME/bin" sh
# Nix
nix run github:HoangTheQuyen/think-better -- init --ai claude
# From source
git clone https://github.com/HoangTheQuyen/think-better && cd think-better && make build
Manual download: grab a binary from Releases
and check it against checksums.txt.
Type a slash command, or just describe the problem: the AI also picks the skill from its description and trigger phrases (see How a skill is picked). The samples below are real script output for these requests, shortened.
/decide: choose between options
/decide Postgres vs MongoDB vs DynamoDB for our order service
→ Decision type: Multi-Option Selection · Options: Postgres | MongoDB | DynamoDB
→ Framework: Weighted Criteria Matrix (criteria and weights before scoring)
→ Criteria (Tech Stack / Framework Choice): team expertise 25, ecosystem 20, performance 20,
maintainability 20, cost and licensing 15
→ Bias warnings: Anchoring Effect, Availability Heuristic, Confirmation Bias, each with a remedy
→ A scoring command, a checklist, then next steps: /decide.deep, /decide.exec
/solve: get to the root of a business or product problem
/solve Signups dropped 15% after the pricing change
→ Type: Diagnostic · Context: Business Performance
→ Process: Define precisely → Profitability tree → Pareto prioritize → Hypothesis-driven analysis
→ Decomposition: Fishbone (Ishikawa) · Prioritize: Pareto Analysis (80/20) · Analysis: Root Cause Analysis (5 Whys)
→ Bias warnings: Confirmation Bias, Narrative Fallacy, Availability Heuristic
→ Communicate with the Pyramid Principle; next steps: /solve.deep, /solve.exec, /decide
/code: change code in 7 gated steps
/code.debug Checkout throws after yesterday's deploy when paying with a gift card:
TypeError: Cannot read properties of undefined (reading 'id')
at orderTotal (src/checkout/total.js:10:33)
at payHandler (src/checkout/handler.js:4:17)
→ Context from the project: src/checkout/total.js:10 const discount = cart.coupon.id ? ...
src/checkout/handler.js:4 const total = orderTotal(req.session.cart);
→ Known error: TypeError: Cannot read properties of undefined/null (likely causes, what to
check first, the root-cause fix)
→ Steps: Define (a failing test) → Decompose → Prioritize → Plan → Execute → Verify → Communicate
→ Project checks found: npm run test, npm run lint, npm run build
Full walk-throughs: examples/.
/decide — make a choice · make-decision · 63 records| 10 decision frameworks | Weighted Criteria Matrix, Reversibility Filter, Pre-Mortem, Pros-Cons-Fixes, Expected Value, Scenario Planning… |
| 12 cognitive biases | Overconfidence, Anchoring, Sunk Cost, Status Quo, Confirmation… with remedies |
| Comparison matrix | --matrix "A vs B vs C" with weighted criteria |
| Decision journal | Record the decision, review it later with the real outcome |
/solve — solve a problem · problem-solving-pro · 114 records| 7-Step Method | Define → Disaggregate → Prioritize → Workplan → Analyze → Synthesize → Communicate |
| 20 decomposition frameworks | Issue Tree, Hypothesis Tree, Profitability Tree, Systems Map… |
| 13 mental models | First Principles, Inversion, Bayesian Updating, Second-Order Thinking… |
| 10 communication patterns | Pyramid Principle, BLUF, SCR, Action Titles… |
For bugs and other code changes use /code.
/code — change code · code-solving · 149 records| 7 Steps with Gates | Define → Decompose → Prioritize → Plan → Execute → Verify → Communicate; each step needs evidence (a failing test, a change map, passing checks) before the next |
| 12 task types | debug, feature, refactor, performance, flaky-test, incident, migration, review, test, explain, security, quick-fix |
| Reads your project first | Maps stack-trace frames to your files and lines, finds where named symbols are defined, lists recent commits; reviews get the diff and the risk areas it touches |
| 44 common error messages | JS/TS, Python, Go, Java, C#, Rust, SQL and infrastructure: likely causes and what to check first |
| Your own checks | Finds the project's test/lint/build commands (npm/pnpm/yarn, Make, Go, Cargo, pytest via uv/Poetry, Maven/Gradle, CI steps…) for the Verify step |
| Resumable | Save a step-by-step workspace; /code.resume continues at the first unmet gate |
| Skill | Commands |
|---|---|
| problem-solving-pro | /solve.quick · /solve · /solve.deep · /solve.exec · /solve.resume |
| make-decision | /decide.quick · /decide · /decide.deep · /decide.exec · /decide.resume |
| code-solving | /code · /code.deep · /code.debug · /code.feature · /code.refactor · /code.perf · /code.review · /code.test · /code.explain · /code.resume |
Depth: .quick is a fast scan, the plain command is the default, .deep adds alternatives and pitfalls
for high-stakes work, .exec adds a summary for leadership. /code auto-detects the task type;
/code.deep is the same with more techniques and the full review checklist.
Add "save step-by-step" to any request to get a Markdown workspace with one file per step
(solving-plans/, decision-plans/ or coding-plans/). Saving again keeps the files you
already filled in.
You can ask any AI "should we use Postgres or MongoDB?" and get a tidy pros-and-cons list. The skills add what a prompt alone does not:
/code does not move on without evidence: a failing test before the fix, the
project's own test/lint/build output after it./solve.resume, /decide.resume or /code.resume continues at the
first open step in a later session.| AI tool | Natural language ("Revenue dropped 20%, why?") | Slash commands |
|---|---|---|
| Claude Code | Yes: skills in .claude/skills/ are picked by their trigger phrases | .claude/commands/ |
| OpenCode | Yes: skills in .opencode/skills/ are found by OpenCode's skill tool | .opencode/commands/ |
| Antigravity | Yes: skills in .agents/skills/ | .agents/workflows/ |
| GitHub Copilot | Yes, in agent mode: skills in .github/skills/ are loaded when a request matches their description | Prompt files in .github/prompts/ (agent mode) |
Slash commands work in every tool and set the depth for you. Copilot installs made by v1.4.0 or
earlier put the skills in .github/prompts/<skill>/, where Copilot does not load them on its own;
think-better update moves them to .github/skills/.
The knowledge base and the trigger phrases are in English, so write requests in English for the best skill match.
You ── "Revenue dropped 20%" or /solve.deep … or /code.debug …
│
▼
AI tool (Claude Code · GitHub Copilot · Antigravity · OpenCode)
├─ picks the skill: SKILL.md trigger phrases, or the slash command
└─ runs the skill's script: python3 <skills dir>/<skill>/scripts/search.py --stdin --plan
│
▼
Skill engine (local, Python 3 standard library)
├─ BM25 search over 326 knowledge records (CSV files shipped with the skill)
├─ classify: problem type · decision type · coding task type
├─ /code only: read the project (stack-trace frames, symbols, git log, diff, test commands)
└─ build the plan: framework · steps and gates · bias warnings · checklist
│
▼
A structured answer + next-step commands (optionally saved as a step-by-step workspace)
The CLI only copies Markdown, CSV and Python files into your project (or home directory); the scripts run locally with no network calls, accounts or API keys.
think-better is a Claude Code plugin with 3 hand-picked skills, indexed on Flowy in the Productivity category. Install it with the command on its page. It includes code-solving, make-decision, problem-solving-pro. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it