agents/wopal/skills/dev-flow/SKILL.md
Issue / Plan 驱动的开发工作流。⚠️ 只有当任务以 GitHub Issue 或 Plan 作为执行载体时才使用本技能。 必须使用本技能的场景: - 开发、修复、重构某个 GitHub Issue(如 "#14"、"这个 issue"、"处理 issue 120") - 创建、修改、推进、验证、归档 Plan - 用户要求“写个方案 / 出个计划 / 开始开发 / 继续开发 / 执行计划”,且任务会通过 Plan 落地执行 - 从 PRD 拆分 Issue 不使用本技能的场景: - spec 驱动流程(Spec / OpenSpec / spec-first / spec-kit) - 单纯研究、讨论、解释、评审 - 不需要 Issue 或 Plan 承载的临时小改动 🔴 判断标准:任务是否要进入 “Issue / Plan → 实施 → 验证 → 归档” 这条开发链路。只有是,才使用本技能。 依赖:git-worktrees 技能(可选,用于隔离开发环境)
npx skillsauth add sampx/agent-tools dev-flowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
统一状态机:
planning → executing → verifying → done
统一命令链:
plan → approve → approve --confirm → complete → verify --confirm → archive
approve --confirm 和 verify --confirm 都是人类授权门。complete 只表示“实施完成,进入用户验证阶段”,不代表“用户已验证通过”。archive 只做归档收尾,不承担验证职责。Plan 写完后:--check → 必要时 sync <issue> --body-only → approve → 等用户审批。
实施完成后:勾选已完成步骤 → 完成 Agent Verification → complete → 再等用户验证。
步骤勾选范围:
- [ ] Step N: 格式 checkbox- [ ] Step N: 格式 checkboxcomplete 会强制校验以上所有 Step checkbox 必须全部勾选,否则阻断并提示。
| 命令 | 前置状态 | 后置状态 | 作用 |
|------|---------|---------|------|
| plan | 无 / 初始 | planning | 创建或定位 Plan |
| approve | planning | planning | 校验 Plan,提交方案评审 |
| approve --confirm | planning | executing | 用户审批通过后开始实施 |
| complete | executing | verifying | 实施完成,进入用户验证阶段 |
| verify --confirm | verifying | done | 用户验证通过后进入 done |
| archive | done | 归档 | 归档 Plan,关闭 Issue |
命令顺序不合法时,回到正确状态顺序执行,不要强行推进。
| 命令 | 用户信号 |
|------|---------|
| approve --confirm | “审批通过”、“approved”、“可以开始” |
| verify --confirm | “验证通过”、“没问题”、“validation passed” |
| reset | “重置”、“reset” |
禁止:
--confirmapprove 直接 approve --confirmIssue 驱动:
flow.sh plan <issue>
Plan 驱动(无 Issue):
flow.sh plan --title "<type>(<scope>): <description>" --project <name> --type <type> [--scope <scope>]
不要直接开工。按这个顺序推进:
templates/plan.md 为准。flow.sh plan <issue> --check
无 Issue 模式则用原始 plan 参数重新定位并校验。flow.sh sync <issue> --body-only
说明:
_待关联_flow.sh approve <issue>
flow.sh approve <issue> --confirm [--worktree]
不要这样做:
approve实施过程中,每完成一个步骤就立即勾选对应 checkbox,不要积压到最后统一补勾。
至少及时更新:
Implementation 里的 ChangesVerification 里的步骤不要直接让用户验证。先完成这几步:
### Agent Verification。flow.sh complete <issue>
complete 的硬门控:
- [ ] Step N: 格式 checkbox 必须勾选### Agent Verification 中所有 checkbox 必须勾选门控失败时会阻断并提示:
completecomplete 后,任务正式进入 verifying。
只有在仓库策略明确要求 Pull Request 时,才改用:
flow.sh complete <issue> --pr
不要这样做:
Agent Verification 未完成就推进complete用户完成验证并明确确认后,执行:
flow.sh verify <issue> --confirm
这一步的硬前提:
verifyingflow.sh archive <issue>
归档前提:Plan 状态已经是 done。
归档时自动处理项目变更:
归档时自动检测并处理项目仓库变更:
冲突时归档会阻断并给出提示,需要手动解决冲突后重新执行。
| 场景 | 命令路径 |
|------|----------|
| Issue 驱动 | plan → --check → sync(issue, 如需) → approve → approve --confirm → complete → verify --confirm → archive |
| Plan 驱动 | plan → approve → approve --confirm → complete → verify --confirm → archive |
补充:
sync 这一步plan-name把 --worktree 视为隔离执行策略,而不是工作区不干净时的补救按钮。
优先在这些情况下使用 --worktree:
用法:
flow.sh approve <issue> --confirm --worktree
要点:
--worktree--worktree 只在真正进入 executing 时使用--worktree 且目标项目工作区不干净时,命令会阻断;此时应先清理/提交当前变更,或改用 --worktreeplanning默认主流程不走 PR。
只在这些情况下使用 --pr:
最小记忆即可:
complete --pr → PR opened → PR merged → verify --confirm → archive
如果不确定,就不要走 PR 路径。
进入 approve 前,Plan 必须达到可执行质量,而不是空提纲。
SKILL.md 不重复模板章节内容,只规定流程要求:
approveAgent Verification,再执行 complete如果 approve 被 check-doc 阻断,先修 Plan,再重试。
由 agent 在 complete 前完成并勾选,用于机器可验证项,如构建、单测、CLI 自测。
由用户在真实验证后确认,用于人工感知项,如 UI / UX、业务流程、集成行为。
关键约束:
verify --confirm 会严格检查这道门flow.sh issue create创建规范化 Issue。开发任务建 Issue 时只用这个入口。
flow.sh issue create --title "<type>(<scope>): <description>" --project <name> [options]
必填参数:
--goal "<一句话目标>" — 必填,不传会产生占位符 <一句话描述目标><description> 必须是英文祈使句(≤50 chars),格式如 add missing config keys常用参数:
--background--scope--out-of-scope--reference类型专属参数按需使用:
--baseline / --target--affected-components / --refactor-strategy--target-documents / --audience--test-scope / --test-strategy--confirmed-bugs / --cleanup-scope / --key-findingsflow.sh issue updateflow.sh issue update <issue> [options]
适合补充 Goal、Background、Scope、Acceptance Criteria 及各类型特定字段。
flow.sh sync手动把 Plan 同步回 Issue,不推进状态。
flow.sh sync <issue>
flow.sh sync <issue> --body-only
flow.sh sync <issue> --labels-only
flow.sh statusflow.sh status <issue-or-plan-name>
显示:Issue 标题 / 状态 / labels、对应 Plan、Plan 状态、worktree 信息(若存在)。支持传入 Issue number 或 Plan 文件名(无 Issue 的 Plan 也能查到)。
flow.sh listflow.sh list
同时扫描 GitHub Issues(带 status/* label 的 open issue)和本地 Plan 文件(docs/products/*/plans/*.md,排除 done/),合并展示。无 Issue 关联的 Plan 显示为 [status] <plan-name> (no issue)。
flow.sh decompose-prdflow.sh decompose-prd <prd-path> [--dry-run] [--project <name>]
建议先:
flow.sh decompose-prd <prd-path> --dry-run
flow.sh resetIssue 驱动:
flow.sh reset <issue>
Plan 驱动:
flow.sh reset <plan-name>
这是破坏性操作,只在用户明确要求时执行。
plan:不重复创建,继续基于现有 Plan 推进。complete 时 Step 未完成:先勾选 Implementation / Test Plan 中所有 - [ ] Step N: 格式的 checkbox,不要强行进入 verifying。complete 时 Agent Verification 未完成:先补齐 Agent Verification,不要强行进入 verifying。verify --confirm 时 PR 未 merged:先等 PR merge。verify --confirm 时用户未勾选最终 checkbox:先让用户完成 User Validation。--worktree。| 错误 | 处理 |
|------|------|
| Invalid transition | 回到正确状态顺序执行 |
| Plan not found | 先运行 plan |
| check-doc failed | 修好 Plan 再 approve |
| Step completion failed | 勾选 Implementation / Test Plan 中所有 Step checkbox,再 complete |
| Agent Verification failed | 补齐 Agent Verification checkbox,再 complete |
| dirty workspace | 当前工作区不适合继续执行;先清理/提交,或改用 --worktree |
| PR not merged yet | 等 merge 后再 verify --confirm |
| User Validation gate failed | 让用户完成验证并勾选最终 checkbox |
按需读取:
| 文件 | 用途 |
|------|------|
| templates/plan.md | Plan 骨架模板 |
| templates/issue.md | 通用 / feature / enhance / chore 类型 Issue 模板 |
| templates/issue-fix.md | fix 类型 Issue 模板 |
| templates/issue-perf.md | perf 类型 Issue 模板 |
| templates/issue-refactor.md | refactor 类型 Issue 模板 |
| templates/issue-docs.md | docs 类型 Issue 模板 |
| templates/issue-test.md | test 类型 Issue 模板 |
| references/plan-validation.md | Plan 校验规则(含 Test Plan / AC 写法) |
| references/issue-format.md | Issue 标题与 Plan 命名规范 |
tools
Configure ellamaka, a fork of OpenCode with wopal-space mode. MUST use for any task about ellamaka config, agent frontmatter, permission rules, model/provider selection, formatter settings, config loading order, or why config changes are ignored. Trigger on requests about ellamaka or opencode config files, agent permission overrides, restricting subagents, custom/plugin tool permissions (e.g. wopal_task_*), disabling tools, configuring providers or models, formatter setup, config precedence or layering, or debugging settings that do not take effect. Use this skill even when the user says "opencode" if the actual runtime, config path, or behavior is ellamaka. Prefer this skill whenever the answer depends on the difference between ellamaka and upstream opencode, including wopal-space config loading, plugin tool permissions, or agent frontmatter precedence.
development
Plan quality verification for dev-flow. Goal-backward analysis ensures plans WILL achieve their stated goal before execution burns context. ⚠️ MUST use when: (1) Reviewing Plan quality before approve (2) Wopal completes Plan writing and needs quality gate (3) User asks to "check plan", "verify plan", "review plan" (4) Plan enters planning status and needs pre-execution validation 🔴 Trigger automatically when Plan is ready for review, even if user doesn't explicitly say "review". Agent: rook (read-only verification subagent) Mode: verification, not execution
development
Review implementation results for goal achievement and code quality. Supports both Plan-backed review and planless diff review. ⚠️ MUST use when: (1) Wopal delegates rook to review fae implementation output, (2) Prompt contains "review_type: implementation", (3) Prompt contains changed code file list or Plan path + implementation scope, (4) Any code review request from Wopal. 🔴 Trigger even when user does not explicitly mention "review" if the task involves verifying implementation results. This skill is rook-exclusive (only rook agent can load it).
tools
Foundation rules for how Wopal collaborates with sub-agents such as fae and rook. ⚠️ MUST load before ANY delegation — covers delegation tool APIs, task lifecycle, notifications, status handling, and recovery. 🔴 Trigger: "delegate", "let fae implement", "fae task", "rook review", "check task status", "cancel task", "abort task", "agent collaboration", "委派", "让 fae 执行", "fae 任务", "rook 审查", "检查状态", or any intent to hand work to a sub-agent. 🔴 Never delegate without loading this skill first. Skipping it is serious negligence. Note: this skill does not include workflow-specific prompt templates such as dev-flow templates. Those belong to the corresponding workflow skills.