absolute-brainstorm

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
When this skill is activated, always start your first response with the brain emoji.
激活本技能时,你的首次回复必须以大脑emoji开头。

Absolute Brainstorm

绝对头脑风暴

Activation Banner

激活横幅

At the very start of every absolute-brainstorm invocation, before any other output, display this ASCII art banner:
███████╗██╗   ██╗██████╗ ███████╗██████╗
██╔════╝██║   ██║██╔══██╗██╔════╝██╔══██╗
███████╗██║   ██║██████╔╝█████╗  ██████╔╝
╚════██║██║   ██║██╔═══╝ ██╔══╝  ██╔══██╗
███████║╚██████╔╝██║     ███████╗██║  ██║
╚══════╝ ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═╝
██████╗ ██████╗  █████╗ ██╗███╗   ██╗███████╗████████╗ ██████╗ ██████╗ ███╗   ███╗
██╔══██╗██╔══██╗██╔══██╗██║████╗  ██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗████╗ ████║
██████╔╝██████╔╝███████║██║██╔██╗ ██║███████╗   ██║   ██║   ██║██████╔╝██╔████╔██║
██╔══██╗██╔══██╗██╔══██║██║██║╚██╗██║╚════██║   ██║   ██║   ██║██╔══██╗██║╚██╔╝██║
██████╔╝██║  ██║██║  ██║██║██║ ╚████║███████║   ██║   ╚██████╔╝██║  ██║██║ ╚═╝ ██║
╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝
Follow the banner immediately with:
Entering plan mode - ultrathink enabled

A relentless, ultrathink-powered design interview that turns vague ideas into bulletproof specs. This is not a casual brainstorm - it is a structured interrogation of every assumption, every dependency, and every design branch until the AI and user reach a shared understanding that a staff engineer would approve.

每次调用绝对头脑风暴的最开始,在输出任何其他内容前,先展示以下ASCII艺术横幅:
███████╗██╗   ██╗██████╗ ███████╗██████╗
██╔════╝██║   ██║██╔══██╗██╔════╝██╔══██╗
███████╗██║   ██║██████╔╝█████╗  ██████╔╝
╚════██║██║   ██║██╔═══╝ ██╔══╝  ██╔══██╗
███████║╚██████╔╝██║     ███████╗██║  ██║
╚══════╝ ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═╝
██████╗ ██████╗  █████╗ ██╗███╗   ██╗███████╗████████╗ ██████╗ ██████╗ ███╗   ███╗
██╔══██╗██╔══██╗██╔══██╗██║████╗  ██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗████╗ ████║
██████╔╝██████╔╝███████║██║██╔██╗ ██║███████╗   ██║   ██║   ██║██████╔╝██╔████╔██║
██╔══██╗██╔══██╗██╔══██║██║██║╚██╗██║╚════██║   ██║   ██║   ██║██╔══██╗██║╚██╔╝██║
██████╔╝██║  ██║██║  ██║██║██║ ╚████║███████║   ██║   ╚██████╔╝██║  ██║██║ ╚═╝ ██║
╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝
横幅展示完成后立刻输出:
Entering plan mode - ultrathink enabled

这是一个由ultrathink驱动的深度设计访谈流程,能够将模糊的想法转化为无懈可击的规范。这不是随意的头脑风暴,而是对每一个假设、每一个依赖、每一个设计分支的结构化梳理,直到AI和用户达成资深工程师也会认可的共识。

When to use this skill

何时使用本技能

Trigger this skill when the user:
  • Requests a new feature, component, or functionality that needs design before implementation
  • Asks to build something and the scope or approach is not yet clear
  • Wants to brainstorm or explore options for a design decision
  • Is starting a greenfield project and needs to define architecture
  • Needs to refactor or redesign an existing system
  • Says "let's think through this" or "help me plan this"
  • Wants to decompose a complex request into a validated spec before coding
Do NOT trigger this skill for:
  • Quick bug fixes or typo corrections where the solution is obvious
  • Pure code review tasks with no design decisions
  • Tasks where the user explicitly says "just do it" and the scope is trivially clear

当用户出现以下情况时触发本技能:
  • 需求新增需要先设计再实现的功能、组件或特性
  • 要求构建某个内容,但范围或实现方案尚不明确
  • 想要针对某个设计决策进行头脑风暴或探索可选方案
  • 启动全新项目需要定义架构
  • 需要重构或重新设计现有系统
  • 说出“我们一起捋捋”或者“帮我规划一下”
  • 想要在编码前将复杂需求拆解为经过验证的规范
不要在以下场景触发本技能:
  • 解决方案明确的快速bug修复或错别字修正
  • 不涉及设计决策的纯代码评审任务
  • 用户明确说明“直接做”且范围非常清晰的任务

Hard Gates

硬性规则

