RCP-CWK-048 Cowork Subproject Start

Opens a new subproject under the current CRAFT project

Opens a new subproject under the current CRAFT project per SUBPROJECT-SYSTEM-SPEC v1.02a. Creates the SP folder, writes STATE.txt (ACTIVE=true, CURRENT_PHASE=1), PHASES.txt (frozen per I-3), LOG.txt start entry, and an empty LL-DELTAS.txt stub. Enforces the single-active-SP invariant (I-1). Emits the first CURRENT SUBPROJECT footer block.


Cowork Subproject Start

Tags: Introduced in Beta, Session, Subproject, Lifecycle, Cowork

TL;DR

What It Does
Opens a new subproject under the current CRAFT project per SUBPROJECT-SYSTEM-SPEC v1.02a. Creates the SP folder, writes STATE.txt (ACTIVE=true, CURRENT_PHASE=1), PHASES.txt (frozen per I-3), LOG.txt start entry, and an empty LL-DELTAS.txt stub. Enforces the single-active-SP invariant (I-1). Emits the first CURRENT SUBPROJECT footer block.
How It Works
Eight steps. (1) Precondition checks — I-1 single-active enforcement, sp_id format validation, slug validation, sequential SP number check. (2) Create SP folder. (3) Write STATE.txt with ACTIVE=true, CURRENT_PHASE=1. (4) Write PHASES.txt with frozen phase plan (I-3). (5) Write LOG.txt start entry. (6) Touch LL-DELTAS.txt stub. (7) Emit first CURRENT SUBPROJECT footer. (8) Confirmation report.
What To Expect
A new subproject folder containing STATE.txt, PHASES.txt, LOG.txt, and LL-DELTAS.txt. The first CURRENT SUBPROJECT footer block is rendered, and CWK-012 handles subsequent footer passes.
Best Results When You
Have a clear goal and phase plan before starting. Know the next free SP number. Have already closed any previous subproject via CWK-049.
Typical Time
1–2 minutes. Folder creation and file writes are fast.
Difficulty
Intermediate — you need to understand the subproject system invariants (single-active, frozen phases) and have a clear scope defined before opening.

How To Start

This recipe creates the formal structure for a multi-phase initiative within your CRAFT project. Subprojects track progress through defined phases, accumulate lessons learned, and integrate with the session footer and handoff system. Only one subproject can be active at a time (I-1). Phase names are frozen at creation (I-3) — plan them carefully.

STEP 1Define the Subproject

Provide the subproject identity, goal, phases, and completion criteria.
Available parameters
  • sp_id · string · required
    Subproject identifier in P{NNN}:SP{MM} format. Must match current PROJECT_ID and be the next free number.
  • slug · string · required
    Kebab-case slug used as the directory suffix: project/subprojects/SP{MM}-{slug}/.
  • title · string · required
    Human-readable subproject title.
  • goal · string · required
    One-paragraph statement of what the subproject exists to accomplish.
  • phase_names · list · required
    Ordered list of phase names. Frozen at start (I-3): no add/remove after CWK-048 returns.
  • completion_criteria · string · required
    What “done” looks like. Used at CWK-049 close-time to validate exit.
  • spec_path · string · optional
    Path to a project-local spec file the subproject is implementing.
  • spec_version · string · optional
    Spec version string paired with spec_path.
Invocations
Standard subproject start
#H->AI::Directive: (Execute CWK-048 with sp_id="P067:SP10", slug="recipe-build-out", title="Recipe Page Build-Out", goal="Build HTML pages for all 128 recipes", phase_names=["Spec", "Build", "Review & Close"], completion_criteria="All 128 recipe pages published")
With spec reference
#H->AI::Directive: (Execute CWK-048 with sp_id="P061:SP04", slug="confidence-gate", title="Confidence Gate System", goal="Implement CWK-051", phase_names=["Design", "Build", "Dogfood & Close"], completion_criteria="CWK-051 in cookbook", spec_path="research/SP04-CONFIDENCE-GATE-DESIGN.txt", spec_version="v1.00a")

Usage Examples

EXAMPLE 1Standard subproject start

User
Open a new subproject for the recipe page build-out.
Cat
Cowork Subproject Start — validating preconditions. No active SP found — I-1 OK. sp_id P067:SP10 valid, slug valid, next free number confirmed. Creating folder: project/subprojects/SP10-recipe-build-out/. STATE.txt: ACTIVE=true, CURRENT_PHASE=1. PHASES.txt: 3 phases (Spec | Build | Review & Close), frozen. LOG.txt start entry written. LL-DELTAS.txt stub created. First CURRENT SUBPROJECT footer rendered.

EXAMPLE 2Blocked by active subproject

User
Start a new subproject for the design system.
Cat
Cowork Subproject Start — precondition check. Single-active-SP invariant (I-1) violated. Active subproject already exists: P067:SP09. Close it via CWK-049 before opening a new one.

EXAMPLE 3With spec reference

