Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Snapshot tests and CI for agent workflows: record a run, replay it at 0 tokens, diff for drift.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"reelier": {
"command": "npx",
"args": [
"-y",
"reelier",
"serve"
]
}
}
}ターミナルでこれを実行します
claude mcp add reelier -- npx -y reelier serveプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"reelier": {
"command": "npx",
"args": [
"-y",
"reelier",
"serve"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"reelier": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"reelier",
"serve"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント seldonframe で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.24.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Fomu MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
*Your agents worked all night. Here's exactly what changed.*
Reelier records the run that worked, freezes it as a replayable skill, and replays it deterministically — every run comes back as a receipt: proof of what the agent did and what changed because of it. Agents make claims. Reelier writes receipts.
[Website](https://www.reelier.com) · [Docs](https://www.reelier.com/docs) · [SPEC.md](./SPEC.md)
▶ watch with sound (27s)
Agent-authored PRs (Dependabot, Claude, Codex, Cursor, …) get a receipt comment in seconds: author, files changed, declared scope vs. what actually changed, sensitive paths flagged. No workflow file, no CLI, no config.
[→ Install the Reelier receipts GitHub App](https://github.com/apps/reelier-receipts) — free on public repos, forever.
Reelier receipt — agent PR
Author:
dependabot[bot]· Files changed: 2 (+119 −41)
Declared scope: none (add
.reelier/scope.ymlto enable unexpected-write detection)
Sensitive paths touched: ⚠ 1 —
package-lock.json
Proves scope and change, not correctness
A real receipt from Reelier's own repos — see one live. Declare scope per agent in .reelier/scope.yml (or a reelier-scope block in the PR body) and the receipt reports unexpected writes. The receipt proves scope and change, never correctness or safety.
AI agents are non-deterministic — the same prompt, a different result every run — and they'll claim they did the work whether they did or not. Reelier records the run that worked, replays it deterministically, and writes a signed receipt that proves it. Point it at your existing CI in one workflow — it adds a verifiable receipt, it doesn't replace your stack.
Measured on a real head-to-head benchmark, same task, same data (full method):
Deterministic replay is also ~50× cheaper and ~59× faster than re-running the agent, on the same benchmark.
npm i -g reelier && reelier init
# No Node install needed — same commands via Docker:
docker run --rm ghcr.io/seldonframe/reelier --help
reelier init [--dry-run] performs one checkpointed local inspection across all three Reelier paths: Path A observation coverage, Path B replay/freeze candidates, and Path C boundable/outcome-capable/shadow-only/unsupported connections and candidates. It does not deploy, gate, dispatch, upload, copy credentials, or rewrite host configuration. --dry-run writes nothing; the normal command writes only sanitized artifacts below .reelier/init/.
Teach your coding agent when to reach for Reelier. Same two commands, either host:
claude plugin marketplace add seldonframe/reelier
claude plugin install reelier@seldonframe
codex plugin marketplace add seldonframe/reelier
codex plugin add reelier@seldonframe
This installs two Agent Skills and nothing else. reelier-replay teaches your agent to freeze a repeatable tool-call job and replay it at 0 tokens. reelier-write-safety covers bounding an agent's writes before you grant them: what the recorder sees, what a policy refuses, and what a receipt does and does not prove. It ships no MCP servers, so it does not wrap, observe, or gate any tool call on its own; the reelier CLI does that, and the skills drive it via npx. Packaged in both the Agent Plugins v1.0.0 format (plugin/agent-plugins/) and the Claude Code format (plugin/claude/), generated from one source by scripts/build-plugin-packages.mjs.
Verified end to end on codex-cli 0.147.0-alpha.1.2: both formats install, enable, and the skill reaches the model. Other hosts are untested, and per-host status is tracked in docs/specs/agent-plugins-coverage-v1.md §4 rather than claimed here.
reelier init --dry-run # inspect Path A/B/C locally; write nothing
reelier init # persist resumable sanitized inspection artifacts reelier run .skill.md # replay deterministically — 0 tokens (read-only by default) reelier diff # SAME or DRIFTED, per step — exit 1 on drift reelier push .skill.md # sync receipts to your ledger (opt-in) reelier ci # write a workflow: drift-CI + PR receipts, one command
reelier init reveals observed coverage and local candidates without changing routes. reelier mcp --wrap " " proxies live tools; reelier scan/from-session freezes supported history.reelier compile turns a trace into a SKILL.md — 0 LLM calls, minimal assertions, honest gaps printed as Open questions.reelier run replays it at Level 0 — no LLM, byte-identical, read-only by default (writes need --allow-writes).reelier diff reports SAME or DRIFTED per step, with the failing assertion as the *why* — exit 1 on drift.reelier login connects this machine to Reelier Cloud with a device code in your browser — or set REELIER_CLOUD_URL/REELIER_CLOUD_KEY for CI and self-hosting.reelier push optionally syncs it to a ledger for a permalink and an embeddable verified-replay badge.Already have an Agent Skill? Convert it — your skill, minus the model:
reelier compile trace.jsonl --from-skill ./my-skill/SKILL.md
| Test | Command | Answers |
|---|---|---|
| Determinism | reelier run | *Does this still do what it did?* |
| Recovery | reelier run --fail N | *If this broke, would the skill notice and heal?* |
| Drift | reelier run --wrap " " | *Has the world moved out from under this skill?* |
*Taxonomy due to Mads Hansen's review of the launch post.* Full semantics for each test, including recovery injection and manifest guardrails: docs/REFERENCE.md.
Dependabot and Renovate open the PR and run your test suite — but neither knows what your agent actually *does* at runtime, so a dependency bump that silently changes a tool call's shape (a renamed field, a new default, a different error) sails through with green unit tests. This is the check they don't run.
Copy .github/workflows/reelier-bump-check.yml into your repo, point skill: at your own recorded .skill.md file(s), and it will: gate to PRs from dependabot[bot]/renovate[bot] (or a dependencies label), install the bumped dependency, replay your recorded skill live against it at --max-level 0 (0 tokens), and fail the check on the exact step that drifted.
This tests dependency and MCP-tool-call behavior — it does not test model upgrades; --max-level 0 never calls an LLM. Full listing copy and setup: docs/marketplace-listing.md.
A pushed receipt carries a ladder of independently-verifiable claims — not one blanket "verified." Depending on what you turn on, it can be signed, timestamped, CI-attested, and carry cross-checkable provider request-ids. reelier verify recomputes every claim offline, and a claim you haven't enabled just renders as an honest gap, never a shamed one.
See a real one: reelier.com/r/HWBdmGob9KeHRqXi-OEaRD0z.
Full 8-rung ladder, what each rung does and doesn't prove: docs/REFERENCE.md.
| Employee lifecycle | Reelier equivalent |
|---|---|
| Skillify a session | reelier from-session |
| Performance review | reelier run + reelier diff |
| Fleet maintenance | scheduled replays + drift alerts |
| The record | signed receipts |
"Verified" describes the record, never the agent — a receipt proves what ran and what changed, not that the agent was good at its job.
An employment contract doesn't make an employee good — it makes what they did visible and bounded. Same here: receipts prove scope and change, never correctness.
MIT, free forever (versions ≤0.16.0 remain AGPL-3.0). Your data — skills, traces, runs — is specified in SPEC.md, so leaving is copying a folder.
Contributing: issues and PRs welcome — SPEC.md is the source of truth for formats; fix the code, not the spec. npm test before a PR.
If Reelier saved you a re-run, [star it](https://github.com/seldonframe/reelier) ⭐ — it's how other builders find it.