Features Install Upgrade Pipeline Integrations Docs
Open Source · MIT License · v3.12.0

Stop vibe coding.
Start spec coding.

The complete SDD CLI toolkit that keeps your requirements, code, and tests in sync. 13 agents, 58 MCP tools, 22 prompts, 14 skills, 16 hooks, signed per-feature contracts, five evidence-backed compliance packs, and opt-in enterprise controls.
One install. Explicit behavior.

Created by Paula Silva · @paulasilvatech · @paulanunes85

13
Agents
22
Prompts
14
Skills
16
Hooks
58
MCP Tools
10
Phases
SPECIFICATION.md — .specs/001-auth — Visual Studio Code
🔍
S
Explorer
▾ 📁 .specs
▾ 📁 001-auth
📄 SPECIFICATION.md
📄 DESIGN.md
📄 TASKS.md
Specky
⚡ Phase 02 · Specify
12 EARS requirements
SPECIFICATION.md
1# User Authentication — Specification
2
3## RequirementsEARS
4
5WHEN user submits valid credentials
6THE SYSTEM SHALL authenticate within 200ms
7
8WHEN 3 consecutive failures occur
9THE SYSTEM SHALL lock account for 15 min
10
11WHEN session token expires
12THE SYSTEM SHALL redirect to /login
13
⎇ main ⚡ Specky: Phase 02 · Specify
Ln 13, Col 42 Markdown UTF-8

Specky running inside VS Code · GitHub Copilot Agent Mode · EARS notation, enforced pipeline

Toolkit
What Specky installs
Specky is a CLI toolkit for Spec-Driven Development. The specky command installs agents, prompts, skills, hooks, and the MCP server registration into your project as one governed, versioned workflow.
📦 CLI Toolkit = Project Workflow

One npm package configures the local MCP server, IDE files, automation hooks, and SDD guidance your team needs. One install, one version, one rollback path.

💡 Why this matters

Specky replaces improvised AI sessions with a governed, versioned, and auditable development workflow. Requirements, design, tasks, implementation, verification, and release stay connected.

🏛️

Governance & Compliance

Codify approved commands and workflows. Security policies restrict what the AI agent can do, ensuring only approved APIs and tools are used.

🧠

Shared Knowledge

Senior engineers codify project expertise into skills and hooks. New team members get the full context automatically — tribal knowledge lives in the repo, not in people's heads.

🔌

MCP Interoperability

Built on the open Model Context Protocol standard. Connect to databases, Slack, Jira, GitHub, Azure DevOps — no vendor lock-in, real-time context from every source.

🔄

Lifecycle & CI/CD

Versioned with project-scoped configuration. Test, update, and roll back independently. specky doctor verifies every team member runs the expected setup.

🤖

13 Agents

Specialized AI personas — @specky-orchestrator coordinates the full pipeline, @specky-onboarding guides setup, plus 11 more for every phase.

📦

Unified CLI Distribution

Install the unified specky CLI from npm, then bootstrap your project for GitHub Copilot or Claude Code. It pins agents, prompts, skills, hooks, and MCP configuration to the installed package version.

Why Specky
Your specs should live next to your code
An orchestrated CLI toolkit where agents, prompts, skills, hooks, and MCP tools work together to enforce your pipeline.
🧩

Complete Toolkit

13 agents orchestrate the pipeline, 22 prompts cover common workflows, 14 skills carry domain knowledge, and 16 hooks guard transitions. One install.

🛡️

Five Compliance Frameworks

HIPAA, SOC 2, GDPR, PCI DSS, and ISO 27001 use explicit evidence keyed by control ID.

🔒

Nothing Leaves Your Machine

Zero outbound calls from the runtime. Three dependencies. No eval(). Works fully offline and in air-gapped environments.

🔀

MCP to MCP Routing

Push to GitHub, Terraform, Docker, Jira, Azure DevOps, Figma. Specky generates payloads, your client delivers.

📐

EARS Notation

Six patterns that guarantee every requirement is testable, traceable, and unambiguous.

🤖

16 Automation Hooks

Artifact validation, branch checks, phase gates, LGTM gates, security scan, spec sync, drift monitor. Pre and post on every phase.

Get Started
Install Specky in 60 seconds
One npm package installs the CLI, agents, prompts, skills, hooks, and MCP registration. No signup. No new IDE.
  1. Install the Specky CLI from npm

    One package gives you the CLI, MCP server, 13 agents, 22 prompts, 14 skills, and 16 hooks.

