Babysitter synthesis-specification-language

Define specifications for program synthesis using various paradigms

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/domains/science/computer-science/skills/synthesis-specification-language" ~/.claude/skills/a5c-ai-babysitter-synthesis-specification-language && rm -rf "$T"
manifest: library/specializations/domains/science/computer-science/skills/synthesis-specification-language/SKILL.md
source content

Synthesis Specification Language

Purpose

Provides expert guidance on defining specifications for program synthesis using examples, logic, or sketches.

Capabilities

  • Input-output example specification
  • Logical specification (pre/post conditions)
  • Sketch-based specification
  • Natural language to specification
  • Specification validation
  • Ambiguity detection

Usage Guidelines

  1. Paradigm Selection: Choose specification paradigm
  2. Specification Writing: Write formal specification
  3. Validation: Validate specification for completeness
  4. Disambiguation: Resolve specification ambiguities
  5. Integration: Connect to synthesis engines

Tools/Libraries

  • SyGuS format
  • Sketch
  • Rosette
  • FlashFill