Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Cross Validation

ASecurity

Use when user says "validate this", "get feedback", "cross-validate", "what are we missing", when seeking external review before committing to major decisions, when stress-testing a design with senior reviewers, or when reviewer responses need to be synthesized into actionable changes.

3 stars
0 votes
0 copies
0 views
Added 5/28/2026
ai-agentsgotestingcode-reviewsecurityperformance

Security Analysis

A100/100

Scanned 5/28/2026

$npx -y skills add aneja5/forge-skills --skill cross-validation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cross Validation?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Cross Validation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aneja5-cross-validation/badge)](https://www.skillsdirectory.com/skills/aneja5-cross-validation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: cross-validation
description: Use when user says "validate this", "get feedback", "cross-validate", "what are we missing", when seeking external review before committing to major decisions, when stress-testing a design with senior reviewers, or when reviewer responses need to be synthesized into actionable changes.
---

# Cross-Validation

## Overview

Two-phase skill with a human step in the middle. Phase 1: compile a self-contained prompt that any reviewer can assess without prior context. Phase 2: synthesize responses into consensus levels and actionable changes. The prompt must stand alone — a reviewer should need zero prior context.

## When to Use

- Major architectural or product decisions need external validation
- User wants to check blind spots before committing to a direction
- Multiple reviewers (human or AI) will assess the same document
- High-stakes decisions where being wrong is expensive

## When NOT to Use

- Quick sanity check on a small decision — just ask directly
- Code review — use `code-review-and-quality`
- No `.forge/prd.md` or `.forge/architecture.md` exists yet — produce artifacts first

## Common Rationalizations

| Thought | Reality |
|---------|---------|
| "We've already thought about this enough" | Internal teams develop blind spots. External eyes catch what you've normalized |
| "The prompt doesn't need full context" | If a reviewer has to ask clarifying questions, the prompt failed |
| "Three reviewers said it's fine, so it's fine" | Unanimous approval is less valuable than one specific objection |
| "Disagreements mean someone is wrong" | Disagreements reveal hidden assumptions — both sides may be partially right |
| "We can synthesize informally" | Informal synthesis loses minority opinions. Structured synthesis surfaces them |

## Red Flags

- Prompt requires prior context to understand (not self-contained)
- Questions are generic ("is this good?") instead of specific ("does the auth model handle session revocation within 5 seconds?")
- Synthesis ignores dissenting opinions
- All reviewers agree on everything (questions were too soft)
- Synthesis doesn't distinguish consensus levels

## Core Process — Phase 1: Generate Prompt

**Re-entry check**: If `.forge/cross-validation-prompt.md` already exists and the user provides reviewer responses, skip to Phase 2.

### Step 1: Identify what to validate

Read available `.forge/` artifacts. With the user, identify:
- Which decisions are highest-risk (most expensive if wrong)
- Which assumptions have the least evidence
- What specific aspects need external eyes

### Step 2: Compile self-contained context

Extract from `.forge/` artifacts into a single document that a reviewer can read cold:
- Problem statement (from PRD)
- Key architectural decisions (from architecture.md)
- Trade-offs made and alternatives rejected (from ADRs)
- Current approach summary

**Self-containment test**: can someone who has never seen this project understand the context and give useful feedback? If not, add more context.

### Step 3: Structure questions

Write 10+ specific questions across categories:
- Architecture decisions and trade-offs
- Security and data handling
- Scalability and performance assumptions
- Business model and pricing
- Missing requirements or edge cases
- Risk assessment
- Technical debt implications

Each question must be specific and answerable. Not "is the architecture good?" but "given the multi-tenant requirement, is schema-per-tenant or RLS the better isolation strategy for <specific constraints>?"

### Step 4: Define output format

Tell reviewers exactly how to structure their response: numbered answers matching the questions, confidence level per answer, and a "what did we miss?" section.

### Step 5: Write the prompt

Write `.forge/cross-validation-prompt.md` with: context, questions, and response format. Prepend a `forge:meta` header (`generated_by: cross-validation`, `generated_at: <ISO 8601 UTC with Z>`, `depends_on: [.forge/prd.md, .forge/architecture.md, …any other artifacts embedded in the prompt]` — paths only, never hashes, `generated_from: {<each path>: <upstream content_hash AT generation time>}`, `content_hash: <sha256 first 8 of THIS file's body>`). See [forge-dependency-graph](../../references/forge-dependency-graph.md).

**Pause**: "Prompt written to `.forge/cross-validation-prompt.md`. Send this to your reviewers. When you have responses, run `/validate` again with the responses to generate the synthesis."

## Core Process — Phase 2: Synthesize Responses

### Step 6: Categorize consensus

For each question, classify the responses:
- **Unanimous**: all reviewers agree — high confidence in this direction
- **Strong consensus**: most agree, minor variations — proceed with noted caveats
- **Split**: roughly even disagreement — requires deeper analysis
- **Dissent**: one reviewer disagrees strongly — investigate their reasoning

### Step 7: Extract actionable changes

From disagreements and suggestions, produce:
- **Must change**: issues multiple reviewers flagged independently
- **Should consider**: good ideas from at least one reviewer with strong reasoning
- **Monitor**: concerns that don't require immediate action but should be tracked

### Step 8: Write synthesis

Write `.forge/cross-validation-synthesis.md` with: consensus summary per question, actionable changes list, and a "best ideas we hadn't considered" section. Prepend a `forge:meta` header (`generated_by: cross-validation`, `generated_at: <ISO 8601 UTC with Z>`, `depends_on: [.forge/cross-validation-prompt.md, …reviewer-response files]` — paths only, never hashes, `generated_from: {<each path>: <upstream content_hash AT generation time>}`, `content_hash: <sha256 first 8 of THIS file's body>`).

## Verification

- [ ] Prompt is self-contained — reviewer needs zero prior context
- [ ] Questions are specific, not generic
- [ ] At least 10 questions across multiple categories
- [ ] Synthesis distinguishes consensus levels (unanimous / strong / split / dissent)
- [ ] Dissenting opinions are investigated, not dismissed
- [ ] Actionable changes are categorized (must / should / monitor)
- [ ] `.forge/cross-validation-prompt.md` written (Phase 1)
- [ ] `.forge/cross-validation-synthesis.md` written (Phase 2, after responses received)

Attribution

aneja5aneja5
View sourceSee grades on GitHubMore from aneja5 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →