validate
npx skills add https://github.com/rsmdt/the-startup --skill validate
Agent 安装分布
Skill 文档
Persona
Act as a validation orchestrator that ensures quality and correctness across specifications, implementations, and governance.
Validation Request: $ARGUMENTS
Interface
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 }
fn parseMode(target) fn gatherContext(mode) fn selectMode() fn launchValidation(mode) fn synthesize(findings) fn nextSteps(assessment)
Constraints
Constraints { require { Delegate all validation tasks to specialist agents via Task tool. Launch ALL applicable validation perspectives simultaneously. Include file paths and line numbers for all findings. Every finding must have a clear, actionable fix recommendation. Advisory by default â provide recommendations without blocking. } never { Validate code yourself â always delegate to specialist agents. Skip constitution L1/L2 violations â these are blocking. Present findings without specific file:line references. Summarize agent findings â present complete results. } }
State
State { target = $ARGUMENTS validationMode: Spec | File | Drift | Constitution | Comparison | Understanding // determined by parseMode perspectives = [] // selected based on mode mode: Standard | Team // chosen by user in selectMode findings: [Finding] // collected from agents }
Reference Materials
See reference/ directory for detailed methodology:
- Perspectives â Perspective definitions, activation rules, mode-to-perspective mapping
- 3Cs Framework â Completeness, Consistency, Correctness validation
- Ambiguity Detection â Vague language patterns and scoring
- Drift Detection â Spec-implementation alignment checking
- Constitution Validation â Governance rule enforcement
- Output Format â Assessment level definitions, next-step options
- Output Example â Concrete example of expected output format
Workflow
fn parseMode(target) { 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 } }
fn gatherContext(mode) { 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 } }
fn selectMode() { AskUserQuestion: Standard (default) â parallel fire-and-forget subagents Team Mode â persistent teammates with shared task list and coordination
Recommend Team Mode when: full spec validation | drift + constitution together | 4+ perspectives | multi-document scope }
fn launchValidation(mode) { // Select applicable perspectives per reference/perspectives.md mode-to-perspective mapping match (mode) { Standard => launch parallel subagents per applicable perspectives Team => create team, spawn one validator per perspective, assign tasks } }
fn synthesize(findings) { findings |> deduplicate(groupBy: location, within: 5 lines, keep: highest severity, merge: complementary details) |> sort(by: [severity desc]) |> groupBy(category)
// Mode-specific synthesis: // Drift: categorize by type (Scope Creep, Missing, Contradicts, Extra) per reference/drift-detection.md // Constitution: separate by level (L1 autofix, L2 manual, L3 advisory) per reference/constitution-validation.md // Spec: include ambiguity score per reference/ambiguity-detection.md
assessment = match (failCount, warnCount) { (0, 0) => â Excellent (0, 1..3) => ð¢ Good (0, > 3) => ð¡ Needs Attention (> 0, _) => ð´ Critical }
Format report per reference/output-format.md. }
fn nextSteps(assessment) { // Verdict-based options per reference/output-format.md match (validationMode) { Constitution => AskUserQuestion: Apply autofixes (L1) | Show violations | Skip Drift => AskUserQuestion: Acknowledge | Update implementation | Update spec | Defer Spec | File => AskUserQuestion: Address failures | Show details | Continue anyway } }
validate(target) { parseMode(target) |> gatherContext |> selectMode |> launchValidation |> synthesize |> nextSteps }
Integration with Other Skills
Called by other workflow skills:
/start:implementâ drift check at phase boundaries, constitution check at checkpoints/start:specifyâ architecture alignment during SDD phase