quick

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<objective> Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking). Same system, shorter path: - Spawns gsd-planner (quick mode) + gsd-executor(s) - Quick tasks live in `.planning/quick/` separate from planned phases - Updates STATE.md "Quick Tasks Completed" table (NOT ROADMAP.md)
Default: Skips research, discussion, plan-checker, verifier. Use when you know exactly what to do.
--discuss
flag:
Lightweight discussion before planning. Surfaces assumptions, captures decisions in CONTEXT.md. Use when the task has ambiguity worth resolving upfront.
--full
flag:
Complete quality pipeline — discussion + research + plan-checking + verification.
--validate
flag:
Plan-checking (max 2 iterations) and post-execution verification only. Quality guarantees without discussion or research.
--research
flag:
Spawns a focused research agent before planning. Investigates approaches, library options, and pitfalls. Use when unsure of the best approach.
Granular flags are composable:
--discuss --research --validate
equals
--full
.
Subcommands:
  • list
    — List all quick tasks with status
  • status <slug>
    — Show status of a specific quick task
  • resume <slug>
    — Resume a specific quick task by slug </objective>
<execution_context> @${CLAUDE_PLUGIN_ROOT}/workflows/quick.md </execution_context>
<context> $ARGUMENTS
Context files are resolved inside the workflow (
init quick
) and delegated via
<files_to_read>
blocks. </context>
<process>
Parse $ARGUMENTS for subcommands FIRST:
  • If $ARGUMENTS starts with "list": SUBCMD=list
  • If $ARGUMENTS starts with "status ": SUBCMD=status, SLUG=remainder (strip whitespace, sanitize)
  • If $ARGUMENTS starts with "resume ": SUBCMD=resume, SLUG=remainder (strip whitespace, sanitize)
  • Otherwise: SUBCMD=run, pass full $ARGUMENTS to the quick workflow as-is
Slug sanitization (for status and resume): Strip any characters not matching
[a-z0-9-]
. Reject slugs longer than 60 chars or containing
..
or
/
. If invalid, output "Invalid session slug." and stop.
<objective> 执行具备GSD保障(原子提交、STATE.md跟踪)的小型临时任务。使用同一系统,流程更简洁: - 启动gsd-planner(快速模式)+ gsd-executor(s) - 快速任务存储在`.planning/quick/`目录下,与规划阶段分开 - 更新STATE.md中的“已完成快速任务”表格(不更新ROADMAP.md)
默认设置: 跳过调研、讨论、计划检查器、验证器。当你明确知道要执行的操作时使用此模式。
--discuss
参数:
规划前进行轻量级讨论。梳理假设前提,将决策记录在CONTEXT.md中。当任务存在需要提前解决的歧义时使用。
--full
参数:
完整质量流程 —— 讨论 + 调研 + 计划检查 + 验证。
--validate
参数:
仅执行计划检查(最多2次迭代)和执行后验证。无需讨论或调研即可获得质量保障。
--research
参数:
规划前启动聚焦型调研Agent。研究实现方案、库选项和潜在陷阱。当你不确定最佳方案时使用。
细粒度参数可组合使用:
--discuss --research --validate
等效于
--full
子命令:
  • list
    —— 列出所有快速任务及其状态
  • status <slug>
    —— 显示特定快速任务的状态
  • resume <slug>
    —— 通过slug恢复特定快速任务 </objective>
<execution_context> @${CLAUDE_PLUGIN_ROOT}/workflows/quick.md </execution_context>
<context> $ARGUMENTS
上下文文件在工作流(
init quick
)中解析,并通过
<files_to_read>
块进行委托。 </context>
<process>
首先解析$ARGUMENTS中的子命令:
  • 如果$ARGUMENTS以"list"开头:SUBCMD=list
  • 如果$ARGUMENTS以"status "开头:SUBCMD=status,SLUG=剩余部分(去除空格、清理格式)
  • 如果$ARGUMENTS以"resume "开头:SUBCMD=resume,SLUG=剩余部分(去除空格、清理格式)
  • 否则:SUBCMD=run,将完整的$ARGUMENTS直接传递给快速工作流
Slug清理规则(适用于status和resume子命令): 移除所有不匹配
[a-z0-9-]
的字符。拒绝长度超过60字符或包含
..
/
的slug。如果slug无效,输出"Invalid session slug."并停止执行。

LIST subcommand

LIST子命令

When SUBCMD=list:
bash
ls -d .planning/quick/*/  2>/dev/null
For each directory found:
  • Check if PLAN.md exists
  • Check if SUMMARY.md exists; if so, read
    status
    from its frontmatter via:
    bash
    bm-sdk query frontmatter.get .planning/quick/{dir}/SUMMARY.md status 2>/dev/null
  • Determine directory creation date:
    stat -f "%SB" -t "%Y-%m-%d"
    (macOS) or
    stat -c "%w"
    (Linux); fall back to the date prefix in the directory name (format:
    YYYYMMDD-
    prefix)
  • Derive display status:
    • SUMMARY.md exists, frontmatter status=complete →
      complete ✓
    • SUMMARY.md exists, frontmatter status=incomplete OR status missing →
      incomplete
    • SUMMARY.md missing, dir created <7 days ago →
      in-progress
    • SUMMARY.md missing, dir created ≥7 days ago →
      abandoned? (>7 days, no summary)
SECURITY: Directory names are read from the filesystem. Before displaying any slug, sanitize: strip non-printable characters, ANSI escape sequences, and path separators using:
name.replace(/[^\x20-\x7E]/g, '').replace(/[/\\]/g, '')
. Never pass raw directory names to shell commands via string interpolation.
Display format:
Quick Tasks
────────────────────────────────────────────────────────────
slug                           date        status
backup-s3-policy               2026-04-10  in-progress
auth-token-refresh-fix         2026-04-09  complete ✓
update-node-deps               2026-04-08  abandoned? (>7 days, no summary)
────────────────────────────────────────────────────────────
3 tasks (1 complete, 2 incomplete/in-progress)
If no directories found: print
No quick tasks found.
and stop.
STOP after displaying the list. Do NOT proceed to further steps.
当SUBCMD=list时:
bash
ls -d .planning/quick/*/  2>/dev/null
对于每个找到的目录:
  • 检查PLAN.md是否存在
  • 检查SUMMARY.md是否存在;如果存在,通过以下命令从其前置元数据中读取
    status
    bash
    bm-sdk query frontmatter.get .planning/quick/{dir}/SUMMARY.md status 2>/dev/null
  • 确定目录创建日期:使用
    stat -f "%SB" -t "%Y-%m-%d"
    (macOS)或
    stat -c "%w"
    (Linux);如果失败,回退到目录名称中的日期前缀(格式:
    YYYYMMDD-
    前缀)
  • 推导显示状态:
    • SUMMARY.md存在,前置元数据status=complete →
      complete ✓
    • SUMMARY.md存在,前置元数据status=incomplete或status缺失 →
      incomplete
    • SUMMARY.md缺失,目录创建时间<7天 →
      in-progress
    • SUMMARY.md缺失,目录创建时间≥7天 →
      abandoned? (>7 days, no summary)
安全注意: 目录名称从文件系统读取。在显示任何slug之前,进行清理:使用
name.replace(/[^\x20-\x7E]/g, '').replace(/[/\\]/g, '')
移除不可打印字符、ANSI转义序列和路径分隔符。永远不要通过字符串插值将原始目录名称传递给shell命令。
显示格式:
Quick Tasks
────────────────────────────────────────────────────────────
slug                           date        status
backup-s3-policy               2026-04-10  in-progress
auth-token-refresh-fix         2026-04-09  complete ✓
update-node-deps               2026-04-08  abandoned? (>7 days, no summary)
────────────────────────────────────────────────────────────
3 tasks (1 complete, 2 incomplete/in-progress)
如果未找到任何目录:打印
No quick tasks found.
并停止执行。
显示列表后停止,不要继续执行后续步骤。

STATUS subcommand