<HARD-GATE> 1. ALWAYS enter plan mode at the start of this skill. Do not proceed in normal mode. 2. ALWAYS use extended thinking (ultrathink / think hard) before every question, every decision, every approach proposal, and every design section. No exceptions. 3. Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until the spec is written and the user has approved it. This applies to EVERY project regardless of perceived simplicity. 4. ALWAYS continue asking questions and ultrathink until BOTH the user AND the AI are 100% confident and in full agreement on the design decisions. If either party has any doubt, uncertainty, or unresolved concern - keep interviewing. Do not advance to design presentation while any ambiguity remains. </HARD-GATE>
<HARD-GATE> 1. 启动本技能时必须始终进入规划模式,不要在普通模式下推进 2. 每个问题、每项决策、每个方案提议、每个设计模块输出前,都必须使用深度思考(ultrathink / 深入思考),没有例外 3. 在规范编写完成且用户审批通过前,不要调用任何开发技能、编写任何代码、搭建任何项目脚手架,也不要采取任何开发相关动作。无论项目看起来多简单,本规则适用于所有项目 4. 必须持续提问并使用ultrathink,直到用户和AI双方都100%确信设计决策完全一致。只要任何一方有任何疑问、不确定或未解决的顾虑,就要继续访谈。存在任何歧义时都不要进入设计展示阶段 </HARD-GATE>

Anti-Pattern: "This Is Too Simple To Need A Design"

反模式:“这个太简单了不需要设计”

Every project goes through this process. A todo list, a single-function utility, a config change - all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval.

每个项目都要经过这个流程。待办清单、单功能工具、配置变更,所有项目都适用。“简单”项目正是未经检查的假设造成大量无用功的重灾区。设计内容可以很简短(真正简单的项目只需要几句话),但你必须展示设计并获得用户批准。

Checklist

检查清单

You MUST complete these steps in order:
  1. Enter plan mode
  2. Deep context scan - read docs/, README.md, CLAUDE.md, CONTRIBUTING.md, recent commits, project structure
  3. Codebase-first exploration - before every question, check if the codebase already answers it
  4. Scope assessment - if the request spans multiple independent subsystems, decompose first
  5. Relentless interview - one question at a time, strictly linear, dependency-resolved, ultrathink every decision
  6. Approach proposal - only when there's a genuine fork; mark one (Recommended) with rationale
  7. Confidence self-check - ultrathink through every decision, verify 100% confidence before presenting
  8. Design presentation - section by section, user approval per section
  9. Write spec - save to
    docs/plans/YYYY-MM-DD-<topic>-design.md
  10. Spec review loop - dispatch reviewer subagent, fix issues, max 3 iterations
  11. User reviews spec - gate before proceeding
  12. Recommend absolute-human - strongly recommend delegating to absolute-human for execution

你必须按顺序完成以下步骤:
  1. 进入规划模式
  2. 深度上下文扫描 - 读取docs/、README.md、CLAUDE.md、CONTRIBUTING.md、最近的提交记录、项目结构
  3. 代码库优先探索 - 每次提问前,先确认代码库是否已经给出了答案
  4. 范围评估 - 如果需求覆盖多个独立子系统,先进行拆分
  5. 深度访谈 - 一次只提一个问题,严格按顺序推进,梳理清楚依赖关系,每项决策都经过ultrathink
  6. 方案提议 - 仅当存在真实的方案分歧时使用,标记一个**(推荐)**方案并说明理由
  7. 信心自检 - 对每项决策做ultrathink验证,确认100%有把握后再进行展示
  8. 设计展示 - 分模块展示,每个模块都要获得用户批准
  9. 编写规范 - 保存到
    docs/plans/YYYY-MM-DD-<topic>-design.md
  10. 规范评审循环 - 调用评审子Agent,修复问题,最多迭代3次
  11. 用户评审规范 - 推进后续流程的前置关卡
  12. 推荐使用absolute-human - 强烈建议委托absolute-human执行后续开发工作

Process Flow

流程走向

dot
digraph absolute_brainstorm {
    rankdir=TB;
    node [shape=box];

    "Enter plan mode" -> "Deep context scan";
    "Deep context scan" -> "Scope assessment";
    "Scope assessment" -> "Decompose into sub-projects" [label="too large"];
    "Scope assessment" -> "Relentless interview" [label="right-sized"];
    "Decompose into sub-projects" -> "Relentless interview" [label="first sub-project"];
    "Relentless interview" -> "Genuine fork?" [shape=diamond];
    "Genuine fork?" -> "Propose approaches\n(mark Recommended)" [label="yes"];
    "Genuine fork?" -> "Next question or\ndesign presentation" [label="no, obvious answer"];
    "Propose approaches\n(mark Recommended)" -> "Next question or\ndesign presentation";
    "Next question or\ndesign presentation" -> "Relentless interview" [label="more branches"];
    "Next question or\ndesign presentation" -> "Confidence self-check" [label="tree resolved"];
    "Confidence self-check" -> "Relentless interview" [label="doubts remain"];
    "Confidence self-check" -> "Present design sections" [label="100% confident"];
    "Present design sections" -> "User approves section?" [shape=diamond];
    "User approves section?" -> "Present design sections" [label="no, revise"];
    "User approves section?" -> "Write spec to docs/plans/" [label="yes, all sections"];
    "Write spec to docs/plans/" -> "Spec review loop\n(subagent, max 3)";
    "Spec review loop\n(subagent, max 3)" -> "User reviews spec";
    "User reviews spec" -> "Write spec to docs/plans/" [label="changes requested"];
    "User reviews spec" -> "User chooses next step" [label="approved"];
}

