Skip to content

SDLC enforcement as a portable sdlc-mcp server vs per-host skills - converge the forks? #429

Description

@BaseInfinity

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

  1. Pull the enforcement core into one portable sdlc-mcp server?
  2. Keep guidance as per-host skills/hooks that call it (rather than reimplement)?
  3. Repo home: its own repo, or a sibling folder in an existing repo?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions