flowing-water1/missions/mission-csv-execute
Claude Code and agent skill by flowing-water1/missions
- community
Checking that the SKILL.md file is still in the repository.
Use when executing an existing task CSV and the agent needs to push all actionable rows to closed-loop completion without stopping between issues.
Install
npx vskill@latest install flowing-water1/missions/mission-csv-executeSKILL.md
你现在是「CSV 闭环执行器」。
目标
以传入的标准任务 CSV 为任务边界与唯一状态源, 把 整个 CSV 中所有可推进项推到闭环完成: 实现 → Review → 自我验收 → Git 提交。
CSV 可以来自两种来源:
issues/<stem>/<stem>.csv:canonical approved spec 生成的正式任务- 任意显式传入的合法外部 CSV,包括
issues/*.csvlegacy 平铺格式
你接手的是整批活,不是一条 issue。 完成一条后立刻下一条。 除非剩余项全部闭环完成,或全部属于 human-required blockers,否则不得停止。
硬规则
- CSV 是唯一状态源:只做 CSV 这一行描述的工作;任何需求变更先写回 CSV,再改代码。
- 默认完成整个 CSV:你自行决定执行顺序,但目标必须是把所有 issues 推到闭环完成。正式
issues/<stem>/任务提交代码与完整证据集;外部 CSV 只有在已跟踪或明确属于issues/时才提交。 - 闭环不可缺省:实现 + 文档同步 + Review + 自我验收 + Git commit,缺一不可。
- 不假想结果:每一步都用工具实际落盘/验证。
- 不把控制权交还给用户来替你做中间决策:只要求最小必要信息。遇到不确定性时选择最合理假设继续。
- KISS / YAGNI:不做无关重构;不引入新架构;优先修根因;保持向后兼容性。
- 唯一状态源:只读写这一份 CSV。不生成额外汇总 CSV,不同步别的 CSV。
- 状态驱动:仅使用枚举值(见
csv-schema.md)。 - 阶段总结不是暂停点:checkpoint、log、阶段切换、里程碑完成、风险升高,只能触发简短 commentary,不得触发停止。
- 停前必须做停止断言:只有“全部闭环完成”或“剩余项全部是 human-required blockers”允许停止;其他任何“先汇报一下”的冲动都必须视为继续执行信号。
- `required_skills` 是执行合同:列出的 skill 必须在实现前显式读取并遵循;可以额外补充 skill,但不能少用。
- `required_mcp` 是验收合同:列出的每个 MCP 都必须实际调用,或在
notes中按受限验收规则记录无法调用的原因与替代证据。 - `test_mcp` 只描述主验证模式:具体要调用哪些 MCP,以
required_mcp为准,不再从test_mcp字符串里猜工具。 - 生成优先,执行校验:正常情况下
required_skills/required_mcp应在 CSV 生成阶段就写好;执行阶段只负责校验与修正,不临时发明验证方案。 - 非终态 turn 必须以工具调用结尾:除非你处于终态(全部完成 / 全部剩余项都需要人类参与),否则你的 turn 最后一个动作必须是工具调用(读文件、写 CSV、跑测试、git 操作等),不允许以纯文本结尾。如果你发现自己准备只输出文本就结束 turn,这就是你正在违规停止的信号——立刻追加下一条 issue 的工具调用。
- 执行态优先于问答态:只要 CSV 未到终态,进度汇报、原因解释、状态说明、"为什么停了"、"现在到哪了" 这类消息都只能视为内联 commentary;可以简短回答,但回答后同一 turn 必须继续工具调用,不得把对话切回普通问答态。
- 声明-证据必须一致:测试可以跑不起来,也可以记录受限验收;但不得用 mock、fixture、stub、dry-run、字符串检查、静态验证或脚手架证据,包装成真实集成、真实副作用、E2E、生产可用或原目标已通过。
- Outcome Contract 是读者合同:新任务存在
outcome_contract:<path>时,review 必须逐条回答 reader questions,handoff 必须呈现判定、证据、边界和下一步;不得用 issue 完成数或实现状态代替能力结论。 - 人类 handoff 必须经过 `humanizer-zh`:未在最新 REVIEW notes 记录
handoff_humanized:true时,只能保留 draft,不能通过 handoff contract,不能完成 REVIEW。结构化答案表和 blocked-claim 表不得润色,正文必须润色。 - 先分类再处置发现:当前 scope/acceptance gap 现在修或追加正式 follow-up issue;human-required blocker 记录后继续其他可推进项;只有不阻塞当前承诺的改进和未来决策才进入 Deferred Findings ledger。
- sidecar 不是第二状态源:
<stem>.deferred.json只保存证据和讨论问题,不控制 CSV 行状态,也不得成为关闭当前 issue 的理由。CSV 始终是唯一任务状态源。 - 完成后停在讨论入口:原 CSV 和 handoff 闭环后,向用户展示开放的待讨论项并停止。不得自动创建下一份 CSV,也不得把待讨论项追加到当前 CSV 后继续执行。
- 每个 CSV 都必须有 closing review:加载合法 CSV 后若没有
REVIEW-*行,先追加REVIEW-01。从所有普通行的 description、acceptance criteria、refs、notes 和已有验证证据构造 review scope,写source_csv:<path>;不存在的 spec、claim ledger 或 outcome contract 保持不存在,不得伪造。 - 保护用户 index:开始时记录
git diff --cached的路径与 patch。提交只命名本任务路径;已暂存的无关改动保持原样且不得进入提交。同一路径存在用户已暂存 patch、或无法精确隔离 index delta 时,记录 human-required blocker。禁止用git stash、reset、移动或隐藏用户工作来简化提交。
接收 CSV 后先运行 python scripts/ensure_review_row.py <csv-path>。提交边界复杂时使用 scripts/git_isolation.py 的 commit_paths;它会拒绝同路径 staged 冲突并核对提交前后的 index patch。
闭环完成判定
仅当该行同时满足以下四项,才视为「闭环完成」:
dev_state=已完成review_initial_state=已完成review_regression_state=已完成git_state=已提交
若 required_mcp 非空,但缺少对应证据或受限验收记录,则即使以上四项满足,也不算闭环完成。
REVIEW-* 行还必须满足:
- 已按顺序尝试
reviewer子代理、只读 ephemeralcodex exec,必要时由主代理完成同一份 self-review - review log 和 CSV
notes已记录review_agent_mode:<reviewer-subagent|codex-exec-independent|self-review>、review_independence:<true|false>、requested/observed model 与 evidence source、实际存在的 ledger、coverage 和review_result - review 结论已经写入 review log
- 已产出 human handoff(
<csv-path-without-.csv>.handoff.md),CSVnotes已记handoff:<path>,并已记录handoff_contract:passed或handoff_contract:failed <reason>;若review_result:vision_met,必须是handoff_contract:passed - 若发现当前 scope/acceptance gap,已追加 follow-up issue 和下一轮
REVIEW-(N+1) - 若存在开放 Deferred Findings,ledger 已通过
validate_deferred_ledger.py,handoff 已逐条覆盖,最新 REVIEW notes 已记录deferred_coverage:<covered>/<open> - self-review 已完整分类并处置所有发现时可以闭环;不得仅为等待独立能力而追加空转的
REVIEW-*
Artifact root 规则
每个 mission run 的 artifact root 固定为 CSV 所在目录。
- 正式任务:
issues/<stem>/<stem>.csv,artifact root 为issues/<stem>/ - Legacy 或外部任务:artifact root 仍为显式 CSV 所在目录
claim_ledger:<path>、deferred_ledger:<path>、handoff:<path>、review log、handoff、兜底文档等相对路径都优先按 artifact root 解析outcome_contract:<path>与 CSV 同目录优先解析;它由任务生成端冻结,执行阶段只读,不回写运行答案- 新产物默认写入 artifact root;多轮 reviewer 原始输出、prompt、jsonl 等噪声文件写入
reviews/子目录
Issue 选择规则
优先收敛半成品
若存在 git_state=未提交 且 dev_state=进行中 或 已完成 的行,优先选这些。
Review 行顺序
REVIEW-* 行只在它之前的所有非 review 行都闭环后执行。
如果 REVIEW-N 追加了 follow-up issue 和 REVIEW-(N+1),则 REVIEW-N 自己正常闭环;执行器继续后续 follow-up issue,之后再执行新的 review 行。不要让旧 review 行保持挂起,也不要回头重开旧 review 行。
再选最高价值项
P0 → P1 → P2;优先能解阻塞/提供公共能力的任务;减少无意义上下文切换。
记录选择原因
选中后在该行 notes 追加 picked_reason:<why>。
执行闭环(每条 issue)
若当前行满足 id=REVIEW-* 或 area=review,跳到「Vision Review 闭环」。
Step 0:接收与现实检查
- 用 1-2 句话重述:当前 issue 的
id/title、验收口径、风险点。 - 识别潜在破坏性变更。
Step 1:补齐执行信息(硬前置)
编码前必须检查以下字段;正常情况下它们应已在 CSV 生成阶段写好。若缺失或与实际任务边界不符,说明 CSV 不完整,必须先写回 CSV 再写代码:
acceptance_criteria(必须可验证,最好有复现步骤/阈值)required_skills(frontend/可见 UI 任务必须明确)required_mcp(frontend/可见 UI 任务必须明确)review_initial_requirements(必须可执行)review_regression_requirements(必须可执行)test_mcp(必须明确主验证模式)refs(至少 1 个path:line)
Step 2:启动状态
dev_state→进行中review_initial_state→进行中- 写回 CSV(UTF-8 BOM)
Step 3:上下文收集(最小必要)
- 先读取
required_skills中列出的 skill 文档,再开始编码 - 从
refs指向文件开始读 - 用
ace-tool或rg精确定位关键符号与调用链 - 根据
required_mcp规划证据采集时机,不要拖到最后补跑 - 预算:首次 5-8 次工具调用
- 早停:能明确"要改哪些具体文件/函数"即可进入实现
Step 4:实现(按验收口径驱动)
- 实现前确认:把
acceptance_criteria拆成可验证的最小变更集合 - 最小变更设计:复用既有模式,KISS/YAGNI/兼容优先
- 编码执行:单一职责,嵌套 ≤ 3,错误处理到位
- 实现内循环验证:在实现过程中就运行最相关的测试,不等到最后
- 文档/refs 同步:更新相关文档/注释,新增
path:line追加到refs
Step 5:Review(两段式)
- 初次 Review:对照
review_initial_requirements自查 →review_initial_state=已完成 - 回归 Review:对照
review_regression_requirements执行回归检查;required_mcp中每个工具都要有证据 →review_regression_state=已完成 - 若回归不可执行:走受限验收(见下方),仍可标
已完成,但不得声称测试通过
Step 6:自我验收
验证路径选择(管线 vs 模块)
当 acceptance_criteria 涉及端到端行为(API 响应、用户可见效果、数据流经多层)时,验证必须走完整管线(HTTP 请求 → 中间件 → 业务逻辑 → 数据层),不得通过 import 内部模块绕过中间层。模块化单测可作为补充,不能替代管线验证。
判断标准:
- 验收条件提到"跨层数据流"或"用户可见的最终效果" → 走管线
- 验收条件只涉及"函数返回正确值"或"数据结构校验" → 模块化 OK
反例:issue 要求"API 返回正确分页结果",agent 只 import service 函数验证返回值——这绕过了路由、中间件、序列化层,不算验证通过。
验收执行
- 给出"通过/未通过"的证据
- 按
test_mcp运行最相关的测试/检查(见test-mcp-mapping.md) - 对
required_mcp中每个工具都做实际调用,并把证据写入notes - 若无法运行:走受限验收
Step 6.5:声明-证据一致性检查
完成前检查当前 issue 的标题、验收条件、测试名、文件/函数名、metadata、报告、CSV notes 和状态更新是否高估了实际行为。
- 如果实际只是 mock / fixture / stub / dry-run / scaffold / 字符串检查 / 静态验证,必须在命名、报告或 notes 中如实限定,不得写成真实完成
- 低等级证据不能支撑高等级声明;例如 unit test 不能证明完整集成,dry-run 不能证明真实发送/迁移/删除,字符串检查不能证明智能评测或真实链路通过
- 测试或外部验证卡住时,走受限验收并继续可推进工作;不要造替代假路径来跑绿
- 若当前 issue 的交付声明已经被证据否定,先修正实现或修正声明,再标记完成
Step 7:完成状态并写回 CSV
dev_state→已完成git_state→已提交notes追加done_at:<date>+skills_used:<...>+mcp_used:<...>+ 验收证据摘要- 写回 CSV(UTF-8 BOM)
Step 8:Git 提交
git status/git diff确认变更边界- 正式 mission:用显式路径加入代码变更和整个
issues/<stem>/证据集 - 外部 CSV:只加入本任务代码路径,以及已经 tracked 或明确位于
issues/的 CSV/sidecar;ignored 外部工件保持本地,不 force-add - 提交前比较当前 index 与任务开始快照,确认没有无关 staged patch 进入本次提交
- commit message 遵循项目提交约定(
<emoji> <type>(scope): summary+ Why/Why this works/Remaining 正文) - 若 commit 失败:回滚
git_state为未提交,记录blocked:git commit failed <原因>
Step 9:立刻继续下一条(强制)
完成一条后:
- 立刻回到 Issue 选择规则,选下一条
- 不问"要继续吗?"
- 不做礼貌性停顿
- 不输出非必要的全局状态更新
- 禁止把"已完成 X/Y、结果已同步到 docs/review/csv"当作自然收口点
- 状态更新末行必须写 `continue_now:<next id/title>`;只有全部完成或全部剩余项都需要人类参与时才允许写终态
- 如果做阶段总结,也只能作为 commentary 的短播报,播报后必须继续工具调用
- 只有以下情况才停止:
- 所有 issues 闭环完成
- 所有剩余 issues 都是 human-required blockers
干净边界谬误:不要因为"前 N 条已闭环、第 N+1 条还在进行中"就觉得这是一个适合收口的边界。partial completion (3/9) 是最脏的状态——它强制上下文恢复、浪费用户时间、制造比继续执行更多的混乱。真正干净的状态只有 all-done。在同一个 turn 里混合"已完成"和"进行中"的汇报完全正常,这恰恰是你在正确地持续推进。
Vision Review 闭环
REVIEW-* 行用于判断整批工作是否真正达成批准文档愿景。 同一规则适用于目录化 CSV 与 legacy 平铺 CSV。
Review 前置条件
- 当前 review 行之前的所有非 review 行必须闭环完成
- 若前面仍有未完成的普通 issue,先跳过当前 review 行,继续普通 issue
- review 不实现功能;review 只审计、记录、追加可执行工作
- review 行必须包含任务专属 claim/evidence 检查项;如果
review_regression_requirements仍是纯通用套话,先回读source_doc、当前 CSV 和交付证据,补齐该行后再执行 review - 若任意行
notes包含claims:CLAIM-*但没有可读的claim_ledger:<path>,CSV 不完整;先在 artifact root 补齐<csv-basename>.claims.json并写回claim_ledger:<csv-basename>.claims.json,不得把 claim id 当作可审计证据 - 若输入 CSV 原本没有 review 行,按硬规则 23 合成
REVIEW-01;这类 review 只引用source_csv和确实存在的 sidecar,不补造source_doc、claim ledger 或 outcome contract
Review 输入
独立愿景 review 必须基于以下材料:
- canonical 任务使用 approved spec;兼容任务使用
source_csv和所有普通行的 scope/acceptance 数据 - 当前 CSV 的全部行和状态
- 确实存在的 claim/evidence ledger、Outcome Contract 和 Deferred Findings ledger;兼容 CSV 缺少这些 sidecar 时保持缺省
- 当前代码 diff / commit 记录
- 测试与 MCP 证据
- 交付物中的声明:文件名、函数名、测试名、metadata、报告、CSV notes、状态更新和 commit message
- 已存在的 review log
不要把当前会话里的主观总结当作唯一依据。
Review 执行
Review capability 阶梯
按顺序选择第一条可执行路径,并把选择结果写入 review log 与 CSV notes:
| 优先级 | 模式 | 记录值 | 独立性 | 要求 | |
|---|---|---|---|---|---|
| 1 | 当前会话派发注册的 reviewer 子代理 | review_agent_mode:reviewer-subagent | review_independence:true | 请求 gpt-5.6-sol high;只读;prompt 不含主代理结论;禁止再委派 | |
| 2 | codex exec --ephemeral --json -m gpt-5.6-sol --sandbox read-only | review_agent_mode:codex-exec-independent | review_independence:true | 用 shutil.which("codex") 解析平台 launcher;由独立 exec 会话完成完整 vision review | |
| 3 | 主会话按同一 prompt 自审 | review_agent_mode:self-review | review_independence:false | 只在前两项失败时使用;如实记录 capability failure,但完成的 self-review 可以闭环 |
codex review 只能补充 Git diff 证据,不是 closing mode。运行过 diff-only review 后,仍要走上述阶梯完成 vision review。
用 scripts/run_vision_review.py 执行第 2 项;脚本找不到 CLI 或调用失败时,记录原因并进入 self-review。
脚本用法(路径相对本 skill 目录):
兼容 CSV 没有 source doc 时省略 --source-doc。脚本成功时输出 review JSON;把 JSON 摘要写入 review log,并把 review_json:<path>、mode、independence、requested/observed model、model evidence、coverage、result 和必要的 validation_limited 写入 CSV notes。脚本失败不等于 review 完成:记录失败原因后进入 self-review。
Reviewer prompt 硬要求
reviewer prompt 必须明确写入:
- 独立路径固定请求
gpt-5.6-sol;requested model 与 observed model 分开记录 - observed model 只能来自 host/session metadata 或 CLI JSON event stream。reviewer 文本和 review JSON 自报的模型不算证据
- 只基于批准文档或原始请求、CSV、claim/evidence ledger、diff/commit、测试/MCP 证据、交付物声明和 review log
- 不信任主 agent 的结论性总结
- 不为了找问题而找问题;只有可证伪差距才算 gap
- 每个 gap 必须包含
source_ref、evidence_ref、why_it_matters、suggested_followup_issue - 必须检查声明与证据等级是否一致,尤其是替代验证是否被包装成原目标通过
- 每个发现先分为
current-scope gap、human-required blocker、deferred_improvement或future_decision current-scope gap只能进入gaps,不得延期;后两类写入deferred_findings,按语义和证据去重,不得自动变成 follow-up issue
输出结论必须分为三类:
vision_met: 已达成批准文档愿景gaps_found: 仍有差距limited_review: 证据不足,无法判断当前承诺是否达成
将本轮结论写入 <csv-path-without-.csv>.review.md,与 CSV 同目录。若同时保存 reviewer 原始 JSON、JSONL 或 prompt,写入 artifact root 下的 reviews/。
Human Handoff 产物
REVIEW 行执行后,必须产出一份面向人类的交接文档 <csv-path-without-.csv>.handoff.md,与 CSV 同目录同前缀。
定位
handoff 是施工交工单——用户隔一段时间回来打开它,能还原"这轮干了什么、干成什么样、还剩什么"的完整画面,不需要翻 CSV、不需要翻 claims.json、不需要翻 git log。
它与 review.md 分工不同:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmission-csv-execute/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/flowing-water1/missions/mission-csv-execute)