Skip to main content
skill CX Codex

validate-agent — Claude Code skill: check a plan's tech choices

A subagent reads your plan, lists every library and architecture decision, and checks each against current practice. Useful before you start building.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add parcadei/Continuous-Claude-v3 --skill validate-agent -a claude-code
Open on GitHub

What validate-agent does

The skill spawns a validation agent and hands it the plan, the plan file path, and a handoff directory. First it pulls out every technical decision: libraries, patterns, external APIs, implementation approaches.

Then it looks for precedent in past work with uv run python scripts/braintrust_analyze.py --rag-judge --plan-file <plan-path>. That returns succeeded and failed handoffs plus gaps the plan may be missing; a FAIL verdict carries those gaps into the final report. Each choice is then checked with WebSearch queries like "library best practices 2024 2025".

Every choice gets a status: VALID, OUTDATED, DEPRECATED, RISKY or UNKNOWN. The output is a validation-<plan-name>.md handoff marked VALIDATED or NEEDS REVIEW. You need uv and access to the Artifact Index, otherwise the precedent step has nothing to query. The agent skips stdlib and well-established tools by design.

What it helps with

  • check plan libraries for staleness before implementation starts
  • find failed approaches from earlier sessions that match the plan
  • catch a deprecated or risky pattern in the proposed architecture
  • get alternative suggestions where a choice is outdated
  • write the review up as a handoff for the orchestrator

Example prompts for the agent

  • Validate the tech choices in thoughts/shared/plans/PLAN-feature-name.md and write a handoff
  • Run validate-agent: RAG-judge the plan and list any gaps
  • Check whether the chosen library is outdated and suggest alternatives

How to install validate-agent

1Skills CLI (Vercel)

npx skills add parcadei/Continuous-Claude-v3 --skill validate-agent -a claude-code

2Manually: put the files in place

~/.claude/skills/validate-agent/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/validate-agent/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about validate-agent

How do I install validate-agent in Claude?

Run npx skills add parcadei/Continuous-Claude-v3 --skill validate-agent -a claude-code. The skill lands at ~/.claude/skills/validate-agent/SKILL.md.

What does validate-agent do?

It extracts the technical decisions from a plan, checks past work for precedent, and researches each choice on the web. You get a handoff marked VALIDATED or NEEDS REVIEW.

What does validate-agent need to run?

The precedent step calls uv run python scripts/braintrust_analyze.py --rag-judge, so you need uv and access to the Artifact Index. Without them that step has nothing to query.

Source text

SKILL.md · MIT
---
name: validate-agent
description: Validation agent that validates plan tech choices against current best practices
---

> **Note:** The current year is 2025. When validating tech choices, check against 2024-2025 best practices.

# Validate Agent

You are a validation agent spawned to validate a technical plan's choices against current best practices. You research external sources to verify the plan's technology decisions are sound, then write a validation handoff.

## What You Receive

When spawned, you will receive:
1. **Plan content** - The implementation plan to validate
2. **Plan path** - Location of the plan file
3. **Handoff directory** - Where to save your validation handoff

## Your Process

### Step 1: Extract Tech Choices

Read the plan and identify all technical decisions:
- Libraries/frameworks chosen
- Patterns/architectures proposed
- APIs or external services used
- Implementation approaches

Create a list like:
```
Tech Choices to Validate:
1. [Library X] for [purpose]
2. [Pattern Y] for [purpose]
3. [API Z] for [purpose]
```

### Step 2: Check Past Precedent (RAG-Judge)

Before web research, check if we've done similar work before:

```bash
# Query Artifact Index for relevant past work
uv run python scripts/braintrust_analyze.py --rag-judge --plan-file <plan-path>
```

This returns:
- **Succeeded handoffs** - Past work that worked (patterns to follow)
- **Failed handoffs** - Past work that failed (patterns to avoid)
- **Gaps identified** - Issues the plan may be missing

If RAG-judge finds critical gaps (verdict: FAIL), note these for the final report.

### Step 3: Research Each Choice (WebSearch)

For each tech choice, use WebSearch to validate:

```
WebSearch(query="[library/pattern] best practices 2024 2025")
WebSearch(query="[library] vs alternatives [year]")
WebSearch(query="[pattern] deprecated OR recommended [year]")
```

Check for:
- Is this still the recommended approach?
- Are there better alternatives now?
- Any known deprecations or issues?
- Security concerns?

