gm-continue
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesegm-continue
gm-continue
This is the only allowed next step when a walk reaches . Never end that turn with prose alone -- dispatch this skill instead, every time, no exceptions for "it looks finished."
gmphase=COMPLETE AND prd_pending_count=0This skill itself has exactly two allowed ways to end, and no others. (1) Dispatch with the remaining PRD rows (found reachable work, or reopened an / row, or this is the first confirming pass this session) -- then runs and, when it reaches COMPLETE again, calls back into this same skill. (2) Confirm there are no remaining PRD rows and none can be added -- a real, witnessed check (steps 2-4 below actually run, not assumed), not a feeling of "probably done." There is no third path: no prose-only stop that isn't outcome (2), no deferring to the user to decide whether to continue, no partial confirmation. Every dispatch of this skill lands in exactly one of these two states before the turn ends.
Skill(skill="gm")externalout-of-reachgm当流程进入状态时,这是唯一允许执行的下一步操作。绝对不要仅用文字结束当前轮次——请务必调用此skill,哪怕看起来已经完成也不能例外。
gmphase=COMPLETE AND prd_pending_count=0此skill仅有两种允许的结束方式,无其他可能。 (1) 调用并传入剩余PRD条目(包括发现可处理的工作、重新开启/条目,或是本次会话的首次确认流程)——执行后,当再次进入COMPLETE状态时,会回调此skill。(2) 确认没有剩余PRD条目且无法添加新条目——这必须是真实、经过验证的检查(需实际执行以下步骤2-4,而非主观假设),不能仅凭“大概完成了”的感觉判断。不存在第三种路径:不允许出现非结果(2)的纯文字终止、不允许将是否继续的决定权交给用户、不允许部分确认。每次调用此skill,在轮次结束前都会进入这两种状态中的一种。
Skill(skill="gm")externalout-of-reachgmWhat this skill does
此skill的功能
- Read for the current
.gm/exec-spool/.turn-summary.json,phase, and how many times this repo has already round-tripped throughprd_pendingthis session (track via a counter file, see below).gm-continue - Read and
.gm/prd.ymldirectly for any row marked.gm/mutables.yml/blockedBy: [external]or otherwise deferred. A prior[out-of-reach]/externalmarking is not a closed door -- it is remaining work by definition. Re-examine each one now: is the blocker still genuinely unreachable this turn, or was it marked that way under time/scope pressure when it was actually solvable? Anything reachable now goes back into scope, re-out-of-reach'd (re-scope the existing id, never delete-and-re-add) as work to actually solve, not left marked external.prd-add - Fan out +
codesearchagainst the ORIGINAL request's full closure, not against memory of what was already done -- a fresh look, same discipline asrecall's own PLAN orient. 3a. Re-read the user's literal words from this turn, then exercise the live system now to check the shipped behavior against them. No test file, prior PRDgmmark, or recollection of the fix counts as evidence --witnessedonly proves no row is open, not that closed rows match what was actually asked, and a row resolved in the same pass as its own check can share that check's misreading. Run the real path the user would use and read the real output. Any mismatch is remaining work,prd_pending_count=0'd fresh.prd-add - If has ANY items at all (pending, or reopened
.gm/prd.ymlrows from step 2), that alone is remaining work -- skip straight to the dispatch below, no further search needed.external - Two outcomes, decided by what steps 2-4 actually find:
- Real remaining work found (any PRD item at all, a reopened external/out-of-reach row, an unaddressed noun from the request, an edge case never exercised, a residual never triaged, a sibling repo never checked): dispatch and instruct it explicitly to finish ALL remaining tasks in
Skill(skill="gm")and fix any issues that arise while doing so -- not a narrow slice, not "just the reopened ones." Tell it plainly what was found so it lands directly in PLAN with real rows, not a blind re-orient..gm/prd.yml - Nothing found, but this is the first dispatch this session: dispatch
gm-continueanyway, once, to let a full independent PLAN pass confirm it from insideSkill(skill="gm")'s own discipline (freshgm/codesearch,recallreached with nothing new added). That confirming turn insideprd_pending_count=0is the actual stopping point -- prose-only is earned there, not here.gm - Nothing found, and already ran that confirming pass this session (counter >= 1): the loop is closed. Prose-only summary is authorized. Do not dispatch anything further.
gm-continue
- Real remaining work found (any PRD item at all, a reopened external/out-of-reach row, an unaddressed noun from the request, an edge case never exercised, a residual never triaged, a sibling repo never checked): dispatch
- 读取文件,获取当前
.gm/exec-spool/.turn-summary.json、phase状态,以及本次会话中该仓库通过prd_pending进行往返的次数(通过计数器文件跟踪,详见下文)。gm-continue - 直接读取和
.gm/prd.yml文件,查找所有标记为.gm/mutables.yml/blockedBy: [external]或已延期的条目。此前标记的[out-of-reach]/external并非最终结论——根据定义,这些仍属于未完成的工作。 现在重新检查每一条目:当前轮次中阻碍因素是否真的无法解决?还是因为时间/范围压力被标记为不可解决,但实际是可以处理的?任何当前可处理的条目都应重新纳入范围,通过re-out-of-reach操作(重新调整现有id的范围,切勿删除后重新添加)标记为待解决工作,而非保留external标记。prd-add - 针对原始请求的完整范围执行+
codesearch操作,而非依赖已完成工作的记忆——这是全新的检查,遵循与recall自身PLAN阶段相同的规则。 3a. 重新读取用户当前轮次的字面表述,然后在实时系统中验证已交付的行为是否符合要求。 测试文件、PRD中之前的gm标记、对修复内容的记忆都不能作为证据——witnessed仅证明没有未关闭的条目,不代表已关闭的条目符合用户实际需求,且在同一流程中解决并检查的条目可能存在检查失误。请运行用户实际会使用的路径并查看真实输出。任何不符之处都属于未完成工作,需通过prd_pending_count=0添加新条目。prd-add - 若中存在任何条目(待处理条目,或步骤2中重新开启的
.gm/prd.yml条目),即说明存在未完成工作——直接跳转到下文的调用步骤,无需进一步搜索。external - 根据步骤2-4的实际结果,会产生两种结局:
- 发现真实未完成工作(任何PRD条目、重新开启的external/out-of-reach条目、请求中未处理的内容、未测试的边缘情况、未分类的残留问题、未检查的关联仓库):调用,并明确指示其完成
Skill(skill="gm")中的所有剩余任务,同时解决执行过程中出现的任何问题——不要局限于某一部分,也不要仅处理“重新开启的条目”。清晰告知发现的内容,使其直接进入PLAN阶段处理真实条目,而非盲目重新定位。.gm/prd.yml - 未发现工作,但本次会话首次调用:无论如何都要调用一次
gm-continue,让其通过完整独立的PLAN流程,在自身规则内进行确认(全新的Skill(skill="gm")/codesearch操作,达到recall且未添加新条目)。prd_pending_count=0内部的这次确认轮次才是真正的终止点——只有此时才允许用纯文字结束,而非在此处。gm - 未发现工作,且已完成本次会话的确认流程(计数器>=1):循环结束。允许使用纯文字总结。无需再调用任何内容。
gm-continue
- 发现真实未完成工作(任何PRD条目、重新开启的external/out-of-reach条目、请求中未处理的内容、未测试的边缘情况、未分类的残留问题、未检查的关联仓库):调用
When to load wfgy-method
instead of gm
wfgy-methodgm何时加载wfgy-method
而非gm
wfgy-methodgmIf a prior walk reached COMPLETE but the same class of gap keeps recurring across repeat invocations (the confirming pass itself found new work more than once, or a stuck-loop-escalation was seen during the walk), dispatch instead of reloading directly. Apply its BBCR bounded-retry-then-surface discipline first -- checkpoint, name the unresolved tension, surface it plainly -- before any further re-entry. Reloading blind into a recurring gap repeats the same failure; exists to break that specific pattern.
gmgm-continueSkill(skill="wfgy-method")gmgmgmwfgy-method若之前的流程已进入COMPLETE状态,但在多次调用后,同类问题持续出现(确认流程本身多次发现新工作,或流程中出现循环停滞升级),则应调用而非直接重新加载。在再次进入之前,先应用其BBCR(有限重试后暴露问题)规则——创建检查点、明确未解决的问题、清晰暴露问题。盲目重新加载进入重复出现的问题会导致同样的失败;的存在正是为了打破这种特定模式。
gmgm-continueSkill(skill="wfgy-method")gmgmgmwfgy-methodRecursion bound
递归限制
Track invocation count in (plain integer, reset by a fresh user prompt). This skill dispatches or at most twice per user turn before it is required to stop and report to the user directly: once to check, once more only if that check found real work and the subsequent walk needs its own confirming pass. A third consecutive "nothing new, re-check again" cycle is itself the stuck-loop signal -- surface it, do not keep looping silently.
.gm/.gm-continue-countgmwfgy-methodgmgm-continue调用次数记录在文件中(纯整数,用户新发起请求时重置)。此skill在每个用户轮次中最多调用或两次,之后必须停止并直接向用户报告:一次用于检查,仅当检查发现真实工作且后续流程需要自身的确认流程时,才进行第二次调用。连续第三次出现“未发现新内容,重新检查”的循环本身就是循环停滞的信号——应暴露该问题,切勿继续静默循环。
.gm/.gm-continue-countgmwfgy-methodgmgm-continueNever a substitute for gm
gm切勿替代gm
gmThis skill does no PRD work, no EXECUTE, no EMIT, no VERIFY itself -- it only orients, decides, and hands off. All actual work happens inside (or 's recovery discipline), dispatched via , never inlined here.
gmwfgy-methodSkill此skill自身不执行任何PRD工作、不进行EXECUTE、EMIT或VERIFY操作——仅负责定位、决策和交接。所有实际工作都在(或的恢复规则)内部完成,通过调用,绝不会在此处内联执行。
gmwfgy-methodSkill