Skip to content

Skill lifecycle extensions

State: open/active · Genre: proposal

Status: working draft, 2026-10-02. Part of the strategy hub.

A project extends a skill by dropping a file at a known path. The skill reads it if it exists. No configuration, no CLI required, and a missing file means the skill runs unchanged.

<project>/sdlc/extend/skills/<skill>.lifecycle

One file per skill, named after the skill. <project> is the project root, the directory that holds sdlc.yaml. Once control units land (D-XCXA-module-graph), a control unit can carry its own file, resolved nearest first, the same way D-SK9G resolves links.

A skill that supports extension names its hook points in one short section, for example:

## Extension points
- before: runs before step 1
- after-research: runs after step 2
- rules: constraints applied to every step
- after: runs after the last step

A skill exposes only the points it needs. Most skills need two or three.

The .lifecycle file holds one section per hook point it uses. Each section is plain prose, with commands where the step needs them. Example for capability-groom:

## rules
Every proposal names the control unit that will own the capability.
## after-research
Check docs/research/ for an existing survey before searching outside the repo.
## after
Open the decision as a draft PR against main.
  • A hook adds to the skill. It cannot remove a step or skip the skill’s own checks.
  • A section for a hook point the skill does not declare is an error the skill reports.
  • Prose skills read the file themselves. An sdlc op can serve the same file later, so tools other than an agent can read it.
  • Whether a directory of ordered step files at sdlc/extend/<skill>/<point>/ replaces this file. See Adopting a project.
  • Is one .lifecycle file per skill enough, or does a skill need a directory for templates and fixtures?
  • Plain markdown sections, or a small YAML header listing the hooks used?
  • Whether extension points get a fixed vocabulary (before, rules, after, after-<step>) or each skill names its own.

← Back to Notes