Parse and validate project specifications. Use when loading YAML/JSON specs, validating spec structure, extracting requirements, or converting between spec formats.
Resources
1Install
npx skillscat add adaptationio/skrillz/ac-spec-parser Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing, no superlatives, no calls to action. At most 60 words. Should explain what skill does, what problem it solves, when to use. We need to output only the summary text, no quotes, no markdown. Let's craft: "The skill parses YAML, JSON, or Markdown project specifications into structured data, validates the schema, and extracts requirements for downstream processing. It solves the problem of inconsistent or malformed spec files by enforcing required fields, unique IDs, and valid priority values.
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.