Interview-driven bootstrap for a reusable agentic coding setup: proof-loop engine + project rules + skills, installed into any repo.
Project description
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-bootstrapskill interviews you — detects your stack, asks a few sharp questions, and writes the project-specific content.
What you get
specced installs three layers into a repo:
- The engine — the
repo-task-proof-loopskill (spec-freeze → build → evidence → fresh-verify → fix, with durable.agent/tasks/<ID>/artifacts). Vendored from OpenAI, Apache-2.0 — see NOTICE. - The structure — four project agents (
.claude/agents/+.codex/agents/), managed blocks inCLAUDE.md/AGENTS.md, a Stop-hook formatter, skeletons for.claude/rules/,.claude/code-review/,.mcp.json, and aMakefileverification vocabulary — plus an agent-experience layer: a pre-authorized permission allowlist, an orientation block, and a machine-readable checks map (.specced/). - The content (interview) — your real
CONSTITUTION.md, per-track rules, review dimensions, MCP servers, andmaketargets — 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.
12 presets (go, rust, python-fastapi, python-django, python,
node-next, node-svelte, node-react, node-express, node, java-spring,
ruby-rails — 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, 12 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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file specced-0.1.0.tar.gz.
File metadata
- Download URL: specced-0.1.0.tar.gz
- Upload date:
- Size: 86.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
908ce0ccdaa9faa4f1c8d666ff98e4cd92b7b140e3022fd5d0ee96dbe27823ef
|
|
| MD5 |
d07c246c7e5e7194bea76c357da53a56
|
|
| BLAKE2b-256 |
41b37741ba2eeaa05da8bcbcb958ff59c704b09fd8c6bf1e96c508cf8d6c4166
|
Provenance
The following attestation bundles were made for specced-0.1.0.tar.gz:
Publisher:
release.yml on NoroSaroyan/specced
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
specced-0.1.0.tar.gz -
Subject digest:
908ce0ccdaa9faa4f1c8d666ff98e4cd92b7b140e3022fd5d0ee96dbe27823ef - Sigstore transparency entry: 1841753402
- Sigstore integration time:
-
Permalink:
NoroSaroyan/specced@77bb855ca8b2cd1d8bbe7edbe5b2f7fe0f1e9976 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/NoroSaroyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@77bb855ca8b2cd1d8bbe7edbe5b2f7fe0f1e9976 -
Trigger Event:
release
-
Statement type:
File details
Details for the file specced-0.1.0-py3-none-any.whl.
File metadata
- Download URL: specced-0.1.0-py3-none-any.whl
- Upload date:
- Size: 132.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01f2644985774d2d36e948a7bb43372e9d989854f04355689bd0d140e7666554
|
|
| MD5 |
dc971aa7be704bde550f9e20a1d005ba
|
|
| BLAKE2b-256 |
82acf3f3b808d424b0cf0f20b86a0568b3355de347e9deb44eb9e57d965f111b
|
Provenance
The following attestation bundles were made for specced-0.1.0-py3-none-any.whl:
Publisher:
release.yml on NoroSaroyan/specced
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
specced-0.1.0-py3-none-any.whl -
Subject digest:
01f2644985774d2d36e948a7bb43372e9d989854f04355689bd0d140e7666554 - Sigstore transparency entry: 1841753662
- Sigstore integration time:
-
Permalink:
NoroSaroyan/specced@77bb855ca8b2cd1d8bbe7edbe5b2f7fe0f1e9976 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/NoroSaroyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@77bb855ca8b2cd1d8bbe7edbe5b2f7fe0f1e9976 -
Trigger Event:
release
-
Statement type: