Agent skill

Think: Plan Before You Build

by tw93 in tw93/Waza

Turns a rough idea into an approved, decision-complete plan or recommendation before any code is written, for architecture choices and go or no-go calls.

MITAuto-check: notesDevelopment

Install Think: Plan Before You Build

skills CLI
$ npx skills add tw93/Waza --skill think -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tw93/Waza think --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/think .claude/skills/think && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
think
GitHub stars
7.2k
Token cost
~3k tokens
SKILL.md length
1,691 words
Files
4 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Turns a rough idea into an approved, decision-complete plan or recommendation before any code is written, for architecture choices and go or no-go calls.

  • Turning a rough feature idea into an approved plan before coding
  • SKILL.md covers Outcome Contract, Durable Context Preflight, Lightweight Mode and Evaluation Mode, plus 10 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Deciding whether a project is worth building at all

What it does

The skill produces no code, scaffolding or pseudo-code until the user approves the plan, and asks the agent to give direct opinions, taking a position and stating what evidence would change it rather than hedging with vague caveats. A plan counts as done when its goal, success criteria, constraints, chosen approach, rejected tradeoffs, tests and handoff steps are concrete enough to execute without re-deciding, built from the current repository state, project docs, live external docs when relevant, prior decisions and the user's stated preferences.

Before writing any plan, the agent reads the project's guide index, such as an AGENTS.md file, and only the one domain rule that matches the problem rather than the whole rules tree; current repository state and live docs override memory, and durable decisions lock in before questions are asked. If the proposed plan would contradict a hard rule such as a never or must statement in those files, the agent surfaces the conflict in one sentence naming the rule and the clashing step, and stops to ask rather than silently overriding it. A lightweight mode skips the full ritual when the problem is already defined and the only open question is how to fix it.

When your agent uses it

  • Turning a rough feature idea into an approved plan before coding
  • Deciding whether a project is worth building at all
  • Writing a handoff plan with assumptions and verification steps
  • Checking a planned approach against the project's hard rules

Example prompts

  • “Think through whether we should build this caching layer before writing any code.”
  • “Turn this rough idea for a notifications feature into a decision-complete plan.”
  • “Check this plan against our project rules before we start.”

Requirements

  • A project with an AGENTS.md or CLAUDE.md guide file, for the rule-conflict check

What it can do on your machine