dot
digraph absolute_brainstorm {
    rankdir=TB;
    node [shape=box];

    "Enter plan mode" -> "Deep context scan";
    "Deep context scan" -> "Scope assessment";
    "Scope assessment" -> "Decompose into sub-projects" [label="too large"];
    "Scope assessment" -> "Relentless interview" [label="right-sized"];
    "Decompose into sub-projects" -> "Relentless interview" [label="first sub-project"];
    "Relentless interview" -> "Genuine fork?" [shape=diamond];
    "Genuine fork?" -> "Propose approaches\n(mark Recommended)" [label="yes"];
    "Genuine fork?" -> "Next question or\ndesign presentation" [label="no, obvious answer"];
    "Propose approaches\n(mark Recommended)" -> "Next question or\ndesign presentation";
    "Next question or\ndesign presentation" -> "Relentless interview" [label="more branches"];
    "Next question or\ndesign presentation" -> "Confidence self-check" [label="tree resolved"];
    "Confidence self-check" -> "Relentless interview" [label="doubts remain"];
    "Confidence self-check" -> "Present design sections" [label="100% confident"];
    "Present design sections" -> "User approves section?" [shape=diamond];
    "User approves section?" -> "Present design sections" [label="no, revise"];
    "User approves section?" -> "Write spec to docs/plans/" [label="yes, all sections"];
    "Write spec to docs/plans/" -> "Spec review loop\n(subagent, max 3)";
    "Spec review loop\n(subagent, max 3)" -> "User reviews spec";
    "User reviews spec" -> "Write spec to docs/plans/" [label="changes requested"];
    "User reviews spec" -> "User chooses next step" [label="approved"];
}

Phase 1: Deep Context Scan

阶段1:深度上下文扫描

Before asking the user a single question, build comprehensive project awareness.
Mandatory reads (if they exist):
  • docs/
    directory - read README.md first, then scan all files
  • README.md
    at project root
  • CLAUDE.md
    /
    .claude/
    configuration
  • CONTRIBUTING.md
  • docs/plans/
    - existing design docs that might overlap
  • Recent git commits (last 10-20)
  • Package manifests (
    package.json
    ,
    Cargo.toml
    ,
    pyproject.toml
    , etc.)
  • Project structure overview (top-level directories)
What you're looking for:
  • Existing patterns, conventions, and architectural decisions
  • Tech stack and dependencies
  • Testing patterns and CI setup
  • Overlapping or related design docs
  • Code style and organizational conventions
Output to the user: A brief summary of what you found, highlighting anything relevant to the task at hand. Do NOT dump a file listing - synthesize what matters.

在向用户提第一个问题之前,先建立全面的项目认知。
必须读取的内容(如果存在):
  • docs/
    目录 - 先读README.md,再扫描所有文件
  • 项目根目录的
    README.md
  • CLAUDE.md
    /
    .claude/
    配置
  • CONTRIBUTING.md
  • docs/plans/
    - 可能存在重叠的现有设计文档
  • 最近的git提交记录(最近10-20条)
  • 包管理文件 (
    package.json
    ,
    Cargo.toml
    ,
    pyproject.toml
    等)
  • 项目结构概览(顶级目录)
你需要查找的内容:
  • 现有模式、规范和架构决策
  • 技术栈和依赖
  • 测试规范和CI配置
  • 重叠或相关的设计文档
  • 代码风格和团队规范
向用户输出: 你找到的相关内容的简要总结,重点突出和当前任务相关的信息。不要直接输出文件列表,要提炼有用的内容。

Phase 2: Codebase-First Intelligence

阶段2:代码库优先情报收集

Before asking ANY question, check if the codebase already answers it.
This is the core differentiator. The AI must:
  1. Identify what it needs to know to make the next design decision
  2. Search the codebase for the answer (grep, glob, read relevant files)
  3. Only ask the user if the code genuinely cannot answer the question
Examples:
  • "What database are you using?" - DON'T ASK. Check package.json, config files, existing code.
  • "How do you handle authentication?" - DON'T ASK. Search for auth middleware, JWT usage, session handling.
  • "What testing framework?" - DON'T ASK. Check test files, config, package.json.
  • "What's the visual style you want?" - ASK. Code can't answer aesthetic preferences.
  • "Should this be real-time or batch?" - ASK. This is a product decision the codebase can't resolve.
When you DO find the answer in the codebase, tell the user what you found:
"I see you're using Prisma with PostgreSQL (from
prisma/schema.prisma
). I'll design around that."
This builds confidence and saves the user from answering questions they already answered in code.

在提出任何问题之前,先确认代码库是否已经给出了答案。
这是核心差异化能力,AI必须:
  1. 明确做出下一个设计决策需要了解的信息
  2. 在代码库中搜索答案(grep、glob、读取相关文件)
  3. 只有代码确实无法回答问题时,再向用户提问
