Skip to content

Integrate Spec-Driven Development (Spec Kit) into agent kit, council, and runners#602

Merged
ExtraToast merged 1 commit into
mainfrom
spec-kit/01-agent-kit-council
Jun 8, 2026
Merged

Integrate Spec-Driven Development (Spec Kit) into agent kit, council, and runners#602
ExtraToast merged 1 commit into
mainfrom
spec-kit/01-agent-kit-council

Conversation

@jorisjonkers-dev-agents

Copy link
Copy Markdown
Contributor

What

Adopts GitHub Spec Kit (Spec-Driven Development) as a first-class layer of the agentic platform. Spec Kit is vendored as render-managed agent-kit content pinned to upstream v0.9.5, not wrapped via the specify CLI: every platform non-negotiable — checked-in, rendered, sha-guarded, Claude/Codex parity, offline-capable runners, no runtime network — rules out a runtime specify init/upgrade.

Spec Kit is filesystem and prompt scaffolding, not an MCP server, so it lands in the render/install path. The MCP server profiles configmap is intentionally unchanged.

Agent kit + installer

  • .specify/ templates and bash scripts, a personal-stack constitution, and nine /speckit.* commands delivered to Claude (.claude/commands/) and Codex (.agents/skills/speckit-*), all under manifest + render parity with sha pins.
  • render-agent-kit.py learns a commands category and .specify seeding; the served install.sh seeds the surface for --scope user|project with the full dry-run/uninstall lifecycle. taskstoissues is a real gh issue wrapper honoring the repo's assignee/label conventions.
  • Manifest version bumped to 2; AgentKitManifestTest covers the new commands, Codex skills, and .specify surface.

Council

  • The plan phase emits specs/NNN-<slug>/{spec,plan,tasks}.md alongside the canonical tasks.json; a constitution summary is injected into the planner/critic/reviser/consolidator prompts; a consistency gate hard-fails on artifact mismatch. Free-text briefs still work.

Runner

  • The runner image bakes the .specify source to /opt/agent-kit/sdd; the entrypoint seeds every cloned repo (seed-if-absent), making SDD present by default. PlatformAgentMcpFluxTest asserts the COPY and seed wiring.

Verification

  • render-agent-kit.py --check and --doctor (6 ok, 0 warn, 0 fail) pass.
  • AgentKitManifestTest + PlatformAgentMcpFluxTest: 31/31.
  • council.py --self-test passes; install.sh / entrypoint.sh syntax check clean.
  • MCP profiles configmap unchanged (negative diff).

Docs follow in a stacked PR (spec-kit/02-docs).

…cil, and runners

Adopts GitHub Spec Kit (pinned upstream v0.9.5) as Spec-Driven Development
scaffolding across the agentic platform, vendored as render-managed agent-kit
content rather than wrapping the specify CLI — every non-negotiable (checked-in,
rendered, sha-guarded, Claude/Codex parity, offline-capable runners, no runtime
network) rules out runtime specify init/upgrade.

Agent kit + installer:
- .specify/ templates and bash scripts, a personal-stack constitution, and nine
  /speckit.* commands delivered to Claude (.claude/commands/) and Codex
  (.agents/skills/speckit-*), all under manifest + render parity with sha pins.
- render-agent-kit.py learns a commands category and .specify seeding; the served
  install.sh seeds the surface for --scope user|project with the full
  dry-run/uninstall lifecycle. taskstoissues is a real gh issue wrapper honoring
  the repo's assignee/label conventions.
- Manifest version bumped to 2; AgentKitManifestTest covers the new commands,
  Codex skills, and .specify surface.

Council:
- The plan phase emits specs/NNN-<slug>/{spec,plan,tasks}.md alongside the
  canonical tasks.json; a constitution summary is injected into the
  planner/critic/reviser/consolidator prompts; a consistency gate hard-fails on
  artifact mismatch. Free-text briefs still work.

Runner:
- The runner image bakes the .specify source to /opt/agent-kit/sdd and the
  entrypoint seeds every cloned repo (seed-if-absent), making SDD present by
  default. PlatformAgentMcpFluxTest asserts the COPY and seed wiring.

The MCP server profiles are intentionally unchanged: Spec Kit is filesystem and
prompt scaffolding, not an MCP server, so it lands in the render/install path,
not the profiles configmap.
@jorisjonkers-dev-agents jorisjonkers-dev-agents Bot added the enhancement New feature or request label Jun 8, 2026
@ExtraToast ExtraToast merged commit 28821b2 into main Jun 8, 2026
41 checks passed
jorisjonkers-dev-agents Bot pushed a commit that referenced this pull request Jun 8, 2026
Per the single-pipeline model: full.yml is renamed to ci.yml (name: CI) to align
with the other ExtraToast repos, and the fast (push) and nightly (scheduled)
pipelines are removed — the one PR pipeline ending in the required Pipeline
Complete check is the gate.

The 'Lint Frontend' job is renamed 'Lint & Format' since it also runs the
repo-wide prettier format:check. That check was failing on Spec-Kit templates
(.claude/commands/, .specify/) introduced in #602; those are generated/authored
template text, so they are added to .prettierignore alongside the existing
agent-kit entries rather than reformatted.

Part of #608.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant