The CCT-tailored AI-DLC variant — a streamlined Inception + Construction flow for lifting one legacy WinForms artifact into Insight Cash. Companion to process_flow.md. Operations phase is deferred (out of scope for now).
Two phases, eleven steps (plus one optional bridge step — Step 2.5), two review gates. Step 2 (drop sources) is the only manual step. In Construction, Steps 5–8 run in parallel from the same Inception artifacts, then converge on Step 9 (bolts). The single review gate at the end of design covers all four parallel artifacts plus bolts.md together.
Phases
Phase 1 — Inception (Steps 1–4)
Phase 2 — Construction (Steps 5–11)
Phase 3 — Operations (deferred)
Reviewer role (node fill color)
Author — author judgment, no formal reviewer at step
PO — Product Owner
TL — Tech Lead
AR — Architect
QA — Quality Assurance
Dev — Developer (peer)
Color reflects the primary reviewer at the gate that covers this step. Multiple reviewers are listed in each node's body.
🛠️ Skill lines name the /cct-* skill that produces the artifact. The 11 step skills (one optional — /cct-intent-update) live at .claude/skills/cct-*/SKILL.md.
Dashed edges (-.->) mark the optional path to Step 2.5; solid double-lines (==>) are the standard sequential flow.
All artifact paths shown are relative to cct-aidlc/<intent>/.
Diamond nodes (◇) are the two formal review gates — the only places where the backlog row's Status flips.
flowchart TD
subgraph P1["Phase 1 — Inception"]
direction TB
S1["Step 1 — Scaffold the intent 📄 inception/intent.md (skeleton) 📄 inception/prompts.md (P-1) 📁 inception/sources/ (empty) 📁 construction/ (empty) 📋 New row in intent-backlog.md (Draft) 🛠️ Skill: /cct-intent <intent> Author: AI scaffolder · Reviewer: author judgment"]
S2["Step 2 — Drop sources (manual) 📁 inception/sources/ (legacy XML, screenshots, SP DDL, table DDL, vendor specs) 📄 P-N entry in inception/prompts.md 🛠️ Skill: none — manual file copy Author: author (person) · Reviewer: author judgment"]
S2H["Step 2.5 — Targeted intent edit(optional) 📄 revisions to inception/intent.md (specific fields) 📄 P-N entry in inception/prompts.md 🛠️ Skill: /cct-intent-update <intent> <text> (single-shot) Locks in Pathway / Depends on / Goal / Success criterion / Constraints / Deviations before Q&A opens. Skip when nothing to lock in. Author: AI applies stated edits · Reviewer: author judgment"]
S3["Step 3 — Build the plan (multi-turn Q&A) 📄 inception/plan.md (with full Q&A trail) 📄 refinements to inception/intent.md 📄 P-N entry in inception/prompts.md 🛠️ Skill: /cct-plan <intent> (conversational) Author: AI proposes · Reviewer: PO at end-of-Inception gate"]
S4["Step 4 — Elicit user stories 📄 inception/user_stories.md 📄 P-N entry in inception/prompts.md 🛠️ Skill: /cct-stories <intent> Author: AI · Reviewer: PO at end-of-Inception gate"]
G1{"◇ End-of-Inception review gate PO (always) + TL/AR (conditional — only if plan introduces new shared component or new architecture) Outcome on approve: backlog flips Draft → Approved (Construction unlocks)"}
end
subgraph P2["Phase 2 — Construction"]
direction TB
subgraph PARA["Steps 5–8 (in parallel from approved Inception artifacts)"]
direction LR
S5["Step 5 — Domain model 📄 construction/domain.md aggregates · numbered invariants (DM I1, DM I2, …) · state machines · events · policies 🛠️ Skill: /cct-domain <intent> Skip for report pathway Reviewer: AR + TL at end-of-design"]
S6["Step 6 — ADRs / TDRs 📄 construction/adrs.md (feature-local) 📄 architecture/adrs/ADR-NNN-*.md (cross-cutting promotions) 🛠️ Skill: /cct-adrs <intent> Skip for report pathway unless cross-cutting Reviewer: AR + TL at end-of-design"]
S7["Step 7 — Detailed design 📄 construction/design.md DB summary · IaC summary · component map · routes · zod schemas · SP signatures · CLI surface · error mapping 🛠️ Skill: /cct-design <intent> Reviewer: TL + AR at end-of-design"]
S8["Step 8 — Test plan 📄 construction/tests.md T-N IDs · AC refs · buckets (unit/integration/contract/smoke/e2e) · standards-conformance tests 🛠️ Skill: /cct-tests <intent> Reviewer: QA + TL at end-of-design"]
end
S9["Step 9 — Bolt decomposition 📄 construction/bolts.md B-1..B-N deployable slices · files created/modified · depends-on DAG · T-N tests covered · verification commands 🛠️ Skill: /cct-bolts <intent> Author: AI · Reviewer: TL at end-of-design"]
G2{"◇ End-of-design review gate TL + AR + QA (always) · PO (only if scope/UX shifted from Inception) Outcome on approve: backlog flips Approved → In-Construction (Step 10 unlocks)"}
S10["Step 10 — Per-bolt code 💻 Code + T-N tests, one commit per bolt 📄 P-N entry in construction/prompts.md (per bolt) 🛠️ Skill: /cct-code-bolt <intent> <B-id> One invocation per bolt, in dependency order Author: AI + driver Dev · Reviewer: TL or peer Dev"]
S11["Step 11 — Doc sync 📄 architecture/api_reference.md (rows added) 📄 architecture/cli_reference.md (rows added) 📄 architecture/cct_cli_user_guide.md (recipes added) 📄 (sometimes) feature-specific guide updates 🛠️ Skill: /cct-doc-sync <intent> Mechanical sync — does NOT introduce new design decisions Reviewer: AR (or TL) — light review Outcome on approve: author runs /cct-backlog --update <intent> In-Operations to flip the row"]
end
subgraph P3["Phase 3 — Operations (deferred)"]
direction TB
Sunset["In-Operations Live in production · Operations sub-states TBD Skills for runbooks / monitoring / incident response are deferred to a later spec pass."]
end
S1 ==> S2
S2 -.->|optional| S2H
S2 ==> S3
S2H ==> S3
S3 ==> S4
S4 ==> G1
G1 ==> S5
G1 ==> S6
G1 ==> S7
G1 ==> S8
S5 ==> S9
S6 ==> S9
S7 ==> S9
S8 ==> S9
S9 ==> G2
G2 ==> S10
S10 ==> S11
S11 ==> Sunset
classDef rAuthor fill:#f0f0ec,stroke:#888,stroke-width:1.5px,color:#1a1a1a
classDef rPO fill:#cfe2f3,stroke:#4a78c9,stroke-width:1.5px,color:#1a1a1a
classDef rTL fill:#d9c7e8,stroke:#7e5da8,stroke-width:1.5px,color:#1a1a1a
classDef rAR fill:#e8d4f4,stroke:#715197,stroke-width:1.5px,color:#1a1a1a
classDef rQA fill:#fff3a8,stroke:#b89b1f,stroke-width:1.5px,color:#1a1a1a
classDef rDev fill:#c8e6c9,stroke:#4d8a59,stroke-width:1.5px,color:#1a1a1a
classDef gate fill:#f4c7c3,stroke:#b8483f,stroke-width:2px,color:#1a1a1a
class S1,S2,S2H rAuthor
class S3,S4 rPO
class S5,S6 rAR
class S7 rTL
class S8 rQA
class S9,S10 rTL
class S11 rAR
class Sunset rAuthor
class G1,G2 gate
style P1 fill:#f4f8ff,stroke:#4a78c9,stroke-width:2px,color:#1a3a6e
style P2 fill:#fffaf0,stroke:#c98a2c,stroke-width:2px,color:#6e4a1a
style P3 fill:#f0faf3,stroke:#3d8d57,stroke-width:2px,color:#1a4a2c
style PARA fill:#fff,stroke:#aaa,stroke-width:1.5px,stroke-dasharray:4 3,color:#555
Skill inventory — at a glance
Eleven step skills implement the workflow (one — /cct-intent-update — is optional and runs only when the author wants to lock in specifics before Q&A), plus one CCT-AIDLC workspace-utility skill (/cct-backlog), six branching-utility skills (/cct-pr-inception, /cct-pr-construction, /cct-chore, /cct-release, /cct-rebase-intent, /cct-commit) operationalizing the git workflow in cct-aidlc/branching.md, and two repo-wide read-only utility skills (/change-summary, /test-summary). Step 2 (drop sources) is the only manual step. /cct-plan is the only multi-turn step skill; /cct-code-bolt is the only step skill with two arguments. Every step skill except /cct-intent refreshes the Last Updated column on the affected intent's backlog row; Status flips happen at the manual review gates via /cct-backlog --update, not inside step-skill runs.
Single-shot bridge between /cct-intent and /cct-plan. Reads intent.md + sources/ and applies the author's plain-language instructions to specific fields (Goal, Success criterion, Pathway, Depends on, Constraints, Deviations, Source attribution). Does not start a Q&A loop, does not draft plan.md, does not flip Status. Skip when there's nothing to lock in before Step 3.
Inception
/cct-plan <intent>
3 — Build the plan
Multi-turn, conversational. Q&A loop until ambiguities resolved; refines intent.md in place.
Inception
/cct-stories <intent>
4 — Elicit stories
Single-shot. One story per legacy interaction. Standard CCT persona cast.
Construction
/cct-domain <intent>
5 — Domain model
Parallel with Steps 6, 7, 8. Skips for report pathway.
Construction
/cct-adrs <intent>
6 — ADRs / TDRs
Parallel with Steps 5, 7, 8. Skips for report pathway unless cross-cutting.
Construction
/cct-design <intent>
7 — Detailed design
Parallel with Steps 5, 6, 8. Pathway-shaped (thinner for report).
Construction
/cct-tests <intent>
8 — Test plan
Parallel with Steps 5, 6, 7. Authored from Inception artifacts only.
Construction
/cct-bolts <intent>
9 — Bolt decomposition
After Steps 5–8 are author-ready. Decomposes design into B-1..B-N.
Construction
/cct-code-bolt <intent> <B-id>
10 — Per-bolt code
Sequential per bolt, in dependency order. One commit per bolt.
Construction
/cct-doc-sync <intent>
11 — Doc sync
After all bolts shipped. Mechanical sync to architecture/ reference docs.
Workspace utility
/cct-backlog [--update <intent> <status>]
cross-step
Reads the backlog table; --update flips Status at the manual gates (Draft → Approved, Approved → In-Construction, In-Construction → In-Operations, In-Operations → Sunset) and appends a YYYY-MM-DD HH:MM-stamped P-N entry to the appropriate prompts.md. Status flips happen only through this skill, never from a step skill.
Branching utility
/cct-pr-inception <intent>
End-of-Inception gate
Drafts Inception PR (intent/<slug>/inception → intent/<slug>). Verifies the three Inception artifacts and backlog Status is Draft. Emits gh pr create --base intent/<slug> --head intent/<slug>/inception and post-merge construction-branch setup commands for the user.
Branching utility
/cct-pr-construction <intent>
End-of-design gate
Drafts Construction PR (intent/<slug>/construction → intent/<slug>, long-lived). Verifies pathway-aware Construction artifacts and backlog Status is Approved. Emits gh pr create --draft --base intent/<slug> and the post-merge gh pr ready command for the user.
Branching utility
/cct-chore <slug>
cross-step
Cuts chore/<slug> off origin/develop for administrative work. Branch-create only — leaves any working-tree changes uncommitted for the user (typically committed via /cct-commit).
Branching utility
/cct-release [vN.M]
Release event
Advisory only. Runs read-only release safety checks and emits the git checkout main && git merge --ff-only develop && git tag && git push sequence. Never touches main.
Branching utility
/cct-rebase-intent <intent>
cross-step
Rebases an open intent/<slug> onto updated origin/develop. Auto-fetches and auto-runs git rebase. On clean rebase, emits git push --force-with-lease. On conflict, halts and emits resolution commands. Never pushes.
Branching utility
/cct-commit [subject]
cross-step
Commits the currently-staged changes locally with a generated branch-aware message (subject prefix from intent/<slug>/inception, intent/<slug>/construction, intent/<slug>, issue/ISS-NNN-*, chore/<slug>, or Conventional Commits). Refuses on main / develop. Never stages, pushes, or opens PRs.
Repo utility
/change-summary [days]
cross-step
Two-phase summary of recent git activity (default 7-day window). Phase 1 prints commit subjects grouped by author with the current user first; Phase 2 expands diffs for entries the user picks. Read-only — no files written. Useful for catching up after time away or pre-reading recent activity before End-of-Inception / End-of-design reviews.
Repo utility
/test-summary [--detailed] [path-or-tool]
cross-step
Two-axis test inventory — rows are CCT-AIDLC test types (unit / integration / contract / smoke / e2e), columns are areas (frontend / handlers / CLI / cross-cutting), cells show counts. --detailed lists file paths under each non-zero bucket; the optional positional argument filters by path or tool/intent name. Read-only — no files written. Useful during Step 8 (/cct-tests) to validate tests.md bucketing and surface coverage gaps.
Repo-wide utility skills
Two read-only utility skills sit alongside the CCT-AIDLC step skills. Neither is part of the workflow — they don't read or write any cct-aidlc/<intent>/ artifacts and don't refresh the backlog — but both come up often enough during CCT-AIDLC work that they're worth keeping next to the canonical inventory. SKILL.md files live at .claude/skills/change-summary/SKILL.md and .claude/skills/test-summary/SKILL.md.
/change-summary [days]
Repo utility — recent git activity
Two-phase summary of git activity over a days-wide window (default 7). Phase 1 lists every commit on main and on other remote branches in the window, grouped by author with the current user listed first and tagged (you). Subjects only — clearly-related consecutive commits by the same author are consolidated into a single themed entry. Phase 2 reads the actual diff for entries the user picks and writes a richer synopsis. The header echoes the absolute window dates so the output is reproducible.
Argument
Optional integer = window size in days (default 7).
Output
Printed to chat — no files written.
When useful
Catching up after time away · drafting status updates · populating PR descriptions · pre-reading recent activity before an End-of-Inception or End-of-design review.
SKILL.md
.claude/skills/change-summary/SKILL.md
/test-summary [--detailed] [path-or-tool]
Repo utility — test inventory
Two-axis test inventory across the repo. Rows are CCT-AIDLC test types: unit, integration, contract, smoke, e2e — same buckets /cct-tests uses in tests.md, so the inventory cross-references cleanly with any intent's test plan. Columns are areas: frontend, handlers, CLI, cross-cutting. Cells show test-case counts. The skill is read-only — it discovers files via find and counts cases via grep. No code is built, no tests are run, no files are written.
Flags
--detailed (or --files) lists file paths under each non-zero bucket. Default is counts-only.
During Step 8 (/cct-tests) to validate tests.md bucketing against the existing repo pattern · coverage audit before End-of-design review · finding gaps (e.g., a tool that ships handlers but no contract test).
SKILL.md
.claude/skills/test-summary/SKILL.md
CCT-AIDLC has only two pathways. Both are single-Unit (the legacy artifact's bounded context). Both share the same Inception entry skills. They diverge in Construction: tool-migration produces all five design-time artifacts; report skips domain.md and adrs.md entirely (do not create stub files), and ships a thinner design.md + a single Bolt by default.
Frequency
Top tier — every CCT migration intent picks one of these two
Genuine green-field, multi-tool reorganizations, brown-field cross-cutting concerns, and defect fixes are out of scope for the CCT migration program — they're handled outside this flow under standard AI-DLC.
Where pathway is captured
Declared in cct-aidlc/<intent>/inception/intent.md at Step 1.
Confirmed during /cct-plan Q&A in Step 3.
Read by every Construction-phase /cct-* skill to decide pathway tailoring.
Parity policy
CCT-AIDLC is a parity migration program. The default for every intent is "match legacy behavior and look-and-feel." Enhancements need an explicit Deviations from legacy entry in intent.md with one-line justification.
Pick the pathway
Almost trivial — the legacy artifact's read/write shape decides the pathway.
flowchart TD
Start(["Legacy artifact identified"]) --> QWrites{"Does it have write operations?"}
QWrites -->|yes — tool / form / dialog| ToolMigration["tool-migration single-Unit lift of one legacy tool / form with writes"]
QWrites -->|no — pure read-only report| Report["report single-Unit read-only report via ic-api-report-handler"]
classDef topTier fill:#c8e6c9,stroke:#006F62,stroke-width:2px,color:#1a1a1a
classDef question fill:#fff,stroke:#555,stroke-width:1.5px,color:#1a1a1a
class ToolMigration,Report topTier
class QWrites question
Pathway summary
tool-migration
Top tier — writable tools and forms
Single-Unit lift of one legacy tool / form / dialog with write operations into Insight Cash. The tool's bounded context is fixed by the legacy artifact. All five design-time artifacts apply: domain.md, adrs.md, design.md, tests.md, bolts.md.
Phase 1
/cct-intent · /cct-plan · /cct-stories
Phase 2 design
All four parallel: /cct-domain · /cct-adrs · /cct-design · /cct-tests
Read-only → report · multi-Unit → out of scope (use standard AI-DLC)
report
Top tier — read-only reports
Single-Unit lift of one legacy read-only report into Insight Cash. Reads through the existing ic-api-report-handler Lambda — typically just a report.json definition, a thin <ReportViewer> wrapper, a menu entry, and (sometimes) SQL scripts. Phase 2 deliverables are streamlined: no domain.md, no adrs.md (unless cross-cutting decision required), thinner design.md, single-Bolt default.
Sub-variant relationship.report is a single-Unit narrowing of tool-migration: same Phase 1 entry skills, same single-Unit assumption, but Phase 2 deliverables lighten progressively (no domain.md, no adrs.md, thinner design.md, single-Bolt default). When a report intent reveals a write requirement, the right move is to bail up to tool-migration rather than invent the missing artifacts inline.
Git branching strategy layered on top of the CCT-AIDLC workflow — companion to cct-aidlc/branching.md. Phase-related and minimal: one intent branch per intent with two phase sub-branches (inception + construction), plus single-PR issue/ and chore/ branches for work that doesn't warrant a full intent. Exactly three PRs per intent: a draft Intent PR opened immediately at scaffold time, an Inception PR at End-of-Inception, and a Construction PR at End-of-design. Releases merge develop → main manually.
Branch types
main — production
develop — integration
intent/<slug> — per intent (integration)
intent/<slug>/inception — inception phase
intent/<slug>/construction — construction phase
issue/<ISS-NNN>-<slug> — issue fix
chore/<slug> — administrative task
Reading the diagrams
The topology diagram shows the parent → child relationship between branch types.
The merge cascade table lists every PR / merge event in temporal order.
Single-PR branches (issue/, chore/) are flat — no sub-branching.
Intents have exactly 3 PRs: a draft Intent PR (opened at scaffold, merges last), an Inception PR, and a Construction PR (long-lived).
Workspace anchor
Canonical spec: cct-aidlc/branching.md.
Skill behavior changes are enumerated in branching.md and surfaced in twelve .claude/skills/cct-*/SKILL.md files: six existing skills get branch + auto-commit behavior, and six new branching-utility skills (/cct-pr-inception, /cct-pr-construction, /cct-chore, /cct-release, /cct-rebase-intent, /cct-commit) operationalize the git workflow. Per the CLAUDE.md Git Workflow carve-out, /cct-intent and /cct-issue auto-create branches AND auto-commit; /cct-code-bolt and /cct-doc-sync auto-commit directly on the current phase branch without creating a sub-branch; /cct-chore creates the branch only; the rest never commit. None push or open PRs — those stay user-driven.
Branch topology
Tree view of branch parent → child relationships. Solid arrows are branch-create directions (where each branch is cut from). Dashed arrows show merge targets (where each branch eventually lands).
flowchart TD
main["main production"]:::tMain
develop["develop integration"]:::tDevelop
intent["intent/<slug> per intent (integration)"]:::tIntent
inception["intent/<slug>/inception inception phase"]:::tInception
construction["intent/<slug>/construction construction phase (bolt commits land here)"]:::tConstruction
issue["issue/<ISS-NNN>-<slug> per issues.md row"]:::tIssue
chore["chore/<slug> administrative tasks"]:::tChore
main --> develop
develop --> intent
develop --> issue
develop --> chore
intent --> inception
intent --> construction
inception -.->|"Inception PR"| intent
construction -.->|"Construction PR"| intent
intent -.->|"Intent PR (draft from day one; ready-for-review after Construction PR merges)"| develop
issue -.->|"Issue PR"| develop
chore -.->|"Chore PR"| develop
develop -.->|"release (manual)"| main
classDef tMain fill:#cfe2f3,stroke:#4a78c9,stroke-width:2px,color:#1a1a1a
classDef tDevelop fill:#d9c7e8,stroke:#7e5da8,stroke-width:2px,color:#1a1a1a
classDef tIntent fill:#c8e6c9,stroke:#4d8a59,stroke-width:2px,color:#1a1a1a
classDef tInception fill:#b3d9ff,stroke:#4a78c9,stroke-width:1.5px,color:#1a1a1a
classDef tConstruction fill:#fff3a8,stroke:#b89b1f,stroke-width:1.5px,color:#1a1a1a
classDef tIssue fill:#ffe0b3,stroke:#c98a2c,stroke-width:1.5px,color:#1a1a1a
classDef tChore fill:#f0f0ec,stroke:#888,stroke-width:1.5px,color:#1a1a1a
Merge cascade
Six events in temporal order. PRs into develop are required for any intent / issue / chore work to land. The develop → main release is manual and not tied to any single intent.
#
Event
Source → Target
Opens at
Reviewers
Status flip on merge
1
Inception PR
intent/<slug>/inception → intent/<slug>
End-of-Inception gate (Step 4 done)
PO + conditional TL/AR
Draft → Approved
2
Construction PR (long-lived)
intent/<slug>/construction → intent/<slug>
End-of-design gate (Step 9 done); stays open through bolt commits (Step 10) + doc-sync (Step 11)
TL + AR + QA (+PO if scope shifted)
—
3
Intent PR
intent/<slug> → develop
Opened as draft immediately at Step 1 (gives develop visibility from day one); marked ready after Construction PR merges
TL (expedited — inception + construction already reviewed)
In-Construction → In-Operations
4
Issue PR
issue/<ISS-NNN>-<slug> → develop
After the fix is implemented + verified
Author + issue's Assigned To; PO if user-facing
issues.md: In Progress → Resolved
5
Chore PR
chore/<slug> → develop
After admin change implemented
TL (skills/build/CI) · AR (architecture/) · PO (process docs)
—
6
Release
develop → main
Team decision — not intent-driven
(release policy)
—
Branching lifecycle — skills in order
Where each branch-aware skill fires in the lifecycle of a branch. The intent lifecycle is the long one (Inception → Construction → doc-sync → merge). Issue / chore / release lifecycles are short and flat. Bold skills auto-commit; the rest never commit (they draft PRs, rebase, run safety checks, or just create the branch).
Auto-creates both branches and auto-commits the scaffold on intent/<slug>/inception (step-1: scaffold intent [<intent>]). Emits push commands for both branches and gh pr create --draft --base develop --head intent/<slug> for the user. The draft Intent PR gives develop visibility from day one.
2
Inception
Step 2 sources / Step 2.5 targeted edit / Step 3 plan / Step 4 stories — on intent/<slug>/inception
/cct-intent-update, /cct-plan, /cct-stories
Write files on intent/<slug>/inception. These step skills do not auto-commit — the author runs /cct-commit when ready to land a logical chunk.
Verifies the three Inception artifacts and Status = Draft; emits gh pr create --base intent/<slug> --head intent/<slug>/inception and post-merge construction-branch setup commands for the user. Never pushes, never opens the PR.
Verifies Inception PR merged via read-only gh pr list. Emits commit + push commands for the backlog edit. Author also runs the emitted construction-branch setup: git checkout intent/<slug> && git pull && git checkout --no-track -b intent/<slug>/construction intent/<slug>.
5
Pre-Construction (optional)
Refresh intent/<slug> if develop moved
/cct-rebase-intent <intent>
Auto-fetches and auto-rebases intent/<slug> onto origin/develop. On clean rebase, emits push commands for intent/<slug> and the active phase sub-branch. On conflict, halts and emits resolution commands.
6
Construction design
Steps 5–8 design-time artifacts (parallel) — on intent/<slug>/construction
/cct-domain, /cct-adrs, /cct-design, /cct-tests
Write files on intent/<slug>/construction. No auto-commit — author commits chunks via /cct-commit as artifacts stabilize.
7
Construction design
Step 9 — decompose into bolts — on intent/<slug>/construction
/cct-bolts <intent>
Writes bolts.md on intent/<slug>/construction. Author commits via /cct-commit.
8
End-of-design
Draft Construction PR (long-lived): intent/<slug>/construction → intent/<slug>
/cct-pr-construction <intent>
Pathway-aware artifact check + Status = Approved; drafts Construction PR with bolt manifest; emits gh pr create --draft --base intent/<slug> --head intent/<slug>/construction and the post-merge gh pr ready command for the user. Never pushes, never opens the PR.
9
After Construction PR opens
Flip backlog Approved → In-Construction
/cct-backlog --update <intent> In-Construction
No merge check (Construction PR is being opened, not merged). Emits commit + push commands for the backlog edit.
10
Construction code
Step 10 — bolt commit directly on intent/<slug>/construction
/cct-code-bolt <intent> <B-N>
No sub-branch created. Ensures working tree is on intent/<slug>/construction, implements files + tests, runs verification, and auto-commits the bolt iff verification passes (B-N: <summary> [<intent>]). On failure, leaves the tree dirty. Emits git push origin intent/<slug>/construction for the user (updates open Construction PR).
11
Doc sync
Step 11 — mirror as-shipped state into architecture/ — commit on intent/<slug>/construction
/cct-doc-sync <intent>
Auto-commits the doc-sync edits on intent/<slug>/construction (step-11: doc-sync [<intent>]). Emits git push origin intent/<slug>/construction for the user (updates open Construction PR).
12
Construction PR sign-off
Architect approves in Construction PR thread (no new PR)
— (review-thread sign-off)
Architect (or TL) ticks the doc-sync diff for accuracy. One sign-off is sufficient.
13
After Construction PR merge
Mark draft Intent PR ready for review
— (user runs gh pr ready)
Author runs gh pr ready (from intent/<slug>) using the command emitted by /cct-pr-construction. Converts the long-open draft Intent PR to ready-for-review.
14
After Intent PR merge
Flip backlog In-Construction → In-Operations
/cct-backlog --update <intent> In-Operations
Verifies Intent PR merged into develop. Emits commit + push commands for the backlog edit. intent/<slug>, intent/<slug>/inception, and intent/<slug>/construction are deleted.
Free-form commits during any step (typo fixes, doc tweaks between Q&A rounds) are handled by /cct-commit — it reads git diff --cached and the current branch name to draft a branch-aware subject (<intent>: on inception or construction sub-branches) and commits locally. Never pushes. Bolt commits use /cct-code-bolt which auto-commits with B-N: prefix.
Issue lifecycle
#
Branch event
Skill
What the skill does
1
Create ISS-NNN entry and cut issue/<ISS-NNN>-<slug> off develop
/cct-issue <slug> or /cct-issue --gh <number>
Default (<slug>): creates a minimal ISS entry and auto-commits (ISS-NNN: open issue branch). GitHub mode (--gh <number>): fetches the issue, infers the slug from the title, populates the ISS entry, auto-commits (ISS-NNN: open issue branch [gh#<number>]), and immediately starts working. Emits git push -u origin issue/<ISS-NNN>-<slug>.
2
Implement the fix + regression tests on the issue branch
/cct-commit
User stages and runs /cct-commit; subject auto-prefixed ISS-NNN: from the branch name.
3
Open Issue PR (issue/<ISS-NNN>-<slug> → develop)
— (user runs gh pr create)
Title format: [ISS-NNN] <short headline>. Reviewer per the issue's Assigned To.
4
PR merges; flip ISS-NNN In Progress → Resolved
/cct-issue
Verifies the issue PR merged via read-only gh pr list check. Refuses with a hint if not.
Promotion path. If scope outgrows the issue, abandon the branch and run /cct-intent <new-slug> to scaffold an intent; /cct-issue marks the row Promoted to Intent with a link to the new intent folder.
Chore lifecycle
#
Branch event
Skill
What the skill does
1
Cut chore/<slug> off origin/develop
/cct-chore <slug>
Branch-create only. Any pre-existing working-tree changes follow onto the new branch uncommitted. Emits a suggested commit topic + reviewer guidance (TL / Architect / PO per primary path).
2
Make the administrative change (doc tweak, skill edit, CI tweak, …)
/cct-commit
User stages and commits; subject auto-prefixed chore: with the topic derived from changed paths.
3
Open Chore PR (chore/<slug> → develop)
— (user runs gh pr create)
Reviewer matches the change surface (TL for skills/build/CI; Architect for architecture/; PO for process docs).
Release lifecycle
#
Branch event
Skill
What the skill does
1
Pre-release safety check + command generation
/cct-release [vN.M]
Advisory only. Runs read-only checks (CI status, open PRs, In-Operations intents, commits ahead of main) and emits the exact git checkout main && git merge --ff-only develop && git tag && git push sequence. Never executes — actions on main stay user-driven.
2
Fast-forward develop → main + tag + push
— (user runs emitted commands)
Branch protection on main blocks anything other than fast-forward. If the merge fails, develop has diverged — investigate, do not force.
For releases that need pre-prod soak testing, pass --release-branch to emit the release/<vN.M> exception form instead of the straight fast-forward. Per branching.mdRelease, release/* is the exception, not the default.
Non-intent branches: issues and chores
issue/<ISS-NNN>-<slug>
Issue fixes — per cct-aidlc/issues.md
Cut off develop for each ISS-NNN entry in the issue log that warrants a code change. Carries the fix + regression tests. Single PR back to develop titled [ISS-NNN] <short headline>. /cct-issue <slug> is the default (no GitHub interaction); /cct-issue --gh <number> fetches the GitHub issue, infers the slug, and starts working immediately. Verifies PR merged before flipping to Resolved.
Slug
Provided explicitly (/cct-issue <slug>) or inferred from the GitHub issue title (/cct-issue --gh <number>). E.g., issue/ISS-001-vault-balance-session-timeout.
Reviewer
Author + issue's Assigned To; PO attaches iff the fix changes user-facing behavior.
Status flip on merge
issues.md row: In Progress → Resolved (applied via /cct-issue).
Promotion to intent
If scope outgrows an issue, abandon the issue branch, run /cct-intent <new-slug>, mark the issue Promoted to Intent with a link to the new intent folder.
chore/<slug>
Administrative tasks
Cut off develop for non-intent / non-issue work — doc updates outside intents, skill maintenance, repo config, backlog cleanup, process changes (including branching.md itself). Single PR back to develop. Flat (no sub-branching), short-lived (deleted on merge). /cct-chore <slug> creates the branch (branch-create only — no auto-commit); the rest of the workflow (commit, push, PR) is user-driven.
Slug
Kebab-case and descriptive (chore/branching-strategy, chore/skill-frontmatter-refresh).
Six existing skills get branch-aware behavior, plus six new branching-utility skills operationalize the git workflow. None alters review gates, status states, or artifacts. /cct-intent and /cct-issue auto-create branches AND auto-commit; /cct-code-bolt and /cct-doc-sync auto-commit directly on the current phase branch without creating a sub-branch; /cct-chore creates the branch only. Push, gh pr create, and /cct-backlog --update are always manual — the skills emit ready-to-run commands.
Existing skills
Skill
Branch + commit behavior
/cct-intent
Creates local intent/<slug> off origin/develop, then immediately creates local intent/<slug>/inception off intent/<slug>. Auto-commits the scaffold on intent/<slug>/inception (step-1: scaffold intent [<intent>]). Refuses if develop missing on origin, or if intent/<slug> already exists. Emits push commands for both branches and gh pr create --draft --base develop --head intent/<slug> for the user.
/cct-code-bolt
No sub-branch created. Ensures working tree is on intent/<slug>/construction. Implementation + verification land directly on this branch. After verification passes, auto-commits the bolt (B-<id>: <summary> [<intent>]). If verification fails, does NOT commit. Emits git push origin intent/<slug>/construction for the user (updates open Construction PR).
/cct-doc-sync
No new branch. Auto-commits the architecture/ edits on intent/<slug>/construction (step-11: doc-sync [<intent>]). Emits push command for the user (updates open Construction PR).
/cct-backlog --update <intent> Approved
Verifies Inception PR is merged into intent/<slug> (read-only gh pr list --state merged --head intent/<slug>/inception --base intent/<slug>) before flipping Status. Backlog edit emitted as commit + push commands; does not auto-commit.
/cct-backlog --update <intent> In-Operations
Verifies Intent PR is merged into develop (read-only gh pr list --state merged --head intent/<slug> --base develop) before flipping Status. Same emit-only commit behavior as above.
/cct-issue
Default (/cct-issue <slug>): creates a minimal ISS-NNN entry, cuts issue/<ISS-NNN>-<slug> off develop, and auto-commits. GitHub mode (/cct-issue --gh <number>): fetches the issue, infers the slug from the title, populates the ISS entry, cuts the branch, auto-commits, and immediately starts working. On → Resolved: verifies issue PR merged.
New branching-utility skills
Skill
Purpose
/cct-pr-inception <intent>
Drafts Inception PR (intent/<slug>/inception → intent/<slug>) at End-of-Inception gate. Verifies artifacts + Status; emits gh pr create --base intent/<slug> --head intent/<slug>/inception and post-merge construction-branch setup commands. No commit, no push, no PR-open by the skill.
/cct-pr-construction <intent>
Drafts Construction PR (intent/<slug>/construction → intent/<slug>, long-lived) at End-of-design gate. Pathway-aware artifact check; emits gh pr create --draft --base intent/<slug> --head intent/<slug>/construction and the post-Construction-PR-merge gh pr ready command. No commit, no push, no PR-open by the skill.
/cct-chore <slug>
Cuts chore/<slug> off origin/develop. Branch-create only — leaves any working-tree changes uncommitted for the user. Emits a suggested commit topic + reviewer guidance (TL / Architect / PO per path).
/cct-release [vN.M]
Advisory only. Read-only safety checks (CI, open PRs, In-Operations intents), then emits the full fast-forward + tag + push command sequence. Never executes — actions on main stay user-driven.
/cct-rebase-intent <intent>
Refreshes an open intent onto updated origin/develop. Auto-fetches and auto-runs git rebase origin/develop on intent/<slug>. On clean rebase: emits push commands for intent/<slug> and the currently active phase branch (inception or construction). On conflict: halts and emits resolution commands. Never pushes.
/cct-commit [subject]
Commits the currently-staged changes locally with a generated branch-aware message. Refuses on main / develop. Never stages, pushes, or opens PRs. Useful for free-form fix-ups on intent / issue / chore branches; phase-aligned work uses the relevant /cct-* step skill (which auto-commits on its own).
/cct-backlog --update <intent> In-Construction does not require a merge check — that gate opens the Construction PR; it does not merge it. The remaining step skills (/cct-intent-update, /cct-plan, /cct-stories, /cct-domain, /cct-adrs, /cct-design, /cct-tests, /cct-bolts) need no behavioral change — they just write files on whatever branch is currently checked out.
Configure branch protection on main — only fast-forward merges from develop allowed; no direct pushes; release tags required.
Configure branch protection on develop — merges only via PR; required reviewers per the gates in process_flow.md; required CI green.
Update the six existing SKILL.md files listed above with the new branch + auto-commit operations, and create the six branching-utility SKILL.md files (/cct-pr-inception, /cct-pr-construction, /cct-chore, /cct-release, /cct-rebase-intent, /cct-commit).
In-flight intents. Intents already in In-Construction or In-Operations continue on whatever branch pattern they started on; this strategy applies to intents scaffolded by /cct-intent going forward. Intents currently in Draft may opt in by manually moving their working files onto a freshly-cut intent/<slug> off develop.