Skip to main content
Glama

Vision Driven Design

VDD Quality Gates MCP Tool Definition Quality License: MIT Version MCP tools API Glama MCP Agent Status

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:#fff

Table 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 | bash

Then 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→...→validate

The 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: Gated

How 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)

constitution.md — Immutable project rules

1. Vision

L1 Strategy: What impact?

vision.md — Impact model, success metrics

2. Strategy

L1 Tactic → L2 Strategy

strategy.md — Research, 12 pillars, risk register

3. Tactics

L2 Tactic → L3 Strategy

tactics.md — Codebase audit, 38 action items

4. Specs

L3 Tactic → L4 Strategy

spec.md — MoSCoW acceptance criteria

5. Plan

L4 Tactic → L5 Strategy

plan.md, data-model.md, contracts/

6. Tasks

L5 Tactic → L6 Strategy

tasks.md — Test-first atomic tasks

7. Implement

L6 Tactic → L7 Strategy

Code — Per-task commits with full traceability

8. Validate

L7 Tactic — Did it work?

impact-report.md — Drift + impact verification

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 → commit

Commands

Command

Phase

Action

/vdd:init

0

Generate constitution.md from project context

/vdd:vision "statement"

1

Expand freeform vision → structured vision.md

/vdd:strategize

2

Load domain primers, spawn research subagents, synthesize strategy.md

/vdd:tactics

3

Audit repo → gap analysis → tactics.md

/vdd:specify <ID | "desc">

4

Generate spec.md (or freeform — skips V/S/T)

/vdd:clarify <feature>

4

Clarification pass on a spec

/vdd:plan <feature>

5

Generate plan.md, data-model.md, contracts/

/vdd:tasks <feature>

6

Generate tasks.md

/vdd:get-next-task <feature>

7

Extract next uncompleted task

/vdd:implement <task-id>

7

Execute single task, verify, commit

/vdd:validate

8

Full-chain traceability + drift + impact report

/vdd:trace

any

Bidirectional traceability matrix

/vdd:analyze <feature>

any

Cross-artifact consistency analysis

/vdd:amend "what changed"

any

Cascade requirement change through full chain

/vdd:detect-environment

any

Report per-phase tool/MCP requirements + available capabilities

/vdd:e2e "vision statement"

0–8

End-to-end: run full 8-phase chain in one call, writes all 10+ template files

/vdd:e2e -clone <domain>

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 point

OpenCode (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 in package.json and this README, not here; Glama ignores it.

  • Glama generates its own container build from the stdio entrypoint (packages/vdd-mcp/dist/stdio.js), wrapped with mcp-proxy. The root Dockerfile is 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-servers community 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 /api/mcp

Streamable HTTP — JSON-RPC initialize, tools/list, tools/call (stateless)

GET /api/mcp

HTML docs page for browsers; 405 for MCP clients (no server-initiated stream)

DELETE /api/mcp

204 — no session state to terminate

/api/sse

Retired — HTTP 308 redirect to /api/mcp

# 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

SKILL.md

Full command reference and workflow

vdd/docs/tutorial.md

30-minute walkthrough

vdd/docs/comparison.md

VDD vs SDD vs vibe coding vs TDD

vdd/docs/best-practice-benchmark.md

Standards alignment matrix

references/workflow-phases.md

Step-by-step phase instructions (authoritative)

references/artifact-templates.md

Copy-paste templates for all 11 artifacts

references/quality-gates.md

7 gates with 108 checks + CI/CD

references/anti-patterns.md

24 failure modes and fixes

references/compliance-evidence.md

DO-178C/IEC 62304/CMMI/ISO 29148 evidence maps

references/clone-workflow.md

Website cloning — crawl → dataset → deployable dynamic site

references/quick-reference.md

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 docs

License

MIT — see LICENSE.


By Simon Mak.

If this saves you time, a ⭐ on GitHub helps others find it.

Available Tools

15 tools
vdd_amendAmend RequirementsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesDescription of the requirement change
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 SpecA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 WebsiteA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
crawlNoClone: run the crawl (default true)
browserNoClone: run browser/static capture (default true)
refreshNoClone: force re-crawl, ignore a fresh cached dataset
maxPagesNoClone: max pages to crawl, 1-5000 (default 200)
statementNoFreeform vision statement (required for vision)
timeoutMsNoClone: per-request timeout in ms, 1000-60000 (default 10000)
concurrencyNoClone: concurrent crawl workers, 1-16; above ~16 risks tripping the target site rate limit (default 8)
descriptionNoFreeform description input
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 EnvironmentA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectRootNoProject 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 ".").
capabilitiesNoAlias for availableTools
availableToolsNoMCP/tool names available to the host agent (e.g., ["brave-search","perplexity","context7","gh_grep","playwright","filesystem"])