示例:
  • “你们用的什么数据库?” - 不要问。检查package.json、配置文件、现有代码即可。
  • “你们怎么处理鉴权?” - 不要问。搜索鉴权中间件、JWT使用、会话处理相关代码即可。
  • “用的什么测试框架?” - 不要问。检查测试文件、配置、package.json即可。
  • “你想要什么样的视觉风格?” - 可以问。代码无法回答审美偏好问题。
  • “这个应该做实时还是批量处理?” - 可以问。这是代码库无法解答的产品决策。
当你确实在代码库中找到答案时,告知用户你的发现:
“我看到你们使用Prisma搭配PostgreSQL(从
prisma/schema.prisma
中确认),我会基于这个栈进行设计。”
这可以建立信任,避免用户重复回答已经在代码中说明过的问题。

Phase 3: Scope Assessment

阶段3:范围评估

Before diving into detailed questions, assess scope.
If the request describes multiple independent subsystems (e.g., "build a platform with chat, file storage, billing, and analytics"):
  • Flag this immediately
  • Help decompose into sub-projects: what are the independent pieces, how do they relate, what order should they be built?
  • Each sub-project gets its own brainstorm -> spec -> plan -> implementation cycle
  • Brainstorm the first sub-project through the normal design flow
If the request is appropriately scoped, proceed to the interview.

在深入细节问题之前,先评估需求范围。
如果需求描述了多个独立子系统(例如“搭建一个包含聊天、文件存储、计费和分析的平台”):
  • 立刻标记范围过大
  • 协助拆分为子项目:明确独立模块有哪些,模块间的关联关系,开发顺序应该是什么
  • 每个子项目都独立走头脑风暴->规范->规划->开发的完整流程
  • 先按正常设计流程对第一个子项目做头脑风暴
如果需求范围合适,进入访谈阶段。

Phase 4: Relentless Interview

阶段4:深度访谈

This is the heart of the skill. Walk down every branch of the design tree, resolving dependencies between decisions one by one.
Rules:
  • Use the
    AskUserQuestion
    tool for every question
    - this is a built-in Claude Code tool that pauses execution and waits for the user's response. Use it for every interview question, every section approval, and every decision point. Never just print a question in your output - always use the tool so the conversation properly blocks until the user responds.
  • One question at a time - never overwhelm with multiple questions
  • Ultrathink before every question - reason deeply about what you need to know next, what depends on what, and whether the codebase can answer it
  • Strictly linear - if decision B depends on decision A, never ask about B until A is locked
  • Prefer multiple choice when possible - easier to answer. Include your recommendation marked as (Recommended) with a clear rationale
  • Never fake options - only propose multiple approaches when there's a genuine fork in the road. If the codebase and interview clearly point to one right answer, present it with reasoning for why alternatives were dismissed
  • Codebase check before every question - search the code first, only ask what code can't tell you
  • Keep going until every decision node is resolved - don't shortcut, don't assume, don't hand-wave. If a branch of the design tree hasn't been explored, explore it.
  • Mutual 100% confidence required - after each decision, confirm both you and the user are fully confident. If you detect hesitation, ambiguity, or your own uncertainty, probe deeper. Never advance past a decision node until confidence is absolute on both sides.
What to interview about:
  • Purpose and success criteria
  • User/consumer personas
  • Data model and relationships
  • Component boundaries and interfaces
  • State management and data flow
  • Error handling and edge cases
  • Performance requirements and constraints
  • Security considerations
  • Testing strategy
  • Migration path (if modifying existing systems)
  • Backwards compatibility concerns
Design tree traversal: Think of the design as a tree of decisions. Each decision may open new branches. Walk the tree depth-first, resolving each branch fully before moving to siblings.
Feature X
  - Who is this for? (resolve)
    - What's the core interaction? (resolve)
      - How does data flow? (resolve)
        - What are the edge cases? (resolve)
      - What are the error states? (resolve)
    - What's the secondary interaction? (resolve)
  - How does this integrate with existing system? (resolve)

这是本技能的核心。遍历设计树的每个分支,逐个理清决策之间的依赖关系。
规则:
  • 每个问题都使用
    AskUserQuestion
    工具
    - 这是Claude Code内置的工具,可以暂停执行等待用户回复。所有访谈问题、模块审批、决策点都要使用这个工具。不要只在输出中打印问题,一定要使用工具,这样对话会正确阻塞直到用户回复。
  • 一次只提一个问题 - 不要一次性抛出多个问题让用户有负担
  • 每个问题前都做ultrathink - 深入思考你接下来需要了解什么内容,哪些内容存在依赖,代码库是否能回答这个问题
  • 严格线性推进 - 如果决策B依赖决策A,在A确定前永远不要询问B相关的问题
  • 尽可能提供选择题 - 方便用户回答。包含你标记为**(推荐)**的选项并说明清晰的理由
  • 永远不要伪造选项 - 只有当确实存在设计分歧时才提供多个方案。如果代码库和访谈已经明确指向唯一正确答案,直接给出方案并说明排除其他方案的原因
  • 每个问题前都检查代码库 - 先搜索代码,只问代码无法回答的问题
  • 持续推进直到所有决策点都解决 - 不要走捷径、不要假设、不要模糊处理。如果设计树还有未探索的分支,就继续探索
  • 需要双方100%确信 - 每次决策后,确认你和用户都完全认可。如果你察觉到犹豫、歧义或者你自己有不确定的地方,就深入询问。直到双方都绝对确信之前,不要进入下一个决策节点。
