task-brief

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Task Brief

任务简报(Task Brief)

Overview

概述

Turn a raw natural-language request into a structured task brief that another executor can use without reading the original message.
This skill is a task specification normalizer. Its job is to surface the real goal, capture the completion standard, and make critical constraints explicit. It does not do design-stage routing, task decomposition, implementation planning, or execution.
The value is straightforward: a good brief reduces misunderstanding, prevents wasted work on the wrong problem, and makes handoff cleaner for another model, agent, or human.
task-brief
is also the sole creation entry point for
.agents/tasks/<task-id>/
. Once a brief is confirmed and the task is non-trivial enough to warrant persistence, this skill creates the task directory and writes the first journal entry. See "Creating a Task Directory" below.

将原始自然语言请求转换为结构化任务简报,让执行者无需阅读原始消息即可开展工作。
该Skill是任务规格标准化工具,核心作用是明确真实目标、定义完成标准,并将关键约束显性化。它不负责设计阶段的任务路由、任务分解、实施规划或执行工作。
其价值十分明确:一份优质简报能减少误解、避免在错误问题上浪费精力,并让任务在模型、Agent或人类之间的交接更顺畅。
task-brief
同时是创建
.agents/tasks/<task-id>/
目录的唯一入口。当简报确认通过且任务复杂度足以需要持久化时,该Skill会创建任务目录并写入第一条日志条目。详情见下文“创建任务目录”部分。

Core Responsibilities

核心职责

task-brief
should only:
  1. Restate the real user goal, not just the surface wording.
  2. Define the success criteria in observable terms.
  3. Capture the deliverables the task is expected to produce.
  4. Surface constraints that materially change execution.
  5. Record short assumptions when the user has left gaps.
  6. Ask at most one clarifying question when one critical unknown remains.
  7. Make one lightweight judgment about whether the task needs design work.
  8. After user confirmation, when persistence is warranted, create
    .agents/tasks/<task-id>/
    with a frozen
    brief.md
    and the first
    task_created
    journal entry.
task-brief
should not:
  • route the task between design skills
  • decompose the task into sub-tasks
  • draw dependency diagrams
  • write implementation steps
  • propose migration sequencing
  • default to codebase investigation just to sharpen the brief
If the real task is root-cause investigation, use
systematic-debugging
instead of turning
task-brief
into a debugging workflow.

task-brief
仅需完成以下工作:
  1. 重述用户的真实目标,而非仅停留在表面表述。
  2. 以可观测的术语定义成功标准。
  3. 明确任务预期产出的交付物。
  4. 梳理会实质性影响执行的约束条件。
  5. 记录用户未明确说明的简短假设。
  6. 当存在一个关键未知信息时,最多提出一个澄清问题。
  7. 对任务是否需要设计工作做出轻量级判断。
  8. 用户确认后,若任务需要持久化,创建
    .agents/tasks/<task-id>/
    目录,写入冻结的
    brief.md
    文件及第一条
    task_created
    日志条目。
task-brief
不得执行以下工作:
  • 在设计Skill之间路由任务
  • 将任务分解为子任务
  • 绘制依赖关系图
  • 编写实施步骤
  • 提出迁移顺序
  • 仅为优化简报而默认开展代码库调研
若真实任务是根因排查,请使用
systematic-debugging
,而非将
task-brief
转化为调试工作流。

When to Use

使用时机

Trigger on:
  • requests with multiple sub-goals or unclear priority order
  • requests that span domains (for example data + UI + API)
  • requests where the stated problem may not be the real problem
  • requests that will likely be handed off to another executor
  • requests where missing context would force high-impact assumptions
  • requests where the user explicitly asks for help clarifying the task itself
Do NOT trigger on:
  • single, unambiguous actions ("delete this function", "run the tests")
  • requests where the intent is already clear and the execution path is obvious
  • follow-up messages that only refine an existing task in progress
  • requests that explicitly ask for a design tree or design-stage decomposition
If in doubt, ask this question: can an executor start correctly from the brief alone? If yes, the brief is probably sufficient.

触发场景:
  • 包含多个子目标或优先级不明确的请求
  • 跨领域的请求(例如数据+UI+API)
  • 表述问题可能并非真实问题的请求
  • 可能转交给其他执行者的请求
  • 缺失上下文会导致高影响假设的请求
  • 用户明确要求帮助澄清任务本身的请求
