
Company News
Andrew Becherer Joins Socket as Chief Information Security Officer
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.
@specd/specd
Advanced tools
Stop making agents guess.
Spec-driven development for AI coding agents. SpecD compiles the right specs into agent context, verifies plans against requirements before implementation, and helps prevent drift before code ships.
Context is delivered, not discovered. Compliance is structural, not optional. For more information, visit getspecd.dev.
AI coding agents often fail for repeatable reasons:
SpecD addresses this by combining:
# CLI
specd project init
# Coding agent
/specd
Invokes the SpecD skill, inspects project state, and routes to the next workflow step (for example creating or continuing a change).
AI coding assistants work best when given clear, structured intent. Spec-Driven Development (SDD) addresses this by inserting a spec layer between human intent and AI-generated code: requirements are written, validated, and agreed upon before implementation begins.
SpecD is a ground-up redesign of that workflow, built for professional teams. It models specs, changes, schemas, and hooks as first-class domain concepts — independent of any particular AI tool or delivery mechanism. The same business logic is exposed through a CLI, an MCP server, and agent plugins, all consuming a single core library with no I/O dependencies.
Key differences from earlier SDD tools:
schema.yaml. SpecD does not hardcode any particular convention.SpecD is in active development and usable from source in this monorepo.
change, spec, project, schema, skills, graph, plugins, drafts, discarded, archive, configschema.yaml and template filesPublishing/install flows are not finalized yet; use workspace commands for now.
| Concept | Description |
|---|---|
| Change | A named, in-progress unit of spec work. A change tracks which specs are being modified, which artifacts have been produced, and where it sits in its lifecycle. |
| Spec | A specification file (or set of files) that defines what a system should do. Specs live in a dedicated directory and are governed by the active schema. |
| Artifact | A typed file produced during a change — for example, a proposal, a spec, a design, or a task list. Artifact types and their dependency order are declared in the schema. |
| Schema | A schema.yaml file that defines the artifact workflow for a project: what artifacts exist, how they relate, what validations apply, and what instructions guide the AI. |
| Workspace | A declared location of specs, with its own storage path, code root, and ownership relationship. A project can span multiple workspaces (e.g. a coordinator managing several service repos). |
| Delta | A structured artifact expressing semantic operations over spec documents using selectors and generated content, rather than line-based diffs. Deltas are applied deterministically by SpecD. |
The change lifecycle progresses through well-defined states:
drafting → designing → ready → implementing ⇄ verifying → done → archivable
Optional approval checkpoints can require human sign-off between ready → implementing and done → archivable.
Most SDD tools give the agent a list of files and leave it to figure out which specs are relevant. SpecD takes a different approach: at every lifecycle step, specd context computes and delivers the full instruction block the agent needs.
The resolution works in five steps:
dependsOn traversal — starting from the specs a change touches, SpecD follows declared dependencies transitively to pull in related specs automatically.The output is a single, ordered instruction block combining project context, schema instructions for the active artifact, spec content, and lifecycle hooks — ready to inject into the agent's context window. The agent doesn't search, doesn't guess, and doesn't miss a spec that wasn't mentioned by name.
The most common failure mode in spec-driven development is not writing bad specs — it is that agents plan and implement without fully respecting them. An agent reads the specs, generates a design and task list, then produces code that diverges from the requirements. The gap surfaces during verification or review, after the work is done.
SpecD addresses this with mandatory verification built into the lifecycle, plus optional human approval guardrails around critical transitions:
designing → ready → [optional approval] → implementing ⇄ verifying → done → [optional approval] → archivable
Verification (mandatory): after implementation, the agent enters the verifying step, where a dedicated verification skill checks the implementation against the relevant specs and may send the change back for revision when drift or contradictions are detected.
Approval checkpoints (optional): projects may require a design approval gate before implementation (ready → implementing) to review scope, affected specs, and design decisions, and/or an implementation approval gate before archiving (done → archivable) to review correctness, catch omissions discovered late, reconsider flawed or incomplete approaches, or reopen the change when the implementation or spec changes need adjustment before specs and deltas are merged. These checkpoints are deterministic workflow gates controlled by project policy.
This separates verification from governance: verification is always part of the lifecycle, while approvals are an optional control layer.
This turns spec conformance review into a first-class lifecycle concern, while allowing teams to add human governance where needed.
A SpecD project can declare multiple workspaces, each with its own spec tree, storage path, and code root. Workspaces can point to directories inside the same repository or to external repositories entirely.
This enables a coordinator pattern: a single repo holds the specs for an entire system, while each service repo maintains its own codebase. Context compilation is workspace-aware — when a change touches specs in multiple workspaces, include/exclude patterns and dependsOn traversal are applied per-workspace, and only the active workspaces contribute to the compiled context.
Teams with microservice architectures can manage cross-cutting specs (authentication contracts, API schemas, shared conventions) in one place, without forcing every service repo to carry a full SpecD installation.
| Package | Description | Status |
|---|---|---|
@specd/specd | Convenience metapackage that installs the full SpecD stack. | Functional |
@specd/core | Business logic: change lifecycle, spec management, schema validation, delta application, context compilation. | Functional |
@specd/cli | CLI adapter around @specd/core with command registration and formatting/output modes. | Functional |
@specd/code-graph | Code graph indexing, impact analysis, hotspots, staleness detection (TypeScript, Go, Python, PHP). | Functional |
@specd/mcp | MCP server adapter package. | In Progress |
@specd/skills | Skill registry API with bundle resolution, multiple agent runtimes. | Functional |
@specd/schema-std | Standard SpecD schema package with schema.yaml and template files. | Functional |
@specd/plugin-manager | Plugin loader, install/update/uninstall use cases. | Functional |
@specd/plugin-claude | Claude Code plugin with skill installation and frontmatter injection. | Functional |
@specd/plugin-copilot | GitHub Copilot plugin. | Functional |
@specd/plugin-codex | OpenAI Codex plugin. | Functional |
@specd/plugin-opencode | Open Code plugin. | Functional |
@specd/plugin-agent-standard | Agent Skills Standard plugin. | Functional |
@specd/public-web | Public documentation site (Docusaurus). | In Progress |
Install globally:
pnpm add -g @specd/specd
Initialize a project (wizard guides you through plugin selection):
specd project init
Then launch your agent and run the skill:
/specd
Requirements
Install dependencies and run quality checks:
pnpm install
pnpm build
pnpm test
pnpm lint
Build and run the CLI from source:
pnpm --filter @specd/cli build
node packages/cli/dist/index.js --help
Preview the public website locally:
pnpm web:dev
This starts the Docusaurus app in apps/public-web and serves the site locally, typically at http://localhost:3000.
Development mode intentionally skips the generated API reference so the dev server does not watch hundreds of generated Markdown files.
Useful routes to check:
/ — presentation landing page/docs — public guides and reference docs/api — generated API reference for @specd/core in production preview buildsTo preview the production output instead of the dev server:
pnpm web:build
pnpm web:serve
Example command groups currently wired:
specd change ...specd spec ...specd project ...specd config showspecd schema showspecd graph ...specd skills ...project init can generate a local specd.yaml. A minimal config looks like:
schema: '@specd/schema-std'
workspaces:
default:
specs:
adapter: fs
fs:
path: specs/
storage:
changes:
adapter: fs
fs:
path: specd/changes
drafts:
adapter: fs
fs:
path: specd/drafts
discarded:
adapter: fs
fs:
path: specd/discarded
archive:
adapter: fs
fs:
path: specd/archive
See the configuration reference for all available options.
Start here:
| Guide | Contents |
|---|---|
docs/guide/getting-started.md | Philosophy, core concepts, project structure, lifecycle overview. |
docs/guide/workflow.md | Lifecycle states, transitions, hooks, approval gates. |
docs/guide/schemas.md | Artifacts, templates, customisation (fork/extend/overrides). |
docs/guide/workspaces.md | Multi-package and multi-repo spec organisation. |
docs/guide/configuration.md | specd.yaml explained: storage, context, plugins, overrides. |
docs/guide/selectors.md | Selectors, extractors, validations, metadata extraction. |
Reference:
| Section | Contents |
|---|---|
docs/cli/ | CLI command reference. |
docs/config/ | specd.yaml technical reference and configuration examples. |
docs/schemas/ | Schema format technical reference and schema examples. |
docs/core/ | Core API and model docs (overview, domain-model, ports, use-cases). |
docs/adr/ | Architecture Decision Records. |
docs/mcp/ | MCP docs directory (currently mostly pending). |
This repository follows a spec-driven workflow: each significant area of behavior is specified in specs/ before implementation begins.
MIT — see LICENSE.
FAQs
specd — Spec-driven development platform
We found that @specd/specd demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.

Company News
Replit is integrating Socket Firewall into its AI-powered development experience to help protect builders from malicious open source packages.

Security News
npm confirmed a tooling bug incorrectly marked several one-character packages as security holders and said it was working on a rollback.