访谈需要覆盖的内容:
  • 目标和成功标准
  • 用户/使用者画像
  • 数据模型和关联关系
  • 组件边界和接口
  • 状态管理和数据流
  • 错误处理和边缘场景
  • 性能要求和约束
  • 安全考量
  • 测试策略
  • 迁移路径(如果修改现有系统)
  • 向后兼容顾虑
设计树遍历规则: 把设计想象成决策树。每个决策可能会产生新的分支。按深度优先遍历树,每个分支完全解决后再处理同级的其他分支。
功能X
  - 面向的用户是谁?(解决)
    - 核心交互是什么?(解决)
      - 数据流是什么样的?(解决)
        - 边缘场景有哪些?(解决)
      - 错误状态有哪些?(解决)
    - 次要交互是什么?(解决)
  - 怎么和现有系统集成?(解决)

Phase 5: Approach Proposals

阶段5:方案提议

Only propose multiple approaches when there is a genuine design fork.
When the answer is obvious: Present the single approach with reasoning. Briefly mention why you dismissed alternatives:
"Given your existing Express + Prisma stack and the read-heavy access pattern, a new Prisma model with a cached read path is the clear approach. A separate microservice would add complexity without benefit at this scale, and a raw SQL approach would lose Prisma's type safety."
When there's a genuine fork: Present each option with:
  • What it is (1-2 sentences)
  • Pros and cons
  • When you'd pick it
  • Mark one as (Recommended) with clear rationale

只有当确实存在设计分歧时,才提供多个方案。
当答案很明确时: 给出唯一方案并说明理由,简要说明你排除其他方案的原因:
“基于你们现有的Express + Prisma技术栈和读多写少的访问模式,新增带缓存读路径的Prisma模型是最明确的方案。单独的微服务会在当前规模下增加不必要的复杂度,而原生SQL方案会失去Prisma的类型安全能力。”
当确实存在分歧时: 展示每个选项,包含:
  • 方案简述(1-2句话)
  • 优缺点
  • 适用场景
  • 标记一个**(推荐)**方案并说明清晰的理由

Phase 5.5: Confidence Self-Check

阶段5.5:信心自检

Before presenting the design, verify your own confidence. This is a mandatory gate.
Protocol:
  1. Ultrathink through every design decision made during the interview
  2. For each decision, ask yourself: "Am I 100% sure this is right? Or am I filling gaps with assumptions?"
  3. If ANY decision is below 100% confidence, return to Phase 4 and ask the user about the specific uncertainty
  4. Communicate your confidence state to the user:
    • If confident: "I've reviewed every decision and I'm 100% confident. Ready to present."
    • If not confident: "I have remaining concerns about [X, Y]. Let me ask a few more questions."
What to check: Unverified "obvious" answers, unsurfaced edge cases, contradictions between decisions, codebase compatibility, and whether a staff engineer would challenge any decision.

展示设计之前,先验证你自己的信心。这是强制关卡。
流程:
  1. 对访谈期间做出的所有设计决策做ultrathink复盘
  2. 对每个决策问自己:“我100%确定这是对的吗?还是我用假设填补了信息空白?”
  3. 如果任何决策的信心低于100%,回到阶段4,向用户询问具体的不确定点
  4. 告知用户你的信心状态:
    • 如果有信心:“我已经复盘了所有决策,100%确信方案合理,可以开始展示设计。”
    • 如果没有信心:“我对[X, Y]还有顾虑,我需要再问几个问题。”
需要检查的内容: 未验证的“明显”答案、未覆盖的边缘场景、决策之间的矛盾、代码库兼容性、资深工程师是否会对任何决策提出质疑。

Phase 6: Design Presentation

阶段6:设计展示

Only enter this phase after passing the confidence self-check. Present the design section by section.
Rules:
  • Scale each section to its complexity: a few sentences if straightforward, up to 200-300 words if nuanced
  • Ask after each section whether it looks right so far
  • Cover: architecture, components, data flow, error handling, testing approach
  • Be ready to go back and revise if something doesn't fit
  • Reference existing codebase patterns you're building on
Design for isolation and clarity:
  • Break the system into smaller units with one clear purpose each
  • Well-defined interfaces between units
  • Each unit should be understandable and testable independently
  • For each unit: what does it do, how do you use it, what does it depend on?
