new
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesenew
新建
Create or update as the source of truth for what the project is and what features will be built.
tasks/todo.md创建或更新,作为项目定位及待开发功能的唯一可信来源。
tasks/todo.mdGuardrails
约束规则
- Do not implement code.
- Do not write individual feature PRDs (use for that).
plan - Keep features "PRD-sized": one feature = one PRD. If it spans >2 subsystems, >1 UI surface + backend, or >~1 day of work, split it.
- Prefer a stable structure; edit in place rather than rewriting.
todo.md - Write so a junior dev (or another AI) can pick it up without extra context.
tasks/todo.md - Do not use Markdown tables (use checklists + bullets).
- Do not check feature boxes unless the PRD actually exists (typically updated by ).
plan - Treat memory capture as built-in: if durable decisions are made, update in this step instead of deferring to a separate memory pass.
tasks/memory.md
- 不要编写代码。
- 不要编写单个功能的PRD(此类操作请使用)。
plan - 保持功能为“PRD量级”:一个功能对应一个PRD。如果某个功能涉及超过2个子系统、1个以上UI界面+后端,或需要耗时超过1天完成,请拆分该功能。
- 优先保持结构稳定;建议原地编辑而非重写。
todo.md - 编写时,应确保初级开发人员(或其他AI)无需额外上下文即可接手。
tasks/todo.md - 不要使用Markdown表格(请使用复选框+项目符号)。
- 除非PRD已实际存在(通常由更新),否则不要勾选功能对应的复选框。
plan - 内置记忆捕获功能:若做出了需要长期保留的决策,请在此步骤更新,而非推迟到单独的记忆处理环节。
tasks/memory.md
Workflow
工作流程
- Determine intent:
- New project → initialise .
tasks/todo.md - Add/update features → edit the existing .
tasks/todo.md
- New project → initialise
- If exists, skim relevant sections (project, key decisions, notes / gotchas) so you don't conflict with prior decisions.
tasks/memory.md - Ask clarifying questions only when needed (use A/B/C/D options).
- Update using the template below:
tasks/todo.md- New project: write a crisp Project section + propose an initial prioritised feature list, ordered by priority (highest first).
- Add/update: add, merge, re-scope, and/or re-order features.
- If adding a new item and the user didn't specify placement, explicitly ask if it should move up the list (priority is determined by list order).
Type: fix
- If adding a new
- Ensure each feature has clear in-scope vs out-of-scope boundaries and dependencies (if any).
- Evaluate memory-worthy outcomes and update inline when needed:
tasks/memory.md- project definition changes
- scope boundaries or constraints that affect future features
- priority decisions with durable rationale
- Reply with updated file paths and a short change summary (what you added/changed).
- 确定意图:
- 新项目 → 初始化。
tasks/todo.md - 添加/更新功能 → 编辑现有的。
tasks/todo.md
- 新项目 → 初始化
- 若已存在,浏览相关章节(项目、关键决策、注意事项/陷阱),避免与之前的决策冲突。
tasks/memory.md - 仅在必要时提出澄清问题(使用A/B/C/D选项形式)。
- 使用以下模板更新:
tasks/todo.md- 新项目:撰写简洁的项目章节 + 提出初始的优先级功能列表,按优先级从高到低排序。
- 添加/更新:添加、合并、重新界定范围和/或重新排序功能。
- 若添加新的事项且用户未指定位置,请明确询问是否应提升其列表排序(优先级由列表顺序决定)。
Type: fix
- 若添加新的
- 确保每个功能都有清晰的范围内/范围外边界及依赖关系(如有)。
- 评估需要保留的决策结果,必要时同步更新:
tasks/memory.md- 项目定义变更
- 影响未来功能的范围边界或约束条件
- 带有长期依据的优先级决策
- 回复时附上更新后的文件路径及简短的变更摘要(新增/修改了内容)。
Clarifying Questions (Only If Needed)
澄清问题(仅在必要时提出)
Ask up to ~7 high-value questions. Keep them answerable via .
1A, 2C, 3BFocus on ambiguity around:
- target user + primary use case
- the problem + desired outcome
- constraints (platforms, timeline, integrations)
- success metrics / how we know it worked
- scope boundaries (what's explicitly in vs out)
- priority order (what should be done first)
- whether an item should be vs
Type: featvsfix(and where it should sit in priority order)chore - dependencies between features (by ID)
最多提出约7个高价值问题。问题需支持通过形式作答。
1A, 2C, 3B聚焦以下模糊点:
- 目标用户 + 主要使用场景
- 问题 + 期望结果
- 约束条件(平台、时间线、集成需求)
- 成功指标 / 如何判断任务完成
- 范围边界(明确包含/排除的内容)
- 优先级顺序(应优先完成的事项)
- 某事项应归类为/
Type: feat/fix的哪一类(及其在列表中的优先级位置)chore - 功能之间的依赖关系(按ID)
Example question format
问题示例格式
text
1. What are we doing right now?
A. Start a brand new project
B. Add new features to an existing plan
C. Refine/re-scope existing planned features
D. Other: [describe]text
1. 当前我们的任务是什么?
A. 启动一个全新项目
B. 为现有计划添加新功能
C. 优化/重新界定现有计划功能的范围
D. 其他:[描述]tasks/todo.md
Template (Markdown)
tasks/todo.mdtasks/todo.md
模板(Markdown)
tasks/todo.mdIf does not exist, create it with this structure (fill in details; keep it concise).
tasks/todo.mdmarkdown
undefined若不存在,请使用以下结构创建(填充详细信息;保持简洁)。
tasks/todo.mdmarkdown
undefinedTODO: <Project name>
TODO: <项目名称>
Project
项目
- One-liner: …
- Target users: …
- Problem: …
- Success metrics: …
- Constraints (optional): …
- Non-goals: …
- 一句话简介:……
- 目标用户:……
- 解决的问题:……
- 成功指标:……
- 约束条件(可选):……
- 非目标:……
Features
功能
Checkbox meaning: unchecked = PRD not written yet; checked = PRD exists; checked + strikethrough = completed (PRD archived).
Leave unchecked until a PRD exists.
Feature completion is determined by PRDs being archived to and recorded in ; strikethrough here is a derived marker applied during finalise.
tasks/archive/tasks/memory.mdcommit复选框含义:未勾选 = PRD尚未编写;已勾选 = PRD已存在;已勾选 + 删除线 = 已完成(PRD已归档)。
在PRD存在前请勿勾选。
功能完成状态由PRD是否归档至并记录在中决定;此处的删除线是在终环节自动生成的标记。
tasks/archive/tasks/memory.mdcommitFeatures (priority order)
功能列表(按优先级排序)
-
Higher in the list = higher priority.
-
f-01: <feature name>
- Type: feat | fix | chore
- Outcome: <user-visible outcome>
- In scope: <what ships>
- Out of scope: <what does not ship>
- Dependencies: <none> | f-02, f-10
-
f-02: <feature name>
- Type: feat | fix | chore
- Outcome: <user-visible outcome>
- In scope: <what ships>
- Out of scope: <what does not ship>
- Dependencies: <none> | f-01
-
列表位置越靠上 = 优先级越高。
-
f-01: <功能名称>
- Type: feat | fix | chore
- 预期结果:<用户可见的成果>
- 范围内:<将交付的内容>
- 范围外:<不包含的内容>
- 依赖关系:<无> | f-02, f-10
-
f-02: <功能名称>
- Type: feat | fix | chore
- 预期结果:<用户可见的成果>
- 范围内:<将交付的内容>
- 范围外:<不包含的内容>
- 依赖关系:<无> | f-01
Open Questions (project-wide only; per-feature questions go under each feature entry)
待解决问题(仅针对项目层面;单个功能的问题请放在对应功能条目下)
- Q-1: …
---- Q-1: ……
---Update Rules (When tasks/todo.md
Exists)
tasks/todo.md更新规则(当tasks/todo.md
已存在时)
tasks/todo.md- Preserve existing content and wording unless the user asks to change it.
- Avoid duplicates: if a new feature overlaps an existing one, merge or propose a rename instead of adding a second item.
- Keep IDs stable; IDs must be globally unique within .
tasks/todo.md - When adding a new feature, use the next ID as (never reuse old IDs).
(max existing f-##) + 1 - If duplicate IDs already exist, resolve by renumbering the newer/less-referenced item(s) and updating any references.
Dependencies: - Keep the list prioritised top-to-bottom; if placement is unclear, ask where to insert (or add to the bottom).
- If a feature depends on another feature, ensure the dependency is listed above it (or explicitly confirm the ordering).
- Keep checkbox meaning consistent: checked means "PRD exists".
- Ensure each feature entry includes:
- a type (feat/fix/chore)
- a clear user-visible outcome
- in scope / out of scope boundaries
- dependencies by ID (if any)
- 保留现有内容和措辞,除非用户要求修改。
- 避免重复:若新功能与现有功能重叠,请合并或建议重命名,而非添加重复条目。
- 保持ID稳定;ID在中必须全局唯一。
tasks/todo.md - 添加新功能时,使用下一个连续ID:(切勿复用旧ID)。
(现有最大f-##编号) + 1 - 若已存在重复ID,请通过重命名较新/引用较少的条目并更新所有中的引用解决。
Dependencies: - 保持列表按优先级从上到下排序;若位置不明确,请询问插入位置(或添加至列表底部)。
- 若某功能依赖另一功能,请确保依赖项位于其上方(或明确确认排序)。
- 保持复选框含义一致:已勾选表示“PRD已存在”。
- 确保每个功能条目包含:
- 类型(feat/fix/chore)
- 清晰的用户可见预期结果
- 范围内/范围外边界
- 依赖关系ID(如有)
Feature Writing Guidelines
功能编写指南
- Prefer feature names as verb phrases (e.g., "Invite teammates", "Export CSV").
- For fix items, name them clearly (e.g., "Fix <problem>") and set . Include minimal bug info:
Type: fix- Current behaviour: …
- Expected behaviour: …
- Repro steps (if known): …
- For chores, keep them crisp and outcome-oriented (e.g., "Chore: remove dead code") and set .
Type: chore - Ensure each feature has a crisp outcome (what changes for the user).
- Avoid implementation tasks ("refactor", "set up DB") unless they are truly user-facing requirements.
- If a feature is too large, split by user goal or workflow step until each item could reasonably become a single PRD.
- 优先使用动词短语作为功能名称(例如:“邀请团队成员”、“导出CSV文件”)。
- 对于fix类型事项,名称需清晰明确(例如:“修复<问题>”)并设置。包含必要的bug信息:
Type: fix- 当前行为:……
- 预期行为:……
- 复现步骤(如有):……
- 对于chore类型事项,保持简洁并聚焦结果(例如:“Chore: 移除无用代码”)并设置。
Type: chore - 确保每个功能都有简洁的预期结果(用户将看到哪些变化)。
- 避免编写实现类任务(如“重构”、“搭建数据库”),除非它们是真正面向用户的需求。
- 若某功能过大,请按用户目标或工作流程步骤拆分,直到每个条目都能合理成为单个PRD。
Output
输出要求
- Create or reuse .
tasks/ - Create or update .
tasks/todo.md - After updating, suggest the next feature to spec with (by ID/name): highest priority unchecked feature (checked = PRD exists).
plan - When a PRD is created via , ensure the matching feature checkbox is checked in
plan.tasks/todo.md - If you made a durable project decision (scope boundary, constraint, key choice), update in the same run.
tasks/memory.md - End with a short status block:
- Files changed: list of created/updated files
- Key decisions: any assumptions or choices made (if any)
- Next step: recommended next skill or action
- 创建或复用目录。
tasks/ - 创建或更新。
tasks/todo.md - 更新完成后,建议使用工具对下一个功能进行规格编写(按ID/名称):优先级最高的未勾选功能(已勾选表示PRD已存在)。
plan - 当通过创建PRD时,请确保
plan中对应功能的复选框被勾选。tasks/todo.md - 若做出了长期有效的项目决策(范围边界、约束条件、关键选择),请在同一操作中更新。
tasks/memory.md - 结尾附上简短的状态块:
- 已修改文件:列出创建/更新的文件
- 关键决策:做出的任何假设或选择(如有)
- 下一步:推荐的后续工具或操作
Quality Checklist
质量检查清单
Before finalising :
tasks/todo.md- Project section explains what the project is and who it serves.
- Feature list is prioritised and reasonably sized (avoid 30 "must-haves").
- Feature IDs are unique and stable (no duplicates).
- No feature is checked unless its PRD exists.
- Each feature has a (
Type:/feat/fix).chore - Each feature has a user-visible outcome and explicit scope boundaries.
- Dependencies (if any) reference valid feature IDs.
- Duplicates/overlaps are merged or clearly distinguished.
在最终确定前:
tasks/todo.md- 项目章节说明了项目定位及服务对象。
- 功能列表已按优先级排序且规模合理(避免30个“必备项”)。
- 功能ID唯一且稳定(无重复)。
- 除非PRD已存在,否则功能未被勾选。
- 每个功能都有标识(
Type:/feat/fix)。chore - 每个功能都有用户可见的预期结果及明确的范围边界。
- 依赖关系(如有)引用了有效的功能ID。
- 重复/重叠的功能已被合并或明确区分。