# Ac Spec Parser

> Parse and validate project specifications. Use when loading YAML/JSON specs, validating spec structure, extracting requirements, or converting between spec formats.

- Skill: `diegosouzapw/ac-spec-parser` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add diegosouzapw/ac-spec-parser`
- Raw SKILL.md: https://api.skillmd.com/api/skills/diegosouzapw/ac-spec-parser/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: diegosouzapw (https://skillmd.com/u/diegosouzapw)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/diegosouzapw/ac-spec-parser

---


# AC Spec Parser

Parse and validate project specifications for autonomous coding.

## Purpose

Parses YAML/JSON/Markdown specifications into structured data for feature generation and planning.

## Quick Start

```python
from scripts.spec_parser import SpecParser

parser = SpecParser(project_dir)
spec = await parser.parse("spec.yaml")
print(spec.project_name)
print(spec.requirements)
```

## Supported Formats

- **YAML**: `.yaml`, `.yml` - Structured specifications
- **JSON**: `.json` - Machine-readable specs
- **Markdown**: `.md` - Human-readable specs with sections

## Specification Schema

```yaml
project:
  name: "Project Name"
  description: "What the project does"
  type: "web-app|api|cli|library"

requirements:
  functional:
    - id: "REQ-001"
      description: "User can login"
      priority: "high|medium|low"
      acceptance_criteria:
        - "Valid credentials grant access"
        - "Invalid credentials show error"

  non_functional:
    - id: "NFR-001"
      description: "Response under 200ms"
      category: "performance|security|usability"

technology:
  language: "python|typescript|go"
  framework: "fastapi|nextjs|gin"
  database: "postgresql|mongodb"

constraints:
  - "Must run on AWS"
  - "Budget under $100/month"
```

## Workflow

1. **Load**: Read spec file from disk
2. **Parse**: Convert to structured data
3. **Validate**: Check required fields and schema
4. **Normalize**: Standardize format for downstream use
5. **Export**: Output to feature analyzer

## Validation Rules

- Project name required
- At least one functional requirement
- All requirements have unique IDs
- Priority values are valid
- Technology stack is coherent

## Integration

Used by:
- `ac-spec-generator`: Generates feature list from parsed spec
- `ac-feature-analyzer`: Analyzes requirements
- `ac-complexity-assessor`: Estimates complexity

## API Reference

See `scripts/spec_parser.py` for full implementation.

