ac-spec-parser
SKILL.md
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
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
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
- Load: Read spec file from disk
- Parse: Convert to structured data
- Validate: Check required fields and schema
- Normalize: Standardize format for downstream use
- 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 specac-feature-analyzer: Analyzes requirementsac-complexity-assessor: Estimates complexity
API Reference
See scripts/spec_parser.py for full implementation.