Read from SKILL.md and the folder at commit 6b6c736. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Think: Plan Before You Build loads about 3k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 48 tokens; SKILL.md has 1,691 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:50
    on`, `tauri.conf.json`, `package.json`, `.env`) and lift the live value. Never quote a default from memory or docs.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tw93/Waza at commit 6b6c736, republished under its MIT licence (© tw93). 1,691 words, ~2,962 tokens.

Download SKILL.mdSave it as .claude/skills/think/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
think
description
Turns rough ideas into approved, decision-complete plans before coding. Use when planning architecture, judging whether to build, or writing a handoff. Not for bug fixes or small edits.
when_to_use
出方案, 给方案, 怎么设计, 用什么方案, 有没有必要, 值不值得, what's the best approach, plan this, how should I, should we keep this
dispatch_intent
New feature, architecture, how should I design this, value judgment, executable plan, handoff

Think: Design and Validate Before You Build

Prefix your first line with 🥷 inline, not as its own paragraph.

Turn a rough idea into an approved plan. No code, no scaffolding, no pseudo-code until the user approves.

Give opinions directly. Take a position and state what evidence would change it. Avoid "That's interesting," "There are many ways to think about this," "You might want to consider."

Outcome Contract

  • Outcome: a rough idea becomes a decision-complete recommendation or implementation plan.
  • Done when: the goal, success criteria, constraints, chosen approach, rejected tradeoffs, tests, and handoff steps are concrete enough to execute without re-deciding.
  • Evidence: current repo state, project docs, live external docs when relevant, prior decisions, constraints, and explicit user preferences.
  • Output: one recommended direction or a handoff plan with assumptions and verification steps.

Durable Context Preflight

See references/durable-context.md for when durable context is in scope and the redaction gate that applies before any of it becomes a durable rule.

For /think: current repo state and live docs override memory. Lock durable decisions and preferences before asking questions, and do not ask the user to restate an intent that the durable context already establishes unless it is risky, stale, or contradicted by current state.

Before outputting any plan, read the project guide index (AGENTS.md or CLAUDE.md) and only the domain rule that matches the problem. Do not load the entire .claude/rules/ tree. If the user pointed at a local agent-memory summary, read that too. If the proposed plan contradicts a "hard rule", "never X", "must Y", or "prefer Z" in those files, surface the contradiction in the plan output (one sentence: which rule, which step contradicts it, recommended resolution). Do not silently override the rule. If the rule blocks the plan, stop and ask before continuing.

Lightweight Mode

Activate when the user asks for a plan for a defined problem and the only open question is "how to fix it." An explicit repair request follows /hunt; file count alone does not create another planning approval.

Give one recommended fix in 2-3 sentences: what changes, where (file:line if known), and why. Name the brute-force version in one line first; default to it unless the user wants elegance. List involved files, flag explicitly if more than 8. State one risk. Wait for approval before implementing.

Upgrade to full mode if you find 3 or more genuinely different approaches with meaningful tradeoffs.

Evaluation Mode

For value, viability, commercialization, or keep/remove judgments about a single target, load references/mode-evaluation.md.

Triage Mode

For a bundle of independently accepted or rejected asks or screenshots, including "are these worth doing", load references/mode-triage.md; use its per-item table rather than Evaluation Mode's single verdict.

Before Reading Any Code

  • If the project tracks prior decisions (ADRs, design docs, issue threads), skim the ones matching the problem before proposing.
  • If the plan involves a default value, env var, or config field, open the project's actual config file (e.g. app.config.json, tauri.conf.json, package.json, .env) and lift the live value. Never quote a default from memory or docs.

Check for Official Solutions First

Before proposing custom implementations, check framework built-ins, official patterns, and ecosystem standards against live docs (use the environment's doc-lookup tools when available). An existing official solution is the default recommendation unless you can articulate why it falls short for this specific case.

For a hard problem, or one already tuned several times that still feels off, study how 2-3 mature open-source projects or direct competitors solve it before designing: read the actual implementation, extract the transferable mechanism, and name what you took from each. First-principles design next to a proven implementation discards the iterations someone else already paid for.

Propose Approaches

Give one recommended approach with rationale. Include effort, risk, and what existing code it builds on. Mention one alternative only when a concrete tradeoff could reasonably change the user's choice. Always include one minimal option.

Anything that asks a person to install or configure something (hook, MCP server, editor plugin, config key, pricing tier, per-day limit) is a setup cost paid by every user. Default to the zero-setup form: a built-in command plus a skill, a fixed sensible default, a doc line. Offer the setup-requiring form only after naming why the zero-setup one cannot do the job.

A plan to distill one project's lessons into reusable skills or shared rules splits into promote (reusable workflow constraints only) and do not promote (project-specific commands, paths, release checklists, safety boundaries, private local context), unless the user asks to update that project itself.

For the recommendation, identify the most fragile assumption (premise collapse) and state it explicitly: "This plan assumes X. If X does not hold, Y happens." If the assumption is load-bearing and fragile, deform the design to survive its failure.

Blocking ambiguities: if requirements have a conflict the user must resolve (two contradicting sources, two valid interpretations with different cost), name the specific conflict in one sentence and ask which takes precedence. Do not silently pick.

Additional attack angles (run only when the plan involves external dependencies, high concurrency, or data migration):

Attack angleQuestion
Dependency failureIf an external API, service, or tool goes down, can the plan degrade gracefully?
Scale explosionAt 10x data volume or user load, which step breaks first?
Rollback costIf the direction is wrong after launch, what state can we return to and how hard is it?

If an attack holds, deform the design to survive it. If it shatters the approach entirely, discard it and tell the user why. Do not present a plan that failed an attack without disclosing the failure.

Get approval before proceeding.

Validate Before Handing Off

  • More than 8 files or 1 new service? Acknowledge it explicitly.
  • More than 3 components exchanging data? Draw an ASCII diagram. Look for cycles.
  • Every meaningful test path listed: happy path, errors, edge cases.
  • Can this be rolled back without touching data?
  • Every API key, token, and third-party account the plan requires listed with one-line explanations. No credential requests mid-implementation.
  • Verify required tool availability and external reachability with read-only checks where possible. Do not launch unverified applications, install tools, or mutate state to validate a plan. Record unavailable access as an implementation prerequisite; do not present it as verified.
Show full SKILL.md (659 more words)Show less

Simplicity Gate

Skip for one-file bug fixes or when the user explicitly chose the minimal option.

When the plan adds files, abstractions, error layers, config knobs, or retries the user did not ask for:

  • Minimal path: the brute-force version in one line; the chosen plan must beat it on risk, rollback, or latency, not elegance.
  • Defensive layers: every try/catch, retry, fallback, or flag maps to one named failure mode; delete layers that only "might" fail.
  • Surface delta: list new commands, env vars, flags, or services; prefer +0 unless a user split needs a knob.
  • Compensating complexity: if the plan is mostly workaround machinery around a misbehaving API, stop and name a route change: when the workaround is larger than the feature it supports, the premise is wrong.

If the gate fails, shrink the plan or switch to the minimal option before asking for approval.

Implementation Handoff

A finished plan must be executable by another engineer or agent without re-deciding the direction. Include:

  • Scope and non-scope.
  • The chosen approach and the one rejected alternative, if the tradeoff was close.
  • Public API, schema, command, config, or file-interface changes, if any.
  • Verification commands and manual acceptance checks.
  • Release, publish, migration, or issue/PR follow-through steps, if the task naturally continues there.
  • Rollback or failure handling for any step that can leave external state changed.

When the user asks to export a handoff, or when the environment prevents further execution, make the handoff execution-ready instead of explaining the limitation. Include file targets, key constants or selectors, exact commands, runtime or visual checklist, and risk boundaries. If the work depends on a screenshot or artifact, name the artifact and the pass/fail delta.

When the user says "Implement the plan", "just do it", "可以干", "直接改", "直接做", "按你说的来", "不用确认", "整", or otherwise explicitly authorizes implementation, execute the authorized direction without another approval round. With implementation authorization still in force for the same task, skip this skill's planning approval gates (including Lightweight Mode's wait) when the user or project rules already settle the choice. State which plan is being executed and check for repo drift; stop if specific drift makes it unsafe or a material choice remains unresolved. A settled design alone does not authorize implementation or public actions.

Hard Rules

  • No placeholders in approved plans. Every step must be concrete before approval. Forbidden patterns: TBD, TODO, "implement later," "similar to step N," "details to be determined." A plan with placeholders is a promise to plan later.
  • Phase independence. Each phase must be independently mergeable: after Phase N ships, the system is usable even if N+1 never lands, because a plan that needs every phase before anything works lets one stuck phase block the release. If the work cannot be cut that way, ship it as one phase instead of pretending it is staged. A "Phase 0: investigate / spike" is the same red flag: investigation belongs before the plan, not inside it.
  • An error or bug report routes out before anything else. "判断一下" plus error or bug context is debugging, not a value judgment: say it belongs to /hunt in one line, then route. Evaluation Mode is for value and existence judgments only.

Gotchas

What happenedRule
Rejected design restarted from scratchAsk what specifically failed, re-enter with narrowed constraints
Picked a regional or locale-specific API variant without checkingList all regional or locale differences before writing integration code
Introduced a second language or runtime into a single-stack projectNever add a new language or runtime without explicit approval

Output

Approved design summary:

  • Building: what this is (1 paragraph)
  • Not building: explicit out-of-scope list
  • Approach: chosen option with rationale
  • Key decisions: 3-5 with reasoning
  • Unknowns: only items that are explicitly deferred with a stated reason and a clear owner. Not vague gaps. If an unknown blocks a decision, loop back before approval.

If the user only approves the design, end with the plan. If implementation is requested, follow Implementation Handoff instead of asking them to repeat the request.

© tw93, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/think of tw93/Waza.

  • SKILL.md
  • references/durable-context.md
  • references/mode-evaluation.md
  • references/mode-triage.md

Open the folder on GitHubat commit 6b6c736

Compare with similar skills

Think: Plan Before You Build next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Think: Plan Before You Build compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Think: Plan Before You Build this skilltw93/Waza7.2k—~3kAutomated safety check: NotesMIT
Architect Before Implementingcursor/plugins10k8 repos~1.4kAutomated safety check: PassNone
SPARC Methodologyruvnet/agentic-flow8166 repos~6.3kAutomated safety check: PassNone
Engineering Plan Reviewgarrytan/gstack136k—~13kAutomated safety check: NotesMIT
Design Firstrohitg00/skillkit1.5k—~1.5kAutomated safety check: PassApache-2.0
Solution ArchitectIBM/ibm-watsonx-orchestrate-adk178—~8.4kAutomated safety check: PassMIT

Similar skills

  • Official

    Sketches types, signatures and module boundaries with stub bodies before real code, compares at least two designs, then implements against the chosen sketch.

    10k GitHub starsUsed in 8 repos~1.4k tokens
    DevelopmentAuto-check passed
  • SPARC Methodology

    ruvnet/agentic-flow

    Structures complex feature work into five planning-first phases (specification, pseudocode, architecture, refinement and completion) driven through claude-flow commands.

    816 GitHub starsUsed in 6 repos~6.3k tokens
    DevelopmentAuto-check passed
  • Reviews an execution plan or design doc before coding, covering architecture, data flow, edge cases, test coverage and performance, one issue at a time.

    136k GitHub stars~13k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Design First

    rohitg00/skillkit

    Guides the creation of technical design documents before writing code, producing architecture diagrams, data models, API interface definitions, implementation plans, and multi-option trade-off…

    1.5k GitHub stars~1.5k tokensUpdated 4 mo ago
    Agent WorkflowsAuto-check passed
  • Solution Architect

    IBM/ibm-watsonx-orchestrate-adk

    Official

    Expert guidance for creating high-level solution architecture documents from business requirements, use cases, or problem statements.

    178 GitHub stars~8.4k tokensUpdated 5 days ago
    Agent WorkflowsAuto-check passed
  • Applies the SPARC method (specification, pseudocode, architecture, refinement, completion) with 17 specialized modes and multi-agent orchestration, from research to deployment.

    74k GitHub starsUsed in 2 repos~829 tokens
    DevelopmentAuto-check passed

More from tw93/Waza

  • Fetches web pages and PDFs and returns a source-grounded summary, clean Markdown, quotes or citations, routing each kind of link to a suitable fetch method.

    7.2k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Reviews diffs and pull requests, triages issues, and checks release readiness, reporting findings with evidence and making no edits unless authorized.

    7.2k GitHub stars~6.9k tokensUpdated yesterday
    Auto-check passed
  • Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.

    7.2k GitHub stars~5.2k tokensUpdated yesterday
    Auto-check: notes
  • Forces a one-sentence, evidence-backed root cause before any fix is applied, and gates when a diagnosis session is even allowed to touch code.

    7.2k GitHub stars~4.3k tokensUpdated yesterday
    Auto-check passed
  • Builds or restyles production UI with a clear point of view, checks the result against screenshots and responsive states, and hands document typography to other skills.

    7.2k GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Runs a six-phase research workflow from a bundle of sources to a chosen output, whether quick notes, a canonical reference article or a publish-ready draft.

    7.2k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed

Questions about Think: Plan Before You Build

What does Think: Plan Before You Build do?

Turns a rough idea into an approved, decision-complete plan or recommendation before any code is written, for architecture choices and go or no-go calls. The skill produces no code, scaffolding or pseudo-code until the user approves the plan, and asks the agent to give direct opinions, taking a position and stating what evidence would change it rather than hedging with vague caveats. A plan counts as done when its goal, success criteria, constraints, chosen approach, rejected tradeoffs, tests and handoff steps are concrete enough to execute without re-deciding, built from the current repository state, project docs, live external docs when relevant, prior decisions and the user's stated preferences.

When should I use Think: Plan Before You Build?

Think: Plan Before You Build fits situations like: turning a rough feature idea into an approved plan before coding; deciding whether a project is worth building at all; writing a handoff plan with assumptions and verification steps; checking a planned approach against the project's hard rules.

How do I install Think: Plan Before You Build in Claude Code?

Run `npx skills add tw93/Waza --skill think -a claude-code`. Or copy the skill folder (skills/think in tw93/Waza) into .claude/skills/think in your project. Claude Code loads it when a task matches its description.

How do I install Think: Plan Before You Build in Codex?

Run `npx skills add tw93/Waza --skill think -a codex`. Or copy the skill folder (skills/think in tw93/Waza) into .agents/skills/think in your project. Codex loads it when a task matches its description.

Can I use Think: Plan Before You Build in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tw93/Waza --skill think -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/think, .gemini/skills/think, .github/skills/think and .opencode/skills/think in your project.

What does Think: Plan Before You Build need to run?

SKILL.md names no scripts, command-line tools or credentials: Think: Plan Before You Build is instructions for the agent only. Our summary lists: A project with an AGENTS.md or CLAUDE.md guide file, for the rule-conflict check.

Does Think: Plan Before You Build access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Think: Plan Before You Build safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Think: Plan Before You Build use?

Think: Plan Before You Build is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Think: Plan Before You Build use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.

What are the alternatives to Think: Plan Before You Build?

Skills that share tags, products or a category with Think: Plan Before You Build: Architect Before Implementing (cursor/plugins, 10k stars), SPARC Methodology (ruvnet/agentic-flow, 816 stars), Engineering Plan Review (garrytan/gstack, 136k stars) and Design First (rohitg00/skillkit, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Think: Plan Before You Build?

tw93 (a GitHub user) maintains it in tw93/Waza, which has 7,154 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: tw93/Waza on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.