STATUS子命令

When SUBCMD=status and SLUG is set (already sanitized):
Find directory matching
*-{SLUG}
pattern:
bash
dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
If no directory found, print
No quick task found with slug: {SLUG}
and stop.
Read PLAN.md and SUMMARY.md (if exists) for the given slug. Display:
Quick Task: {slug}
─────────────────────────────────────
Plan file: .planning/quick/{dir}/PLAN.md
Status: {status from SUMMARY.md frontmatter, or "no summary yet"}
Description: {first non-empty line from PLAN.md after frontmatter}
Last action: {last meaningful line of SUMMARY.md, or "none"}
─────────────────────────────────────
Resume with: /gsd:quick resume {slug}
No agent spawn. STOP after printing.
当SUBCMD=status且SLUG已设置(已完成清理)时:
查找匹配
*-{SLUG}
模式的目录:
bash
dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
如果未找到目录,打印
No quick task found with slug: {SLUG}
并停止执行。
读取对应slug的PLAN.md和SUMMARY.md(如果存在)。显示内容:
Quick Task: {slug}
─────────────────────────────────────
Plan file: .planning/quick/{dir}/PLAN.md
Status: {来自SUMMARY.md前置元数据的status,或"no summary yet"}
Description: {PLAN.md前置元数据后的第一非空行}
Last action: {SUMMARY.md的最后有意义行,或"none"}
─────────────────────────────────────
Resume with: /gsd:quick resume {slug}
不启动Agent,打印后停止执行。

RESUME subcommand

RESUME子命令

When SUBCMD=resume and SLUG is set (already sanitized):
  1. Find the directory matching
    *-{SLUG}
    pattern:
    bash
    dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
  2. If no directory found, print
    No quick task found with slug: {SLUG}
    and stop.
  3. Read PLAN.md to extract description and SUMMARY.md (if exists) to extract status.
  4. Print before spawning:
    [quick] Resuming: .planning/quick/{dir}/
    [quick] Plan: {description from PLAN.md}
    [quick] Status: {status from SUMMARY.md, or "in-progress"}
  5. Load context via:
    bash
    bm-sdk query init.quick
  6. Proceed to execute the quick workflow with resume context, passing the slug and plan directory so the executor picks up where it left off.
