---
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
