Question (for review — not decided)
We now have three host-specific forks of one SDLC discipline:
- claude-sdlc-wizard — SDLC enforcement for Claude Code: hooks + skills + one-command wizard (TDD, planning, self-review, CI shepherd)
- codex-sdlc-wizard — the same discipline adapted to the OpenAI Codex CLI
- a new Cowork SDLC skill (made, not yet installed)
A fourth (Copilot) is now wanted. Forking a fourth time = more drift across copies.
Proposal
Don't replace skills with MCP wholesale. Split by responsibility:
- Enforcement / execution core → one portable
sdlc-mcp server (stdio). Deterministic, host-agnostic tools — e.g. plan_certify, tdd_red, tdd_green, self_review, ci_shepherd — that actually run the test suite + git through the red-green gate, identically on every host. This is what kills the drift for the logic.
- Discipline / guidance → stays a thin skill / ruleset per host. The phase model, prompts, and checklists are prompt-shaped guidance; keep them small and mostly shared, with thin host-specific glue (Claude Code hooks, Codex config, Cowork skill manifest, Copilot declarative agent).
Key nuance (don't oversell MCP)
MCP makes the logic portable, but MCP tools run on-demand — the agent chooses to call them. That loses the "can't skip the gate" property that Claude Code hooks give (a pre-commit hook fires on the event regardless of what the agent wants). To keep hard enforcement, host-native hooks/triggers should call the sdlc-mcp tool rather than reimplement it. So: MCP for portable logic, host hooks for can't-skip triggering. Not either/or.
Copilot angle
Copilot (M365) is not a coding IDE host — it can't natively run a test suite or git. But Copilot declarative agents now support MCP (GA). So Premium Copilot would be one optional front-desk that invokes the local sdlc-mcp; execution stays local, and only tenant-data grounding is Premium/metered. For pure local coding, Claude Code / Codex / Cursor / Cowork remain the primary hosts.
Cross-link
Tracked in m180-jumpseat ROADMAP as Slice J — SDLC Agent (separate-but-composed sibling MCP, not bolted into the m180 agent; shares the gate-mode/proof philosophy; Copilot Premium = optional MCP front-desk). Decision-log entry 2026-06-25.
To decide
- Pull the enforcement core into one portable
sdlc-mcp server?
- Keep guidance as per-host skills/hooks that call it (rather than reimplement)?
- Repo home: its own repo, or a sibling folder in an existing repo?
Question (for review — not decided)
We now have three host-specific forks of one SDLC discipline:
A fourth (Copilot) is now wanted. Forking a fourth time = more drift across copies.
Proposal
Don't replace skills with MCP wholesale. Split by responsibility:
sdlc-mcpserver (stdio). Deterministic, host-agnostic tools — e.g.plan_certify,tdd_red,tdd_green,self_review,ci_shepherd— that actually run the test suite + git through the red-green gate, identically on every host. This is what kills the drift for the logic.Key nuance (don't oversell MCP)
MCP makes the logic portable, but MCP tools run on-demand — the agent chooses to call them. That loses the "can't skip the gate" property that Claude Code hooks give (a pre-commit hook fires on the event regardless of what the agent wants). To keep hard enforcement, host-native hooks/triggers should call the
sdlc-mcptool rather than reimplement it. So: MCP for portable logic, host hooks for can't-skip triggering. Not either/or.Copilot angle
Copilot (M365) is not a coding IDE host — it can't natively run a test suite or git. But Copilot declarative agents now support MCP (GA). So Premium Copilot would be one optional front-desk that invokes the local
sdlc-mcp; execution stays local, and only tenant-data grounding is Premium/metered. For pure local coding, Claude Code / Codex / Cursor / Cowork remain the primary hosts.Cross-link
Tracked in
m180-jumpseatROADMAP as Slice J — SDLC Agent (separate-but-composed sibling MCP, not bolted into the m180 agent; shares the gate-mode/proof philosophy; Copilot Premium = optional MCP front-desk). Decision-log entry 2026-06-25.To decide
sdlc-mcpserver?