请勿触发场景:
  • 单一、明确的操作(“删除这个函数”“运行测试”)
  • 意图清晰且执行路径明确的请求
  • 仅细化现有进行中任务的后续消息
  • 明确要求设计树或设计阶段分解的请求
若存在疑问,请自问:执行者仅通过简报能否正确启动任务?如果可以,说明简报已足够。

Complexity Tiers

复杂度层级

Classify the request into one of these tiers before writing the brief.
TierSignalResponse
DirectSingle goal, clear scope, no critical missing informationWrite a concise brief. Usually no design stage needed.
ClarifyOne critical unknown remains, or the stated goal may be inaccurateWrite the brief first, ask exactly one clarifying question, and keep the rest minimal.
StructuredMultiple goals, cross-domain context, or a handoff-friendly brief is neededWrite the full brief, but stop at the brief. Do not decompose or route inside this skill.
Clarify has three common sub-cases:
  • Missing parameter: you know the goal, but one detail is missing.
  • Ambiguous intent: the goal could reasonably mean two substantially different things.
  • Inaccurate goal: the user stated a solution, symptom, or oddly scoped target instead of the underlying goal.
For inaccurate goals, detect these signals:
  1. Solution-as-goal: the user names a technique ("add Redis caching") rather than the problem it solves.
  2. Symptom-as-goal: the user names an error state ("fix timeout errors") rather than the desired outcome.
  3. Scope anomaly: the stated scope looks unnaturally narrow or broad for the problem.
When one of those signals appears:
  • rewrite the
    User Goal
    around the best-guess underlying intent
  • mark that guess as an assumption
  • ask one clarifying question that confirms the real target
Do not default to codebase search just to sharpen the question. If the task is actually debugging, route to
systematic-debugging
.

撰写简报前,将请求归类为以下层级之一。
层级特征响应方式
直接型单一目标、范围明确、无关键信息缺失撰写简洁简报,通常无需设计阶段
澄清型存在一个关键未知信息,或表述目标可能不准确先撰写简报,仅提出一个明确的澄清问题,其余内容保持极简
结构化型多个目标、跨领域上下文,或需要便于交接的简报撰写完整简报,但仅停留在简报层面,不得在该Skill内进行任务分解或路由
澄清型包含三种常见子情况:
  • 缺失参数:明确目标,但缺少一个关键细节
  • 意图模糊:目标可被合理解释为两种截然不同的含义
  • 目标不准确:用户表述的是解决方案、症状或范围异常的目标,而非底层真实需求
针对目标不准确的情况,需识别以下信号:
  1. 以解决方案为目标:用户指定了技术手段(“添加Redis缓存”)而非要解决的问题
  2. 以症状为目标:用户描述了错误状态(“修复超时错误”)而非期望结果
  3. 范围异常:表述的范围相对于问题而言过窄或过宽
当出现上述任一信号时:
  • 围绕最可能的底层意图重写
    用户目标 (User Goal)
  • 将该猜测标记为假设
  • 提出一个确认真实目标的澄清问题
不要为优化问题而默认进行代码库搜索。若任务实际为调试,请路由至
systematic-debugging

Output: Task Brief

输出:任务简报

The task brief uses a two-tier visual structure when rendered to the user. The protocol field names (
User Goal
,
Success Criteria
,
Clarifying Question
,
Deliverables
,
Constraints
,
Assumptions
) are stable anchors — keep their wording exactly. Visual layout is render-only.
任务简报向用户展示时采用双层视觉结构。协议字段名(
用户目标 (User Goal)
完成标准 (Success Criteria)
澄清问题 (Clarifying Question)
交付物 (Deliverables)
约束条件 (Constraints)
假设 (Assumptions)
)为固定锚点,请严格保留其表述。视觉布局仅用于展示。

Render Rules

展示规则

  • No outer code block. Render the brief as plain markdown so headings, bold, and quote blocks display naturally.
  • Upper tier (the TL;DR) — what the executor needs to grasp in five seconds:
    • User Goal
      rendered as a quote block with the verb-led sentence(s) bolded:
      State the real intent in 1-2 sentences. Start with a verb.
    • Deliverables
      as a short bulleted list.
    • Clarifying Question
      (only when one is needed) prefixed with
      for visual salience.
  • Divider (
    ---
    ) separates the upper tier from the lower tier.
  • Lower tier (the rest) — context an executor consults as they work:
    • Success Criteria
      as bulleted observable checks.
    • Constraints
      as a flat bulleted list. Do not force
      Scope
      /
      Format
      /
      Risk
      /
      Other
      sub-categories; only break out a sub-label when the constraint is heterogeneous enough to need it.
    • Assumptions
      as a short bulleted list when the user left gaps.
    • Recommended next as one natural-language sentence stating whether to proceed directly, enter the design stage (with a brief reason), or pause for clarification.
  • Skip empty fields entirely. Do not render
    Assumptions:
    with "(none)" — omit the heading.
  • Do not render
    Task Type
    by default.
    It exists in the protocol as an anchor but adds little to the user view; surface it only when the executor genuinely needs to disambiguate.
  • 无需外层代码块:将简报渲染为纯Markdown格式,使标题、粗体和引用块自然显示
  • 上层(TL;DR):执行者需在5秒内掌握的核心信息:
    • 用户目标 (User Goal)
      渲染为引用块,其中动词开头的句子加粗:
      用1-2句动词开头的句子表述真实意图
    • 交付物 (Deliverables)
      以简短项目符号列表呈现
    • 澄清问题 (Clarifying Question)
      (仅在需要时)前缀
      以突出显示
  • 分隔线
    ---
    )分隔上层与下层内容
  • 下层(其余内容):执行者工作时查阅的上下文:
    • 完成标准 (Success Criteria)
      以可观测检查项的项目符号列表呈现
    • 约束条件 (Constraints)
      以扁平项目符号列表呈现。无需强制分为
      范围
      /
      格式
      /
      风险
      /
      其他
      子类别;仅当约束条件差异较大时才拆分子标签
    • 假设 (Assumptions)
      以简短项目符号列表呈现(仅当用户存在信息缺失时)
    • 下一步建议:用一句自然语言说明直接执行、进入设计阶段(附简短理由)或暂停等待澄清
  • 完全省略空字段:不要渲染
    假设:(无)
    ,直接省略该标题
  • 默认不渲染任务类型 (Task Type):该字段作为协议锚点存在,但对用户视图价值不大;仅当执行者确实需要区分时才展示

Bilingual rendering

双语渲染规则

Keep the field names canonical. In Chinese responses, render bilingual labels with Chinese first and the English literal in parentheses, e.g.,
**完成标准 (Success Criteria):**
. In English responses, render English only. Do not hardcode bilingual headings into examples below — they are reference templates, not the rendered output.
保留字段名的规范性。中文响应中,采用中文在前、英文在后(括号内)的双语标签,例如
**完成标准 (Success Criteria):**
。英文响应中仅显示英文。请勿将双语标题硬编码到以下示例中——示例为参考模板,并非最终渲染输出。

Reference template (canonical anchors)

参考模板(规范锚点)

> **<User Goal — verb-led, 1–2 sentences>**

**Deliverables:**
- <concrete artifact 1>
- <concrete artifact 2>

**❓ Clarifying Question:** <one question, only when one critical unknown remains>

---

**Success Criteria:**
- <observable signal 1>
- <observable signal 2>

**Constraints:**
- <constraint that materially changes execution>

**Assumptions:**
- <inference filling a user-left gap>

**Recommended next:** <one sentence — proceed directly | enter design stage (reason) | pause for clarification>

> **<用户目标 — 动词开头,1–2句话>**

**交付物 (Deliverables):**
- <具体产物1>
- <具体产物2>

**❓ 澄清问题 (Clarifying Question):** <仅当存在一个关键未知信息时提出一个问题>

---

**完成标准 (Success Criteria):**
- <可观测信号1>
- <可观测信号2>

**约束条件 (Constraints):**
- <会实质性影响执行的约束>

**假设 (Assumptions):**
- <填补用户信息缺失的推断>

**下一步建议:** <一句话说明 — 直接执行 | 进入设计阶段(理由) | 暂停等待澄清>

Compression Rules

压缩规则

These rules govern how to convert a raw message into the brief.
Keep:
  • the underlying goal
  • constraints that eliminate whole categories of solutions
  • domain context that changes the execution path
Remove:
  • filler phrases
  • repeated restatements of the same goal
  • reasoning the executor does not need to act
