lulu-plan · git:20261004.fc49baf · 2026-10-04 · sha256 19d305c7dcf08842

lulu-plan git:20261004.fc49bafA

Immutable. This exact content never changes and is served at /api/v1/blob/19d305c7dcf08842.

---
name: lulu-plan
description: >-
  Produce and deliver an implementation-ready tech-doc for a feature cycle.
disable-model-invocation: true
---

# lulu-plan

Own the stage-specific contract and inputs for composing the plan doc.
Completion is delivery through the shared `compose` engine.

## Contract

| Boundary | Contract |
|---|---|
| Scope | Feature cycle only |
| Prerequisite | Product mode: Delivered `lulu-spec` and `lulu-design`. Tech mode: Delivered `lulu-design`, or `lulu-approach` as a `decision-package`. |
| Output | Delivered plan doc |
| Ownership | `lulu-plan` prepares stage inputs; `compose` owns orchestration |

## Runtime

<HARD-GATE>
Do NOT proceed until you have read `../_runtime.md` and:

- loaded `$SKILL_ROOT` and `$PLATFORM` from `## Platform Context`
- established `$CYCLE_ID` and `$CYCLE_TYPE` via `## Session Foundation`
- set `$SKILL_DIR` = `$SKILL_ROOT/lulu-plan`

</HARD-GATE>

## Compose

1. Run `$PLAN_PREFLIGHT`. Bind stdout `profile_path` as `$PROFILE_PATH` and `scope_package` as `$SCOPE_PACKAGE`.

<HARD-GATE>
Do NOT proceed until you have read `{SKILL_ROOT}/compose/SKILL.md` in full.
Continue from its `## Entry`.
</HARD-GATE>

## Script Macros

| Macro | Command |
|---|---|
| `$PLAN_PREFLIGHT` | `python3 "$SKILL_DIR/scripts/start/tech_plan_preflight.py" --cycle-id "$CYCLE_ID"` |