7.7 KiB
os-sdlc — overview (launching point, v0.1)
Status: scaffold only. No skills/agents/hooks/scripts are implemented yet — this document exists to anchor a follow-up brainstorming session, not to lock a design.
Why this plugin exists
Matt Pocock (mattpocock/skills) shipped a v1.1 lifecycle update (2026-07-14) that
turned his skill set from a planning tool into a full grill → to-spec → to-tickets →
implement → code-review → commit pipeline. Separately, ~/dev/delta-refinery runs a
heavier, DB-backed, multi-level pipeline (System Design → Behavioral Design →
Architecture → Slicer → Requirements) with named agent roles per level and a
Pre/Post/Handoff pattern for resumable multi-agent work.
os-sdlc is where cc-os adapts the good parts of both — Matt's lightweight linear
lifecycle and Delta Refinery's structured multi-level handoff discipline — into the
existing os-* family, wired to os-backlog (tickets/tracker) and os-adr (decision
gate), rather than reinventing either. See
docs/adr/0037
for why this is a plugin inside cc-os rather than a separate cc-sdlc marketplace.
Scope: not just skills
Unlike most current cc-os plugins, os-sdlc is expected to carry all of:
- skills/ — the lifecycle verbs (
reviewis the first: cherry-picks Matt's standards-conformance + spec-fidelity + Fowler refactor-smell axes into a new/os-sdlc:review, coexisting with the existing generic/code-review). - agents/ — named roles for pipeline stages, in the spirit of Delta Refinery's per-level agent rosters, sized down to what a lightweight harness actually needs.
- hooks/ — session/state wiring where a deterministic check beats a skill.
- reference/ — general best-practice material by language/framework/pattern that pipeline stages can pull from (not client- or project-specific — that stays in the vault).
- scripts/ — mechanical CLI tooling supporting the above (candidate for the ADR-0025 lib/+bin/ Ruby structure once real logic exists).
Working philosophy this plugin should encode
Carried over verbatim from the brainstorming that led here, because it's the design target, not just a preference:
- Draft-then-refine over get-it-perfect-up-front. Autoresearch-style loop: draft an idea, implement a first pass, audit process and outcome, hypothesize an improvement, iterate. Applies to both the artifacts os-sdlc produces (specs, tickets, code) and to os-sdlc's own design.
- Goal is throughput at trust, not just automation. The target is being able to automate large chunks of the dev process for big upcoming projects — "move at the speed of thought" — which requires the pipeline to be trustworthy enough at each stage that skipping human review of that stage is safe, not just fast.
- Composability with the rest of cc-os is a hard constraint, not a nice-to-have:
os-sdlc must interoperate with
os-backlog(tickets),os-adr(decisions),os-vault(cross-project knowledge) — ADR-023's "os-* plugins cooperate" bet applies here directly.
Known inputs for the follow-up brainstorming session
- Matt Pocock v1.1 lifecycle notes:
docs/matt-pocock-skills-v1.1-notes.md. - Delta Refinery structure (facts gathered this session, not yet written up as a
standalone doc): 5-level
PipelineRunner/PipelineOrchestrator, per-level agent rosters under.claude/agents/{prd,functional_spec,technical_spec,requirements}/, intra-level in-memoryHandoff+ inter-level DB-persistedArtifact#structured_contentfor resumability, two composition roots (HeadwatersCompositionfull pipeline vs.ProductionCompositionrequirement-level-only). - Existing cc-os pieces this must integrate with:
os-backlog(capture/list/route),os-adr(find/create/init/migrate),os-vault(query/write/onboard-project). - Open question carried into the brainstorm: how much of Delta Refinery's resumable-handoff machinery is worth adopting now vs. deferred until a concrete multi-session pipeline actually needs it (avoid building it ahead of a real need).
ADW taxonomy input (2026-07-14 session)
Cross-project methodology reference, not repo-specific: see the vault note
agentic-sdlc-ai-developer-workflow-taxonomy.md (SecondBrain) — a taxonomy of AI Developer
Workflow (ADW) structures from IndyDevDan's "Forget Loop Engineering" video (mermaid diagrams
included, with [dan]/[jrs] provenance tags separating his claims from cc-os-specific
extrapolation). Read it before designing os-sdlc's pipeline shape; the plan below is the
repo-specific slice of that broader taxonomy.
Three actors of value creation apply directly to os-sdlc's component design: code (deterministic, free, most reliable — lint/format/test/CI/ticket-state transitions), engineer (the two fixed constraints: prompting/planning at the start, reviewing at the end), agent (judgment work: planning, building, scouting). Every os-sdlc pipeline stage should be built by first asking which of the three actors it actually needs — don't default to "agent" for something code or a human gate should own.
First-iteration build plan: a single tracer-bullet ADW
Per the vault note's escalation ladder, and per standing tracer-bullet convention, the first build target is the smallest complete loop, not the software factory. Scope:
One worktree, one pipeline: ticket intake → build agent → lint/format/test (hooks) → engineer review → ship. Sandboxes, N-way worktree fan-out, the hotfix ADW, and the software
factory router are explicitly deferred — documented in the vault note, not built here.
Step by step:
- Ticket intake (code, not agent). Reuse
os-backlogas the trigger: a card moving toDoing(or a linked Forgejo issue via/to-tickets) is the pipeline's entry point. No new ticketing system — os-sdlc consumes os-backlog's state, per ADR-0037's composability constraint. - Build agent (agent, minimal tools). New
os-sdlcagent definition: system prompt scoped to "write/modify code to satisfy the spec," tool grants limited toRead/Write(/Edit) — noBash. It cannot run tests or linting itself; it only ever sees pass/fail feedback handed back to it. - Lint/format/test gate (code, via hooks — delta-refinery-style Pre/Post/Handoff, not a
skill-embedded step). A
PostToolUse-style hook (or a small script the pipeline invokes between agent turns) runs the project's lint/format/test commands after each build-agent turn. On failure, the failing output is fed back into the same build-agent session as the next turn's context (per Dan's separation-of-concerns principle). On pass, advance. - Engineer review (human gate). Standard PR/diff review — no change from how review works today; the pipeline's job is to get a clean, tested diff in front of the engineer, not to replace this gate.
- Ship (code). Merge + whatever this repo's existing deploy path is — os-sdlc does not own deploy; it hands off a mergeable, reviewed change.
Each step above should be walked by hand first (per Dan's second tip) before being wired into skills/hooks/agents — run the lint/test loop manually against a real small change, confirm the feedback-loop shape works, then automate it.
Not decided yet (do not assume in implementation)
- Which of Matt's skills get adopted as-is vs. adapted vs. skipped, beyond
review. - Whether
implementis adopted as a thin router as-is, or redesigned as a Delta-Refinery-style level with named sub-roles. - Whether
wayfinder(multi-issue planning for big-plan decomposition) subsumes or sits alongside a Delta-Refinery-style level structure. - Any hook or agent definitions — none exist yet.