Core workflow
Main workflow

Intent becomes code through a reviewed contract.

Scope at C1, review findings at C2, implement one flat task, prove it, then let the user close at C3.

Main CafeKit workflow
01
/cf:specs

Specify

Create requirements, research, design, task packets, and validation gates before code starts.

02
Approve task packet

Lock scope

Use the accepted C1/C2 decisions, plan, and flat task as the implementation contract.

03
/cf:develop

Build

Implement one approved task at a time after task-aware inspection of real entrypoints.

04
/cf:test

Verify

Run exact commands, prove reachability, and reject fake green results such as zero-test passes.

05
/cf:code-review

Review

Check spec compliance, code quality, edge cases, security, and regression risk before closeout.

06
/cf:sync

Sync

Update task Status and its inline Receipt only after proof, or audit drift before continuing.

Main path#

/cf:brainstorm         # optional when intent or architecture is unresolved
  -> /cf:specs         # C1 -> plan.md + flat tasks -> adversarial review -> C2
  -> stop planning
  -> /cf:develop       # new explicit invocation; one unblocked task at a time
  -> /cf:test          # smallest adequate real proof
  -> /cf:code-review   # correctness, security, regressions, contract drift
  -> /cf:sync          # observed Status and inline Receipt only
  -> C3                  # user completion decision

Chat is not the source of truth. New work uses specs/<feature>/plan.md and flat task-NN-*.md files.

Contract and execution#

plan.md records C1 scope, exclusions, acceptance criteria, dependencies, and C2 decisions. Each task owns one outcome, one Status:, explicit ownership, dependencies, proof command, and a final inline ## Receipt.

Develop scouts real entrypoints and callers before mutation. Runtime-facing work is incomplete until it is reachable from the actual route, command, UI mount, worker, service, or API boundary.

Do not silently replace named technologies or runtime choices. A needed scope change returns to the plan and user decision.

Proof stack#

Contract

Plan, accepted decisions, and active task agree on scope.

Code

Runtime-facing work is wired into a real entrypoint or caller.

Evidence

The task records commands, outcomes, and runtime or artifact proof.

State

Task Status and inline Receipt are synchronized after verification.

A green command is not enough. Exact acceptance-relevant commands must run; zero tests and NO_TESTS do not pass. Review findings block completion until repaired and reverified.

State ownership#

State moves only when proof exists
pending

Task is known but not active yet.

in_progress

Task has been claimed and is being implemented or verified.

blocked

A concrete blocker is recorded and must be cleared before continuing.

done

Completion criteria and evidence are satisfied with real proof.

The controller alone updates task Status and canonical Receipt. Sync may reconcile observed file state but cannot invent execution, approval, or completion.

Alternate routes#

SituationRoute
Need an evidence-backed answer/cf:ask
Need scoped codebase discovery/cf:scout
Root cause unknown/cf:debug
Diagnosed bug needs repair/cf:fix
Existing system lacks reliable docs/cf:docs --reconstruct <scope>
Uncertain technical decision/cf:research
Explicit bounded numeric optimization/cf:loop

Claude Code uses /cf:*; Codex CLI uses native $cf-* skills. OpenCode commands are historical 0.16-only compatibility notes.