AGENT SKILL

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
所属仓库
Lincyaw/workbuddy
最近更新
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:

  1. Runs the test-gen tests against each dev branch
  2. Eliminates branches where tests fail
  3. 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

Lincyaw
Lincyaw/workbuddy

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.

★ 2
Lincyaw
Lincyaw/workbuddy

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.

开发工程师前端开发后端与接口
★ 2
Lincyaw
Lincyaw/workbuddy

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.

Skill与智能体开发
★ 2
Lincyaw
Lincyaw/workbuddy

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.

★ 2
Lincyaw
Lincyaw/workbuddy

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.

视觉设计
★ 2
Lincyaw
Lincyaw/workbuddy

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'.

运维与部署
★ 2