User
Open the confidence gate subproject linked to the design doc.
Cat
Cowork Subproject Start — preconditions pass. Creating P061:SP04 at project/subprojects/SP04-confidence-gate/. STATE.txt: ACTIVE=true, CURRENT_PHASE=1, SPEC_PATH=research/SP04-CONFIDENCE-GATE-DESIGN.txt, SPEC_VERSION=v1.00a. PHASES.txt: 3 phases (Design | Build | Dogfood & Close), frozen. LOG.txt and LL-DELTAS.txt initialized. Footer rendered.

How AI Reads This Recipe

When this recipe is triggered, the AI creates a new subproject under the current CRAFT project. The AI should:
  1. Check preconditions. Scan project/subprojects/*/STATE.txt (excluding _closed/) for any ACTIVE=true. If found, refuse — I-1 single-active invariant. Validate sp_id format (P{NNN}:SP{MM}), slug (kebab-case), and sequential SP number.
  2. Create SP folder. mkdir -p project/subprojects/SP{MM}-{slug}/.
  3. Write STATE.txt. Include all metadata: SP_ID, SLUG, TITLE, GOAL, ACTIVE=true, TOTAL_PHASES, CURRENT_PHASE=1, PHASE_NAMES, PHASES_COMPLETE=0, dates, handoff IDs, empty CLOSED fields, COMPLETION_CRITERIA, optional spec fields.
  4. Write PHASES.txt. List all phases. Phase 1 STATUS=in_progress, all others pending. Frozen per I-3 — no add/remove after creation.
  5. Write LOG.txt. Start entry with handoff ID, goal, phases, and completion criteria.
  6. Touch LL-DELTAS.txt. Create stub with header explaining CWK-049 auto-merge at close with OQ-1 visibility-on-merge echo.
  7. Emit first footer. Render CURRENT SUBPROJECT footer per spec Section 5 (8-line cap, I-7). CWK-012 v1.06a handles subsequent renders by re-reading STATE.txt fresh (I-4).
  8. Confirm. Report SP folder path, STATE.txt status, PHASES.txt count and freeze, LOG.txt and LL-DELTAS.txt creation. Note CWK-049 as the close mechanism.

When To Use This Recipe

Use this recipe when scoping a multi-phase initiative within an existing project — anything spanning multiple sessions that benefits from structured phase tracking, dedicated lessons learned, and footer visibility. Common triggers: CWK-021 routes SP_NEW, mentor or owner requests a formal initiative, or a natural boundary emerges between project-level work and a focused effort.
Do Not Use When
The work is a single-session task that doesn’t need phase tracking. When another subproject is already active — close it via CWK-049 first. For project-level work that doesn’t warrant formal phase structure.

Recipe FAQ

What happens if I try to start a second subproject?
The recipe refuses. Invariant I-1 enforces one active subproject per project. Close the current one via CWK-049 first, then start the new one.

Can I change the phases after starting?
No. Invariant I-3 freezes the phase plan at start. If you need different phases, close the current SP (even if incomplete) and start a new one with the corrected plan. This prevents scope creep and maintains audit clarity.

What’s the LL-DELTAS.txt file for?
It accumulates lessons-learned entries specific to the subproject. When you close the SP via CWK-049, the deltas are auto-merged into the parent project’s LL file with verbatim echo (OQ-1 visibility-on-merge).

How does the footer work?
CWK-048 emits the first CURRENT SUBPROJECT footer block. After that, CWK-012 v1.06a re-reads STATE.txt fresh on every response (no caching, I-4) and renders the footer automatically. The footer reverts to the no-SP form when CWK-049 closes the subproject.

What’s the spec_path parameter for?
Optional. If the subproject is implementing a formal specification, provide its path and version. These are recorded in STATE.txt for traceability and referenced at close time for completion validation.

Version History

v1.00a — 2026-04-05
Initial creation. Subproject lifecycle start per SUBPROJECT-SYSTEM-SPEC v1.02a Section 4. 8-step workflow with I-1 enforcement, I-3 phase freeze, STATE/PHASES/LOG/LL-DELTAS file creation, and footer integration via CWK-012 v1.06a.

Get this recipe with CRAFT for Claude Cowork

Cowork recipes ship bundled with CRAFT for Claude Cowork — there’s no separate download. Clone the framework once, and your AI runs every recipe automatically when invoked.

Pull anytime to stay on the latest version — free to clone, no login or email required.

Then start your session

Once CRAFT is in your project folder, open a new Cowork session and ask Claude to initialize. For example:

You

Please initialize my CRAFT session.

Claude

CRAFT session ready. Your project is loaded, your persona is active, and your recipes are available. What would you like to work on?

What is CRAFT for Claude Cowork?

Not familiar with Git? Download as a ZIP

No command line needed. Just download, move, and unzip:

  1. Open the CRAFT framework repo on GitHub.
  2. Click the green Code button, then choose Download ZIP.
  3. Move the downloaded ZIP into your Claude Cowork project folder.
  4. Unzip it: double-click on Mac, or right-click → Extract All on Windows.

Similar Posts