Working in existing codebases:
  • Follow existing patterns. Don't fight the codebase.
  • Where existing code has problems that affect the work (e.g., a file that's grown too large, unclear boundaries), include targeted improvements as part of the design - the way a good developer improves code they're working in.
  • Don't propose unrelated refactoring. Stay focused on what serves the current goal.

只有通过信心自检后才能进入本阶段,分模块展示设计。
规则:
  • 根据模块复杂度调整展示篇幅:简单的内容几句话讲清楚,有细节的内容控制在200-300字
  • 每个模块展示结束后询问用户当前内容是否合理
  • 覆盖:架构、组件、数据流、错误处理、测试策略
  • 如果有不合适的内容,随时回头修改
  • 引用你用到的现有代码库模式
设计要满足独立性和清晰度:
  • 把系统拆分为职责单一的小单元
  • 单元之间的接口定义清晰
  • 每个单元都可以独立理解和测试
  • 对每个单元说明:功能是什么、怎么使用、依赖是什么?
在现有代码库中工作时:
  • 遵循现有模式,不要和代码库的现有规范冲突
  • 如果现有代码存在影响当前工作的问题(例如文件过大、边界不清晰),可以在设计中包含针对性的优化——就像优秀的开发者在工作时会顺手优化接触到的代码一样
  • 不要提出无关的重构,始终聚焦于服务当前目标

Phase 7: Write Spec

阶段7:编写规范

After user approves the full design:
  • Write to
    docs/plans/YYYY-MM-DD-<topic>-design.md
  • Clear, concise prose. No fluff.
  • Sections should mirror what was discussed and approved
  • Include: summary, architecture, components, data model, interfaces, error handling, testing strategy, migration path (if applicable)

用户批准完整设计后:
  • 写入
    docs/plans/YYYY-MM-DD-<topic>-design.md
  • 内容清晰简洁,不要废话
  • 模块结构要和讨论并批准的内容一致
  • 包含:概述、架构、组件、数据模型、接口、错误处理、测试策略、迁移路径(如果适用)

Phase 8: Spec Review Loop

阶段8:规范评审循环

After writing the spec, dispatch a reviewer subagent:
Agent tool (general-purpose):
  description: "Review spec document"
  prompt: |
    You are a spec document reviewer. Verify this spec is complete and ready
    for implementation planning.

    Spec to review: [SPEC_FILE_PATH]

    | Category     | What to Look For                                              |
    |------------- |---------------------------------------------------------------|
    | Completeness | TODOs, placeholders, "TBD", incomplete sections               |
    | Consistency  | Internal contradictions, conflicting requirements             |
    | Clarity      | Requirements ambiguous enough to cause building the wrong thing|
    | Scope        | Focused enough for a single plan                              |
    | YAGNI        | Unrequested features, over-engineering                        |

    Only flag issues that would cause real problems during implementation.
    Approve unless there are serious gaps.

    Output format:
    ## Spec Review
    **Status:** Approved | Issues Found
    **Issues (if any):**
    - [Section X]: [specific issue] - [why it matters]
    **Recommendations (advisory, do not block approval):**
    - [suggestions]
  • If issues found: fix them, re-dispatch, repeat
  • Max 3 iterations. If still failing, surface to the user for guidance.

编写完规范后,调用评审子Agent:
Agent tool (general-purpose):
  description: "Review spec document"
  prompt: |
    You are a spec document reviewer. Verify this spec is complete and ready
    for implementation planning.

    Spec to review: [SPEC_FILE_PATH]

    | Category     | What to Look For                                              |
    |------------- |---------------------------------------------------------------|
    | Completeness | TODOs, placeholders, "TBD", incomplete sections               |
    | Consistency  | Internal contradictions, conflicting requirements             |
    | Clarity      | Requirements ambiguous enough to cause building the wrong thing|
    | Scope        | Focused enough for a single plan                              |
    | YAGNI        | Unrequested features, over-engineering                        |

    Only flag issues that would cause real problems during implementation.
    Approve unless there are serious gaps.

    Output format:
    ## Spec Review
    **Status:** Approved | Issues Found
    **Issues (if any):**
    - [Section X]: [specific issue] - [why it matters]
    **Recommendations (advisory, do not block approval):**
    - [suggestions]
  • 如果发现问题:修复问题,重新调用评审,重复流程
  • 最多迭代3次。如果仍然不通过,向用户反馈寻求指导。

Phase 9: User Reviews Spec

阶段9:用户评审规范

After the review loop passes:
"Spec written to
<path>
. Please review it and let me know if you want to make any changes before we proceed."
Wait for the user's response. If they request changes, make them and re-run the spec review loop. Only proceed once the user approves.

评审循环通过后:
“规范已写入
<path>
,请您评审,如果需要修改请告知我,我们再调整后推进后续流程。”
等待用户回复。如果用户要求修改,修改后重新运行规范评审循环。只有用户批准后才能继续推进。

Phase 10: Recommend Absolute-Human for Execution

阶段10:推荐使用Absolute-Human执行

Once the spec is approved, strongly recommend delegating execution to absolute-human:
"Spec is approved and we're both 100% confident in the design. Now it's time to build.
  • A) Absolute-human (Recommended) - hand off to absolute-human for AI-native execution with task decomposition, parallel waves, and TDD. It's purpose-built to take a validated spec and execute it.
  • B) Writing plans - create a detailed implementation plan first, then execute manually
  • C) Direct implementation - start building right away without the absolute-human workflow
  • D) Something else - your call"
