cf-sdlc-decompose · git:20261019.3263a3e · 2026-10-19 · sha256 a45a66d518643ddc

cf-sdlc-decompose git:20261019.3263a3eA

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

---
name: cf-sdlc-decompose
description: "Invoke when the user asks to decompose, break down, or author/revise a DECOMPOSITION — e.g. \"decompose\", \"break into features\", \"create the feature list / plan\", \"order features and dependencies with coverage back to PRD/DESIGN\". Thin preset binding the DECOMPOSITION artifact KIND, delegating authoring and review to the core cf-write-docs engine."
disable-model-invocation: false
user-invocable: true
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Task, WebFetch, AskUserQuestion
---
<!-- Generated by cf agents -- do not edit -->

CF_WORKFLOW_ACTIVE:
- workflow = executable_control_flow
- no_substantive_work_until = workflow_explicit_permission
MANDATORY RULE: USER INTENT IS SKILL INPUT, NOT EXECUTION AUTHORITY
- hard_stop = WAIT | STOP_TURN | menu | gate | opener | approval | dispatch_gate | terminal_shape
- precedence = constructor_studio_workflow > generic_assistant
- ask_tool_name = "AskUserQuestion"
- ask_tool_description = "a tool that presents the user a blocking multiple-choice question with selectable options, distinct from plain text output"

ALWAYS resolve and enforce prerequisites of skills/workflows/commands BEFORE applying user intent.

```pdsl
UNIT GeneratedBootstrapUnit
PURPOSE: Load the required shared bootstrap before handing control to the target protocol.
DO:
  LOAD {cf-studio-path}/.core/skills/studio/modules/runtime/required-bootstrap.md
  RUN RequiredBootstrap
  LOAD and RUN {cf-studio-path}/config/kits/sdlc/workflows/decompose.md as controlling protocol
RULES:
  - ALWAYS run this bootstrap unit before any target workflow or skill work begins
  - ALWAYS preserve the canonical controlling-protocol target so generated-file ownership and cleanup remain stable

UNIT GeneratedFollowProtocol
RULES:
  - ALWAYS treat target as controlling protocol, not background context
  - ALWAYS traverse declared steps/units in order
  - ALWAYS load every required unconditional LOAD/CONTINUE before task work
  - ALWAYS evaluate conditional gates and load every active branch
  - ALWAYS while the workflow is active, treat each new user message as input to the current workflow state, not as permission for unrelated execution.
  - ALWAYS stop if any required fragment or rule cannot be followed
```