Skip to content

Cap verbs (the 24-token cloud)

The payoff of a closed verb vocabulary is a load-time guarantee: because every skill, script, and capability must carry a verb from a fixed set, the runtime can check each one is wired to the right kind of executor before your agent ever runs — a mis-declared building block fails at config load, not in the middle of a workflow.

flowgate has three closed-vocabulary verb clouds. They’re disjoint by design:

  • Cognitive verbs (10) — govern skills. Verbs that name what the LLM does. See Cognitive verbs.
  • Script verbs (12) — govern scripts: entries. Verbs that name what a deterministic script does. See Script verbs.
  • Cap verbs (24) — govern cap.* workflow declarations. Verbs that name the role the capability plays in composition. The subject of this page.

Different audience, different rules. Skills name how an LLM thinks. Scripts name deterministic action. Cap verbs name the role of a typed sub-workflow.

VerbSubject rootExamples
triagecap.triage.*classify-severity, route-component
diagnosecap.diagnose.*parse-error, reproduce, localize
plancap.plan.*draft, vet, fix, track-gaps
implementcap.implement.*tdd-loop, scope-bounded
reviewcap.review.*adversarial, final-approval
refactorcap.refactor.*draft, extract-module
explaincap.explain.*summarize-change, walk-architecture
composecap.compose.*integrate-plans, merge-reports
researchcap.research.*context-assemble, tool-inventory, lexicon-lookup
summarizecap.summarize.*session-delta, lexicon-define

Deterministic (12) — script or MCP tool is the actor

Section titled “Deterministic (12) — script or MCP tool is the actor”
VerbSubject rootExamples
buildcap.build.*cargo-release
testcap.test.*baseline-snapshot, compare-baseline
deploycap.deploy.*cargo-install
formatcap.format.*rust-check
lintcap.lint.*rust-clippy-strict
installcap.install.*npm-ci
verifycap.verify.*workspace-green, regression-tests, check-config
runcap.run.*cargo-bench
inspectcap.inspect.*dependency-tree
searchcap.search.*codebase-ripgrep
fetchcap.fetch.*docs-pull
auditcap.audit.*security-scan, mine-transitions

Coordination (2) — neither cognitive nor pure deterministic

Section titled “Coordination (2) — neither cognitive nor pure deterministic”
VerbSubject rootDescription
gatecap.gate.*Awaits a permission signal: HITL approval, evidence quorum, manual acknowledgment.
coordinatecap.coordinate.*Side effect to an external system: open a PR, create issues, post a comment.

At config load, the runtime checks each capability’s primary executor — the executor on the transition leaving the capability’s initial state. The check is per-capability, primary-executor only (TRIZ Local Quality resolution): narrow enough to keep the runtime cost negligible, broad enough to catch gross verb misuse.

Verb categoryPrimary executor must satisfy
Cognitive (10)kind: mcp OR kind: noop (the noop typically surfaces a skills: ref)
Deterministic (12)kind: script OR kind: mcp
gateAt least one initial-state transition has actor: human OR purpose: ask
coordinatekind: mcp (the current check enforces only the kind half; spec §4.1’s external: true connection flag is future work)

Mismatches are config-load errors with the rule code V6 named in the message:

INVALID_PRIMARY_EXECUTOR: capability 'cognitive/cap.plan.draft' (verb 'plan', category
Cognitive) has initial-state transitions whose primary executor kinds are ["script"];
expected kind: mcp OR kind: noop (skill-surfacing) (SPEC §4.1, V6)

The error names the cap, the declared verb, the resolved category, the actual primary kinds, and the expected set. Operators paste-fix without spelunking.

The cap verbs and skill verbs share names by design (plan, review, implement, etc.) but they carry different semantics:

  • A skill named review.code.adversarial is a guidance fragment the LLM reads.
  • A cap named cap.review.adversarial is a sub-workflow whose body invokes the LLM (via kind: noop + skills: [review.code.adversarial]).

The cap binds the skill. The cap verb says “this composition surface is a review-shaped step.” The skill verb says “this guidance is review-shaped advice.” They line up most of the time — cap.review.adversarial references the review.code.adversarial skill — but they’re independent vocabularies.

For deterministic and coordination verbs there’s no skill equivalent. cap.verify.workspace-green is a script invocation. cap.coordinate.pr-open is an MCP call. No LLM guidance needed; the cap is the script body or the MCP tool selection.

The 24-token cloud is closed. Adding a new verb requires a spec amendment in docs/superpowers/specs/2026-05-26-capability-orchestrator-design.md §4. The closed enum is what makes verb-aware search useful (flowgate.query({kind:"capability", query:"review"}) returns a deterministic set) and what makes V6 surface verb drift loudly at load.

The criterion for a new verb: it has to name a category that’s structurally distinct from every existing verb’s category. “Better word for implement” is not a new verb. “There’s a class of caps that does X and no existing verb describes X without bending the semantics” might be.

The runtime decides whether to apply cap-verb rules to a workflow by reading its id prefix:

  • cap.<verb>.<name> → capability tier; V1–V6, V10, V12, V13, V17, V18 apply.
  • flow.<name> → orchestrator tier; V7–V9, V11, V13, V14, V15, V16 apply.
  • Anything else → plain workflow (no cap/flow tier); no cap/flow rules apply.

This is the tier check at V2 and V7. The namespace prefix from multi-repo loading is stripped before the check, so cognitive/cap.plan.draft correctly tier-detects as Cap.

These aren’t categories of LLM thinking, the way the 10 cognitive verbs are. They’re roles in composition. cap.fetch.docs-pull and cap.research.context-assemble both gather information; the verb difference says “the fetch one is a script call to a known endpoint; the research one is LLM-driven open-ended exploration.” That tier difference shapes the primary executor (V6) and surfaces in the workflow’s audit trail.

For the LLM-thinking taxonomy, see Cognitive verbs. For deterministic action verbs, see Script verbs.