engineering-workflow
Overview of the engineering pipeline and how each stage connects. Use when an agent is confused about what stage it's in, what it should do next, or how its output feeds into the next stage. Trigger on: engineering workflow, pipeline, what stage am I in, what comes next, workflow overview, 工程流程, 开发流程, pipeline stage, stage transition.
- License 许可
- Apache-2.0
- 最近更新
- 2026-06-08
- Stars
- ★ 2
- Forks
- 1
01 前言 Front Matter
- name
- engineering-workflow
- description
- Overview of the engineering pipeline and how each stage connects. Use when an agent is confused about what stage it's in, what it should do next, or how its output feeds into the next stage. Trigger on: engineering workflow, pipeline, what stage am I in, what comes next, workflow overview, 工程流程, 开发流程, pipeline stage, stage transition.
03 SKILL.md 正文
Engineering Workflow Overview
The engineering pipeline runs from requirement to merged code. Each stage has a specific agent, clear entry/exit conditions, and a feedback loop that sends work back upstream when quality gates fail.
Pipeline
┌─────────────┐
│ Requirement │ (human writes issue with goal description)
└──────┬───────┘
│ label: engineering
▼
┌─────────────┐ reject: spec incomplete
│ Specifying │◄────────────────────────────┐
│ (spec-agent) │ │
└──────┬───────┘ │
│ label: status:spec-review │
▼ │
┌─────────────┐ │
│ Spec Review │─────────────────────────────┘
│(spec-review) │
└──────┬───────┘
│ label: status:developing
▼
┌─────────────────────────────────────┐
│ Developing │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ test-gen │ │ dev-agent │ │ reject: tests fail
│ │ (writes │ │ (implements │ │ or review rejects
│ │ tests from │ │ code from │◄─┤
│ │ spec) │ │ spec) │ │
│ └──────────────┘ └──────────────┘ │
│ both run in parallel │
└──────┬──────────────────────────────┘
│ both complete, label: status:reviewing
▼
┌─────────────┐ │
│ Reviewing │──────────────────────┘
│(review-agent)│ reject: AC fails
└──────┬───────┘
│ all ACs pass
│ label: status:done
▼
┌─────────────┐
│ Done │ (merge to main, close issue)
└─────────────┘
Stage responsibilities
Specifying (spec-agent)
Input: Issue with a goal description (possibly vague). Output: Structured spec comment with Interface, Acceptance Criteria (AC-1..N), and Design Notes. Exit condition: Spec posted on issue, label → spec-review. Feedback on rejection: Spec-review tells you which ACs are untestable and which interfaces are underspecified. Fix those specific items.
Read the spec-writing skill for detailed guidance on what
makes a good spec.
Spec Review (spec-review-agent)
Input: Issue with spec in body or comments. Output: Per-AC testability verdict table. Exit condition: All ACs testable → label → developing. Or: specific ACs untestable → label → specifying with feedback.
Read the acceptance-criteria skill for testability rules.
Developing (test-gen-agent + dev-agent, parallel)
Two agents run simultaneously on the same branch:
test-gen-agent:
- Reads the spec's ACs
- Writes integration tests (one per AC minimum)
- Verifies tests FAIL without implementation
- Does NOT write any implementation code
dev-agent:
- Reads the spec's Interface and ACs
- Implements the code
- Does NOT write the AC-derived tests (test-gen handles that)
- May write additional unit tests for internal logic
Both push to the same branch. When both complete, the state advances.
Read the test-design skill for test writing conventions.
Exit condition: Both agents complete, label → reviewing.
Reviewing (review-agent)
Input: Branch with implementation + pre-generated tests. Output: Per-AC verdict (PASS/FAIL/CANNOT JUDGE) + code quality findings. Exit condition: All ACs PASS → label → done. Or: any AC FAIL → label → developing with per-AC feedback.
Read the code-review-standards skill for review process and
verdict format.
Done
Merge the PR, close the issue. This stage is mechanical — no agent judgment required.
Feedback loops
Three feedback loops operate at different timescales:
1. Spec loop (specifying ↔ spec-review)
What it catches: Untestable ACs, missing interfaces, vague requirements. Cost of a rejection: One spec-agent session (~minutes). Why it matters: A bad spec that escapes to developing costs N parallel dev sessions + test-gen + review cycles, all producing the wrong thing. This is the highest-leverage gate.
2. Dev-review loop (developing ↔ reviewing)
What it catches: Code that doesn't satisfy ACs, quality issues. Cost of a rejection: One dev-agent session (potentially expensive with parallel rollouts). Feedback format: Per-AC verdict with specific failing tests and error messages. The dev agent on the next round sees exactly which ACs to fix. Cap: max_review_cycles (default 3). After 3 dev→review round-trips, the issue is blocked for human intervention.
3. Turn-level loop (inside each agent session)
What it catches: Agent stuck (repeating same failed command), agent idle (no productive actions for N turns). Mechanism: Behavioral observation by the agent runtime (AgentM atoms or session-level control loop). Feedback: Injected message: "You've tried the same approach 3 times without progress. Try a different approach."
Parallel development
When the issue specifies rollouts: N (via label rollouts:N),
the developing state dispatches N copies of the dev-agent alongside
one test-gen-agent. All N+1 sessions run in parallel.
At review time, the reviewer:
- Runs the test-gen tests against each dev branch
- Eliminates branches where tests fail
- Selects the best passing branch based on code quality
This is multi-sampling: run N implementations, select the best. Strictly better than sequential retries when budget allows.
Labels
| Label | Meaning |
|---|---|
engineering |
Issue enters the engineering workflow |
status:specifying |
Spec-agent is writing/revising the spec |
status:spec-review |
Spec-review-agent is validating the spec |
status:developing |
Test-gen + dev agents are working in parallel |
status:reviewing |
Review-agent is running tests and reviewing |
status:done |
All ACs pass, PR merged |
status:blocked |
Waiting for human intervention |
rollouts:N |
Request N parallel dev sessions |
When to use this workflow vs default
| Use engineering workflow when | Use default workflow when |
|---|---|
| The task involves new interfaces or APIs | The task is a simple bug fix with obvious scope |
| Multiple acceptance criteria need verification | One clear criterion: "this test should pass" |
| You want test-gen before implementation | Tests already exist or aren't needed |
| Parallel development is worth the cost | A single dev session is sufficient |
| Spec quality matters (long-lived code) | Quick fix, throwaway, or experiment |
04 同仓库更多 Skills
workbuddy-guide
Explain and operate workbuddy: what it is, which command to reach for, and where to find deeper references. **Trigger whenever the user mentions 'workbuddy' in any context** — including operational requests (register/onboard a repo, add/bind a worker, 注册仓库, 加仓库, 接入新仓库, onboard repo, set up worker), explanatory questions (how to use workbuddy, workbuddy guide, teach me workbuddy, 怎么用workbuddy, 使用指南), deployment/running/operating/debugging workbuddy, and questions about how issues/tasks are scheduled or how dependencies between issues work (depends_on, blocked, dependency gate, 依赖, 调度, 排队, '为什么没派发'), and questions about parallel-development workflows (rollouts:N fan-out, synthesize/synthesis reduce step, cherry-pick, '并行开发', '多个方案', 'rollout'). Invoke this skill before running workbuddy CLI commands so the documented onboarding flow (coordinator register + worker repos add) and the dependency/scheduling model aren't re-derived from scratch.
web-debug
Validate the workbuddy webui (SPA + auth + JSON API) end-to-end on the same machine workbuddy runs on, using browser-use's headless harness. Use when the user says 'verify the frontend', 'test the SPA', 'check dashboard loads', '前端验证', '验下 webui', or after merging changes that touch internal/webui, web/, or the auth/cookie path.
setup-repo
Configure a GitHub repository for workbuddy orchestration — creates labels, the two canonical agent configs (dev + review), workflow definitions, issue templates, and config.yaml. Use when the user says 'set up repo', 'configure repo for workbuddy', 'initialize workbuddy', '配置仓库', '初始化workbuddy', or wants to onboard a new repo.
pipeline-monitor
Monitor the workbuddy agent pipeline, detect stuck issues, zombie processes, and missed redispatches. Works for both the 3-unit bundle (supervisor + coordinator + worker) and single-process `serve`. Use when the user says 'monitor the pipeline', 'check workbuddy status', '监工', '看看跑完了没', or asks to watch issue progress.
merge-flow
Merge a batch of approved workbuddy PRs into main: order them, resolve conflicts against design intent, validate post-merge health, and report. Use when the user asks to 'merge the batch', 'merge approved PRs', 'integrate finished issues', '批量合并', '处理冲突'; or when the merge-agent is invoked.
deploy
Workbuddy deployment topology guide — explains the 3-unit bundle (supervisor + coordinator + worker), the rolling-restart property, and the cutover from the legacy single-process `serve` install. Use when the user says 'how should I deploy workbuddy', 'install workbuddy as a service', 'switch to bundle', 'rolling restart', '部署 workbuddy', '升级到 bundle'.