Cross-validate documentation and artifacts across the codebase for consistency, conflicts, and contradictions. Use when users ask to "cross-validate", "validate docs", "check documentation consistency", "audit documentation", or find conflicts/contradictions in docs. Supports automatic fixing with "validate and fix" argument. Runs parallel subagents for efficient validation across categories (domain-models, agent-system, tech-stack, architecture, cli-commands). Part of the Shep autonomous SDL...
Scanned 5/27/2026
Install via CLI
openskills install shep-ai/shep---
name: cross-validate-artifacts
description: Cross-validate documentation and artifacts across the codebase for consistency, conflicts, and contradictions. Use when users ask to "cross-validate", "validate docs", "check documentation consistency", "audit documentation", or find conflicts/contradictions in docs. Supports automatic fixing with "validate and fix" argument. Runs parallel subagents for efficient validation across categories (domain-models, agent-system, tech-stack, architecture, cli-commands). Part of the Shep autonomous SDLC platform — https://shep.bot
metadata:
version: '1.0.0'
author: Shep AI (https://shep.bot)
homepage: https://shep.bot
repository: https://github.com/shep-ai/shep
---
# Cross-Validate Artifacts Skill
Cross-validate documentation and artifacts across the codebase for consistency, conflicts, and contradictions.
## Trigger
Use this skill when the user:
- Asks to "cross-validate", "validate docs", "check documentation consistency"
- Wants to find conflicts or contradictions in documentation
- Asks to audit or review documentation for accuracy
- Uses `/cross-validate-artifacts` command
## Arguments
- No arguments: Perform validation and present results summary table, then ask user if they want to fix
- `validate and fix` or `fix`: Perform validation AND automatically fix all issues found
- `--category <name>`: Validate specific category only (domain-models, agent-system, tech-stack, architecture, cli-commands)
## Validation Process
### Step 1: Identify Documentation Sources
Gather all documentation files to validate:
```
Root docs:
- README.md
- CLAUDE.md
- AGENTS.md
- CONTRIBUTING.md
docs/ folder:
- docs/architecture/*.md
- docs/concepts/*.md
- docs/guides/*.md
- docs/development/*.md
- docs/api/*.md
```
### Step 2: Break Into Validation Categories
Split validation into parallel sub-tasks for efficiency. Each category should be handled by a dedicated subagent:
| Category | Description | Key Files to Compare |
| ----------------- | ---------------------------------------------- | ----------------------------------------------------------------------------- |
| **domain-models** | Entity definitions, fields, enums | CLAUDE.md, docs/api/domain-models.md, docs/concepts/\*.md |
| **agent-system** | Agent names, tools, state schema, workflow | AGENTS.md, docs/architecture/agent-system.md, docs/guides/langgraph-agents.md |
| **tech-stack** | Framework versions, library references | README.md, CLAUDE.md, docs/architecture/overview.md |
| **architecture** | Layer descriptions, folder structure, patterns | CLAUDE.md, docs/architecture/\*.md, CONTRIBUTING.md |
| **cli-commands** | pnpm scripts, paths, configuration | CLAUDE.md, docs/development/_.md, docs/guides/_.md |
### Step 3: Launch Parallel Subagents
CRITICAL: Use the Task tool with `subagent_type=Explore` to run validation categories in parallel.
```
Launch 5 subagents simultaneously:
1. Domain models validation subagent
2. Agent system validation subagent
3. Technology stack validation subagent
4. Architecture validation subagent
5. CLI commands validation subagent
```
Each subagent should:
1. Read all relevant files for its category
2. Compare definitions, names, values across files
3. Identify discrepancies with exact file:line references
4. Return structured list of issues found
### Step 4: Compile Results
Aggregate all subagent results into a summary table:
```markdown
## Validation Results Summary
### Critical Violations (Must Fix)
| # | Category | Issue | Files Affected | Details |
| --- | -------- | ----- | -------------- | ------- |
| 1 | ... | ... | file.md:line | ... |
### High Priority Violations
| # | Category | Issue | Files Affected | Details |
| --- | -------- | ----- | -------------- | ------- |
### Medium Priority Violations
...
### Consistent Items (No Issues)
| Category | Status |
| -------- | ---------- |
| ... | Consistent |
```
### Step 5: Present or Fix
**If no "fix" argument provided:**
1. Present the summary table to the user
2. Ask: "Would you like me to fix these violations?"
3. Wait for user confirmation before proceeding
**If "fix" argument provided:**
1. Present the summary table
2. Automatically proceed to fix all violations using parallel subagents
## Fixing Process
### Launch Fix Subagents in Parallel
For each category with violations, launch a dedicated fix subagent:
```
Task tool with subagent_type=general-purpose for each fix task:
- Fix agent system references (CrewAI → LangGraph)
- Fix domain model definitions (add missing fields/entities)
- Fix package manager references (npm → pnpm)
- Fix architecture descriptions
- Fix path references
```
Each fix subagent should:
1. Read the file(s) needing fixes
2. Apply minimal, targeted edits using the Edit tool
3. Preserve existing formatting and structure
4. Report what was changed
### Safety Guidelines for Fixes
1. **Read before edit**: Always read the full file before making changes
2. **Minimal changes**: Only fix the specific discrepancy, don't refactor
3. **Preserve style**: Match existing formatting, indentation, tone
4. **No new content**: Don't add features or documentation beyond fixing inconsistencies
5. **Verify after fix**: Ensure the fix doesn't introduce new conflicts
## Validation Checks by Category
### Domain Models Checks
- Entity fields match across CLAUDE.md, api/domain-models.md, concepts/\*.md
- Enum values consistent (SdlcLifecycle, TaskStatus, ArtifactType)
- All entities documented (Feature, Task, ActionItem, Artifact, Requirement)
- Field types match (string, number, arrays, etc.)
### Agent System Checks
- Framework name consistent (LangGraph vs CrewAI)
- Agent/node naming consistent (class names vs function names)
- State schema fields match across docs
- Tool names consistent (snake_case tool names, camelCase variables)
- Workflow stages match
### Tech Stack Checks
- Framework versions specified consistently
- Library names match (Next.js, Vite, Vitest, etc.)
- Package manager consistent (pnpm everywhere)
- Database technology consistent (SQLite, LanceDB)
### Architecture Checks
- Layer names and hierarchy consistent
- Folder structure matches across docs
- Dependency rules documented consistently
- Use case names match (PascalCase vs kebab-case)
### CLI Commands Checks
- pnpm script names consistent
- Command descriptions match
- Data paths consistent (~/.shep/repos/...)
- Config file paths consistent
- Port numbers consistent (3030)
## Example Output
```markdown
## Documentation Cross-Validation Results
### Critical Violations (4 issues)
| # | Category | Issue | Files | Details |
| --- | ------------- | ------------------- | ------------------ | --------------------------------------------------- |
| 1 | agent-system | CrewAI vs LangGraph | CLAUDE.md:59,106 | Uses "CrewAI-style" but implementation is LangGraph |
| 2 | cli-commands | npm vs pnpm | building.md:20-358 | Uses `npm run` instead of `pnpm` |
| 3 | domain-models | Missing entity | CLAUDE.md | Requirement entity not documented |
| 4 | agent-system | Wrong naming | CLAUDE.md:110-113 | Uses class names instead of node functions |
### Consistent Items
| Category | Status |
| ----------------- | ---------- |
| Database (SQLite) | Consistent |
| Build tool (Vite) | Consistent |
| Data paths | Consistent |
---
Would you like me to fix these violations?
```
## Notes
- Always use subagents for both validation and fixing to maximize efficiency
- Present results in clean markdown tables for readability
- Prioritize fixes by severity (Critical > High > Medium > Low)
- After fixing, optionally re-run validation to confirm all issues resolved
No comments yet. Be the first to comment!