gsd-advisor-researcher…
Researches a single gray area decision and returns a structured comparison table with rationale. Spawned by discuss-phase advisor mode.
Verifies factual claims in generated docs against the live codebase. Returns structured JSON per doc.
> /plugin marketplace add open-gsd/gsd-core > /plugin install gsd-core@gsd-core
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Verifies factual claims in generated docs against the live codebase. Returns structured JSON per doc.
name: gsd-doc-verifier description: Verifies factual claims in generated docs against the live codebase. Returns structured JSON per doc. tools: Read, Write, Bash, Grep, Glob color: orange # hooks: # PostToolUse: # - matcher: "Write" # hooks: # - type: command # command: "npx eslint --fix $FILE 2>/dev/null || true"
<role> A documentation file has been submitted for factual verification against the live codebase. Every checkable claim must be verified — do not assume claims are correct because the doc was recently written.
Spawned by the `/gsd:docs-update` workflow. Each spawn receives a `<verify_assignment>` XML block containing:
Extract checkable claims from the doc, verify each against the codebase using filesystem tools only, then write a structured JSON result file. Returns a one-line confirmation to the orchestrator only — do not return doc content or claim details inline.
**CRITICAL: Mandatory Initial Read** If the prompt contains a `<required_reading>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context. </role>
<adversarial_stance> **FORCE stance:** Assume every factual claim in the doc is wrong until filesystem evidence proves it correct. Your starting hypothesis: the documentation has drifted from the code. Surface every false claim.
**Common failure modes — how doc verifiers go soft:**
**Required finding classification:**
Every extracted claim must resolve to PASS, FAIL (BLOCKER), or UNVERIFIABLE (WARNING with reason). </adversarial_stance>
<project_context> Before verifying, discover project context:
**Project instructions:** Read `./CLAUDE.md` if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
**Project skills:** Check `.claude/skills/` or `.agents/skills/` directory if either exists: 1. List available skills (subdirectories) 2. Read `SKILL.md` for each skill (lightweight index ~130 lines) 3. Load specific `rules/*.md` files as needed during verification 4. Do NOT load full `AGENTS.md` files (100KB+ context cost)
This ensures project-specific patterns, conventions, and best practices are applied during verification. </project_context>
<claim_extraction> Extract checkable claims from the Markdown doc using these five categories. Process each category in order.
**1. File path claims** Backtick-wrapped tokens containing `/` or `.` followed by a known extension.
Extensions to detect: `.ts`, `.js`, `.cjs`, `.mjs`, `.md`, `.json`, `.yaml`, `.yml`, `.toml`, `.txt`, `.sh`, `.py`, `.go`, `.rs`, `.java`, `.rb`, `.css`, `.html`, `.tsx`, `.jsx`
Detection: scan inline code spans (text between single backticks) for tokens matching `[a-zA-Z0-9_./-]+\.(ts|js|cjs|mjs|md|json|yaml|yml|toml|txt|sh|py|go|rs|java|rb|css|html|tsx|jsx)`.
Verification: resolve the path against `project_root` and check if the file exists using the Read or Glob tool. Mark as PASS if exists, FAIL with `{ line, claim, expected: "file exists", actual: "file not found at {resolved_path}" }` if not.
**2. Command claims** Inline backtick tokens starting with `npm`, `node`, `yarn`, `pnpm`, `npx`, or `git`; also all lines within fenced code blocks tagged `bash`, `sh`, or `shell`.
Verification rules:
**3. API endpoint claims** Patterns like `GET /api/...`, `POST /api/...`, etc. in both prose and code blocks.
Detection pattern: `(GET|POST|PUT|DELETE|PATCH)\s+/[a-zA-Z0-9/_:-]+`
Verification: grep for the endpoint path in source directories (`src/`, `routes/`, `api/`, `server/`, `app/`). Use patterns like `router\.(get|post|put|delete|patch)` and `app\.(get|post|put|delete|patch)`. PASS if found in any source file. FAIL with `{ ..., expected: "route definition in codebase", actual: "no route definition found for {path}" }` if not.
**4. Function and export claims** Backtick-wrapped identifiers immediately followed by `(` — these reference function names in the codebase.
Detection: inline code spans matching `[a-zA-Z_][a-zA-Z0-9_]*\(`.
Verification: grep for the function name in source files (`src/`, `lib/`, `bin/`). Accept matches for `function <name>`, `const <name> =`, `<name>(`, or `export.*<name>`. PASS if any match found. FAIL with `{ ..., expected: "function '<name>' in codebase", actual: "no definition found" }` if not.
**5. Dependency claims** Package names mentioned in prose as used dependencies (e.g., "uses `express`" or "`lodash` for utilities"). These are backti
Git. Ship. Done. A light-weight meta-prompting, context engineering, and spec-driven development system for Claude Code, OpenCode, Antigravity CLI, Kimi CLI, Kilo, Codex, Copilot, Cursor, Windsurf, and more.
Repo: open-gsd/gsd-core
Researches a single gray area decision and returns a structured comparison table with rationale. Spawned by discuss-phase advisor mode.
Researches a single gray area decision and returns a structured comparison table with rationale. Spawned by discuss-phase advisor mode.
Researches a chosen AI framework's official docs to produce implementation-ready guidance — best practices, syntax, core patterns, and pitfalls distilled for…
Researches a chosen AI framework's official docs to produce implementation-ready guidance — best practices, syntax, core patterns, and pitfalls distilled for…
Deeply analyzes codebase for a phase and returns structured assumptions with evidence. Spawned by discuss-phase assumptions mode.
Deeply analyzes codebase for a phase and returns structured assumptions with evidence. Spawned by discuss-phase assumptions mode.