mcp-vdd
mcp-vdd runs the full Vision Driven Design (VDD) 8-phase pipeline — expanding a human vision statement into researched strategy, audited tactics, specs, plans, tasks, implementation prep, and validated impact with bi-directional traceability.
Phase 0 —
vdd_init: Generate the immutableconstitution.md(tech stack, conventions, security, banned patterns) at the project root.Phase 1 —
vdd_vision: Expand a freeform vision statement intovision.mdwith an Impact Model, stakeholder map, success metrics, and constraints.Phase 2 —
vdd_strategize: Produce research-backedstrategy.md(pillars, competitive analysis, risk register); two-pass — first returns research-subagent dispatch specs, second synthesizes findings.Phase 3 —
vdd_tactics: Audit the existing codebase intotactics.mdwith gap analysis and MoSCoW action items (A-001, …); needs filesystem access.Phase 4 —
vdd_specify/vdd_clarify: Authorspec.mdfrom an action item or freeform description; clarify (read-only) flags unresolved[NEEDS CLARIFICATION]markers, placeholders, and missing edge-case ACs.Phase 5 —
vdd_plan: Generate the technical blueprint —plan.md,data-model.md, andcontracts/schemas.Phase 6 —
vdd_tasks: Break the plan into atomic, test-first, S/M/L-sized tasks (tasks.md) with AC and contract references.Phase 7 —
vdd_get_next_task/vdd_implement: Fetch the next uncompleted task (read-only) and prepare its implementation instructions plus impact-chain commit-message format.Phase 8 —
vdd_validate: Run the release-readiness gate — full-chain traceability, drift/orphan detection, impact-vs-target metrics, and 28 S&T checks across 7 gates; writesimpact-report.generated.md.Cross-phase
vdd_inspect: Read-only traceability matrix (project scope) or per-feature spec metrics/placeholders (feature scope).Cross-phase
vdd_amend: Plan an ordered requirement-change cascade (V→S→T→SP→PL→TK) that re-runs affected gates G1–G7.vdd_detect_environment: Report per-phase required vs. optional tools/MCPs and which host capabilities are present or missing.vdd_clone: Crawl an external domain into a clone dataset + manifest (WordPress-aware schema inference, Payload collections, Next.js + Payload + Postgres scaffold).Shared params:
projectRooton every tool;availableTools/capabilitiesaliases for strategize and environment detection;artifactFilesfor serverless validation.
The root Dockerfile self-hosts the Streamable HTTP MCP server.
The project is hosted on GitHub, with badges for CI quality gates and releases.
The server can be installed and run via npx @simonmak-ascent/mcp.
Dependencies are installed and TypeScript packages are built using pnpm.
The MCP agent status badge is served from a Supabase edge function endpoint.
The server's packages are implemented in TypeScript and built with pnpm -r build.
Vision Driven Design
From vision to verified impact — an AI-native, fully autonomous software development methodology.
Provide a human vision statement. The AI autonomously researches, audits your codebase, generates specs and plans, implements, and validates — with bi-directional verification at every junction to ensure nothing is missed or invented.
graph LR
V[1. Vision<br/>Human Input] -->|<-->| S[2. Strategy<br/>AI Research]
S -->|<-->| T[3. Tactics<br/>AI Audit]
T -->|<-->| SP[4. Specs<br/>SDD]
SP -->|<-->| PL[5. Plan]
PL -->|<-->| TK[6. Tasks]
TK -->|<-->| IM[7. Implement]
IM -->|<-->| VS[8. Validate<br/>Impact Verified]
style V fill:#4CAF50,color:#fff
style S fill:#2196F3,color:#fff
style T fill:#FF9800,color:#fff
style SP fill:#9C27B0,color:#fff
style VS fill:#4CAF50,color:#fffTable of Contents
Related MCP server: MCP Vibe Coding Tools
Quick Start
# One-line install
curl -sSL https://raw.githubusercontent.com/simonmak-ascent/vision-driven-design/main/scripts/install.sh | bashThen in your project:
/vdd:init # Generate project constitution
/vdd:vision "your vision here" # The only human input required
# Or run end-to-end in one command:
/vdd:e2e "your vision here" # Full chain: init→vision→...→validateThe AI handles the rest — researching, auditing, generating specs, planning, implementing, and validating — with self-gating at 7 bi-directional verification junctions.
Tutorial → — 30-minute walkthrough building a real project.
# Want human gates? Add to constitution.md:
## VDD Mode: GatedHow It Works
VDD follows Goldratt's recursive Strategy-Tactic decomposition: every phase is simultaneously the Tactic for its parent and the Strategy for its child.
Phase | S&T Role | Output |
0. Constitution | (pre-chain) |
|
1. Vision | L1 Strategy: What impact? |
|
2. Strategy | L1 Tactic → L2 Strategy |
|
3. Tactics | L2 Tactic → L3 Strategy |
|
4. Specs | L3 Tactic → L4 Strategy |
|
5. Plan | L4 Tactic → L5 Strategy |
|
6. Tasks | L5 Tactic → L6 Strategy |
|
7. Implement | L6 Tactic → L7 Strategy | Code — Per-task commits with full traceability |
8. Validate | L7 Tactic — Did it work? |
|
7 bi-directional gates verify both directions at every junction (108 total checks). Each gate validates 4 S&T assumptions: Necessity, Achievability, Sufficiency, Warnings.
Every code commit traces back to the original vision statement:
V-001 → S-002 → T-003 → SP-004 → PL-005 → TK-006 → commitCommands
Command | Phase | Action |
| 0 | Generate |
| 1 | Expand freeform vision → structured |
| 2 | Load domain primers, spawn research subagents, synthesize |
| 3 | Audit repo → gap analysis → |
| 4 | Generate |
| 4 | Clarification pass on a spec |
| 5 | Generate |
| 6 | Generate |
| 7 | Extract next uncompleted task |
| 7 | Execute single task, verify, commit |
| 8 | Full-chain traceability + drift + impact report |
| any | Bidirectional traceability matrix |
| any | Cross-artifact consistency analysis |
| any | Cascade requirement change through full chain |
| any | Report per-phase tool/MCP requirements + available capabilities |
| 0–8 | End-to-end: run full 8-phase chain in one call, writes all 10+ template files |
| 7 | Clone: crawl site (browserless/fetch) into a full dataset + exact UI/UX + rebuilt backend + generated schema + AI tools + deployable dynamic site (vdd/clone-site/) from a domain (https/http/www/bare) |
Installation
# OpenCode
git clone https://github.com/simonmak-ascent/vision-driven-design.git \
~/.config/opencode/skills/vision-driven-design/
# Claude Code
git clone https://github.com/simonmak-ascent/vision-driven-design.git \
~/.claude/skills/vision-driven-design/
# Cursor
git clone https://github.com/simonmak-ascent/vision-driven-design.git \
.cursor/skills/vision-driven-design/Local MCP (from source)
To run the MCP server locally (stdio) instead of the hosted endpoint:
# 1. Clone the repo
git clone https://github.com/simonmak-ascent/vision-driven-design.git
# 2. Install deps + build the TypeScript packages
cd vision-driven-design
pnpm install
pnpm -r build
# 3. Point your agent at the built stdio entry pointOpenCode (opencode.json):
"vdd": {
"type": "local",
"command": ["node", "<repo>/packages/vdd-mcp/dist/stdio.js"],
"enabled": true
}Claude Desktop (claude_desktop_config.json):
"vdd": {
"command": "node",
"args": ["<repo>/packages/vdd-mcp/dist/stdio.js"],
"type": "stdio"
}MCP API
VDD is available as a public MCP server at https://vdd.simonmak.com — 15 tools, no API key required — over the MCP Streamable HTTP transport at https://vdd.simonmak.com/api/mcp (also reachable at /mcp). The legacy SSE endpoint is retired: https://vdd.simonmak.com/api/sse now returns an HTTP 308 redirect to /api/mcp.
Agent Configuration
OpenCode — add to opencode.json:
"vdd": {
"type": "remote",
"url": "https://vdd.simonmak.com/api/mcp",
"timeout": 120000
}Claude Desktop — add to claude_desktop_config.json:
"vdd": {
"command": "npx",
"args": ["-y", "@simonmak-ascent/mcp"],
"type": "stdio"
}Cursor — add MCP server URL: https://vdd.simonmak.com/api/mcp
Any Streamable HTTP client (Smithery, Claude Code, …) — MCP server URL: https://vdd.simonmak.com/api/mcp
MCP Tools (15)
vdd_init, vdd_vision, vdd_strategize, vdd_tactics, vdd_specify, vdd_clarify, vdd_plan, vdd_tasks, vdd_get_next_task, vdd_implement, vdd_validate, vdd_inspect, vdd_amend, vdd_clone, vdd_detect_environment.
The one-call e2e shortcut is not an MCP tool (it duplicates the phase sequence); use the CLI vdd e2e "vision" instead.
All tools accept: statement, projectRoot, actionItemId, feature, taskId, description, availableTools, capabilities, researchFindings, artifactFiles.
MCP Prompts (3)
start_vdd_project (vision → validated task list), implement_next_task (one test-first task with traceability) and change_requirement (cascade a change and re-run the gates). Available on the stdio server and the hosted endpoint.
MCP Registry (Glama)
The server is listed on Glama, which builds it from source and publishes a hosted remote endpoint plus a Tool Definition Quality Score and maintenance rating:
Maintainer notes:
glama.json(repo root) is Glama's registry file. Its schema consumes exactly one field —maintainers. Build/transport/description metadata belongs inpackage.jsonand this README, not here; Glama ignores it.Glama generates its own container build from the stdio entrypoint (
packages/vdd-mcp/dist/stdio.js), wrapped withmcp-proxy. The rootDockerfileis for self-hosting the Streamable HTTP server, not for Glama.After tool-definition changes: sync the repository and run Build & Release in the Glama admin. Tool-level scores refresh on the next sweep; the server-level coherence score re-runs less often.
Also published to the Official MCP Registry as
io.github.simonmak-ascent/vision-driven-design(manifest:server.json) — PulseMCP and other directories ingest from there.Listed in the
awesome-mcp-serverscommunity list under Developer Tools.Listed on Agent Status — an outside-in MCP reliability index that probes reach, catalog, and tool calls from real hosts (Cursor, Claude, VS Code, ChatGPT). The submission created the Free dashboard account; the score populates after the first probe.
API Reference
Method | Description |
POST | Streamable HTTP — JSON-RPC |
GET | HTML docs page for browsers; 405 for MCP clients (no server-initiated stream) |
DELETE | 204 — no session state to terminate |
| Retired — HTTP 308 redirect to |
# Streamable HTTP call example
curl -X POST https://vdd.simonmak.com/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'# tools/call example
curl -X POST https://vdd.simonmak.com/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"vdd_validate","arguments":{"projectRoot":"."}},"id":1}'The full TypeScript engine (packages/vdd-engine, packages/vdd-mcp, packages/vdd-cli) is included in this repo.
Domains Covered
VDD loads domain-specific research patterns during the Strategy phase based on your vision:
Domain | What it covers |
WebApp | UX, accessibility (WCAG 2.2), performance budgets, framework evaluation |
Data Storage | Schema design, indexing strategy, data governance, ACID vs eventual |
ETL | Pipeline architecture, data quality, batch vs streaming |
Infrastructure | CI/CD, observability, security, scaling, disaster recovery |
Human Factors | Behavioral economics, cognitive load, habit formation, accessibility cognition |
Verification Toolchain | Playwright, Browserless, Sentry, CI/CD quality pipeline |
Safety-Critical | FMEA/FTA, DO-178C/IEC 62304 safety integrity levels |
human-factors.md and verification-toolchain.md are loaded unconditionally for every project.
Best-Practice Benchmark
VDD is benchmarked against NASA SE, CMMI REQM, DO-178C, IEC 62304, DORA, ISO 29148, and GitHub Spec Kit:
47/47 criteria matched (100%), 11 exceeded, 0 gaps.
Full benchmark matrix → | Compliance evidence templates →
Documentation
File | Contents |
Full command reference and workflow | |
30-minute walkthrough | |
VDD vs SDD vs vibe coding vs TDD | |
Standards alignment matrix | |
Step-by-step phase instructions (authoritative) | |
Copy-paste templates for all 11 artifacts | |
7 gates with 108 checks + CI/CD | |
24 failure modes and fixes | |
DO-178C/IEC 62304/CMMI/ISO 29148 evidence maps | |
Website cloning — crawl → dataset → deployable dynamic site | |
One-page cheat sheet |
Repository Structure
├── SKILL.md # Entry point — loaded by OpenCode
├── README.md # This file
├── AGENTS.md # Instructions for AI agents
├── constitution.md # Project constitution (dogfooded)
├── CHANGELOG.md # Versioned change history
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT
├── index.html # GitHub Pages landing page
├── pnpm-workspace.yaml # Workspace config
├── package.json # Root package (Vercel + workspace)
├── vercel.json # Vercel deployment config
├── Dockerfile # Self-host build — Streamable HTTP MCP server
├── glama.json # Glama registry file (maintainers only)
├── server.json # Official MCP Registry manifest
├── domain-primers/ # 7 domain research patterns
│ ├── webapp.md
│ ├── data-storage.md
│ ├── etl.md
│ ├── infrastructure.md
│ ├── human-factors.md # Loaded unconditionally
│ ├── verification-toolchain.md # Loaded unconditionally
│ └── safety-critical.md # FMEA/FTA, DO-178C/IEC 62304
├── references/ # 10 authoritative reference docs
│ ├── INDEX.md # Navigation map
│ ├── quick-reference.md # 1-page cheat sheet
│ ├── workflow-phases.md # Phase order (authoritative)
│ ├── artifact-templates.md # 11 artifact templates (authoritative)
│ ├── prompt-patterns.md # AI prompts (authoritative)
│ ├── quality-gates.md # 7 gates + 108 checks (authoritative)
│ ├── ai-agent-patterns.md # Agent orchestration (authoritative)
│ ├── anti-patterns.md # 24 failure modes (authoritative)
│ ├── traceability-matrix.md # RTM format + CI/CD
│ └── compliance-evidence.md # Evidence maps
├── vdd/ # VDD chain artifacts
│ ├── vision.md # Vision, impact model, 17 impacts
│ ├── strategy.md # 12 strategic pillars
│ ├── tactics.md # 38 action items (all DONE)
│ ├── impact-report.md # Full-chain traceability + drift
│ ├── docs/ # 16 guides and references
│ └── specs/ # 3 feature specs
├── packages/ # TypeScript monorepo
│ ├── vdd-engine/ # Shared core — 18 phase functions + meta.ts
│ ├── vdd-mcp/ # MCP server — 15 tools, stdio + Streamable HTTP
│ └── vdd-cli/ # CLI binary — 17 subcommands
├── api/ # Vercel MCP endpoint
│ ├── mcp.js # Streamable HTTP MCP endpoint (15 tools)
│ └── _vdd-rpc.js # Shared JSON-RPC core + browser docs page (not routed)
├── scripts/ # 4 installer/helper scripts
└── .github/ # GitHub config
├── CODEOWNERS
├── ISSUE_TEMPLATE/
└── workflows/Acknowledgements
Built on:
Goldratt's Strategy-and-Tactic Tree — recursive decomposition at every phase
Impact Mapping (Gojko Adzic) — goal → actors → impacts → deliverables
GitHub Spec Kit — spec-driven development with AI agents
NASA Systems Engineering — bidirectional traceability and verification chains
CMMI Requirements Management — bidirectional traceability of requirements
Use with Context7
Up-to-date Vision Driven Design documentation is indexed on Context7, so coding agents can pull it into context on demand. With the Context7 MCP server or ctx7 CLI installed, name the library in your prompt:
use library /simonmak-ascent/vision-driven-design for API and docsLicense
MIT — see LICENSE.
By Simon Mak.
If this saves you time, a ⭐ on GitHub helps others find it.
Available Tools
15 toolsvdd_amendAmend RequirementsARead-onlyIdempotentInspect
VDD Cross-phase: Plan a requirement-change cascade through the whole chain — identifies the highest affected level and returns the ordered steps to update downward V→S→T→SP→PL→TK and re-run affected gates (G1–G7). Read-only; returns the cascade plan without editing artifacts (the host agent applies the edits and commits). Pass the change as description. Use when a requirement changes after artifacts already exist; to build a phase from scratch the first time, run that phase's own tool instead of vdd_amend. The plan is an ordered step list naming the affected gates, not rewritten artifacts. Parameter relationships: description is the requirement change to cascade through the artifact chain; projectRoot must match the root used by earlier phases.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Description of the requirement change | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description still adds substantial beyond-annotation context: it returns a plan rather than editing artifacts, the host agent applies edits and commits, the plan names gates rather than rewritten artifacts, and it re-runs gates G1–G7. This is rich behavioral disclosure that goes well past the safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the routing/scope constraints follow logically. It is dense and the trailing 'Parameter relationships' sentence partly restates the schema, keeping it shy of a 5, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only planning tool with an output schema, annotations, and 100% param coverage, the description covers everything an agent needs: trigger condition, exclusion, return semantics, safety profile, and cross-phase parameter constraints. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds relationship semantics beyond the schema: 'description is the requirement change to cascade through the artifact chain' and 'projectRoot must match the root used by earlier phases', giving cross-phase consistency meaning not stated in the field descriptions alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (plan a requirement-change cascade through the artifact chain V→S→T→SP→PL→TK) and explains the output shape (ordered steps + affected gates). It is clearly distinguishable from phase-building siblings like vdd_vision or vdd_strategize, which is reinforced by the explicit contrast in the usage sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the trigger condition ('when a requirement changes after artifacts already exist') and the exclusion with the alternative ('to build a phase from scratch the first time, run that phase's own tool instead of vdd_amend'). Both when-to-use and when-not-to-use are explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_clarifyClarify SpecARead-onlyIdempotentInspect
VDD Phase 4b: Clarify an existing spec — scans vdd/specs//spec.md and returns the items to resolve: every [NEEDS CLARIFICATION] marker, [e.g.] placeholder, and happy-path acceptance criterion (AC) still needing an edge-case counterpart (AC-E*). Read-only; returns the list without editing the file (the host agent then applies the resolutions). Pass feature (spec directory name). Run after vdd_specify when a spec has unresolved markers; to author a brand-new spec use vdd_specify instead. Parameter relationships: feature must be the exact spec directory name created by vdd_specify.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds non-obvious behavior anyway: it scans a specific path, returns the list without editing, and the host agent applies resolutions — helpful context beyond structured data, though it omits the return shape details (covered by the output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with phase and action, then scope and routing. A bit dense with bracketed marker syntax and a trailing 'Parameter relationships' sentence that partly duplicates the schema, but nothing is genuinely wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a full schema, and an output schema describing the returned items, the description covers purpose, sequencing, non-mutation behavior, and sibling routing. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema description for 'feature' already states it must reference a directory created by vdd_specify and be kebab-case. The description's restatement of that relationship adds little beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Clarify an existing spec'), names its phase, and states exactly what it returns: [NEEDS CLARIFICATION] markers, [e.g.] placeholders, and ACs lacking AC-E counterparts. It explicitly differentiates from the sibling vdd_specify by scope (existing vs brand-new spec).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit sequencing ('Run after vdd_specify'), a triggering condition ('when a spec has unresolved markers'), and an exclusion with the alternative tool ('to author a brand-new spec use vdd_specify instead'). The agent is fully routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_cloneClone WebsiteADestructiveInspect
Crawl and capture a target domain into a clone dataset + manifest — WordPress-aware schema inference, Payload collections, and a Next.js + Payload + Postgres scaffold manifest (vdd/clone-manifest.json). Pass the domain as description. Writes vdd/clone-dataset.json, vdd/clone-manifest.json, and vdd/clone.md, overwriting any existing versions in place. Open-world: makes network requests to the target site and reads its sitemap and same-origin links. Use for cloning an external site; it is not part of the VDD phase pipeline, so for the normal init→validate flow call those phase tools instead. Parameter relationships: description is the target domain and statement is the desired outcome (both optional); maxPages, timeoutMs, concurrency, crawl, and browser tune the crawl and refresh=true bypasses a cached dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| crawl | No | Clone: run the crawl (default true) | |
| browser | No | Clone: run browser/static capture (default true) | |
| refresh | No | Clone: force re-crawl, ignore a fresh cached dataset | |
| maxPages | No | Clone: max pages to crawl, 1-5000 (default 200) | |
| statement | No | Freeform vision statement (required for vision) | |
| timeoutMs | No | Clone: per-request timeout in ms, 1000-60000 (default 10000) | |
| concurrency | No | Clone: concurrent crawl workers, 1-16; above ~16 risks tripping the target site rate limit (default 8) | |
| description | No | Freeform description input | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag openWorldHint and destructiveHint, and the description adds the crucial specifics: which files get written and that they are overwritten in place, plus the network/sitemap access and the refresh cache-bypass behavior. This goes beyond what the annotations state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and outputs, and every sentence carries information. It is dense and somewhat run-on in the parameter-relationships tail, keeping it just short of 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't detail return values, and it still names the output artifacts. For a 9-param open-world tool, all safety, side-effect, and usage context an agent needs is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema baseline is 3, but the description adds real meaning: it clarifies that 'description' is the target domain and 'statement' is the desired outcome, and groups maxPages/timeoutMs/concurrency/crawl/browser as crawl tuning. That resolves the vague 'Freeform description input' schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs (crawl, capture) and the exact resource/artifact produced (clone dataset + manifest with named files). It explicitly distinguishes itself from the VDD phase siblings by noting it is not part of the phase pipeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('Use for cloning an external site') and when-not, routing the agent to the phase tools for the normal init→validate flow. This is a direct alternative-selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_detect_environmentDetect EnvironmentARead-onlyIdempotentInspect
VDD Environment Detection: Report which tools/MCPs each VDD phase requires vs treats as optional — across the 8-phase pipeline (init through validate) plus the cross-phase helpers (amend, clone, inspect, get-next-task) — and which of the host agent availableTools are present vs missing. Read-only; returns a capability report without modifying files. Run before vdd_strategize to plan research-subagent dispatch, or when a phase fails for lack of a tool; to inspect artifacts instead of capabilities use vdd_inspect. Returns a fixed-shape capability report; tool-name matching is normalized, so pass names as your host exposes them. Parameter relationships: availableTools and capabilities are aliases; omit both to get the per-phase requirements without a present/missing comparison.
| Name | Required | Description | Default |
|---|---|---|---|
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
| capabilities | No | Alias for availableTools | |
| availableTools | No | MCP/tool names available to the host agent (e.g., ["brave-search","perplexity","context7","gh_grep","playwright","filesystem"]) |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint=false, so the safety profile is covered; the description reinforces 'Read-only; returns a capability report without modifying files' and adds genuinely new behavioral detail in the normalized tool-name matching and the fixed-shape report. It stops short of describing response structure beyond that, so it lands just below the top.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and every clause carries information (scope, phases, read-only, alternatives, aliases, normalization). It is dense and slightly run-on as a single paragraph, but nothing is filler; a small trim would make it ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description need not explain return values, and it still covers purpose, usage, aliasing, and parameter relationships. Nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3), but the description adds real value beyond the schema by stating that availableTools and capabilities are aliases and that omitting both yields per-phase requirements without a present/missing comparison. It also clarifies how to pass tool names given normalization.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (report required vs optional tools per VDD phase and present vs missing host tools) and scopes it precisely across the 8-phase pipeline plus cross-phase helpers. It explicitly distinguishes itself from the sibling vdd_inspect, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger conditions (before vdd_strategize, or when a phase fails for lack of a tool) and names the alternative to use instead (vdd_inspect for artifacts rather than capabilities). This is exactly the when/when-not/alternative shape that earns a top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_get_next_taskGet Next TaskARead-onlyIdempotentInspect
VDD Phase 7a: Read vdd/specs//tasks.md and return the next uncompleted task (or a completion marker when none remain). Read-only; never edits tasks.md. Pass feature (the exact spec directory name). Use before each implementation session to keep context isolated; to regenerate the whole list use vdd_tasks, and to execute the returned task use vdd_implement. Parameter relationships: feature must match the spec directory; the returned taskId (TASK-###) is the argument to vdd_implement.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, yet the description adds genuinely useful context beyond them: it never edits tasks.md, and it returns a completion marker rather than erroring when no tasks remain. It stops short of describing the return payload shape, but an output schema exists to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the read-only guarantee, then usage, then parameter relationships in a compact block. It is slightly dense with phase labels and parenthetical restatements, but every sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup tool with full schema coverage and an output schema handling return values, the description covers purpose, safety, usage timing, alternatives, and the parameter hand-off to vdd_implement. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description adds real meaning: it explains that feature is the exact spec directory name, that it must match a directory created earlier, and that the returned taskId (TASK-###) is the argument fed to vdd_implement — a cross-tool parameter relationship the schema cannot express.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read vdd/specs/<feature>/tasks.md and return the next uncompleted task') including the exhaustion behavior (completion marker). It clearly distinguishes itself from the sibling vdd_tasks, which regenerates the full list, so an agent can pick the right tool without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit usage moment ('Use before each implementation session to keep context isolated') and names both alternatives with their selecting conditions: vdd_tasks to regenerate the list, vdd_implement to execute the returned task. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_implementImplement TaskARead-onlyIdempotentInspect
VDD Phase 7b: Prepare one task for implementation — loads constitution, spec, plan, and contracts and returns the implementation instruction plus the impact-chain commit-message format. Read-only; the tool writes nothing — the host agent performs the code edits, verification, and commit. Pass taskId (e.g. "TASK-003") from the task returned by vdd_get_next_task. Run one task at a time, after vdd_get_next_task; for read-only inspection of tasks use vdd_get_next_task instead. Parameter relationships: taskId comes from vdd_get_next_task (format TASK-###); projectRoot must match the root used by earlier phases.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task ID to implement, format TASK-### (e.g., "TASK-003"); must be an id listed in the feature's tasks.md (see vdd_get_next_task) | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond annotations by clarifying the read/write division of labor: the tool itself writes nothing and the host agent performs edits, verification, and commit — important for a phase that conceptually produces code. Annotations already cover readOnlyHint/idempotentHint, so this adds useful context without being exhaustive about failure modes or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the phase/action, then behavior, then parameter relationships, with no filler. Slightly dense and repetitive in places (taskId format and provenance restated in both description and schema), but every sentence carries routing or constraint value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't detail return values, and it doesn't over-promise. For a 2-parameter, fully documented, annotated read tool, all the information an agent needs to select and invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds cross-tool semantics the schema cannot: taskId must come from vdd_get_next_task and projectRoot must stay consistent across phases. That is genuine added meaning beyond the field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (prepare one task for implementation) with explicit scope — loads constitution, spec, plan, contracts and returns the implementation instruction plus commit-message format. It clearly distinguishes itself from vdd_get_next_task and vdd_inspect, which it names directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('Run one task at a time, after vdd_get_next_task'), when-not-to-use ('for read-only inspection of tasks use vdd_get_next_task instead'), and the sequencing dependency on the sibling tool. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_initInitialize ConstitutionADestructiveInspect
VDD Phase 0: Generate constitution.md at the project root — the immutable tech stack, conventions, security constraints, naming rules, and banned patterns that every later phase obeys. Overwrites any existing constitution.md. Run this first, before vdd_vision; to change a constitution that already exists, use vdd_amend instead of re-running this. projectRoot sets the directory constitution.md is written to and that later phases resolve every vdd/ artifact against (default "."). Parameter relationships: projectRoot defaults to "." and must be the same root every later phase resolves against.
| Name | Required | Description | Default |
|---|---|---|---|
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, but the description adds crucial specificity by stating exactly what is overwritten: any existing constitution.md. It also explains that the generated constitution is immutable and obeyed by every later phase, giving contextual behavioral insight beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and efficient for most of its length, but the final 'Parameter relationships' sentence repeats what was already stated about projectRoot and its default, adding redundancy rather than new detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description need not explain return values. Combined with annotations and full parameter coverage, the description provides complete context for safely invoking this destructive initialization tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that projectRoot sets the directory for constitution.md and the vdd/ folder, including relative path resolution and cross-phase consistency. The description restates this and adds a 'parameter relationships' note, but provides no meaningful information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: generate constitution.md at the project root as VDD Phase 0. It names the exact artifacts and rules the file contains, and clearly distinguishes itself from vdd_amend and vdd_vision by phase and purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to run this first, before vdd_vision, and provides a direct alternative for changing an existing constitution: use vdd_amend instead of re-running this. No inference is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_inspectInspect ProjectARead-onlyIdempotentInspect
VDD Cross-phase: Read-only inspection of the current project in one call — scope selects the view. scope="project" (default) returns the bidirectional V→S→T→SP→PL→TK traceability matrix across all vdd/ artifacts; scope="feature" returns per-feature spec metrics (acceptance-criteria count, unresolved [NEEDS CLARIFICATION] markers, [e.g.] placeholder density, and whether plan.md/tasks.md exist). Never modifies files. Pass feature for the feature scope; for release-readiness validation with gates use vdd_validate, and to author a spec use vdd_specify. Output is a structured matrix/metrics object, not prose. Parameter relationships: scope="feature" requires feature, while scope="project" (the default) ignores it; projectRoot must match the root used by earlier phases.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Inspect scope: "project" (default) returns the traceability matrix; "feature" returns per-feature spec metrics (requires feature) | |
| feature | No | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered; the description reinforces 'Never modifies files' and adds meaningful context that output is a structured object 'not prose'. It stops short of describing pagination or volume/rate behavior, so it adds value but isn't exhaustive beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the primary purpose and scope mechanics come first, then siblings and parameter relationships. Every sentence carries routing or behavioral information, though the single long paragraph could be broken up for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be enumerated, and the description still signals the output shape. Combined with scope semantics, sibling routing, and parameter relationships, an agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description adds genuine cross-parameter meaning: scope="feature" requires feature while scope="project" ignores it, and projectRoot must match the root used by earlier phases. This relational guidance goes beyond the per-parameter schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read-only inspection of the current project') and precisely what the two scope modes return (traceability matrix vs per-feature spec metrics). It explicitly names sibling tools (vdd_validate, vdd_specify) and distinguishes itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use routing: scope="project" (default) for the matrix, scope="feature" for metrics, plus named alternatives for adjacent tasks ('for release-readiness validation use vdd_validate, and to author a spec use vdd_specify'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_planGenerate PlanADestructiveInspect
VDD Phase 5: Generate the technical blueprint under vdd/specs// — plan.md (component breakdown, AC coverage map, technology choices, verification toolchain), data-model.md (entities, indexes, migrations), and contracts/ (request/response/error schemas). Overwrites these files. Requires an existing spec for the feature; run after vdd_specify or vdd_clarify and before vdd_tasks — if no spec exists yet, run vdd_specify first. Parameter relationships: feature must match the value passed to vdd_specify and vdd_tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, and the description reinforces this by stating it 'Overwrites these files' and specifying which ones, plus the required pre-existing spec. It does not cover permissions or failure modes, but for a destructive tool with existing annotation coverage this adds meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single dense paragraph, front-loaded with the action and artifacts, then prerequisites and parameter relationships. Every sentence carries information, though the artifact enumeration makes it longer than strictly minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers purpose, artifacts, ordering, prerequisites, and parameter continuity. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds a cross-tool constraint the schema does not: 'feature must match the value passed to vdd_specify and vdd_tasks'. That continuity rule is real value beyond the field-level definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate the technical blueprint') and enumerates the exact artifacts produced (plan.md, data-model.md, contracts/) plus their location under vdd/specs/<feature>/. Its phase label ('VDD Phase 5') and artifact set clearly distinguish it from vdd_specify, vdd_tasks, and the other siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit ordering guidance: 'run after vdd_specify or vdd_clarify and before vdd_tasks', plus a prerequisite and a fallback ('if no spec exists yet, run vdd_specify first'). It names both the predecessor and successor alternatives, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_specifyGenerate SpecADestructiveInspect
VDD Phase 4: Generate vdd/specs//spec.md for one tactical action item — user stories, Always/Ask/Never boundaries, Given/When/Then acceptance criteria (AC), MoSCoW priorities, non-functional requirements, and impact verification. Overwrites the spec file. Pass actionItemId (e.g. "A-001") or a freeform description to skip the V/S/T chain. Use for a NEW spec; to resolve leftover [NEEDS CLARIFICATION] markers in an existing spec use vdd_clarify instead. Parameter relationships: feature names the vdd/specs// directory and must match the feature passed to vdd_clarify, vdd_plan, and vdd_tasks; actionItemId is the A-### id from tactics.md and is optional when authoring from a freeform description.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | No | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| description | No | Freeform description input | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
| actionItemId | No | Tactical action item ID, format A-### (e.g., "A-001"); must be an item id from vdd/tactics.md |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and openWorldHint=false, and the description specifies the exact consequence ('Overwrites the spec file'), naming the affected artifact. It also discloses the alternate invocation path that bypasses the V/S/T chain, adding context beyond the safety annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the phase/purpose, then overwrite warning, then routing, then parameter relationships. Dense but every clause carries routing or constraint information; slightly lengthy, but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex authoring tool with an output schema covering return values, the description supplies the missing pieces: overwrite behavior, alternate entry path, sibling disambiguation, and cross-phase parameter consistency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds cross-parameter and cross-tool meaning: 'feature ... must match the feature passed to vdd_clarify, vdd_plan, and vdd_tasks' and 'actionItemId ... is optional when authoring from a freeform description'. That consistency contract is not derivable from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+artifact: 'Generate vdd/specs/<id>/spec.md for one tactical action item' and enumerates the produced content (user stories, boundaries, ACs, MoSCoW, NFRs, impact verification). It also explicitly distinguishes itself from vdd_clarify, so an agent can differentiate it from siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing: 'Use for a NEW spec; to resolve leftover [NEEDS CLARIFICATION] markers in an existing spec use vdd_clarify instead.' It also states an entry condition ('Pass actionItemId ... or a freeform description to skip the V/S/T chain'), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_strategizeResearch StrategyADestructiveInspect
VDD Phase 2: Produce research-backed strategy into vdd/strategy.md — strategic pillars, competitive analysis, and a risk register, resolved from the vision target-domain primers. Overwrites vdd/strategy.md. Requires vdd/vision.md; run after vdd_vision and before vdd_tactics. Two-pass: call once with availableTools to get the research-subagent dispatch specs, then re-call with researchFindings to synthesize strategy.md (a first call with neither returns only the dispatch specs). To change strategy after artifacts exist, use vdd_amend. Parameter relationships: availableTools and capabilities are aliases (pass one); researchFindings only has an effect on the second call.
| Name | Required | Description | Default |
|---|---|---|---|
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
| capabilities | No | Alias for availableTools | |
| availableTools | No | MCP/tool names available to the host agent (e.g., ["brave-search","perplexity","context7","gh_grep","playwright","filesystem"]) | |
| researchFindings | No | Consolidated research subagent findings to synthesize into strategy.md (effect only on the second strategize call) |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations flag destructive and open-world behavior, and the description reinforces this ('Overwrites vdd/strategy.md') while adding context annotations cannot carry: the required vdd/vision.md precondition and the full two-pass dispatch-then-synthesize protocol, including the degenerate first-call case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with phase, artifact and overwrite behavior, then prerequisites, then the two-pass protocol. Dense but every sentence carries load; the final parameter-relationships sentence is slightly list-like but still adds alias information not in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-pass, destructive, open-world tool, the description covers phase ordering, prerequisite, overwrite target, alias handling, and the two-call protocol; with an output schema present, no return-value detail is needed. Nothing required to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds non-obvious semantics the schema omits: availableTools/capabilities are aliases (pass one) and researchFindings only takes effect on the second call. These are meaningful operational constraints beyond the field docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and artifact ('Produce research-backed strategy into vdd/strategy.md') plus the concrete contents (strategic pillars, competitive analysis, risk register). It also names the upstream source (vision target-domain primers) and distinguishes itself from siblings vdd_vision/vdd_tactics by phase ordering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit prerequisites and sequencing: 'Requires vdd/vision.md; run after vdd_vision and before vdd_tactics.' It also routes post-artifact edits to vdd_amend, which is exactly the when-not-to-use-this guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_tacticsAudit TacticsADestructiveInspect
VDD Phase 3: Audit the existing codebase into vdd/tactics.md — repo audit, technical-debt assessment, gap analysis, MoSCoW-prioritized action items (A-001, A-002, …), dependency map, and infrastructure requirements. Overwrites vdd/tactics.md. Requires vdd/strategy.md; run after vdd_strategize and before vdd_specify. Needs a filesystem-capable host to scan the repo, so check with vdd_detect_environment first if the host may lack one. Parameter relationships: projectRoot must match the root used by vdd_init, vdd_vision, and vdd_strategize; requires vdd/strategy.md to exist.
| Name | Required | Description | Default |
|---|---|---|---|
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag destructiveHint=true and openWorldHint=false; the description goes further by naming exactly what is destroyed ('Overwrites vdd/tactics.md') and what capability the host needs (filesystem access to scan the repo). It also names the required input file, giving the agent the full operational picture beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and output artifact before prerequisites and caveats, so an agent can stop reading early if it only needs the gist. The final 'Parameter relationships' sentence is slightly long and partly restates the earlier requirement that vdd/strategy.md must exist, but the density is justified by a multi-step pipeline tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers sequencing, prerequisites, overwrite behavior, host capability, and the cross-phase projectRoot invariant. Nothing an agent needs to invoke this phase correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single documented parameter, so the baseline is 3, but the description adds real cross-tool semantics: projectRoot 'must match the root used by vdd_init, vdd_vision, and vdd_strategize'. That consistency constraint is not derivable from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Audit the existing codebase into vdd/tactics.md') plus the concrete artifact contents (repo audit, debt assessment, gap analysis, MoSCoW items, dependency map). Phase labeling ('VDD Phase 3') and the output filename distinguish it cleanly from siblings like vdd_specify and vdd_plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: 'run after vdd_strategize and before vdd_specify', requires vdd/strategy.md, and names vdd_detect_environment as the check to run first if the host may lack filesystem access. This covers when to use it, prerequisites, and a sibling alternative for the environment question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_tasksGenerate TasksADestructiveInspect
VDD Phase 6: Break the plan into atomic test-first tasks in vdd/specs//tasks.md — each references acceptance criteria (AC) and contracts, is sized S/M/L, and is marked [P] when parallelizable. Overwrites tasks.md. Requires plan.md; run after vdd_plan. To fetch the next uncompleted task from an existing tasks.md use vdd_get_next_task instead of re-running this. Parameter relationships: feature must match the value passed to vdd_plan.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and openWorldHint=false, and the description reinforces this with 'Overwrites tasks.md', clearly disclosing what is destroyed. It also adds the plan.md prerequisite and structural output details. It could go further on overwrite precondition (e.g., whether prior content is lost irreversibly), but the safety profile is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with phase identity and purpose, then prerequisite, alternative, and parameter relationship. Every sentence carries distinct actionable information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained. Phase position, prerequisite, destructive behavior, alternative sibling, and parameter linkage are all covered, making it complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3), and the description adds a genuine cross-tool relationship not in the schema: 'feature must match the value passed to vdd_plan'. That extra constraint meaningfully reduces invocation error beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and artifact: 'Break the plan into atomic test-first tasks in vdd/specs/<feature>/tasks.md', with concrete output characteristics (AC/contract references, S/M/L sizing, [P] markers). It clearly distinguishes itself from siblings vdd_plan (prerequisite) and vdd_get_next_task (read alternative).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('Requires plan.md; run after vdd_plan') and an explicit alternative with condition ('To fetch the next uncompleted task from an existing tasks.md use vdd_get_next_task instead of re-running this'). Both routing decisions an agent needs are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_validateValidate ImpactAIdempotentInspect
VDD Phase 8: Validate the full chain — bidirectional traceability matrix, drift detection, orphan detection, uncovered vision goals, impact metrics vs targets, and 28 S&T assumption checks across 7 gates. Writes vdd/impact-report.generated.md and never overwrites a hand-authored vdd/impact-report.md. Run after implementation is complete; for the traceability matrix or per-feature spec metrics use vdd_inspect. Parameter relationships: feature narrows the check to one spec; artifactFiles maps artifact path to content for serverless runs and is omitted when resolving against a local projectRoot.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | No | Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
| artifactFiles | No | Map of vdd/-relative artifact path → full file text, for serverless validate/drift detection where the tool cannot read the filesystem |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover idempotency, openWorld and destructiveness; the description adds the concrete write behavior (writes vdd/impact-report.generated.md) and a non-obvious safety guarantee (never overwrites a hand-authored vdd/impact-report.md). This is exactly the side-effect and overwrite context an agent needs beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the phase and scope, then the write behavior and alternatives, then a compact parameter-relationships sentence. It is dense and slightly run-on in the enumerated check list, but every sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers scope, side effects, alternatives, and parameter interplay. Coverage is strong; only the traceability-matrix-vs-vdd_inspect boundary is left mildly ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so baseline would be 3; the description goes further by explaining the relationships (feature narrows the check to a single spec; artifactFiles maps path→content for serverless runs and is omitted when resolving against a local projectRoot). That adds semantic meaning about when each parameter matters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (validate) plus the exact scope of the chain being validated (traceability matrix, drift, orphans, uncovered goals, impact metrics, assumption checks across 7 gates). It also names the sibling vdd_inspect to distinguish standalone traceability/metrics work, so an agent can separate it from siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to run it after implementation is complete and redirects the traceability matrix / per-feature metrics case to vdd_inspect. The when-to-use and the alternative are both present, though the line listing 'bidirectional traceability matrix' as part of validate while also routing 'the traceability matrix' to vdd_inspect slightly muddies the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vdd_visionExpand VisionADestructiveInspect
VDD Phase 1: Expand a freeform vision statement into vdd/vision.md — Impact Model (Goal, Actors, Impacts), Stakeholder Map, Success Metrics (leading + lagging), Constraints & Boundaries, and Target Domains. Overwrites any existing vdd/vision.md. Requires statement (freeform 1-3 paragraph intent, not a title) and a prior vdd_init. Run once, after vdd_init and before vdd_strategize; to revise a vision once downstream artifacts exist, use vdd_amend so the change cascades instead of re-running this. Parameter relationships: statement must be freeform prose (1-3 paragraphs), not a title; projectRoot must match the root used by vdd_init.
| Name | Required | Description | Default |
|---|---|---|---|
| statement | Yes | Freeform vision statement | |
| projectRoot | No | Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default ".") | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| _sdt | Yes | Strategy-and-Tactic instructions for the next step |
| error | No | Error message when the phase fails |
| _phase | Yes | VDD phase that produced this result |
| output | No | Additional structured phase output |
| success | Yes | Whether the phase completed successfully |
| artifact | No | Primary artifact produced or returned |
| gateResult | No | Quality-gate result, when the phase runs a gate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and the description confirms and localizes the destruction ('Overwrites any existing vdd/vision.md'), which is exactly the kind of added context that matters. It also discloses the prerequisite state (a prior vdd_init) that annotations cannot express. It stops short of describing the write's atomicity or failure behavior, hence not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and artifact path, then prerequisites, then alternative routing, then parameter notes. Dense but every clause carries information; the parameter-relationship sentence is slightly redundant with the earlier 'freeform 1-3 paragraph intent' phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers the remaining unknowns an agent needs: overwrite semantics, ordering constraints, prerequisite phase, and revision via vdd_amend. Nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description still adds value beyond the schema by constraining statement to 'freeform 1-3 paragraph intent, not a title' and by requiring projectRoot to match the value used by vdd_init. These are non-obvious usage constraints rather than restatements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Expand a freeform vision statement into vdd/vision.md') and enumerates the sections produced, so the agent knows exactly what artifact is created. The sibling set is large, and this description clearly distinguishes the vision-expansion phase from vdd_strategize, vdd_amend, and vdd_init.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit sequencing ('Run once, after vdd_init and before vdd_strategize') plus an explicit alternative and its condition ('to revise a vision once downstream artifacts exist, use vdd_amend so the change cascades'). This is a textbook when-to-use/when-not-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
v1.9.0- Changed
vdd_amend1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_clarify2 fields changed- changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_clone4 fields changed- changed
Input schema / properties / concurrency / descriptionPrevious value: -"Clone: concurrent crawl workers (default 8)"New value: +"Clone: concurrent crawl workers, 1-16; above ~16 risks tripping the target site rate limit (default 8)" - changed
Input schema / properties / maxPages / descriptionPrevious value: -"Clone: max pages to crawl (default 200)"New value: +"Clone: max pages to crawl, 1-5000 (default 200)" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")" - changed
Input schema / properties / timeoutMs / descriptionPrevious value: -"Clone: per-request timeout in ms"New value: +"Clone: per-request timeout in ms, 1000-60000 (default 10000)"
- Changed
vdd_detect_environment1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_get_next_task2 fields changed- changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_implement2 fields changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")" - changed
Input schema / properties / taskId / descriptionPrevious value: -"Task ID to implement (e.g., \"TASK-003\")"New value: +"Task ID to implement, format TASK-### (e.g., \"TASK-003\"); must be an id listed in the feature's tasks.md (see vdd_get_next_task)"
- Changed
vdd_init1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_inspect2 fields changed- changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_plan2 fields changed- changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_specify3 fields changed- changed
Input schema / properties / actionItemId / descriptionPrevious value: -"Tactical action item ID (e.g., \"A-001\")"New value: +"Tactical action item ID, format A-### (e.g., \"A-001\"); must be an item id from vdd/tactics.md" - changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_strategize2 fields changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")" - changed
Input schema / properties / researchFindings / descriptionPrevious value: -"Consolidated research subagent findings to synthesize into strategy.md"New value: +"Consolidated research subagent findings to synthesize into strategy.md (effect only on the second strategize call)"
- Changed
vdd_tactics1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_tasks2 fields changed- changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_validate3 fields changed- changed
Input schema / properties / artifactFiles / descriptionPrevious value: -"Map of artifact path → content for serverless validate/drift detection"New value: +"Map of vdd/-relative artifact path → full file text, for serverless validate/drift detection where the tool cannot read the filesystem" - changed
Input schema / properties / feature / descriptionPrevious value: -"Feature name (spec directory name)"New value: +"Feature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., \"user-auth\"); must reference a directory created earlier by vdd_specify" - changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
- Changed
vdd_vision1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against. Relative paths resolve from the current working directory; keep the same value across every phase (default \".\")"
3 tool updates
v1.8.0- Removed
vdd_analyze - Added
vdd_inspect - Removed
vdd_trace
4 tool updates
v0.1.4- Changed
vdd_clone1 field changed- changed
Input schema / properties / statement / descriptionPrevious value: -"Freeform vision statement (required for vision/e2e)"New value: +"Freeform vision statement (required for vision)"
- Removed
vdd_e2e - Added
vdd_get_next_task - Removed
vdd_next_task
17 tool updates
v0.1.3- Changed
vdd_amend1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_analyze1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_clarify1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_clone1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_detect_environment1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_e2e1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_implement1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_init1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_next_task1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_plan1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_specify1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_strategize1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_tactics1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_tasks1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_trace1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_validate1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
- Changed
vdd_vision1 field changed- changed
Input schema / properties / projectRoot / descriptionPrevious value: -"Path to project root directory"New value: +"Project root: directory that constitution.md and the vdd/ folder are written to and resolved against (default \".\")"
17 tool updates
v0.1.2- Changed
vdd_amend1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_analyze1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_clarify1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_clone1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_detect_environment1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_e2e1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_implement1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_init1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_next_task1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_plan1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_specify1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_strategize1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_tactics1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_tasks1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_trace1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_validate1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
- Changed
vdd_vision1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "_phase": { + "description": "VDD phase that produced this result", + "type": "string" + }, + "_sdt": { + "description": "Strategy-and-Tactic instructions for the next step", + "type": "string" + }, + "artifact": { + "description": "Primary artifact produced or returned", + "type": "string" + }, + "error": { + "description": "Error message when the phase fails", + "type": "string" + }, + "gateResult": { + "additionalProperties": false, + "description": "Quality-gate result, when the phase runs a gate", + "properties": { + "checks": { + "description": "Number of checks run", + "type": "number" + }, + "passed": { + "description": "Whether the quality gate passed", + "type": "boolean" + }, + "total": { + "description": "Total number of checks", + "type": "number" + } + }, + "required": [ + "passed", + "checks", + "total" + ], + "type": "object" + }, + "output": { + "additionalProperties": {}, + "description": "Additional structured phase output", + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "success": { + "description": "Whether the phase completed successfully", + "type": "boolean" + } + }, + "required": [ + "success", + "_phase", + "_sdt" + ], + "type": "object" +}
17 tool updates
v0.1.0- First observed
vdd_amend - First observed
vdd_analyze - First observed
vdd_clarify - First observed
vdd_clone - First observed
vdd_detect_environment - First observed
vdd_e2e - First observed
vdd_implement - First observed
vdd_init - First observed
vdd_next_task - First observed
vdd_plan - First observed
vdd_specify - First observed
vdd_strategize - First observed
vdd_tactics - First observed
vdd_tasks - First observed
vdd_trace - First observed
vdd_validate - First observed
vdd_vision
TDQS
Scored across 15 tools
Each tool targets a distinct phase or cross-phase operation, and the descriptions explicitly clarify boundaries by directing users to alternatives (e.g., vdd_amend vs. re-running a phase, vdd_inspect vs. vdd_validate). Overlaps are minimal and well-resolved.
All tool names use the same snake_case convention with the vdd_ prefix, making the set highly predictable. Slight noun/verb variation (vdd_vision vs. vdd_implement) reflects phase artifacts vs. actions without breaking consistency.
The 15 tools map cleanly onto an 8-phase pipeline plus necessary cross-phase helpers such as amend, clone, inspect, and environment detection. No tool appears redundant, and the count is well-scoped for the methodology.
The surface covers the full VDD lifecycle from constitution creation through implementation and final validation, including clarification, task iteration, change management, and environment detection. No obvious domain gaps are present.
Maintenance
Related MCP Connectors
Turn PRDs and product ideas into structured specs so coding agents build your intent, not theirs.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Autonomous dev team steered from chat: plain-English requests in, tested merged PRs out.
Free enterprise-grade due diligence for your app, run by your coding agent. Then the full SDLC.
Related MCP Servers
- AlicenseAqualityDmaintenanceStreamlines development workflows through AI-assisted codebase analysis, comprehensive planning, task breakdown with dependencies, and automated implementation verification. Enables systematic approach to complex development tasks like framework migrations and feature implementation.534 npmMIT
- AlicenseBqualityDmaintenanceTransforms any prompt into a fully functional, production-ready product with zero human intervention by providing 150+ autonomous tools covering all aspects of software development.331MIT
- AlicenseBqualityDmaintenanceTransforms product ideas into production code by orchestrating AI-assisted development with task decomposition, dependency tracking, and real-time progress visualization.62130 npm16MIT
- FlicenseBqualityBmaintenanceEnables AI coding assistants to run a machine-verified DESIGN→PLAN→EXECUTE→VERIFY→COMPLETE workflow with human approval gates, state integrity checks, and DAG task scheduling.7-