--- name: sdlc-start description: | Run the full SDLC pipeline (BA → Dev → QA → Security → Docs) for a feature, with auto-detection of the framework stack and git branching model. Use when the user asks to build a feature end-to-end, or types `$sdlc-start `. Do NOT use for trivial single-file edits or read-only questions. --- # SDLC: start a pipeline ## Arguments Codex skills receive the user's prompt as free text — there is no `$ARGUMENTS` substitution. Treat everything after the skill name as the feature description. Recognised flags anywhere in that text (strip them before using the rest as the feature description): | Flag | Effect | |---|---| | `--stack=NAME` | Skip stack auto-detection, force this profile | | `--workflow=NAME` | Force a workflow recipe | | `--type=NAME` | Force the task type (feature/fix/hotfix/refactor/docs/chore) | | `--redetect-git-flow` | Ignore the cached branching-model detection | | `--redetect-stack` | Recompute the content-addressed stack decision | | `--force-preflight` | Bypass the dependency preflight cache | | `--resume` | Resume the fresh run state for this project | If the description is empty after stripping flags, ask the user what to build and stop. Do not guess. Print verbatim: ``` ▶ $sdlc-start Description: Forced stack: Forced task type: ``` ## What to do 1. Resolve `SDLC_HOME` from `PLUGIN_ROOT`; if unset, read `$CODEX_HOME/sdlc-home`. If neither contains the orchestrator, explain the native marketplace or compatibility-installer setup and stop. 2. Invoke the `pipeline-orchestrator` skill and follow its algorithm from Step 0. 3. Pass the cleaned feature description and any parsed flags to it. Do not implement the pipeline here. This skill exists only to be a stable, discoverable entry point; the algorithm lives in `pipeline-orchestrator`. ## Headless mode `SDLC_NONINTERACTIVE=true` removes interactive prompts (branch gate, policy prompts) but does not make the run detached. The development plan approval gate still applies. Under `codex exec`, phase output is additionally validated against `{SDLC_HOME}/schemas/phase-output/{phase}.json` via `--output-schema`.