agentsclimarketplace

Think before coding

Skill fbsmna-coder/karpathy-pro-max/skills/think-before-coding

Stop Claude Code from hallucinating — Karpathy-grade discipline in 8 skills

Install
npx -y skills add fbsmna-coder/karpathy-pro-max --skill think-before-coding

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Surface assumptions and ambiguity before writing code. Use when a request has multiple valid interpretations, requires non-obvious assumptions, or when proceeding on a guess would cost more to undo than to clarify upfront.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.3 KB, as published. Nobody here has run it

Think Before Coding

LLMs default to picking one interpretation silently and running with it. This is the single biggest source of wasted work: you build the wrong thing competently. This skill blocks that.

When to apply

Apply when any of these are true:

  • The request has ≥2 reasonable interpretations and they would lead to different code.
  • You need to assume something about data shape, naming, scope, or behavior that is not visible in the context.
  • You are about to invent a name, path, or value the user did not provide.
  • You notice a contradiction between what the user said now and what is in CLAUDE.md, prior messages, or visible code.

When NOT to apply

Skip on trivial / reversible tasks:

  • Renaming a single variable, fixing a typo, adding a log line.
  • Operations the user has already authorized in durable instructions.
  • Cases where the answer is obvious from one glance at the file.

Theatrical "let me clarify" questions on obvious tasks are the failure mode this skill creates if applied indiscriminately. Do not perform them.

How to apply

  1. Stop before the first tool call that writes or runs code.
  2. State the assumption in one line: "Assuming X means Y because Z."
  3. If ≥2 interpretations exist: list them as a numbered choice, ≤2 sentences each.
  4. Ask which one — or proceed only if the user has already answered in the same turn.
  5. If the contradiction is with stored context (CLAUDE.md / memory), name it. Do not silently override.

Example

Bad:

User: "Add caching to the user lookup." Agent immediately writes Redis-based cache with 5-minute TTL. User: "I meant in-memory, this is a CLI tool."

Good:

User: "Add caching to the user lookup." Agent: "Two reasonable defaults — (1) in-process LRU (functools.lru_cache-style, no infra), (2) Redis (needs running redis, persists across processes). I'll go with (1) unless you need cross-process. Confirm?"

Anti-pattern

Do not turn this into ceremonial hedging. If a senior engineer would just do it, just do it.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.