Codex

config-validator

Validate AIWG configuration files and project setup for correctness and completeness

104 stars

Best use case

config-validator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

Validate AIWG configuration files and project setup for correctness and completeness

Teams using config-validator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/config-validator/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/config-validator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/config-validator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How config-validator Compares

Feature / Agentconfig-validatorStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Validate AIWG configuration files and project setup for correctness and completeness

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# config-validator

Validate AIWG configuration files and project setup for correctness and completeness.

## Triggers


Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):

- "validate [YAML/JSON]" in configuration context → config schema check
- "is this valid config" → configuration validation

## Purpose

This skill ensures AIWG projects are properly configured by:
- Validating YAML/JSON configuration syntax
- Checking required fields and values
- Verifying file references and paths
- Detecting configuration conflicts
- Recommending fixes for issues

## Behavior

When triggered, this skill:

1. **Locates configuration files**:
   - Scan for AIWG config files
   - Identify framework configs
   - Find project-specific configs

2. **Validates syntax**:
   - Parse YAML/JSON files
   - Check for syntax errors
   - Validate structure against schema

3. **Checks completeness**:
   - Verify required fields present
   - Check for missing sections
   - Validate cross-references

4. **Verifies references**:
   - Check file paths exist
   - Validate agent references
   - Verify template paths

5. **Detects conflicts**:
   - Duplicate definitions
   - Conflicting settings
   - Incompatible options

6. **Generates report**:
   - List all issues found
   - Severity classification
   - Fix recommendations

## Configuration Files Validated

### AIWG Core Configs

```yaml
aiwg_configs:
  project_config:
    path: .aiwg/config/project.yaml
    schema: schemas/project-config.schema.yaml
    required_fields:
      - project_name
      - project_type
      - phase

  team_profile:
    path: .aiwg/team/team-profile.yaml
    schema: schemas/team-profile.schema.yaml
    required_fields:
      - team_name
      - members

  risk_register:
    path: .aiwg/risks/risk-register.yaml
    schema: schemas/risk-register.schema.yaml
    required_fields:
      - risks

  artifact_config:
    path: .aiwg/config/artifacts.yaml
    schema: schemas/artifact-config.schema.yaml
```

### Framework Configs

```yaml
framework_configs:
  sdlc_complete:
    models:
      path: agentic/code/frameworks/sdlc-complete/config/models.json
      validates:
        - model_ids
        - model_tiers

    agents:
      path: agentic/code/frameworks/sdlc-complete/agents/*.md
      validates:
        - frontmatter_schema
        - required_sections

  media_marketing:
    brand:
      path: .aiwg/marketing/brand/*.yaml
      validates:
        - color_formats
        - typography_specs

    channel_specs:
      path: .aiwg/marketing/config/channel-specs.yaml
      validates:
        - platform_requirements
```

### Voice Framework Configs

```yaml
voice_configs:
  voice_profiles:
    path: .aiwg/voices/*.yaml
    schema: schemas/voice-profile.schema.yaml
    required_fields:
      - name
      - traits
      - formality

  banned_patterns:
    path: validation/banned-patterns.md
    validates:
      - pattern_syntax
      - category_structure
```

## Validation Rules

### Syntax Validation

```yaml
syntax_rules:
  yaml:
    - valid_yaml_syntax
    - proper_indentation
    - no_tabs_in_yaml
    - valid_anchors_references

  json:
    - valid_json_syntax
    - proper_escaping
    - no_trailing_commas

  markdown:
    - valid_frontmatter
    - proper_code_fences
    - valid_links
```

### Schema Validation

```yaml
schema_validation:
  project_config:
    project_name:
      type: string
      required: true
      min_length: 3

    project_type:
      type: string
      required: true
      enum: [sdlc, marketing, hybrid]

    phase:
      type: string
      enum: [concept, inception, elaboration, construction, transition, production]

    created_at:
      type: date
      format: ISO8601
```

### Reference Validation

```yaml
reference_rules:
  file_paths:
    - path_exists
    - correct_extension
    - within_project_root

  agent_refs:
    - agent_exists
    - agent_has_required_tools

  template_refs:
    - template_exists
    - template_has_placeholders
```

## Validation Report Format

```markdown
# Configuration Validation Report

**Date**: 2025-12-08
**Scope**: Full Project Validation
**Validator**: config-validator skill

## Summary

| Category | Files | Issues | Status |
|----------|-------|--------|--------|
| AIWG Core | 5 | 2 | ⚠️ Warnings |
| Framework | 8 | 0 | ✅ Pass |
| Voice | 3 | 1 | ⚠️ Warning |
| Custom | 2 | 1 | ❌ Error |
| **Total** | **18** | **4** | **Review Needed** |

## Issues Found

### ❌ Error: Invalid Project Config

**File**: `.aiwg/config/project.yaml`
**Line**: 12
**Issue**: Missing required field `project_type`
**Severity**: Error (blocking)

**Current**:
```yaml
project_name: "My Project"
phase: inception
```

**Required**:
```yaml
project_name: "My Project"
project_type: sdlc  # Required field
phase: inception
```

**Fix**: Add `project_type` field with value: `sdlc`, `marketing`, or `hybrid`

---

### ⚠️ Warning: Invalid File Reference

**File**: `.aiwg/config/artifacts.yaml`
**Line**: 34
**Issue**: Referenced template does not exist
**Severity**: Warning

**Current**:
```yaml
template: templates/custom/my-template.md
```

**Problem**: File `templates/custom/my-template.md` not found

**Fix Options**:
1. Create the missing template file
2. Update reference to existing template
3. Remove the reference if not needed

---

### ⚠️ Warning: Deprecated Field

**File**: `.aiwg/team/team-profile.yaml`
**Line**: 8
**Issue**: Field `team_lead` is deprecated
**Severity**: Warning

**Current**:
```yaml
team_lead: "Jane Smith"
```

**New Format**:
```yaml
roles:
  - name: "Jane Smith"
    role: team_lead
```

---

### ⚠️ Warning: Voice Profile Incomplete

**File**: `.aiwg/voices/brand-voice.yaml`
**Line**: 15
**Issue**: Missing recommended field `examples`
**Severity**: Info

**Recommendation**: Add examples section for better voice application:
```yaml
examples:
  greeting: "Hi there! Let's get started."
  error: "Oops, something went wrong. Here's what to try..."
```

## Validation Details

### AIWG Core Configs

| File | Status | Issues |
|------|--------|--------|
| project.yaml | ❌ Error | Missing project_type |
| team-profile.yaml | ⚠️ Warning | Deprecated field |
| risk-register.yaml | ✅ Pass | - |
| artifacts.yaml | ⚠️ Warning | Invalid reference |
| phases.yaml | ✅ Pass | - |

### Framework Configs

| File | Status | Issues |
|------|--------|--------|
| models.json | ✅ Pass | - |
| channel-specs.yaml | ✅ Pass | - |
| brand-colors.yaml | ✅ Pass | - |

### Voice Configs

| File | Status | Issues |
|------|--------|--------|
| brand-voice.yaml | ⚠️ Info | Missing examples |
| technical-voice.yaml | ✅ Pass | - |
| casual-voice.yaml | ✅ Pass | - |

## Quick Fixes

### Automated Fixes Available

These issues can be fixed automatically:

| # | Issue | File | Fix Command |
|---|-------|------|-------------|
| 1 | Deprecated field migration | team-profile.yaml | `config-validator --fix` |
| 2 | Add missing defaults | project.yaml | `config-validator --fix` |

Run `config-validator --fix` to apply automated fixes.

### Manual Fixes Required

These issues require manual intervention:

1. **project_type selection**: Choose appropriate value based on project
2. **Missing template**: Create or select correct template
3. **Voice examples**: Add custom examples matching your brand

## Recommendations

1. **Immediate**: Fix the error in `project.yaml` (blocking)
2. **Soon**: Update deprecated fields before next major version
3. **Recommended**: Add voice examples for better consistency

## Re-Validation

After fixes, re-run validation:
```
"validate config"
```

Expected result: All checks passing
```

