RETIRED.
dw-lifecyclehas been superseded bystack-control. This skill is preserved for historical reference only and is no longer maintained. Use stack-control skills instead.
/dw-lifecycle:audit
Alias of /dw-lifecycle:review. Follow the exact same protocol: controller-side verification re-run first, then spec-compliance and code-quality review passes, with findings written into a durable audit log that becomes the source of truth.
Steps
- Determine audit scope: defaults to commits since branching from
main; operator may override with--since <ref>. - Determine the audit-log path before reviewing.
- For a tracked feature, use the feature-local audit log at
docs/<version>/<status>/<slug>/audit-log.md. - If the file does not exist, create it.
- If this is not a feature-scoped audit and there is no obvious existing audit log, stop and ask the operator where the durable log should live rather than inventing a hidden location.
- For a tracked feature, use the feature-local audit log at
- Run Track 1 yourself before dispatching reviewers: independently re-run the load-bearing verification gate in your own environment.
- For UI-touching changes, include the relevant browser/probe/Playwright or smoke verification, not just unit tests.
- Record exact commands or probes plus concrete outcomes. Treat the implementer's reported output as a claim, not evidence.
- Invoke
superpowers:requesting-code-reviewto frame the request. Include:- the audit scope
- the workplan / PRD / issue references that define expected behavior
- architectural decisions or accepted deferrals already in force
- the Track 1 verification evidence you just collected
- whether this is routine or high-risk work
- Run Track 2: spec-compliance review. Dispatch
feature-dev'scode-revieweragainst the scope with the spec/workplan context visible. - Run Track 3: code-quality review. Dispatch a separate
feature-devcode-reviewerpass focused on bugs, regressions, discipline violations, missing tests, and maintainability risks.- For substantial or high-risk changes, dispatch Tracks 2 and 3 in parallel via
superpowers:dispatching-parallel-agents.
- For substantial or high-risk changes, dispatch Tracks 2 and 3 in parallel via
- Integrate findings with rigor under
superpowers:receiving-code-review. Push back on weak findings; fix or explicitly defer strong ones. - Write or update the audit log. The audit log is the source of truth for current finding state, not commit messages or GitHub alone.
- New audit logs should start with a short operator header:
- findings are actionable work, not bookkeeping
- the audit log is the source of truth
- findings are never deleted; update entries in place
fixed-<sha>is notverified-<date>- include the canonical grep queue
- New finding entry shape:
Finding-ID: <stable-id>Status: openSeverity: blocking | high | medium | low | informationalSurface: <route, module, file, or "n/a">
- Below the fields, record the observed problem, evidence, repro if needed, expected vs actual, and optional fix guidance.
Finding-IDmust be stable forever. Use a greppable shape likeAUDIT-YYYYMMDD-NN.
- New audit logs should start with a short operator header:
- Apply finding-state transitions explicitly in the audit log:
openwhen newly reportedacknowledged-<ref>when accepted but deferred to an issue, workplan entry, or operator-approved planfixed-<sha>when a commit lands the fixverified-<date>only after the surface is actually re-exercisedwithdrawn-<date>orsuperseded-by-<finding-id>instead of deleting entriesinformationalwhen no remediation is required
- Never delete audit-log findings. Update entries in place by changing
Status:and appending resolution / verification notes under the same stableFinding-ID. - End with the canonical queue check against the audit log:
- unfinished work:
grep -nE "^Status:[[:space:]]+(open|acknowledged|fixed-)" <audit-log> - new findings:
grep -nE "^Status:[[:space:]]+open" <audit-log> - awaiting verification:
grep -nE "^Status:[[:space:]]+fixed-" <audit-log>
- Report:
- findings grouped by severity
- the Track 1 verification gate that was independently re-run
- the audit-log path updated
- what was fixed now
- what was deferred, with explicit issue/workplan/operator disposition
Use /dw-lifecycle:audit when you want the workflow named explicitly as an audit. Use /dw-lifecycle:review when "review" fits the surrounding process language better. Behavior is otherwise identical.
Error handling
- feature-dev not installed. Skill exits with:
"/dw-lifecycle:audit requires feature-dev. Install: /plugin install feature-dev@claude-plugins-official".