当SUBCMD=resume且SLUG已设置(已完成清理)时:
  1. 查找匹配
    *-{SLUG}
    模式的目录:
    bash
    dir=$(ls -d .planning/quick/*-{SLUG}/ 2>/dev/null | head -1)
  2. 如果未找到目录,打印
    No quick task found with slug: {SLUG}
    并停止执行。
  3. 读取PLAN.md以提取描述信息,读取SUMMARY.md(如果存在)以提取状态信息。
  4. 启动前打印:
    [quick] Resuming: .planning/quick/{dir}/
    [quick] Plan: {来自PLAN.md的描述}
    [quick] Status: {来自SUMMARY.md的状态,或"in-progress"}
  5. 通过以下命令加载上下文:
    bash
    bm-sdk query init.quick
  6. 继续执行带有恢复上下文的快速工作流,传递slug和计划目录,以便执行器从上次中断处继续。

RUN subcommand (default)

RUN子命令(默认)

When SUBCMD=run:
Execute the quick workflow from @${CLAUDE_PLUGIN_ROOT}/workflows/quick.md end-to-end. Preserve all workflow gates (validation, task description, planning, execution, state updates, commits).
</process>
<output_format> When the quick task completes (SUMMARY.md written, STATE.md updated), emit a Next Up continuation block following the pattern in
references/continuation-format.md
:
  • Show completion status (e.g.,
    ## ✓ Quick Task Complete — {slug}
    )
  • Brief one-line recap of what shipped (file count + commit hash)
  • Emit a
    ## ▶ Next Up
    heading suggesting the next likely action (often
    /gsd:next
    or returning to a paused phase)
  • Use
    `/clear` then:
    before the command only for quick tasks that ran for >5 tool calls or >10 minutes — short trivial tasks don't accumulate enough context to warrant a clear
  • When
    /clear
    IS suggested, include the parenthetical: (
    /clear
    is safe —
    /gsd:resume-work
    restores position from
    HANDOFF.json
    if you change your mind)
  • Unfinished-UAT breadcrumb: a quick task is a common detour from a UAT (a bug surfaced mid-verification). Apply rule 8 of
    references/continuation-format.md
    — if any phase has a
    testing
    /
    partial
    UAT, lead with
    ↩ Resume UAT for Phase {N}: /gsd:verify-work {N}
    ABOVE the Next-Up, so the interrupted verification is not silently abandoned. </output_format>
<notes> - Quick tasks live in `.planning/quick/` — separate from phases, not tracked in ROADMAP.md - Each quick task gets a `YYYYMMDD-{slug}/` directory with PLAN.md and eventually SUMMARY.md - STATE.md "Quick Tasks Completed" table is updated on completion - Use `list` to audit accumulated tasks; use `resume` to continue in-progress work </notes>
<security_notes>
  • Slugs from $ARGUMENTS are sanitized before use in file paths: only [a-z0-9-] allowed, max 60 chars, reject ".." and "/"
  • File names from readdir/ls are sanitized before display: strip non-printable chars and ANSI sequences
  • Artifact content (plan descriptions, task titles) rendered as plain text only — never executed or passed to agent prompts without DATA_START/DATA_END boundaries
  • Status fields read via
    bm-sdk query frontmatter.get
    — never eval'd or shell-expanded </security_notes>
当SUBCMD=run时:
从@${CLAUDE_PLUGIN_ROOT}/workflows/quick.md端到端执行快速工作流。 保留所有工作流关卡(验证、任务描述、规划、执行、状态更新、提交)。
</process>
<output_format> 当快速任务完成(已写入SUMMARY.md、已更新STATE.md)时,按照
references/continuation-format.md
中的模式输出Next Up延续块:
  • 显示完成状态(例如:
    ## ✓ Quick Task Complete — {slug}
  • 一行简短的成果回顾(文件数量 + 提交哈希)
  • 输出
    ## ▶ Next Up
    标题,建议下一个可能的操作(通常是
    /gsd:next
    或回到暂停的阶段)
  • 仅当快速任务运行超过5次工具调用或10分钟时,在命令前使用**
    `/clear` then:
    ** —— 简短的琐碎任务不会积累足够的上下文,无需清理
  • 当建议使用
    /clear
    时,添加括号说明:(
    /clear
    is safe —
    /gsd:resume-work
    restores position from
    HANDOFF.json
    if you change your mind)
  • 未完成UAT提示: 快速任务通常是从UAT(验证过程中出现bug)中临时分出的任务。应用
    references/continuation-format.md
    中的规则8 —— 如果任何阶段存在
    testing
    /
    partial
    UAT,在Next-Up上方先显示
    ↩ Resume UAT for Phase {N}: /gsd:verify-work {N}
    ,避免中断的验证被忽略。 </output_format>
<notes> - 快速任务存储在`.planning/quick/`目录下 —— 与阶段分开,不在ROADMAP.md中跟踪 - 每个快速任务对应一个`YYYYMMDD-{slug}/`目录,包含PLAN.md和最终生成的SUMMARY.md - 任务完成时更新STATE.md中的“已完成快速任务”表格 - 使用`list`查看所有积累的任务;使用`resume`继续进行中的工作 </notes>
<security_notes>
  • 来自$ARGUMENTS的slug在用于文件路径前会被清理:仅允许[a-z0-9-]字符,最大长度60字符,拒绝".."和"/"
  • 从readdir/ls获取的文件名在显示前会被清理:移除不可打印字符和ANSI序列
  • 工件内容(计划描述、任务标题)仅以纯文本形式呈现 —— 永远不会被执行,或在没有DATA_START/DATA_END边界的情况下传递给Agent提示
  • 通过
    bm-sdk query frontmatter.get
    读取状态字段 —— 永远不会被求值或通过shell展开 </security_notes>