misterspec

Features · Specs 006–010

Agent Adapters & CLI

These five features turned the deterministic packages from Core Foundation into an actual product: a real binary, a real setup flow, and real content for coding agents to install and run.

006 · Agent Adapter Layer

What it is: The Adapter interface, a Registry, and the first working adapter (Claude Code).

Why it exists: misterspec needed one, generic way to materialize its canonical Skills into any coding agent's own integration location, without inventing a bespoke installation mechanism per agent — see Multi-Agent Skill Integration for the five more adapters built on this exact interface later.

Example — the shape every adapter shares:

type Adapter interface {
    ID() string
    Name() string
    TargetPath() string
    Install(ctx context.Context, req InstallRequest) (InstallResult, error)
}

007 · Project Bootstrap

What it is: internal/bootstrap — Inspect, Bootstrap, Verify.

Why it exists: Composes 001's project detection, 005's template installation, and 006's adapter registry into one atomic "set up a new project" operation — rejecting an already-initialized target or an unknown agent ID before writing anything.

Example — 008's own init command (below) is this feature's real, only caller:

misterspec init --agent claude-code --dir ./my-project
# internally: bootstrap.Bootstrap(root, "claude-code")

008 · CLI (Cobra) & the internal Command Tree

What it is: The first real binary (cmd/misterspec), Cobra-based, exposing every deterministic operation as a stable, machine-readable JSON command under a hidden internal tree, plus the public init command.

Why it exists: Turns 001-007's own Go packages into something an agent can actually invoke — see the full Command Reference for every command this feature (and its later additions) registered.

Example — the public surface stays minimal; internal is hidden but still fully callable by name:

misterspec --help          # shows only "init", "--version", "--update"
misterspec internal status  # still works — just not advertised

(Specs 001–010 shipped as the framework's original MVP; the public surface has grown once since, deliberately, when Spec 030 added --version and --update — see the Command Reference.)

009 · Canonical Skills Content

What it is: The ten kit/skills/<name>/SKILL.md files — mister-knowledge-base, mister-constitution, mister-program, mister-features, mister-specify, mister-plan, mister-tasks, mister-implement, mister-analyze, and (added by Spec 029) mister-wrap-up.

Why it exists: This is the actual content a coding agent reads and follows — see the full Spec-Driven Workflow for what each one does and when it runs. Authoring real, multi-file Skill content also surfaced a real bug: internal/installer only ever listed a source directory's immediate children, never descending into a <skill-name>/SKILL.md subdirectory — fixed here, backward-compatible.

Example — every Skill's own frontmatter shape:

---
name: mister-implement
description: Implement one executable Task against the real codebase, then verify it.
---

010 · Interactive init TUI

What it is: A Bubble Tea-based interactive flow (Inspect → Warning → Agent Selection → Preview → Installing → Success/Error), reusing 007's Bootstrap/ Inspect and 006's Registry entirely unmodified.

Why it exists: Running misterspec init with no --agent flag in a real terminal should feel guided, not require memorizing flags — while the exact same non-interactive path (--agent claude-code) keeps working byte-for-byte for scripts and CI.

Example (non-interactive, unchanged by this feature):

misterspec init --agent claude-code --dir ./my-project