Skip to main content

specced

Install a reusable, interview-driven agentic coding setup into any repo — one command instead of copy-pasting .claude/, .codex/, CONSTITUTION.md, and the proof-loop scaffolding between projects.

specced is two things sharing one set of templates:

  • a uv-installable CLI that does the deterministic, agent-agnostic scaffolding, and
  • a Claude Code plugin whose specced-bootstrap skill interviews you — detects your stack, asks a few sharp questions, and writes the project-specific content.

Just want to get going? See QUICKSTART.md for the 2-minute path.

What you get

specced installs three layers into a repo:

  1. The engine — the repo-task-proof-loop skill (spec-freeze → build → evidence → fresh-verify → fix, with durable .agent/tasks/<ID>/ artifacts). Vendored from OpenAI, Apache-2.0 — see NOTICE.
  2. The structure — four project agents (.claude/agents/ + .codex/agents/), managed blocks in CLAUDE.md/AGENTS.md, a Stop-hook formatter, skeletons for .claude/rules/, .claude/code-review/, .mcp.json, and a Makefile verification vocabulary — plus an agent-experience layer: a pre-authorized permission allowlist, an orientation block, and a machine-readable checks map (.specced/).
  3. The content (interview) — your real CONSTITUTION.md, per-track rules, review dimensions, MCP servers, and make targets — authored to fit this repo.

Install

uv tool install specced          # or: uvx --from git+https://github.com/NoroSaroyan/specced specced

In Claude Code, add the marketplace and install the plugin:

/plugin marketplace add NoroSaroyan/specced
/plugin install specced

Quickstart

From inside the target repo, in Claude Code:

/specced:init

This runs the interview: it detects your stack, asks what matters, runs specced init for the mechanics, then writes your constitution, rules, review dimensions, MCP servers, and Makefile targets. Add --minimal to author all content by hand.

Then start your first task with the installed engine:

init my-first-task     # via the repo-task-proof-loop skill

Documentation

Full docs in docs/: Getting started · Concepts · The proof loop · CLI reference · Skills · Presets · FAQ

CLI reference

specced detect                    Inspect the repo: languages, tracks, infra,
                                  suggested preset + MCP servers (JSON).
specced presets                   List stack presets.
specced init [--preset NAME|auto] [--minimal] [--force] [--format-cmd "…"]
                                  Install / refresh the setup (idempotent).
specced add-mcp <names…> [--force]  Add MCP servers to .mcp.json from the catalog.
specced add-skill <name> [--force]  Install a library skill into .claude/skills/.
specced list-skills               List available library skills.
specced sync                      Refresh engine + agents + managed blocks.
specced doctor                    Verify the setup is consistent.
specced status                    Show installed components, presets, mcp catalog, config.
specced version                   Print specced + engine versions.

14 presets (go, rust, cpp, python-fastapi, python-django, python, node-next, node-svelte, node-react, node-express, node, java-spring, ruby-rails, tauri — see docs/presets.md) and a 17-skill library (code-review, api-endpoint, db-migration, add-integration, background-worker, regen-client, write-tests, debug-issue, refactor, dependency-upgrade, perf-investigation, security-review, release, prepare-pr, new-domain-skill, decision-record, capture-rule — see docs/skills.md).

Every command prints JSON, so the interview agent can read exactly what happened. State is recorded in .specced/config.json.

How it works

The CLI is the mechanical half: it copies the vendored engine, installs the static agent + managed-block templates verbatim (the same files the engine itself would write), and lays down create-if-absent skeletons for the content layer. The plugin is the intelligent half: the specced-bootstrap skill detects, interviews, calls the CLI, then replaces the skeletons with real content. One template tree, two surfaces.

Develop

make install   # uv venv + editable install with dev extras
make verify    # ruff format --check + ruff check + pytest + build (the CI gate)

See CONTRIBUTING.md and docs/architecture.md.

Status

v0.1 — interview-first, with stack detection, 13 presets, a 7-server MCP catalog, a 17-skill library, an agent-experience layer, and GitHub repo-as-code (Terraform under infra/terraform/github/). Roadmap: a specced update that diffs managed content across versions, more presets/skills, and PyPI publication.

License

specced is MIT (see LICENSE). It bundles the Apache-2.0 repo-task-proof-loop engine unmodified; attribution in NOTICE.

Metadata

Release files for specced 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for specced 0.1.4
File Size Uploaded
specced-0.1.4.tar.gz 100.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for specced 0.1.4
File Interpreter ABI Platform
specced-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 250.2 kB

Release files / specced-0.1.4.tar.gz

Download URL specced-0.1.4.tar.gz
Size 100.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0a5598859638c48f228980de3160d2a7e06061493226f7dffcc4ed2fdf6fa156
BLAKE2b-256 checksum
How to use checksums
f35e3786ab57a224a7be8b58b0545a0ede1c4317d3fcf7f78ff63f83e7f07283
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / specced-0.1.4-py3-none-any.whl

Download URL specced-0.1.4-py3-none-any.whl
Size 149.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
824cfe9e58a8d6a99d73e005cdf2b1a939bba856372c4b25e9c192042fbadb82
BLAKE2b-256 checksum
How to use checksums
77614ca782c6e5b5549246877c9a13efc915e2ecb6ba68dbc47a818b97e3f663
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page