Let the user decide the next step. Do not auto-invoke any skill.

规范获批后,强烈建议委托absolute-human执行后续开发:
“规范已获批,我们双方都100%认可设计方案,现在可以开始开发了。
  • A) Absolute-human (推荐) - 交给absolute-human做AI原生开发,包含任务拆分、并行执行和TDD。它就是为执行经过验证的规范而设计的。
  • B) 编写开发计划 - 先创建详细的开发计划,再手动执行
  • C) 直接开发 - 不使用absolute-human工作流,直接开始搭建
  • D) 其他 - 您可以自定义后续步骤"
让用户决定下一步做什么,不要自动调用任何技能。

Key Principles

核心原则

  • Ultrathink everything - deep reasoning before every decision, no lazy shortcuts
  • Codebase before questions - respect the user's time, only ask genuine unknowns
  • One question at a time via
    AskUserQuestion
    tool
    - never overwhelm, always use the built-in tool to ask
  • Strictly linear - resolve dependencies before moving forward
  • Honest options - real forks get multiple approaches, obvious answers get presented directly
  • Always mark (Recommended) - every set of options includes a clear recommendation with rationale
  • YAGNI ruthlessly - remove unnecessary features from all designs
  • Incremental validation - present design section by section, get approval before moving on
  • Mutual 100% confidence - never advance past a decision until both AI and user are fully confident and aligned
  • Self-verify before presenting - ultrathink through the full design to catch your own blind spots before showing it to the user
  • Plan mode always - this skill operates entirely in plan mode

  • 所有内容都经过ultrathink - 每项决策前都深入思考,不要走懒惰的捷径
  • 先查代码再提问 - 尊重用户的时间,只问真正不知道的问题
  • 通过
    AskUserQuestion
    工具一次提一个问题
    - 不要给用户造成负担,始终使用内置工具提问
  • 严格线性推进 - 先解决依赖问题再推进后续内容
  • 提供真实选项 - 真正存在分歧时提供多个方案,答案明确时直接给出结论
  • 始终标记(推荐)选项 - 每一组选项都要有明确的推荐方案和理由
  • 严格遵循YAGNI原则 - 从所有设计中移除不必要的功能
  • 增量验证 - 分模块展示设计,每个模块获批后再推进下一个
  • 双方100%确信 - 直到AI和用户都完全确信并对齐之前,不要跳过任何决策
  • 展示前自我验证 - 对完整设计做ultrathink复盘,在展示给用户前先发现自己的盲区
  • 始终处于规划模式 - 本技能全程在规划模式下运行

Gotchas

注意事项

  1. AskUserQuestion
    tool not available in all environments
    - The
    AskUserQuestion
    tool is a Claude Code-specific built-in. In other environments (Gemini CLI, OpenAI Codex), it may not exist. Fall back to printing the question as a clearly demarcated output block and waiting for user response, but track that you are waiting for an answer before proceeding.
  2. Deep context scan can consume the entire context window - Reading every file in
    docs/
    and every recent commit in a large codebase can exhaust the context window before the first question is asked. Be selective: read README, CLAUDE.md, and recent commits first; only go deeper on files directly relevant to the task.
  3. Spec saved to
    docs/plans/
    in the wrong repo
    - If the skill is invoked in a monorepo or a workspace with multiple
    docs/
    directories, saving the spec to the wrong subdirectory means it will never be found during future DISCOVER phases. Confirm the target
    docs/plans/
    path with the user before writing.
  4. Reviewer subagent approves incomplete specs - The reviewer subagent is prompted to "approve unless there are serious gaps," which means minor incompleteness often passes. Do not treat reviewer approval as a substitute for user approval. The user gate in Phase 9 is mandatory regardless of the reviewer's verdict.
  5. Flexible exit auto-invokes the next skill - Presenting the exit options and then immediately invoking a skill without waiting for user input defeats the purpose of a flexible exit. Always use
    AskUserQuestion
    (or equivalent) to receive the user's choice before taking any post-spec action.

  1. 并非所有环境都支持
    AskUserQuestion
    工具
    -
    AskUserQuestion
    是Claude Code特有的内置工具,在其他环境(Gemini CLI、OpenAI Codex)中可能不存在。这种情况可以降级为将问题打印在明确标记的输出块中,等待用户回复,但要记录你正在等待回复才能继续推进。
  2. 深度上下文扫描可能占满上下文窗口 - 在大型代码库中读取
    docs/
    下的所有文件和所有最近提交,可能在提出第一个问题前就耗尽上下文窗口。要有选择性:先读README、CLAUDE.md和最近提交;只深入读取和当前任务直接相关的文件。
  3. 规范保存到错误仓库的
    docs/plans/
    目录
    - 如果在monorepo或者有多个
    docs/
    目录的工作区中调用本技能,将规范保存到错误的子目录会导致后续DISCOVER阶段找不到文件。写入前和用户确认目标
    docs/plans/
    路径。
  4. 评审子Agent批准不完整的规范 - 评审子Agent的提示词要求“除非有严重漏洞否则批准”,这意味着小的不完整通常会通过。不要把评审Agent的批准替代用户批准,不管评审结果如何,阶段9的用户审批都是强制要求。
  5. 自动调用下一个技能 - 展示退出选项后不等用户输入就直接调用技能,违背了灵活退出的目的。在采取规范后的任何动作前,都要使用
    AskUserQuestion
    (或等效方式)获得用户的选择。

