Architect Before Implementing
cursor/plugins
Sketches types, signatures and module boundaries with stub bodies before real code, compares at least two designs, then implements against the chosen sketch.
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.
$ npx skills add tw93/Waza --skill think -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tw93/Waza think --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "think" agent skill from https://github.com/tw93/Waza/tree/main/skills/think into .claude/skills/think/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "think", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tw93/Waza/tree/main/skills/thinkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tw93/Waza --skill think -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tw93/Waza think --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/think .agents/skills/think && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "think" agent skill from https://github.com/tw93/Waza/tree/main/skills/think into .agents/skills/think/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "think", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tw93/Waza --skill think -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tw93/Waza think --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/think .cursor/skills/think && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "think" agent skill from https://github.com/tw93/Waza/tree/main/skills/think into .cursor/skills/think/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "think", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tw93/Waza.git --path skills/think--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tw93/Waza --skill think -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tw93/Waza think --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/think .gemini/skills/think && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "think" agent skill from https://github.com/tw93/Waza/tree/main/skills/think into .gemini/skills/think/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "think", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tw93/Waza thinkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tw93/Waza --skill think -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/think .github/skills/think && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "think" agent skill from https://github.com/tw93/Waza/tree/main/skills/think into .github/skills/think/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "think", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tw93/Waza --skill think -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tw93/Waza think --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/think .opencode/skills/think && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "think" agent skill from https://github.com/tw93/Waza/tree/main/skills/think into .opencode/skills/think/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "think", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
thinkTurns 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.
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.
Read from SKILL.md and the folder at commit 6b6c736. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
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.
The full file from tw93/Waza at commit 6b6c736, republished under its MIT licence (© tw93). 1,691 words, ~2,962 tokens.
.claude/skills/think/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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."
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.
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.
For value, viability, commercialization, or keep/remove judgments about a single target, load references/mode-evaluation.md.
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.
app.config.json, tauri.conf.json, package.json, .env) and lift the live value. Never quote a default from memory or docs.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.
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 angle | Question |
|---|---|
| Dependency failure | If an external API, service, or tool goes down, can the plan degrade gracefully? |
| Scale explosion | At 10x data volume or user load, which step breaks first? |
| Rollback cost | If 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.
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:
If the gate fails, shrink the plan or switch to the minimal option before asking for approval.
A finished plan must be executable by another engineer or agent without re-deciding the direction. Include:
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.
/hunt in one line, then route. Evaluation Mode is for value and existence judgments only.| What happened | Rule |
|---|---|
| Rejected design restarted from scratch | Ask what specifically failed, re-enter with narrowed constraints |
| Picked a regional or locale-specific API variant without checking | List all regional or locale differences before writing integration code |
| Introduced a second language or runtime into a single-stack project | Never add a new language or runtime without explicit approval |
Approved design summary:
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
SKILL.md and 3 other files (references) in skills/think of tw93/Waza.
Open the folder on GitHubat commit 6b6c736
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Think: Plan Before You Build this skilltw93/Waza | 7.2k | — | ~3k | Automated safety check: Notes | MIT | |
| Architect Before Implementingcursor/plugins | 10k | 8 repos | ~1.4k | Automated safety check: Pass | None | |
| SPARC Methodologyruvnet/agentic-flow | 816 | 6 repos | ~6.3k | Automated safety check: Pass | None | |
| Engineering Plan Reviewgarrytan/gstack | 136k | — | ~13k | Automated safety check: Notes | MIT | |
| Design Firstrohitg00/skillkit | 1.5k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Solution ArchitectIBM/ibm-watsonx-orchestrate-adk | 178 | — | ~8.4k | Automated safety check: Pass | MIT |
cursor/plugins
Sketches types, signatures and module boundaries with stub bodies before real code, compares at least two designs, then implements against the chosen sketch.
ruvnet/agentic-flow
Structures complex feature work into five planning-first phases (specification, pseudocode, architecture, refinement and completion) driven through claude-flow commands.
garrytan/gstack
Reviews an execution plan or design doc before coding, covering architecture, data flow, edge cases, test coverage and performance, one issue at a time.
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…
IBM/ibm-watsonx-orchestrate-adk
Expert guidance for creating high-level solution architecture documents from business requirements, use cases, or problem statements.
ruvnet/ruflo
Applies the SPARC method (specification, pseudocode, architecture, refinement, completion) with 17 specialized modes and multi-agent orchestration, from research to deployment.
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.
tw93/Waza
Reviews diffs and pull requests, triages issues, and checks release readiness, reporting findings with evidence and making no edits unless authorized.
tw93/Waza
Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.
tw93/Waza
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.
tw93/Waza
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.
tw93/Waza
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.
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.