Convert (vague -> actionable):
  • "make it better" -> identify the dimension: performance, readability, UX, security
  • "something's wrong" -> specify observed vs. expected behavior
  • "soon" / "quickly" -> ask for a concrete deadline only if it affects approach
  • "the usual format" -> infer from context or mark it as an assumption
  • "add Redis to the API" -> ask what problem the user is trying to solve
When intent is ambiguous:
  • if two substantially different interpretations are plausible, surface both explicitly
  • ask one question that forces the choice
  • defer deliverables that depend on that choice rather than guessing
Don't over-correct:
  • preserve the user's framing when it carries real intent
  • do not invent goals or constraints the user did not imply
  • if uncertain whether a detail matters, keep it and mark it as an assumption

以下规则指导如何将原始消息转换为简报。
保留:
  • 底层真实目标
  • 排除整类解决方案的约束条件
  • 会改变执行路径的领域上下文
移除:
  • 填充性短语
  • 对同一目标的重复表述
  • 执行者无需知晓的推理过程
转换(模糊→可操作):
  • “让它更好” → 明确维度:性能、可读性、UX、安全性
  • “出问题了” → 明确观测到的行为与期望行为
  • “尽快” → 仅当截止日期影响方法时,询问具体期限
  • “常规格式” → 从上下文推断或标记为假设
  • “为API添加Redis” → 询问用户要解决的问题
当意图模糊时:
  • 若两种截然不同的解释均合理,需明确列出两种解释
  • 提出一个迫使用户做出选择的问题
  • 推迟依赖该选择的交付物,而非猜测
过度修正:
  • 当用户的表述承载真实意图时,保留其框架
  • 不要凭空添加用户未暗示的目标或约束
  • 若不确定某细节是否重要,保留并标记为假设

Creating a Task Directory

创建任务目录

After the brief stabilizes, decide whether to create a task directory at
.agents/tasks/<task-id>/
. This is the sole creation entry point for the task tree — other skills append journal entries but do not create the directory.
简报稳定后,决定是否在
.agents/tasks/<task-id>/
路径下创建任务目录。这是任务树的唯一创建入口——其他Skill可追加日志条目,但不得创建目录。

When to propose creation

提议创建的时机

Propose creation when any of the following holds:
  • the task is multi-step (more than one major action)
  • the task will produce a persistent artifact (design tree, plan, code branch, report)
  • the brief recommends entering the design stage
  • the user signals follow-up will continue across sessions
Do not propose creation when:
  • the task is a single trivial action (rename, typo fix, run a known command)
  • the user explicitly says they don't want a task record
  • the work is already attached to an existing task — append to that task's journal instead
当满足以下任一条件时,提议创建目录:
  • 任务为多步骤(包含多个主要操作)
  • 任务会产生持久化产物(设计树、计划、代码分支、报告)
  • 简报建议进入设计阶段
  • 用户表示后续将跨会话继续跟进任务
请勿提议创建目录的场景:
  • 任务为单一琐碎操作(重命名、修复拼写错误、运行已知命令)
  • 用户明确表示不需要任务记录
  • 工作已关联到现有任务——追加到该任务的日志即可

Confirmation gate

确认环节

After writing the brief, ask the user explicitly: "Should I create a task record at
.agents/tasks/<task-id>/
? Suggested slug:
<slug>
." Do not create silently.
撰写简报后,明确询问用户:“是否要在
.agents/tasks/<task-id>/
创建任务记录?建议别名:
<slug>
。”不得静默创建。

Slug strategy (Hybrid)

别名策略(混合式)

  • Propose a slug derived from the
    User Goal
    : ASCII kebab-case, ≤ 6 words, ≤ 60 characters.
  • If the user supplies their own slug, use the user's slug verbatim.
  • The user's slug always wins over the proposal — do not auto-edit it for "kebab-case correctness" if it's already legible.
  • 根据
    用户目标 (User Goal)
    生成别名:采用ASCII短横线命名法(kebab-case),最多6个单词,不超过60个字符
  • 若用户提供自定义别名,直接使用用户的别名
  • 用户的别名优先级高于提议——若别名已清晰可读,无需自动修正为“标准短横线格式”

Task ID format

任务ID格式

