Grammar Design

Expert skill for formal grammar design including disambiguation, precedence, and validation

509 stars

Best use case

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

Expert skill for formal grammar design including disambiguation, precedence, and validation

Teams using Grammar Design 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/grammar-design/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/programming-languages/skills/grammar-design/SKILL.md"

Manual Installation

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

How Grammar Design Compares

Feature / AgentGrammar DesignStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Expert skill for formal grammar design including disambiguation, precedence, and validation

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.

SKILL.md Source

# Grammar Design Skill

## Overview

Expert skill for formal grammar design including disambiguation, precedence, and validation.

## Capabilities

- Write EBNF/BNF grammar specifications
- Design unambiguous grammars
- Handle operator precedence and associativity
- Analyze grammar conflicts
- Design grammar for specific parser classes (LL, LR, PEG)
- Document grammar with examples
- Design syntax for common language constructs
- Handle grammar evolution and backwards compatibility

## Target Processes

- language-grammar-design.js
- lexer-implementation.js
- parser-development.js

## Dependencies

Parsing theory literature (Dragon Book, Parsing Techniques)

## Usage Guidelines

1. **Notation**: Use standard EBNF notation for grammar specifications
2. **Disambiguation**: Make grammars unambiguous or document precedence rules
3. **Parser Class**: Design grammar to fit target parser class (LL(k), LALR, PEG)
4. **Examples**: Include examples for all grammar rules
5. **Evolution**: Plan for backwards-compatible grammar evolution

## Output Schema

```json
{
  "type": "object",
  "properties": {
    "notation": {
      "type": "string",
      "enum": ["ebnf", "bnf", "peg", "antlr"]
    },
    "parserClass": {
      "type": "string",
      "enum": ["ll1", "llk", "lalr", "glr", "peg"]
    },
    "productionCount": { "type": "integer" },
    "conflicts": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}
```