Output Schema

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 TaskA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 TaskA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesTask 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)
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 ConstitutionA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 ProjectA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoInspect scope: "project" (default) returns the traceability matrix; "feature" returns per-feature spec metrics (requires feature)
featureNoFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 PlanA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 SpecA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureNoFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
descriptionNoFreeform description input
projectRootNoProject 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 ".").
actionItemIdNoTactical action item ID, format A-### (e.g., "A-001"); must be an item id from vdd/tactics.md

Output Schema

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 StrategyA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectRootNoProject 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 ".").
capabilitiesNoAlias for availableTools
availableToolsNoMCP/tool names available to the host agent (e.g., ["brave-search","perplexity","context7","gh_grep","playwright","filesystem"])
researchFindingsNoConsolidated research subagent findings to synthesize into strategy.md (effect only on the second strategize call)

Output Schema

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 TacticsA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 TasksA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 ImpactA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureNoFeature name: the vdd/specs/<feature>/ directory, kebab-case (e.g., "user-auth"); must reference a directory created earlier by vdd_specify
projectRootNoProject 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 ".").
artifactFilesNoMap of vdd/-relative artifact path → full file text, for serverless validate/drift detection where the tool cannot read the filesystem

Output Schema

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 VisionA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
statementYesFreeform vision statement
projectRootNoProject 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

ParametersJSON Schema
NameRequiredDescription
_sdtYesStrategy-and-Tactic instructions for the next step
errorNoError message when the phase fails
_phaseYesVDD phase that produced this result
outputNoAdditional structured phase output
successYesWhether the phase completed successfully
artifactNoPrimary artifact produced or returned
gateResultNoQuality-gate result, when the phase runs a gate

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 15 tool updatesv1.9.0
    • Changedvdd_amend1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_clarify2 fields changed
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_clone4 fields changed
      • changedInput schema / properties / concurrency / description
        Previous 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)"
      • changedInput schema / properties / maxPages / description
        Previous value: -"Clone: max pages to crawl (default 200)"New value: +"Clone: max pages to crawl, 1-5000 (default 200)"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
      • changedInput schema / properties / timeoutMs / description
        Previous value: -"Clone: per-request timeout in ms"New value: +"Clone: per-request timeout in ms, 1000-60000 (default 10000)"
    • Changedvdd_detect_environment1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_get_next_task2 fields changed
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_implement2 fields changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
      • changedInput schema / properties / taskId / description
        Previous 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)"
    • Changedvdd_init1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_inspect2 fields changed
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_plan2 fields changed
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_specify3 fields changed
      • changedInput schema / properties / actionItemId / description
        Previous 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"
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_strategize2 fields changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
      • changedInput schema / properties / researchFindings / description
        Previous 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)"
    • Changedvdd_tactics1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_tasks2 fields changed
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_validate3 fields changed
      • changedInput schema / properties / artifactFiles / description
        Previous 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"
      • changedInput schema / properties / feature / description
        Previous 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"
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_vision1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
  2. 3 tool updatesv1.8.0
    • Removedvdd_analyze
    • Addedvdd_inspect
    • Removedvdd_trace
  3. 4 tool updatesv0.1.4
    • Changedvdd_clone1 field changed
      • changedInput schema / properties / statement / description
        Previous value: -"Freeform vision statement (required for vision/e2e)"New value: +"Freeform vision statement (required for vision)"
    • Removedvdd_e2e
    • Addedvdd_get_next_task
    • Removedvdd_next_task
  4. 17 tool updatesv0.1.3
    • Changedvdd_amend1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_analyze1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_clarify1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_clone1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_detect_environment1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_e2e1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_implement1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_init1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_next_task1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_plan1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_specify1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_strategize1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_tactics1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_tasks1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_trace1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_validate1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
    • Changedvdd_vision1 field changed
      • changedInput schema / properties / projectRoot / description
        Previous 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 \".\")"
  5. 17 tool updatesv0.1.2
    • Changedvdd_amend1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_analyze1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_clarify1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_clone1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_detect_environment1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_e2e1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_implement1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_init1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_next_task1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_plan1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_specify1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_strategize1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_tactics1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_tasks1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_trace1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_validate1 field changed
      • changedOutput 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"
        +}
    • Changedvdd_vision1 field changed
      • changedOutput 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"
        +}
  6. 17 tool updatesv0.1.0
    • First observedvdd_amend
    • First observedvdd_analyze
    • First observedvdd_clarify
    • First observedvdd_clone
    • First observedvdd_detect_environment
    • First observedvdd_e2e
    • First observedvdd_implement
    • First observedvdd_init
    • First observedvdd_next_task
    • First observedvdd_plan
    • First observedvdd_specify
    • First observedvdd_strategize
    • First observedvdd_tactics
    • First observedvdd_tasks
    • First observedvdd_trace
    • First observedvdd_validate
    • First observedvdd_vision

TDQS

A4.7/5.0

Scored across 15 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Streamlines 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.
    5
    34 npm
    MIT