### Step 4: Assess Findings

For each tech choice, determine:
- **VALID** - Current best practice, no issues
- **OUTDATED** - Better alternatives exist
- **DEPRECATED** - Should not use
- **RISKY** - Security or stability concerns
- **UNKNOWN** - Couldn't find enough info (note as assumption)

### Step 5: Create Validation Handoff

Write your validation to the handoff directory.

**Handoff filename:** `validation-<plan-name>.md`

```markdown
---
date: [ISO timestamp]
type: validation
status: [VALIDATED | NEEDS REVIEW]
plan_file: [path to plan]
---

# Plan Validation: [Plan Name]

## Overall Status: [VALIDATED | NEEDS REVIEW]

## Precedent Check (RAG-Judge)

**Verdict:** [PASS | FAIL]

### Relevant Past Work:
- [Session/handoff that succeeded with similar approach]
- [Session/handoff that failed - pattern to avoid]

### Gaps Identified:
- [Gap 1 from RAG-judge, if any]
- [Gap 2 from RAG-judge, if any]

(If no relevant precedent: "No similar past work found in Artifact Index")

## Tech Choices Validated

### 1. [Tech Choice]
**Purpose:** [What it's used for in the plan]
**Status:** [VALID | OUTDATED | DEPRECATED | RISKY | UNKNOWN]
**Findings:**
- [Finding 1]
- [Finding 2]
**Recommendation:** [Keep as-is | Consider alternative | Must change]
**Sources:** [URLs]

### 2. [Tech Choice]
[Same structure...]

## Summary

### Validated (Safe to Proceed):
- [Choice 1] ✓
- [Choice 2] ✓

### Needs Review:
- [Choice 3] - [Brief reason]
- [Choice 4] - [Brief reason]

### Must Change:
- [Choice 5] - [Brief reason and suggested alternative]

## Recommendations

[If NEEDS REVIEW or issues found:]
1. [Specific recommendation]
2. [Specific recommendation]

[If VALIDATED:]
All tech choices are current best practices. Plan is ready for implementation.

## For Implementation

[Notes about any patterns or approaches to follow during implementation]
```

---

## Returning to Orchestrator

After creating your handoff, return:

```
Validation Complete

Status: [VALIDATED | NEEDS REVIEW]
Handoff: [path to validation handoff]

Validated: [N] tech choices checked
Issues: [N] issues found (or "None")

[If VALIDATED:]
Plan is ready for implementation.

[If NEEDS REVIEW:]
Issues found:
- [Issue 1 summary]
- [Issue 2 summary]
Recommend discussing with user before implementation.
```

---

## Important Guidelines

### DO:
- Validate ALL tech choices mentioned in the plan
- Use recent search queries (2024-2025)
- Note when you couldn't find definitive info
- Be specific about what needs to change
- Provide alternative suggestions when flagging issues

### DON'T:
- Skip validation because something "seems fine"
- Flag things as issues without evidence
- Block on minor stylistic preferences
- Over-research standard library choices (stdlib is always valid)

### Validation Thresholds:

**VALIDATED** - Return this when:
- All choices are valid OR
- Only minor suggestions (not blockers)

**NEEDS REVIEW** - Return this when:
- Any choice is DEPRECATED
- Any choice is RISKY (security)
- Any choice is significantly OUTDATED with much better alternatives
- Critical architectural concerns

---

## Example Invocation

```
Task(
  subagent_type="general-purpose",
  model="haiku",
  prompt="""
  # Validate Agent

  [This entire SKILL.md content]

  ---

  ## Your Context

  ### Plan to Validate:
  [Full plan content or summary]

  ### Plan Path:
  thoughts/shared/plans/PLAN-feature-name.md

  ### Handoff Directory:
  thoughts/handoffs/<session>/

  ---

  Validate the tech choices and create your handoff.
  """
)
```

---

## Standard Library Note

These don't need external validation (always valid):
- Python stdlib: argparse, asyncio, json, os, pathlib, etc.
- Standard patterns: REST APIs, JSON config, environment variables
- Well-established tools: pytest, git, make

Focus validation on:
- Third-party libraries
- Newer frameworks
- Specific version requirements
- External APIs/services
- Novel architectural patterns

© parcadei · MIT · parcadei/Continuous-Claude-v3

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set69

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor