analyze
Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…
Validate in any of six modes — spec quality, single-file review, spec-to-implementation drift, constitution rule enforcement, comparison between two artifacts, or sanity-checking your understanding. Use when checking a spec by ID, validating a file by path, detecting drift,
Claude Code
$ npx -y skills add rsmdt/the-startup --skill validate --agent claude-code
Codex
$ npx skills add rsmdt/the-startup --skill validate -a codex -y
Cursor
$ npx skills add rsmdt/the-startup --skill validate -a cursor -y
Gemini CLI
$ npx skills add rsmdt/the-startup --skill validate -a gemini-cli -y
GitHub Copilot
$ npx skills add rsmdt/the-startup --skill validate -a github-copilot -y
OpenCode
$ npx skills add rsmdt/the-startup --skill validate -a opencode -y
Windsurf
$ npx skills add rsmdt/the-startup --skill validate -a windsurf -y
name: validate
description: Validate in any of six modes — spec quality, single-file review, spec-to-implementation drift, constitution rule enforcement, comparison between two artifacts, or sanity-checking your understanding. Use when checking a spec by ID, validating a file by path, detecting drift, enforcing constitution rules, comparing two sources ("$X against $Y"), or asking a freeform validation question.
user-invocable: true
argument-hint: "spec ID (e.g., 005), file path, 'constitution', 'drift', or description of what to validate"Act as a validation orchestrator that ensures quality and correctness across specifications, implementations, and governance.
**Validation Request**: $ARGUMENTS
Finding { status: PASS | WARN | FAIL severity: HIGH | MEDIUM | LOW title: string // max 40 chars location: string // file:line issue: string // one sentence recommendation: string // how to fix }
State { target = $ARGUMENTS validationMode: Spec | File | Drift | Constitution | Comparison | Understanding perspectives = [] // from reference/perspectives.md mode: Standard | Agent Team | Dynamic Workflow findings: Finding[] }
**Always:**
**Never:**
Determine validation mode from $ARGUMENTS:
match (target) { /^\d{3}/ => Spec Validation file path => File Validation "drift" | "check drift" => Drift Detection "constitution" => Constitution Validation "$X against $Y" => Comparison Validation freeform text => Understanding Validation }
match (mode) { Spec Validation => load spec documents (PRD, SDD, PLAN), identify cross-references Drift Detection => load spec + identify implementation files + extract requirements Constitution => check for CONSTITUTION.md, parse rules by category File Validation => read target file + surrounding context Comparison => load both sources for comparison }
Ask the user to choose: Standard (default) — parallel fire-and-forget subagents Agent Team — persistent teammates with shared task list and coordination Dynamic Workflow — one inline workflow script fans out the validators and collects their findings
Recommend Agent Team when: full spec validation | drift + constitution together | 4+ perspectives | multi-document scope. Recommend Dynamic Workflow instead when those thresholds apply but the perspectives are independent and need no coordination between validators.
Read reference/perspectives.md for the mode-to-perspective mapping.
match (mode) { Standard => launch parallel subagents per applicable perspectives Agent Team => create team, spawn one validator per perspective, assign tasks Dynamic Workflow => run one dynamic workflow: one validator agent per perspective in parallel, returning every finding }
For Dynamic Workflow, these instructions are the opt-in: call the Workflow tool directly with an inline script. Do not load the workflow-authoring reference or assemble the script through shell commands first — runs that detour through either stall before launching. Choose `model` and `effort` per stage from what the stage does. Mechanical stages — running a command, gathering or quoting sources, mapping text into a fixed schema — can run on a smaller, faster model at lower effort. Analysis, writing, and judging another agent's work need the strongest model. A judging stage never runs on a weaker model than the stage it judges. When unsure, omit `model` so the stage inherits the session model.
Process findings: 1. Deduplicate by location (within 5 lines), keeping highest severity and merging complementary details. 2. Sort by severity (descending). 3. Group by category.
Mode-specific synthesis:
assessment = match (failCount, warnCount) { (0, 0) => Excellent (0, 1..3) => Good (0, > 3) => Needs Attention (> 0, _) => Critical }
Read reference/output-format.md and format the report accordingly.
match (validationMode) { Constitution => ask the user to choose: Apply autofixes (L1) | Show violations | Skip Drift => ask the user to choose: Acknowledge | Update implementation | Update spec | Defer Spec | File => ask the user to choose: Address failures | Show details | Continue anyway }
For a drift check on a spec, file each finding as a tracker task (`node ${CLAUDE_PLUGIN_ROOT}/scripts/task.js create --spec {specId} --type drift
The Agentic Startup - A collection of Claude Code commands, skills, and agents.
Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…
Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage…
Required first step before any creative work — creating features, building components, adding functionality, or modifying…
Create or update a project constitution with governance rules. Uses discovery-based approach to generate project-specific rules.
Systematically diagnose and resolve bugs through conversational investigation and root cause analysis
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.