Terminal
# Install the CLI globally once
        $ npm install -g specky-sdd@latest

        # Bootstrap this project for VS Code + GitHub Copilot
        $ specky install --target=copilot

        # Verify integrity and configuration
        $ specky doctor
💡

Everything is auto-configured. Specky creates .vscode/mcp.json, installs agents, prompts, skills, hooks, and pins the MCP server to the package version.

🔐

Target-correct capabilities. Use --permission-profile=prompt to keep every action behind host confirmation. Add --integration=github only when agents should route authenticated PR and Issue payloads through GitHub MCP. Capability matrix →

  1. Use Specky's 13 agents and 22 prompts

    Open Copilot Chat → Agent mode → type @specky-onboarding, @specky-orchestrator, @specky-sdd-init, @specky-implementer, or use prompts like /specky-onboarding.

  2. Initialize your first spec

    In Copilot Chat (Agent mode), type:

Copilot Chat — Agent Mode
@specky-sdd-init initialize spec for user authentication
💡

Tip: Specky auto-detects your stack (TypeScript, Python, Java, Go…) and applies the right EARS patterns. No configuration needed for most projects. Full docs →

  1. Install the Specky CLI from npm

    One package installs the MCP server, agents, prompts, skills, and hooks for Claude Code.

Terminal
# Install the CLI globally once
        $ npm install -g specky-sdd@latest

        # Bootstrap this project for Claude Code
        $ specky install --target=claude

        # Verify integrity and configuration
        $ specky doctor
💡

Everything is auto-configured. Specky sets up the MCP server, agents, skills, hooks, and slash commands automatically. The default scoped profile derives narrow Claude allow rules; use --permission-profile=prompt to require confirmation for every action.

  1. Use slash commands in Claude Code

    Specky adds 22 prompts. Start with:

Claude Code CLI
/specky-specify write a spec for user auth
/specky-design design the auth architecture
/specky-verify check traceability
💡

22 prompts: start with /specky-greenfield, /specky-specify, /specky-orchestrate, and /specky-release.

  1. Install Specky for Cursor

    Install Cursor-native agents, commands, rules, hooks, skills, and MCP registration.

Terminal
# Install the CLI globally once
        $ npm install -g specky-sdd@latest

        # Bootstrap this project for Cursor
        $ specky install --target=cursor

        # Verify the server and generated config
        $ specky doctor
💡

Everything is project-scoped. Specky writes .cursor/mcp.json, .cursor/rules/specky-sdd.mdc, native hooks, agents, commands, and shared skills.

  1. Use Specky's 58 tools via natural language

    Ask your AI assistant: "Use specky to write a spec for [feature]" or call tools directly from the MCP panel.

  1. Install the Specky CLI from npm

    One command installs OpenCode-native agents, commands, shared skills, and MCP registration.

Terminal
# Install the CLI globally once
        $ npm install -g specky-sdd@latest

        # Bootstrap this project for OpenCode
        $ specky install --target=opencode

        # Verify integrity and configuration
        $ specky doctor
💡

Everything is auto-configured. Specky creates opencode.json, .opencode/agents/, .opencode/commands/, and .agents/skills/.

  1. Verify installation

    Open OpenCode and ask it to use the Specky MCP server, or run specky doctor to verify all generated assets.

🔒

Air-gapped mode: The MCP server (specky serve) makes zero outbound network calls — stdio or localhost HTTP only. No telemetry, no cloud sync. Three runtime npm dependencies (@modelcontextprotocol/sdk, zod, yaml). The CLI may optionally check the npm registry once per day for update banners; disable that for a strict offline posture (see step 3).

  1. Download the package tarball on a connected machine

Terminal (internet-connected machine)
$ npm pack specky-sdd
# produces: specky-sdd-3.12.0.tgz
  1. Transfer to air-gapped machine and install locally

Terminal (air-gapped machine)
$ npm install -g ./specky-sdd-3.12.0.tgz
$ specky install --target=cursor   # or copilot, claude, opencode
  1. Disable the optional CLI update check

    By default the CLI may perform one GET per day to registry.npmjs.org after doctor/status — not telemetry, but not air-gapped. Turn it off:

Terminal (air-gapped machine)
# environment (session or shell profile)
$ export SPECKY_NO_UPDATE_CHECK=1

# or persist in .specky/config.yml:
# update_check: false
  1. Point MCP at the global binary (avoid npx)

    Installed mcp.json files use npx -y specky-sdd@… serve, which can reach the network if the package is not cached. On air-gapped hosts, use the global CLI directly:

.mcp.json / .vscode/mcp.json (air-gapped)
{
  "mcpServers": {
    "specky": {
      "command": "specky",
      "args": ["serve"]
    }
  }
}
  1. Reload your IDE and verify

    Stdio transport works identically offline. Run specky doctor to confirm asset integrity (with SPECKY_NO_UPDATE_CHECK=1 set).

  2. Compliance frameworks work fully offline

    HIPAA, SOC 2, GDPR, PCI DSS, ISO 27001 validation runs locally against bundled rule sets — no external validation service required.

🛡️

Enterprise profile features (identity-based RBAC, rate limiting, HMAC-signed audit trail, and fail-closed audit mode) are available as of v3.5.0. See Enterprise docs →

📦

Why a CLI? The specky command pins the package version, installs the MCP server registration, writes project-scoped agents/prompts/skills/hooks, and lets teams verify drift with specky doctor.

Stay Current
Upgrade Specky
Bump the npm package, then refresh project assets. No --target on upgrade — Specky reuses the harness recorded in .specky/install.json.
Global CLI
# 1. Update the CLI on your machine
$ npm install -g specky-sdd@latest

# 2. Refresh agents, hooks, skills, and MCP pins in the project
$ cd your-project
$ specky upgrade
Per-project pin (teams)
$ npm install --save-dev specky-sdd@latest
$ npx specky upgrade
🔄

No --target on upgrade. specky upgrade reads your previous install from .specky/install.json and refreshes the same harness. It preserves .specs/ and re-pins MCP registration — updating npm alone leaves the old server pinned. Use specky install --target=... only for a first install or when switching IDE (e.g. Copilot → Cursor).

Contracted Phase Graphs
Signed. Explicit. Enforced.
The ten phases are a vocabulary. Each feature signs a full, rapid, or emergency graph; gates enforce only the selected graph and persisted capabilities.

Read the use-case contract guide →

Phase 01
🔍

Init

Create feature state, branch context, and canonical spec package

Fast model
Phase 02
📋

Discover

Scan codebase, detect stack, map existing patterns

Reasoning-focused
Phase 03
🏗️

Specify

EARS requirements — 6 patterns, testable and traceable

Balanced
Phase 04

Clarify

Resolve ambiguity before design or implementation starts

Reasoning-focused
Phase 05
📝

Design

Architecture, components, interfaces, and diagrams

Reasoning-focused
Spec and design complete · LGTM gate passed · Continuing
Phase 06
⚙️

Tasks

Sequenced task list with parallel markers and gates

Balanced
Phase 07
🧪

Analyze

Compute real quality gate, traceability, and cross-artifact drift

Reasoning-focused
Phase 08
🔐

Implement

Code generation guided by spec, tasks, and quality gates

Balanced
Phase 09
📚

Verify

Tests, compliance checks, audit evidence, and release readiness

Balanced
Phase 10
🚀

Release

Branch-aware PR flow, blocking gates, changelog, and sign-off

Reasoning model
IDE Integrations
One toolkit, every IDE
Specky is a CLI toolkit, not a proprietary IDE. It enhances your existing AI IDE with 13 agents, 22 prompts, 14 skills, 16 hooks, and 58 MCP tools — all working together.
🧠

GitHub Copilot

13 agents + 22 prompts

@specky-onboarding @specky-orchestrator @specky-sdd-init +10

Claude Code

22 prompts + hooks

/specky-onboarding /specky-greenfield +20
🎯

Cursor

58 tools via MCP

stdio transport
🌐

OpenCode

Native agents + MCP

opencode.json
What makes it different
Built different on purpose
Designed for production teams: local-first, container-ready, extensible, and governable.

Open source, MIT license

Fork it, extend it, audit it. No vendor lock, no seat pricing.

Signed phase graphs

Full, rapid, and emergency modes persist distinct ordered graphs.

Works in any MCP host

No proprietary IDE. Use VS Code, Copilot, Claude Code, Cursor, or any MCP-compatible client.

Fully offline capable

Code never leaves your machine. Air-gapped environments fully supported.

Workload-contracted diagrams

Validate explicit Mermaid evidence or deterministically derive supported diagrams from SPECIFICATION.md and DESIGN.md.

Tests for 6 frameworks

Vitest, Jest, Playwright, Pytest, JUnit, xUnit. Plus property-based testing.

Infrastructure as Code

Terraform resources are grounded in relevant DESIGN.md sections; unsupported templates fail before files are written.

5 compliance frameworks

HIPAA, SOC 2, GDPR, PCI DSS, and ISO 27001 with explicit control evidence.

Enterprise profile (v3.5.0)

Opt-in enterprise defaults for identity-based RBAC, rate limiting, HMAC-signed audit trail, and fail-closed auditing.

Container-ready MCP server

Published GHCR image, Dockerfile, healthcheck, and HTTP transport on port 3200 for hosted or air-gapped deployments.

Hosted enterprise transport

Run specky serve --http --profile=enterprise behind TLS with bearer auth or named token tables.

Bring your own MCP ecosystem

Route structured payloads to GitHub, Azure DevOps, Jira, Terraform, Figma, Docker, or companion MCP servers your team builds.

Container & Enterprise
Run Specky as a hosted MCP server
The same open-source package publishes a multi-arch container image and an opt-in enterprise profile for teams that need a hosted, governed deployment.
📦

Multi-Arch GHCR Image

linux/amd64 and linux/arm64, built from the hardened Dockerfile (multi-stage, non-root, healthcheck on /health).

🔏

SBOM + Optional Cosign Signing

Every image build produces a CycloneDX SBOM workflow artifact; Cosign signatures are added when signing secrets are configured.

🔐

Enterprise Profile at Runtime

Set SPECKY_PROFILE=enterprise to turn on identity-based RBAC, rate limiting, and a HMAC-signed, fail-closed audit trail.

🛡️

Bring Your Own TLS

The container binds 0.0.0.0:3200 for port publishing; production deployments terminate TLS at a reverse proxy and require bearer-token auth.

Terminal — Pull & Run
# Public image, no login needed. Multi-arch: linux/amd64 + linux/arm64.
$ docker pull ghcr.io/paulasilvatech/specky:3.12.0        # or :latest
$ docker run --rm -p 3200:3200 ghcr.io/paulasilvatech/specky:3.12.0
$ curl -s http://localhost:3200/health
# -> {"status":"ok","version":"3.12.0"}
Terminal — Hardened Enterprise Run
# Enterprise profile: RBAC, rate limiting, HMAC-signed audit trail
# Initialize a mounted workspace once; .specky/config.yml is mandatory.
$ mkdir -p workspace
$ (cd workspace && npx specky-sdd@3.12.0 install --target=agent-skills --yes)

$ docker run --rm -p 127.0.0.1:3200:3200 \
    -e SPECKY_PROFILE=enterprise \
    -e SDD_HTTP_TOKENS_FILE=/run/secrets/tokens.yml \
    -e SDD_AUDIT_HMAC_KEY_FILE=/run/secrets/audit.key \
    -v "$PWD/workspace:/workspace" \
    -v /etc/specky:/run/secrets:ro \
    ghcr.io/paulasilvatech/specky:3.12.0
🛡️

Never expose the port directly. The image binds 0.0.0.0:3200 inside the container so -p works, but production deployments terminate TLS at a reverse proxy and require SDD_HTTP_TOKEN or SDD_HTTP_TOKENS_FILE. A non-loopback bind without a token prints a loud warning. Full enterprise deployment guide →

Paula Silva
About
Who built this, and why.

I am Paula Silva, Software Global Black Belt. My work sits between platform engineering, AI infrastructure, and the practical reality of helping teams adopt agentic development at enterprise scale.

The same problem kept showing up in that work: AI coding assistants are fast, but without structure they generate code based on vibes instead of validated requirements — code that works but does not match what anyone actually specified. Specky is the answer I wanted to hand teams: a CLI toolkit that enforces a state machine, EARS notation, and traceability between requirements, design, tests, and code, so specifications and implementation never drift apart.

It is 100% open source under the MIT license, designed to be installed, extended, and audited. The goal is not just another AI tool, it is turning spec-driven development into the default way teams ship AI-assisted software.

Paula Silva | AI-Native Software Engineer
Building the future of software with AI.
Everything here comes from what I live in the field: decks, playbooks, tools, and research I create and use with large enterprises across Latin America. Seventeen topics, three languages, and every claim grounded in verifiable sources.