better-thinking

better-thinking is a skill for Claude Code from skyf0xx/better-thinking. It costs 61 tokens per session (2,023 once invoked), scanned A, original, MIT.

A task-routing guide that classifies a request by its kind, consequences, and reversibility before choosing how much analysis it needs. It can route work such as decisions, diagnoses, research, creative tasks, and communication.

In plain words
What is it for?
Use it at the start of a nontrivial task to identify its shape and stakes and select suitable skills and depth.
Why use it?
It helps match the amount of thinking and checking to the task instead of treating every request the same way.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the better-thinking plugin β€” 2 skills shipped together

Good fit Use it at the start of a nontrivial task to identify its…

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/skyf0xx/better-thinking/better-thinking
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add skyf0xx/better-thinking --skill better-thinking
Clone the repo
git clone --depth 1 https://github.com/skyf0xx/better-thinking

Made for: Claude Code.

Or install better-thinking, the plugin that ships this one along with the rest of its 2 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for better-thinking

README.md
[![agentmods](https://agentmods.dev/badge/skills/skyf0xx/better-thinking/better-thinking.svg)](https://agentmods.dev/skills/skyf0xx/better-thinking/better-thinking)
Your own site
<a href="https://agentmods.dev/skills/skyf0xx/better-thinking/better-thinking"><img src="https://agentmods.dev/badge/skills/skyf0xx/better-thinking/better-thinking.svg" alt="Measured on agentmods" height="20"></a>
Per session 61 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,023 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file β€” not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00061 $0.02023
Opus 5 $0.00030 $0.01012
Sonnet 5 $0.00012 $0.00405
Haiku 4.5 $0.00006 $0.00202

Measured 6d ago against content hash b894feec1b9d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

better-thinking scanned grade A with 0 findings against 26 rules in 11 categories β€” prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency β€” measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/better-thinking/SKILL.md Β· 88 lines

How it starts

The opening of the file, as written. The whole thing β€” 88 lines β€” stays where its author put it; the contents beside it link to each section on GitHub.

Better Thinking

Classify an incoming task by its shape and stakes, and select which skills to deploy at what depth β€” the dispatcher that decides how much thinking machinery a task deserves.

Why

Applying full machinery to a trivial task wastes effort; applying none to a consequential one is negligent. A fast, explicit classification step routes effort proportionally before substantive work begins.

Use when / Don't use when

  • Use when: at first contact with any nontrivial task β€” the entry point other skills dispatch from.
  • Don't use when: never skip it; scale depth down instead β€” triage on a small task takes seconds.

Inputs β†’ Outputs

  • Inputs: an incoming task, question, or request.
  • Outputs: a task classification (shape + stakes + reversibility) and a selected set of skills and depth.

Principles

  • Classify by shape first β€” decision, diagnosis, research question, creative generation, communication, learning, negotiation, or a combination. Shape determines which skill family is even relevant.
  • Classify by stakes and reversibility second. This determines depth, independent of shape.
  • A task can be routine in domain but high-stakes in consequence β€” don't classify by surface topic or tone alone.
  • Resolve vague or underspecified language before routing β€” routing a fuzzy restatement of the request just picks the wrong tool with more confidence.
  • Re-triage if the task's real shape differs once underway; the initial classification is a hypothesis, not a commitment.

Procedure

  1. Identify the task's shape: decision, diagnosis, research question, creative generation, communication, learning, negotiation, or a combination.
  2. Identify stakes and reversibility β€” a gut check, or run [[reversibility-classification]] if unclear.
  3. Check for a missing or ambiguous objective, success criteria, or binding constraint β€” vague verbs ("improve," "handle"), an unstated audience/format, an open scope boundary. If found: ask when guessing wrong would waste real work, otherwise state the inferred assumption and proceed. Skip when the request is already concrete.
  4. Run python3 scripts/route.py "<task>" for a lexical top-8 shortlist. If it prints a stderr warning about zero/no signal, discard its output and rely on step 4b alone. 4b. Always β€” even when step 4 looks confident β€” skim every name+category+one_line in skills/INDEX.json for the task's shape, judging by concept, not shared words. Mandatory, not just a fallback: route.py is lexical and structurally blind to a same-concept, different-vocabulary match (e.g. "why does checkout conversion keep dropping" shares zero tokens with differential-diagnosis's own description, yet is a strong fit). Merge both lists, narrow by triggers, use disambiguates_from to break ties. Neither method is an oracle: verify picks, don't guess from memory.
  5. Match candidates to depth: a quick, reversible decision needs a lightweight atomic; a high-stakes, hard-to-reverse one needs a full composite pipeline.
  6. Note cross-cutting needs β€” most nontrivial tasks benefit from at least [[epistemic-tagging]] and [[bias-audit]] regardless of shape.
  7. On a nontrivial task (multi-skill or non-obvious depth), open with a one-line **🧠 Classifying...** marker before proceeding β€” cheap signal that triage is happening, not a report in itself. Skip it on trivial/quick answers.
  8. Proceed with the selected skills at the selected depth. Label each procedure step inline as you produce it, so the response body itself reads as visibly distinct from unstructured prose: bold the step's name tagged with its category emoji, e.g. **🎯 Framing:**, **🧩 Options:**, drawn from that step's own procedure line, not copied verbatim. Keep labels short and reserved for that role β€” don't bold anything else. Keep each block to 2–3 sentences, or a lead sentence plus a bulleted list for enumerable content; blank-line-separate every block. Use a GFM table when comparing 2+ items on 2+ shared dimensions. On 4+-step answers, an optional ### (not ##) header may group related steps. Skip inline labels on trivial/quick answers, like the bookend markers.
  9. Re-triage explicitly if the actual shape turns out different mid-work β€” mark the pivot with **πŸ”„ Re-triaging...** and say what changed, rather than adjusting silently. Report remaining ambiguity in shape or stakes as residual uncertainty.
  10. Always close with a one-line footer, prefixed 🧠, naming the skill(s) applied β€” each tagged with its category emoji below β€” and the stakes/depth call, e.g. **🧠 Applied:** 🎯 premortem β†’ πŸ“ red-teaming β†’ 🎯 decision-analysis (high stakes, hard to reverse) or **🧠 Applied:** πŸ” fermi-estimation (low stakes, reversible). One line even for a single skill β€” the emoji mark it as a recognizable signature, not a badge to escalate.
  11. On multi-skill or non-obvious-depth tasks only (the same bar as step 7), follow the Applied footer with one more line, **✨ Caught:**, naming the specific thing this task's structure surfaced that a fast, unstructured answer would have missed β€” a risk, an assumption, a wrong default, a hidden dependency. It must name the concrete finding from this exact task, not a generic claim like "a more thorough analysis" or "extra confidence." If nothing structure-dependent was actually surfaced (the process confirmed the obvious answer), omit the line rather than inventing one β€” a false "Caught" line is worse than none.

Read the full file on GitHub Β· 88 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen Β· 88 lines Β· 61 tokens per session scan A b894feec1b9d

Subscribe to this mod's changes

better-thinking is a skill published in the GitHub repository skyf0xx/better-thinking (3 stars, last pushed 26d ago), licensed MIT. It adds 61 tokens to every session and 2,023 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

meta-tags-optimizer

Optimize title tags, meta descriptions, Open Graph, and Twitter cards for maximum click-through rate. Generates multiple A/B test variations with character counting and SERP preview. Use when asked to "optimize title tag", "write meta description", "improve CTR", "Open Graph tags", "fix my meta tags", "social media…

nowork-studio/notfair-plugin Β· 91 tokens

google-ads-audit

Google Ads account audit and business context setup. Run this first β€” it gathers business information, analyzes account health, and saves context that all other ads skills reuse. Trigger on "audit my ads", "ads audit", "set up my ads", "onboard", "account overview", "how's my account", "ads health check", "what should…

nowork-studio/notfair-plugin Β· 114 tokens

sxo

Search Experience Optimization (SXO) β€” the bridge between SEO and UX/CRO. Audits the full journey from the SERP click to the on-page goal: SERP click-through factors (title/meta/rich results that win the click), then post-click experience signals that keep users and drive conversions β€” above-the-fold relevance and…

nowork-studio/notfair-plugin Β· 235 tokens

tidewave-integration

Tidewave MCP runtime tools β€” debugging, smoke testing, live state inspection, SQL queries, hex docs. Use when evaluating code in a running Phoenix app.

oliver-kriska/claude-elixir-phoenix Β· 38 tokens

elixir-idioms

OTP/BEAM patterns and Elixir idioms β€” GenServer, Supervisor, Task, Registry, pattern matching, with chains, pipes. Use when designing processes or debugging BEAM issues.

oliver-kriska/claude-elixir-phoenix Β· 44 tokens

security

Enforce Elixir/Phoenix security β€” auth, OAuth, sessions, CSRF, XSS, SQL injection, input validation, secrets. Use when editing auth files, login flows, RBAC, or API keys.

oliver-kriska/claude-elixir-phoenix Β· 47 tokens