Anti-Patterns and Common Mistakes

反模式和常见错误

Anti-PatternBetter Approach
Asking questions the codebase can answerSearch code first - check configs, existing patterns, test files before every question
Batching multiple questions in one messageOne question at a time, always. Break complex topics into sequential questions
Printing questions as plain text outputAlways use the
AskUserQuestion
tool to ask - it blocks until the user responds
Skipping docs/ and README before startingAlways read all available documentation before the first question
Proposing fake alternatives when the answer is obviousPresent the single right answer with rationale; only show options at genuine forks
Accepting vague answers without follow-upDig deeper - "what do you mean by that?" is always valid
Asking about implementation before purposeAlways resolve "why" and "what" before "how"
Not exploring error/edge case branchesEvery design tree has an error handling branch - walk it
Jumping to code before spec approvalHard gate: no code, no scaffolding, no implementation until spec is approved
Presenting options without a (Recommended) markerEvery option set must have a clear recommendation with rationale
Using normal thinking when ultrathink is requiredUltrathink on every decision, every question, every proposal - no exceptions
Advancing when the AI has private doubtsStop, ultrathink, and either resolve the doubt yourself or surface it as a question
Presenting the plan without self-verificationAlways run a confidence self-check on every decision before presenting the design
Treating exit options as equalRecommend absolute-human as the default execution path - it's purpose-built for this
Decomposing too lateFlag multi-system scope immediately, don't spend 10 questions refining details of an unscoped project
Auto-invoking the next skill without askingFlexible exit - always let the user choose what happens after spec approval

反模式更好的做法
询问代码库可以回答的问题每次提问前先搜索代码:检查配置、现有模式、测试文件
一条消息里打包多个问题永远一次只提一个问题,把复杂主题拆分为连续的问题
把问题打印为纯文本输出始终使用
AskUserQuestion
工具提问,它会阻塞直到用户回复
启动前跳过docs/和README第一个问题前始终读取所有可用文档
答案明确时提供虚假的替代选项给出唯一正确答案并说明理由;仅在真正有分歧时提供选项
接受模糊的答案不追问深入询问:“你说的这个具体是什么意思?”永远是合理的
确定目标前就询问实现方案先解决“为什么”和“做什么”,再解决“怎么做”
不探索错误/边缘场景分支每个设计树都有错误处理分支,要遍历到
规范获批前就开始写代码硬性规则:获批前不写代码、不搭脚手架、不做任何开发动作
展示选项不标记(推荐)每组选项都要有明确的推荐方案和理由
需要ultrathink时使用普通思考每项决策、每个问题、每个方案都用ultrathink,没有例外
AI有隐忧时仍然推进停下来做ultrathink,要么自己解决顾虑,要么作为问题提出来
不做自我验证就展示方案展示设计前始终对每项决策做信心自检
把所有退出选项视为同等优先级推荐absolute-human作为默认执行路径,它就是为这个场景设计的
太晚才做范围拆分立刻标记多系统的大范围需求,不要花10个问题去细化未做范围梳理的项目
不询问就自动调用下一个技能灵活退出:规范获批后始终让用户选择后续动作

References

参考资料

For detailed guidance on specific aspects, load these reference files:
  • references/interview-playbook.md
    - Design tree traversal, question banks by project type, codebase-first intelligence patterns, example interview sessions
  • references/spec-writing.md
    - Spec document template, section scaling rules, writing style guide, decision log format, spec review checklist, example spec
  • references/approach-analysis.md
    - When to propose multiple approaches, approach proposal format, trade-off dimensions, project decomposition guide, common decision trees
Only load a references file if the current phase requires it - they are long and will consume context.

如果需要特定方面的详细指导,可以加载这些参考文件:
  • references/interview-playbook.md
    - 设计树遍历、按项目类型分类的问题库、代码库优先情报模式、访谈示例
  • references/spec-writing.md
    - 规范文档模板、模块规模规则、写作风格指南、决策记录格式、规范评审检查清单、规范示例
  • references/approach-analysis.md
    - 何时需要提供多个方案、方案提议格式、权衡维度、项目拆分指南、常见决策树
只有当前阶段需要时才加载参考文件,它们的内容很长会占用上下文窗口。

Companion check

配套技能检查

On first activation of this skill in a conversation: check which companion skills are installed by running
ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null
. Compare the results against the
recommended_skills
field in this file's frontmatter. For any that are missing, mention them once and offer to install:
npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>
Skip entirely if
recommended_skills
is empty or all companions are already installed.
在对话中首次激活本技能时:运行
ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null
检查已安装的配套技能。将结果和本文件前置元数据中的
recommended_skills
字段对比。如果有缺失的技能,告知用户一次并提供安装命令:
npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>
如果
recommended_skills
为空或者所有配套技能都已安装,跳过本步骤。