## Usage Examples

### Full Validation

```
User: "Validate config"

Skill executes:
1. Scan for all config files
2. Validate syntax and schema
3. Check references
4. Generate report

Output:
"Configuration Validation Complete

Files Checked: 18
Errors: 1 (blocking)
Warnings: 3

Critical Issue:
❌ project.yaml: Missing required field 'project_type'

Warnings:
⚠️ team-profile.yaml: Deprecated field 'team_lead'
⚠️ artifacts.yaml: Template reference not found
⚠️ brand-voice.yaml: Missing recommended 'examples'

Quick Fix Available:
Run 'config-validator --fix' for automated fixes

Report: .aiwg/reports/config-validation.md"
```

### Specific File Validation

```
User: "Check team profile config"

Skill validates single file:
1. Parse team-profile.yaml
2. Validate against schema
3. Check references

Output:
"Team Profile Validation

File: .aiwg/team/team-profile.yaml
Status: ⚠️ Warning

Issues:
1. Deprecated field 'team_lead' on line 8
   - Current: team_lead: "Jane Smith"
   - New format: roles: [{ name: "Jane Smith", role: team_lead }]

All other fields valid."
```

### Auto-Fix

```
User: "Fix config issues"

Skill applies fixes:
1. Identify fixable issues
2. Apply transformations
3. Backup originals
4. Report changes

Output:
"Configuration Auto-Fix Applied

Fixed:
✅ team-profile.yaml: Migrated deprecated field
✅ project.yaml: Added default project_type

Backed up:
- .aiwg/backup/team-profile.yaml.bak
- .aiwg/backup/project.yaml.bak

Manual fixes still needed:
⚠️ artifacts.yaml: Create missing template

Re-validate to confirm."
```

## Integration

This skill uses:
- `project-awareness`: Find config files
- `artifact-metadata`: Track validation history

## Configuration

### Validation Strictness

```yaml
strictness:
  development:
    errors: block
    warnings: report
    info: report

  staging:
    errors: block
    warnings: block
    info: report

  production:
    errors: block
    warnings: block
    info: block
```

### Custom Schemas

```yaml
custom_schemas:
  location: .aiwg/config/schemas/
  format: json_schema_draft7
  auto_discover: true
```

## Output Locations

- Validation reports: `.aiwg/reports/config-validation.md`
- Fix backups: `.aiwg/backup/`
- Schema cache: `.aiwg/cache/schemas/`

## References

- Schema definitions: schemas/
- Config templates: templates/config/
- Migration guides: docs/config-migrations.md

Related Skills

ralph-config

104
from jmagly/aiwg

View and configure agent loop settings — show, set, reset, and apply named presets

Codex

config

104
from jmagly/aiwg

Manage the user-level AIWG configuration file for persistent preferences across all projects

Codex

claims-validator

104
from jmagly/aiwg

Validate documentation for unsupported claims, made-up metrics, and unverifiable statements

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.

pytest-runner

104
from jmagly/aiwg

Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.

vitest-runner

104
from jmagly/aiwg

Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.

eslint-checker

104
from jmagly/aiwg

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

repo-analyzer

104
from jmagly/aiwg

Analyze GitHub repositories for structure, documentation, dependencies, and contribution patterns. Use for codebase understanding and health assessment.

pr-reviewer

104
from jmagly/aiwg

Review GitHub pull requests for code quality, security, and best practices. Use for automated PR feedback and approval workflows.

YouTube Acquisition

104
from jmagly/aiwg

yt-dlp patterns for acquiring content from YouTube and video platforms

Quality Filtering

104
from jmagly/aiwg

Accept/reject logic and quality scoring heuristics for media content