shape-up
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseShape Up
Shape Up
Orchestrate the full Shape Up workflow by invoking and
at the right moments. Be proactive — after each step, explain what was accomplished
and suggest the next move.
/shaping/breadboarding通过在恰当的时机调用和来协调整个Shape Up工作流。要主动推进——在每个步骤完成后,说明已完成的工作并建议下一步行动。
/shaping/breadboardingPrerequisites
前提条件
Requires the and skills to be installed. If missing,
instruct the user to install them from https://github.com/rjs/shaping-skills
/shaping/breadboardingWorkflow Overview
工作流概览
Frame → Shape → Breadboard → Slice → Build| Phase | Purpose | Sub-skill | Output |
|---|---|---|---|
| Frame | Capture the "why" | | Problem + Outcome |
| Shape | Separate problem from solution, iterate | | R (requirements) + selected Shape |
| Breadboard | Map affordances and wiring | | Affordance tables + diagram |
| Slice | Cut into demoable increments | | V1..V9 vertical slices |
| Build | Implement slice by slice | — | Working software |
框架构建 → 方案塑形 → 原型规划 → 拆分迭代 → 开发实现| 阶段 | 目标 | 子技能 | 输出 |
|---|---|---|---|
| 框架构建 | 明确核心动因 | | 问题定义 + 预期成果 |
| 方案塑形 | 分离问题与解决方案,迭代优化 | | 需求(R)+ 选定的方案 |
| 原型规划 | 映射功能与关联逻辑 | | 功能表 + 流程图 |
| 拆分迭代 | 拆分为可演示的增量模块 | | V1..V9垂直拆分模块 |
| 开发实现 | 逐个模块开发 | — | 可运行软件 |
Entry Point Detection
入口场景判断
Determine the project type, then follow the appropriate path:
New project (empty or new directory)? → Start at Phase 1: Frame
Existing project with code? → Start at Phase 0: Map Current System
判断项目类型,然后遵循对应流程:
新项目(空目录或全新项目)? → 从第1阶段:框架构建开始
已有代码的项目? → 从第0阶段:梳理现有系统开始
Phase 0: Map Current System (Existing Projects Only)
第0阶段:梳理现有系统(仅适用于已有项目)
Before shaping a change to an existing codebase, understand what exists.
- Ask: "What workflow or area of the system does this change affect?"
- Read the relevant code to understand the current implementation
- Invoke to map the existing system as
/breadboarding:CURRENT- Trace the affected workflow through the code
- Produce affordance tables (UI + Code) for the current system
- Generate a wiring diagram showing how it works today
This breadboard becomes the baseline. Proposed shapes will modify it.
CURRENTAfter completing: Present the CURRENT breadboard and say:
"Here's how the current system works. Now let's frame what we want to change. What problem are you trying to solve, or what outcome do you want?"
在对现有代码库进行变更塑形前,需先了解现有系统情况。
- 询问:"此变更会影响系统的哪些工作流或区域?"
- 阅读相关代码以理解当前实现逻辑
- 调用将现有系统映射为
/breadboarding版本:CURRENT- 追踪受影响的工作流在代码中的执行路径
- 生成现有系统的功能表(UI + 代码)
- 生成展示当前系统工作逻辑的关联流程图
此版本原型将作为基准,后续提出的方案将基于此进行修改。
CURRENT完成后: 展示CURRENT版本原型并说明:
"以上是当前系统的工作逻辑。现在我们来明确想要做出的变更。你想要解决什么问题,或是期望达成什么成果?"
Phase 1: Frame
第1阶段:框架构建
Capture source material and distill it into Problem and Outcome.
- Ask the user to describe what they want (or paste stakeholder quotes, requests, etc.)
- Invoke — capture the description as Source material
/shaping - Distill into:
- Problem — What's broken, what pain exists
- Outcome — What success looks like
- Write to in
shaping.md(or project root for standalone projects).claude/
After completing: Present the frame and say:
"Here's the frame. Does this capture the problem and desired outcome? Once confirmed, we'll start extracting requirements and sketching a solution."
收集原始信息并提炼为问题定义与预期成果。
- 请用户描述需求(或粘贴利益相关方的诉求、请求等)
- 调用— 将描述内容作为原始信息记录
/shaping - 提炼为:
- 问题定义 — 现存的痛点、待解决的问题
- 预期成果 — 成功的标准
- 写入目录下的
.claude/文件(独立项目可写入项目根目录)shaping.md
完成后: 展示框架内容并说明:
"以上是构建的框架。是否准确涵盖了问题与预期成果? 确认后,我们将开始提取需求并草拟解决方案。"
Phase 2: Shape
第2阶段:方案塑形
Iterate on problem (R) and solution (shapes) until a shape is selected.
- Invoke
/shaping - Offer both entry points:
- Start from R — extract requirements from the frame
- Start from S — if user already has a solution in mind, capture it as Shape A
- Run the shaping loop:
Extract R → Sketch shape(s) → Fit check → Spike unknowns → Iterate针对问题(R)与解决方案(方案原型)进行迭代,直至选定最终方案。
- 调用
/shaping - 提供两种入口选项:
- 从需求R开始 — 从框架中提取需求
- 从方案S开始 — 如果用户已有初步解决方案,将其记录为方案A
- 执行塑形循环:
提取需求R → 草拟方案原型 → 匹配度校验 → 调研未知点 → 迭代优化Proactive Guidance During Shaping
塑形阶段的主动引导
After extracting initial R and Shape A, immediately show the fit check:
"Here's R x A — the fit between requirements and the proposed solution."
Then suggest based on what the fit check reveals:
| Fit check shows | Suggest |
|---|---|
| Flagged unknowns (warning markers) | "A2 is flagged — want me to spike it?" |
| Requirements failing | "R3 fails because [reason]. Should we revise the shape or adjust R3?" |
| All green | "The shape looks solid. Ready to breadboard?" |
| Multiple viable shapes | "Both A and B pass. Want to compare with |
提取初始需求R与方案A后,立即展示匹配度校验结果:
"以下是R与A的匹配情况——需求与拟议解决方案的契合度。"
然后根据匹配度校验结果给出建议:
| 匹配度校验结果 | 建议内容 |
|---|---|
| 标记出未知点(警告标识) | "A2被标记为未知点——需要我深入调研吗?" |
| 需求未满足 | "R3未满足,原因是[具体理由]。我们应该修改方案还是调整R3?" |
| 全部匹配 | "方案看起来可行。准备进入原型规划阶段了吗?" |
| 多个可行方案 | "A和B均通过校验。需要对比 |
Shorthand Commands
快捷命令
Teach the user these as you go:
| Command | What it does |
|---|---|
| Fit check: requirements against shape A |
| Rotated fit check: shape A against requirements |
| Investigate a specific part in depth |
| Add a new requirement |
| Propose an alternative approach |
Phase complete when: A shape is selected (passes fit check, unknowns resolved).
"Shape [X] is selected and all requirements pass. Ready to breadboard?"
在操作过程中向用户介绍以下快捷命令:
| 命令 | 功能 |
|---|---|
| 匹配度校验:需求与方案A的契合度 |
| 反向匹配度校验:方案A与需求的契合度 |
| 深入调研特定模块 |
| 添加新需求 |
| 提出替代方案 |
阶段完成标志: 选定方案(通过匹配度校验,未知点已解决)。
"方案[X]已选定,所有需求均满足。准备进入原型规划阶段了吗?"
Phase 3: Breadboard
第3阶段:原型规划
Detail the selected shape into concrete affordances with wiring.
- Invoke
/breadboarding - For existing projects: breadboard the mixture — existing + new affordances wired together
- For new projects: breadboard from the shape's parts
- Produce:
- Places table
- UI Affordances table
- Code Affordances table
- Wiring diagram (Mermaid)
After completing:
"The breadboard shows [N] UI affordances, [N] code affordances across [N] places. Ready to slice into vertical increments?"
将选定的方案细化为具体的功能与关联逻辑。
- 调用
/breadboarding - 对于已有项目:规划混合版本——现有功能与新功能的关联逻辑
- 对于新项目:基于方案原型的模块进行规划
- 生成:
- 场景表
- UI功能表
- 代码功能表
- 关联流程图(Mermaid格式)
完成后:
"原型规划包含[N]个UI功能、[N]个代码功能,覆盖[N]个场景。 准备拆分为可演示的垂直增量模块了吗?"
Phase 4: Slice
第4阶段:拆分迭代
Cut the breadboard into demoable vertical slices.
- Invoke slicing procedure
/breadboarding - Identify V1 as the minimal demoable increment
- Layer additional capabilities as V2..V9
- For each slice, define:
- Which affordances it includes
- What mechanism it demonstrates
- A concrete demo statement
After completing: Present the slice summary and say:
"We have [N] slices. V1 demos '[demo statement]'. Want to start building V1?"
将原型规划拆分为可演示的垂直增量模块。
- 调用拆分流程
/breadboarding - 确定V1为最小可演示增量模块
- 将额外功能分层为V2..V9
- 为每个模块定义:
- 包含的功能
- 展示的核心机制
- 具体的演示说明
完成后: 展示模块汇总并说明:
"我们已拆分出[N]个模块。V1将演示'[演示说明]'。准备开始开发V1了吗?"
Phase 5: Build
第5阶段:开发实现
Implement each slice, verify it works, then move to the next.
For each slice:
- Create an implementation plan ()
V[N]-plan.md - Build the slice
- Verify: run and test to confirm the demo works
- Update the Big Picture document with completion status
After each slice:
"V[N] is complete — [demo statement] is working. Ready for V[N+1]?"
逐个模块开发,验证功能正常后再推进下一个模块。
针对每个模块:
- 创建实现计划()
V[N]-plan.md - 开发模块功能
- 验证:运行并测试以确认演示功能正常
- 更新全局文档(Big Picture)的完成状态
每个模块完成后:
"V[N]已完成——[演示说明]功能正常运行。准备开始V[N+1]了吗?"
File Management
文件管理
| File | Purpose | Location |
|---|---|---|
| Ground truth for R, shapes, fit checks | |
| Investigation findings | |
| High-level summary of entire feature | |
| Per-slice implementation plans | |
| 文件 | 用途 | 位置 |
|---|---|---|
| 需求R、方案原型、匹配度校验的基准文档 | |
| 调研结果文档 | |
| 功能的全局汇总文档 | |
| 各模块的实现计划 | |
Resuming a Session
恢复会话
When invoked with an existing :
shaping.md- Read the shaping doc to understand current state
- Invoke — it will detect the existing doc and show the fit check for the selected shape
/shaping - Identify what needs attention (unsolved requirements, pending slices)
- Suggest the next action:
- If shaping: "R4 is still undecided — want to discuss?"
- If breadboarded: "Ready to slice?"
- If sliced: "V3 is next — want to build it?"
- If building: "V2 is complete. V3 demos '[statement]' — ready?"
当调用时已存在文件:
shaping.md- 读取塑形文档以了解当前进度
- 调用— 系统会检测到现有文档并展示选定方案的匹配度校验结果
/shaping - 确定需要处理的事项(未解决的需求、待开发的模块)
- 建议下一步操作:
- 若处于塑形阶段:"R4尚未确定——需要讨论吗?"
- 若已完成原型规划:"准备拆分模块了吗?"
- 若已完成拆分:"下一个是V3——准备开发了吗?"
- 若处于开发阶段:"V2已完成。V3将演示'[演示说明]'——准备开始了吗?"