Skip to content
Agent Orchestration
Skill

/ccg-workflow

How to run a non-trivial change end to end with the CCG role tools (ccg_analyze / ccg_design / ccg_build / ccg_debug / ccg_optimize / ccg_review / ccg_test) and the verify-* quality gates. Use when a task is a whole feature, a refactor, a bug whose cause is not yet known, or any

BOOST
From plugin
ccg
5.9k47 skills19 commands
Install
$ npx -y skills add fengshao1227/ccg-workflow --skill ccg-workflow --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ccg-workflow

Context preview

The summary Claude sees to decide when to auto-load this skill.

How to run a non-trivial change end to end with the CCG role tools (ccg_analyze / ccg_design / ccg_build / ccg_debug / ccg_optimize / ccg_review / ccg_test) and the verify-* quality gates. Use when a task is a whole feature, a refactor, a bug whose cause is not yet known, or any

SKILL.md

ccg-workflow.SKILL.md
name: ccg-workflow
description: How to run a non-trivial change end to end with the CCG role tools (ccg_analyze / ccg_design / ccg_build / ccg_debug / ccg_optimize / ccg_review / ccg_test) and the verify-* quality gates. Use when a task is a whole feature, a refactor, a bug whose cause is not yet known, or any change large enough that one straight-through attempt would be a guess.

CCG workflow

Seven role tools are available, each running a child agent on its own model with its own expert persona. This is how to chain them so the work converges instead of sprawling.

**Skip all of this for small, obvious work.** A one-line fix, a rename, a question you can answer by reading two files — do it yourself. Delegation buys depth, and it costs a round trip and a fresh context. Spend it only where depth is the thing you lack.

Picking a gear

Four modes. The user should not have to name one: read what they asked for, pick, say which you picked in a line, and — for anything past Direct — say what it costs and wait for a yes. They are paying per model call.

| Mode | For | Runs | |------|-----|------| | **Direct** | a one-line fix, a rename, a question you can answer by reading | you, alone | | **Standard** | an ordinary feature, a bug with a known cause, a contained refactor | design → build → review | | **Deep** | a design with real alternatives, an unclear bug, a migration, anything expensive to get wrong | analyze → design → build → test → review | | **Team** | work that splits across files and will keep developing | `ccg_team` — several specialists at once, each owning its own files |

A role holding several models answers with all of them at once, so Deep costs more than its phase count suggests — quote the real number of model calls, not the number of phases. If the user names a mode, run that one. If a phase changes what you believe, say so and re-pick rather than finishing a plan you no longer believe in.

**Deep and Team are not a ranking.** Deep buys certainty about one thing by asking several models about it. Team buys throughput on several things by running colleagues at once. A hard question is Deep even if it is small; a wide job is Team even if every part is easy. Something both hard and wide is Deep first — settle the design and the contracts — then Team to build it.

The loop

| Phase | Tool | Ends when | |-------|------|-----------| | 1. Understand | `ccg_analyze` | you can state the constraints and the options with their trade-offs | | 2. Design | `ccg_design` | the interfaces and the boundaries are settled | | 3. Build | `ccg_build` | the code exists and its verify command passes | | 4. Verify | `ccg_review` + the gates | findings are triaged and the criticals are gone |

Diagnose before you build when the cause is unknown (`ccg_debug`), and treat `ccg_optimize` and `ccg_test` as phases of their own when the task is performance or coverage rather than a feature.

Not every task needs four phases. A well-understood change is design → build → review. An investigation may be analyze → debug and stop there, with no code at all.

Writing a brief

A child sees **none of this conversation**. It gets your prompt and nothing else, so an under-specified brief is the main way this goes wrong. Every brief carries:

  • **The goal** — one sentence on what the child must produce.
  • **The anchors** — the exact files, symbols and commands it should start from.

Paths, not descriptions.

  • **The constraints** — what it must not change, the conventions to follow, the

decisions already made (and by whom).

  • **The shape of the answer** — a diff, a report, a ranked list. Say which.

Bad: *"look at the auth code and improve it."* Good: *"In `src/auth/session.ts`, the refresh path drops the CSRF token when a retry follows a 401 (see `refreshSession`, lines 40-80). Diagnose the root cause. Do not change code. Report ranked hypotheses with the minimal test that would confirm each."*

The quality gates

Bundled beside this skill, each runnable through the shell and each documenting its own arguments:

| Gate | Use it after | |------|--------------| | `verify-change` | any change — analyses the diff and flags docs that drifted | | `verify-quality` | a complex or refactored module — complexity, duplication, naming, length | | `verify-security` | new modules, auth/crypto/input handling, anything touching secrets | | `verify-module` | a newly created module — structure and required docs | | `gen-docs` | creating a module — scaffolds its README and DESIGN |

They are deterministic scanners, not opinions: run them before `ccg_review` so the reviewer spends its turn on judgement rather than on what a script already knows. A gate's findings are input to your decision, not a verdict — a flagged line can still be correct.

What stays with you

Delegate the turn, never the decision.

  • **Choosing between options is yours.** A child ranks; you pick, and you own

the reason.

  • **Acceptance is yours.** Never let a child's "looks good" close a task. Read

what came back and judge it — children are confident about work they cannot see the context of.

  • **Integration is yours.** Children work in isolation; nothing but you is

watching how the pieces meet.

  • **Contradictions are signal.** When the analyzer and the reviewer disagree,

that disagreement is the most valuable thing you have. Resolve it explicitly instead of averaging it away.

Running them in parallel

Independent delegations can run at once — a review of one module and tests for another have nothing to say to each other. Wait (`run_in_background: false`) only when your next move depends on the answer.

Do not parallelise work that writes to the same files. Two builders editing one module will produce a conflict nobody asked for; sequence those, or split the work along file boundaries first.

Running a team

`ccg_team` hires a role as a colleague instead of asking it a question: it stays alive across turns, takes more

Read more
Ships withccg

多模型协作工作流引擎 — /ccg:go 一个命令,AI 自动分析意图、选择策略、编排 Codex + Gemini + Claude 协作执行

Get the whole plugin

Other skills on ccg.

verify-change
Skill

verify-change

变更校验关卡。分析代码变更,检测文档同步状态,评估变更影响范围。当用户提到变更检查、文档同步、代码审查、提交前检查、diff分析时使用。在设计级变更、重构完成时自动触发。

verify-module
Skill

verify-module

模块完整性校验关卡。扫描目录结构、检测缺失文档、验证代码与文档同步。当用户提到模块校验、文档检查、结构完整性、README检查、DESIGN检查时使用。在新建模块完成时自动触发。

verify-quality
Skill

verify-quality

代码质量校验关卡。检测复杂度、重复代码、命名规范、函数长度等质量指标。当用户提到代码质量、复杂度检查、代码异味、重构建议、lint检查、代码规范时使用。在复杂模块、重构完成时自动触发。

verify-security
Skill

verify-security

安全校验关卡。自动扫描代码安全漏洞,检测危险模式,确保安全决策有文档记录。当用户提到安全扫描、漏洞检测、安全审计、代码安全、OWASP、注入检测、敏感信息泄露时使用。在新建模块、安全相关变…