Skip to content
Back to skills

Design Validate

ASecurity

Validate design doc structure and frontmatter. Use when checking design docs for compliance, ensuring proper formatting, or verifying metadata before commits.

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
documentationgobashdebuggingci/cddocumentation

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill design-validate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Design Validate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Design Validate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-design-validate/badge)](https://www.skillsdirectory.com/skills/majiayu000-design-validate)

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

Download with Pro
SKILL.md
---
name: design-validate
description: Validate design doc structure and frontmatter. Use when checking design docs for compliance, ensuring proper formatting, or verifying metadata before commits.
allowed-tools: Read, Glob, Bash
agent: design-doc-agent
---

# Design Documentation Validation

Validates design documentation files for structure, frontmatter, and quality compliance.

## Overview

This skill validates design documentation by:

1. Reading the design configuration
2. Finding design docs for the specified module
3. Validating YAML frontmatter structure and values
4. Checking for required sections
5. Validating cross-references and links
6. Reporting issues with severity levels
7. Providing actionable fix recommendations

## Quick Start

**Basic validation:**

```bash
/design-validate effect-type-registry
```

**Validate specific file:**

```bash
/design-validate effect-type-registry cache-optimization.md
```

**Strict mode (additional quality checks):**

```bash
/design-validate all --strict
```

## How It Works

### 1. Parse Parameters

- `module`: Module name to validate (or "all" for all modules) [REQUIRED]
- `file`: Specific file to validate (default: all files in module)
- `strict`: Enable strict mode with additional checks (default: false)

### 2. Load Configuration

Read `.claude/design/design.config.json` to get:

- Module configuration and paths
- Quality standards
- Required frontmatter fields
- Minimum section requirements

### 3. Find and Validate Documents

Use Glob to find design docs, then for each file:

**Frontmatter Validation:**

- Validate YAML syntax
- Check all required fields exist
- Verify field values are correct type and format
- Validate dates are in order (created ≤ updated ≤ last-synced)
- Check status matches completeness level

**Structure Validation:**

- Verify required sections exist
- Check TOC matches headings (if required)
- Validate document title

**Cross-Reference Validation:**

- Check paths in `related` array exist
- Check paths in `dependencies` array exist
- Check paths in `implementation-plans` array exist (if present)
- Validate bidirectional plan-design links
- Validate internal markdown links

**Quality Checks (strict mode only):**

- Completeness accuracy
- Status appropriateness
- Documentation quality (section length, content depth)

### 4. Report Results

Generate a validation report with issues categorized by severity:

- **ERROR**: Must be fixed (blocks)
- **WARNING**: Should be fixed
- **INFO**: Nice to have

## Supporting Documentation

When you need detailed information about validation rules or error
messages, load the appropriate supporting file:

### For Frontmatter Rules

See [frontmatter-rules.md](frontmatter-rules.md) for:

- Complete field requirements table
- Status-completeness matrix
- Date validation rules
- Category validation
- Required sections by category

**Load when:** Working with frontmatter validation or debugging field errors

### For Error Messages

See [error-messages.md](error-messages.md) for:

- All error message formats
- Fix instructions for each error type
- Common validation failures

**Load when:** User has validation errors and needs to fix them

### For Usage Examples

See [examples.md](examples.md) for:

- Complete usage scenarios
- Example outputs for different validation states
- Multi-module validation examples

**Load when:** User wants to see concrete examples of validation output

## Validation Flow

```text
1. Parse user parameters
   ↓
2. Load design.config.json
   ↓
3. Find module(s) and design docs
   ↓
4. For each doc:
   - Validate frontmatter
   - Check structure
   - Verify cross-references
   - Run quality checks (if strict)
   ↓
5. Generate report with:
   - Summary stats
   - Issues by file
   - Recommendations
```

## Exit Codes

- ✅ **PASS**: No errors found
- ⚠️  **WARNINGS**: Warnings but no errors
- ❌ **FAIL**: Errors found, must fix

## Plan Link Validation

Design docs can reference implementation plans via the
`implementation-plans` field in frontmatter. This skill validates:

### Plan Reference Validation

- Plans listed in `implementation-plans` array exist in `.claude/plans/`
- Plan paths are relative (e.g., `../plans/my-plan.md`)
- Plans are not archived (warning if in `_archive/`)

### Bidirectional Link Validation

- If a design doc references a plan, verify plan exists
- If a plan references a design doc (via `design-docs` field), verify
  design doc references the plan back
- Warn if links are unidirectional (missing backlink)

**Example validation output:**

```text
✓ Design doc: effect-type-registry/observability.md
  ✓ Plan reference: ../plans/observability-phase-2.md (exists)
  ✓ Bidirectional link: Plan references this design doc

⚠ Design doc: effect-type-registry/cache-optimization.md
  ✓ Plan reference: ../plans/cache-optimization-plan.md (exists)
  ⚠ Unidirectional link: Plan does not reference this design doc
  Fix: Add 'effect-type-registry/cache-optimization.md' to plan's
       design-docs array
```

## Integration

This skill integrates with:

- `/design-init` - Validate newly created docs
- `/design-update` - Validate after updates
- `/design-sync` - Validate after syncing with code
- `/plan-create` - Validate plan-design links when creating plans
- `/plan-validate` - Complementary validation for plans
- CI/CD pipelines - Pre-commit or PR validation

### Standalone Script

A standalone bash validation script is available at:

```bash
.claude/skills/design-validate/scripts/validate.sh [module|all]
```

This script can be:

- Run directly from command line
- Integrated into CI/CD pipelines
- Used in pre-commit hooks
- Called from other automation tools

Exit codes:

- `0` - All validations pass (no errors, no warnings)
- `0` - Pass with warnings (no errors, but warnings present)
- `1` - Validation failed (errors found)

## Success Criteria

A design doc passes validation if:

- ✅ Valid YAML frontmatter with all required fields
- ✅ Field values meet validation rules
- ✅ Required sections present
- ✅ Cross-references exist (related, dependencies, plans)
- ✅ Plan links are bidirectional (if implementation-plans present)
- ✅ Markdown linting passes
- ✅ Status matches completeness level

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.