YYYY-MM-DD-<slug>-<rand>
where
<rand>
is two lowercase hex characters from
random.randint(0, 255)
. Re-roll on directory collision. Never reuse a deleted id's rand.
YYYY-MM-DD-<slug>-<rand>
,其中
<rand>
random.randint(0, 255)
生成的两位小写十六进制字符。若目录已存在则重新生成。不得复用已删除ID的随机码。

Atomic creation steps

原子创建步骤

When the user confirms:
  1. Create directory
    .agents/tasks/<task-id>/
    plus
    artifacts/
    subdirectory.
  2. Write
    brief.md
    with the brief content (the canonical anchored fields, no rendering decoration).
  3. Write the first journal entry to
    journal.md
    :
    ## <ISO8601> — task-brief
    task_created: brief.md
    slug derived from "<short reason>"
  4. Update
    .agents/tasks/.current
    to point at the new task id.
These four steps are a single conceptual unit — if any fails, undo the partial state before reporting back.
After creation,
brief.md
is frozen. Goal drift goes into journal entries with a
refined:
key. Do not edit
brief.md
again.
See
task-journal
for the convention these entries follow.

用户确认后:
  1. 创建
    .agents/tasks/<task-id>/
    目录及
    artifacts/
    子目录
  2. 写入
    brief.md
    文件,内容为简报(规范锚点字段,无展示装饰)
  3. journal.md
    写入第一条日志条目:
    ## <ISO8601> — task-brief
    task_created: brief.md
    slug derived from "<简短理由>"
  4. 更新
    .agents/tasks/.current
    文件,指向新任务ID
这四个步骤为一个整体概念单元——若任一步骤失败,需在反馈前撤销部分创建的状态。
创建完成后,
brief.md
将被冻结。目标变更需以
refined:
为键写入日志条目,不得再次编辑
brief.md
日志条目遵循
task-journal
约定。

Examples

示例

Example 1 — Direct

示例1 — 直接型

User input:
"Extract all TODO comments from the codebase and output them as a markdown list grouped by file."
Rendered brief:
Collect every TODO comment across the codebase and produce a readable markdown list grouped by file.
Deliverables:
  • Markdown list of TODO comments grouped by file, each entry with file path and line number

Success Criteria:
  • Output groups TODO entries by file
  • Each entry includes a line number
  • Output covers the entire repository
Constraints:
  • Output format: markdown
  • Scope: entire repository
Assumptions:
  • "TODO" matches the literal strings
    TODO
    or
    TODO:
Recommended next: Proceed directly with execution.
用户输入:
“从代码库中提取所有TODO注释,按文件分组以Markdown列表输出。”
渲染后的简报:
收集代码库中所有TODO注释,生成按文件分组的可读Markdown列表。
交付物 (Deliverables):
  • 按文件分组的TODO注释Markdown列表,每条包含文件路径和行号

完成标准 (Success Criteria):
  • 输出按文件分组TODO条目
  • 每条条目包含行号
  • 覆盖整个代码库
约束条件 (Constraints):
  • 输出格式:Markdown
  • 范围:整个代码库
假设 (Assumptions):
  • “TODO”匹配字面字符串
    TODO
    TODO:
下一步建议: 直接执行。

Example 2 — Clarify

示例2 — 澄清型

User input:
"I need to migrate our auth system to JWT. Can you help me figure out what needs to change?"
Rendered brief:
Identify what needs to change to migrate the current authentication system to JWT-based auth, before scoping the migration itself.
Deliverables:
  • Auth migration change brief covering affected components and migration target
❓ Clarifying Question: What does the current auth system use now — session cookies, a third-party identity provider, API keys, or something else?

Success Criteria:
  • Affected auth components are identified
  • Migration target is concrete enough to begin design or impact analysis
Constraints:
  • Scope is limited to authentication-related behavior
  • Do not assume a stateless-token migration path if the current system is session-based or third-party managed
Assumptions:
  • "JWT" means standard stateless tokens rather than JWE
Recommended next: Enter design stage. Reason: migration target depends on the current auth model and cross-cuts session handling and identity providers.
用户输入:
“我需要将我们的认证系统迁移到JWT。你能帮我梳理需要修改的内容吗?”
渲染后的简报:
明确将当前认证系统迁移到基于JWT的认证需要修改的内容,再确定迁移范围。
交付物 (Deliverables):
  • 认证迁移变更简报,涵盖受影响组件及迁移目标
❓ 澄清问题 (Clarifying Question): 当前认证系统使用的是什么——会话Cookie、第三方身份提供商、API密钥还是其他?

完成标准 (Success Criteria):
  • 识别出受影响的认证组件
  • 迁移目标足够具体,可启动设计或影响分析
约束条件 (Constraints):
  • 范围仅限于认证相关行为
  • 若当前系统基于会话或第三方托管,不要默认采用无状态令牌迁移路径
假设 (Assumptions):
  • “JWT”指标准无状态令牌,而非JWE
下一步建议: 进入设计阶段。理由:迁移目标取决于当前认证模型,且涉及会话处理和身份提供商。

Example 3 — Structured

示例3 — 结构化型

User input:
"Build me a dashboard that shows real-time sales data pulled from our Postgres DB, with a chart for daily revenue and a table for top 10 products. It should update every 30 seconds and be shareable via a link."
Rendered brief:
Build a shareable dashboard that displays live sales data from Postgres, including a daily revenue chart and a top-products table that refresh every 30 seconds.
Deliverables:
  • Live sales dashboard with daily revenue chart and top-10 products table
  • Shareable URL for accessing the dashboard
❓ Clarifying Question: Does "shareable via a link" mean publicly accessible without auth, or accessible only to authenticated users?

Success Criteria:
  • Dashboard shows daily revenue and top-10 products from live data
  • Dashboard refreshes every 30 seconds
  • Dashboard is reachable through a stable URL
Constraints:
  • Browser-based UI only
  • No database writes from the dashboard
  • No credential exposure in client-side code
Assumptions:
  • Postgres already exposes the fields needed for revenue aggregation and top-product ranking
Recommended next: Enter design stage. Reason: cross-domain scope (data layer, refresh strategy, access model) and unresolved access-control question.
用户输入:
“帮我做一个仪表盘,展示从Postgres数据库拉取的实时销售数据,包含每日收入图表和Top10产品表格。每30秒更新一次,可通过链接分享。”
渲染后的简报:
构建可分享的仪表盘,展示来自Postgres的实时销售数据,包含每日收入图表和每30秒刷新一次的Top10产品表格。
交付物 (Deliverables):
  • 包含每日收入图表和Top10产品表格的实时销售仪表盘
  • 访问仪表盘的可分享URL
❓ 澄清问题 (Clarifying Question): “可通过链接分享”是指无需认证即可公开访问,还是仅允许认证用户访问?

完成标准 (Success Criteria):
  • 仪表盘展示来自实时数据的每日收入和Top10产品
  • 仪表盘每30秒刷新一次
  • 仪表盘可通过稳定URL访问
约束条件 (Constraints):
  • 仅支持浏览器端UI
  • 仪表盘不得写入数据库
  • 客户端代码不得暴露凭证
假设 (Assumptions):
  • Postgres已提供收入聚合和Top产品排名所需的字段
下一步建议: 进入设计阶段。理由:跨领域范围(数据层、刷新策略、访问模型)且存在未解决的访问控制问题。

Example 4 — Ambiguous Intent

示例4 — 意图模糊

User input:
"Our API docs are a mess - can you help fix them?"
Rendered brief:
Improve the API documentation, but disambiguate between two materially different outcomes before any work begins: rewriting the documentation content vs. changing the documentation tooling or site structure.
Deliverables:
  • Deferred until the direction is confirmed
❓ Clarifying Question: Is the real problem the documentation content, or the tooling and presentation layer?

Success Criteria:
  • Intended direction is confirmed before work starts
Constraints:
  • Scope is limited to public API documentation
  • External developer experience may be affected by public doc changes
Assumptions:
  • "API docs" refers to developer-facing HTTP API documentation rather than internal notes
Recommended next: Pause for clarification. Reason: the two interpretations would lead to very different scopes and skill paths.
用户输入:
“我们的API文档一团糟——你能帮忙修复吗?”
渲染后的简报:
优化API文档,但需先明确两种截然不同的结果:重写文档内容,还是修改文档工具或站点结构。
交付物 (Deliverables):
  • 待方向确认后确定
❓ 澄清问题 (Clarifying Question): 核心问题是文档内容,还是工具和展示层?

完成标准 (Success Criteria):
  • 工作开始前确认预期方向
约束条件 (Constraints):
  • 范围仅限于公开API文档
  • 公开文档变更可能影响外部开发者体验
假设 (Assumptions):
  • “API文档”指面向开发者的HTTP API文档,而非内部笔记
下一步建议: 暂停等待澄清。理由:两种解释会导致截然不同的范围和Skill路径。

Example 5 — Inaccurate Goal

示例5 — 目标不准确

User input:
"Add Redis caching to our API endpoints."
Rendered brief:
Reduce API latency or backend load. Redis caching is the user's proposed technique, but the underlying goal is performance — the actual bottleneck has not been confirmed.
Deliverables:
  • Performance-problem brief that names the actual bottleneck
❓ Clarifying Question: What performance problem are you seeing right now — slow endpoints, high database load, or something else?

Success Criteria:
  • Real performance problem is identified
  • Task target is reframed around the actual bottleneck rather than a preselected technique
Constraints:
  • Scope is limited to API behavior
  • Do not assume caching is appropriate before the bottleneck is known
Assumptions:
  • The user wants better performance but has not confirmed where the bottleneck is
Recommended next: Pause for clarification. Reason: solution-as-goal — committing to Redis without the bottleneck is high-risk.

用户输入:
“为我们的API端点添加Redis缓存。”
渲染后的简报:
降低API延迟或后端负载。Redis缓存是用户提出的技术手段,但底层目标是性能优化——实际瓶颈尚未确认。
交付物 (Deliverables):
  • 性能问题简报,明确实际瓶颈
❓ 澄清问题 (Clarifying Question): 你当前遇到的性能问题是什么——端点响应慢、数据库负载高还是其他?

完成标准 (Success Criteria):
  • 识别出真实性能问题
  • 任务目标围绕实际瓶颈重新定义,而非预先选定的技术手段
约束条件 (Constraints):
  • 范围仅限于API行为
  • 在确认瓶颈前,不要默认缓存是合适的解决方案
假设 (Assumptions):
  • 用户希望提升性能,但尚未确认瓶颈位置
下一步建议: 暂停等待澄清。理由:以解决方案为目标——在未明确瓶颈的情况下采用Redis风险较高。

Acceptance Criteria

验收标准

A good task brief passes these checks:
  1. Standalone: an executor can start correctly from the brief alone, or knows the one question that must be answered first.
  2. Intent-preserving: the
    User Goal
    captures what the user actually wants, not just what they said.
  3. Constraint-complete: missing any included constraint would materially risk wrong-path execution.
  4. Non-padded: the brief stays short when the task is simple. Empty fields are omitted entirely.
  5. Actionable deliverables: each deliverable is a concrete artifact or outcome.
  6. Goal-honest: the brief reframes solution-as-goal and symptom-as-goal requests honestly.
  7. Scope-clean: the brief does not drift into design routing, decomposition, or implementation planning.
  8. Single-question discipline: when clarification is needed, the brief asks one focused question, not a questionnaire.
  9. Creation discipline: a task directory is created only after the user confirms, with a slug they accepted or supplied.
A brief is not useful if:
  • it restates the user's message in different words without adding clarity
  • it introduces goals or constraints the user did not imply
  • it turns a simple request into a long clarification session
  • it drifts into design trees, sub-task decomposition, or implementation plans
  • it creates a task directory silently or against the user's wishes
优质任务简报需通过以下检查:
  1. 独立性:执行者仅通过简报即可正确启动任务,或知晓必须先回答的一个问题
  2. 意图保真
    用户目标 (User Goal)
    捕捉用户真实需求,而非字面表述
  3. 约束完整:遗漏任一包含的约束条件会实质性增加执行错误路径的风险
  4. 无冗余:任务简单时简报保持简洁,空字段完全省略
  5. 交付物可操作:每个交付物为具体产物或结果
  6. 目标诚实:如实重构以解决方案或症状为目标的请求
  7. 范围清晰:简报不涉及设计路由、任务分解或实施规划
  8. 单一问题原则:需要澄清时仅提出一个聚焦的问题,而非一系列问题
  9. 创建规范:仅在用户确认后创建任务目录,且使用用户接受或提供的别名
以下情况的简报无价值:
  • 仅用不同措辞重述用户消息,未增加清晰度
  • 添加用户未暗示的目标或约束
  • 将简单请求转化为冗长的澄清流程
  • 涉及设计树、子任务分解或实施计划
  • 静默创建任务目录或违背用户意愿创建