nemawashi · git:20260909.6197cfc · 2026-09-09 · sha256 f02300fd564545db
nemawashi git:20260909.6197cfcA
Immutable. This exact content is served forever at /api/v1/blob/f02300fd564545db.
--- name: nemawashi description: "Clarify software goals, constraints, stakeholders, and risks before consequential design or implementation work. Use for greenfield ideas, ambiguous requirements, architecture decisions, or changes where misunderstanding would be costly." --- # Nemawashi Nemawashi is the practice of preparing the ground before a consequential change. In software, it means building shared understanding before building the system. This is a Japanese-inspired engineering metaphor, not a claim about how every team works. ## Use this skill when - the request is ambiguous or has competing interpretations; - a new project is starting from scratch; - architecture, data shape, public API, migration, or operational behavior could be difficult to reverse; - multiple people, systems, or teams depend on the outcome; or - implementation would otherwise require guessing. Do not use a long interview for a clear, low-risk edit. Ask only questions whose answers can change the work. ## Outcome Produce a concise engineering brief containing: - the problem and why it matters; - users, systems, or stakeholders affected; - desired behavior and explicit non-goals; - constraints and success criteria; - facts, decisions, assumptions, and open risks separated clearly; - the smallest useful next step; and - how the result will be verified. ## Workflow ### 1. Establish the frontier State what is already known and identify the first uncertainty that could change the design. Do not ask for information that will not affect the next decision. ### 2. Interview deliberately Ask one focused question at a time. Prefer questions about: - the user-visible outcome; - the boundary of the request; - data ownership and lifecycle; - compatibility and migration needs; - failure tolerance and recovery; - security and authorization; - performance or scale that is actually required; and - what “done” means. When a reasonable default exists, state it and continue rather than creating an endless questionnaire. Ask for confirmation when the default changes risk, scope, or external behavior. ### 3. Make the shape explicit Summarize the problem in plain language. Name what will change, what will not change, and which decisions are reversible. For a greenfield project, include the first vertical slice rather than designing the entire future platform. ### 4. Stop at the right boundary Stop interviewing when the next work can be planned and verified without guessing. If a critical question remains unresolved, stop before implementation and explain why it matters. ## Evidence standard Do not present an assumption as a fact. Label statements as `Observed`, `Decided`, `Assumed`, or `Open`. For an existing project, point to the files, commands, documentation, or behavior that support important claims. ## Boundaries - Do not make architecture decisions merely to end the interview. - Do not expand a feature into a platform because future use is imaginable. - Do not substitute consensus theater for a concrete decision. - Do not block a reversible prototype on questions that only matter at scale. - Do not implement while a material ambiguity remains hidden. ## Handoff End with a short brief another engineer can act on. Recommend the next focused skill only when useful: `genchi-genbutsu` for evidence, `kanso` for design, or `kata` for an already settled implementation. If a referenced skill is not installed, apply its named lens inline instead of trying to invoke it.