Agent skill · software engineering · davila7
guidance
Control LLM output with regex and grammars, guarantee valid JSON/XML/code generation, enforce structured formats, and build multi-step workflows with Guidance - Microsoft Research's constrained generation framework
Why this skill is useful
Adds executable scripts for constrained generation workflows and validation of structured outputs that are not commonly known.
What it needs
Requires guidance, transformers installed locally. About 7k tokens when loaded. Last updated 2026-08-06. 30,138 stars on the source repository.
What this skill does
Guidance: Constrained LLM Generation When to Use This Skill Use Guidance when you need to: Control LLM output syntax with regex or grammars Guarantee valid JSON/XML/code generation Reduce latency vs traditional prompting approaches Enforce structured formats (dates, emails, IDs, etc.) Build multi-step workflows with Pythonic control flow Prevent invalid outputs through grammatical constraints GitHub Stars: 18,000+ From: Microsoft Research Installation Quick Start Basic Example: Structured Generation With Anthropic Claude Core Concepts 1. Context Managers Guidance uses Pythonic context managers for chat-style interactions. Benefits: Natural chat flow Clear role separation Easy to read and maintain 2. Constrained Generation Guidance ensures outputs match specified patterns using regex or grammars. Regex Constraints How it works: Regex converted to grammar at token level Invalid tokens filtered during generation Model can only produce matching outputs Selection Constraints 3. Token Healing Guidance automatically "heals" token boundaries between prompt and generation. Problem: Tokenization creates unnatural boundaries. Solution: Guidance backs up one token and regenerates. Benefits: Natural text boundaries No awkward spacing issues Better model performance (sees natural token sequences) 4. Grammar-Based Generation Define complex structures using context-free grammars. Use cases: Complex structured outputs Nested data structures Programming language syntax Domain-specific languages 5. Guidance Functions Create reusable generation patterns with the @guidance decorator. Stateful Functions: Backend Configuration Anthropic Claude OpenAI Local Models (Transformers) Local Models (llama.cpp) Common Patterns Pattern 1: JSON Generation Pattern 2: Classification Pattern 3: Multi-Step Reasoning Pattern 4: ReAct Agent Pattern 5: Data Extraction Best Practices 1. Use Regex for Format Validation 2. Use select() for Fixed Categories 3. Leverage Token Healing 4. Use stop Sequences 5. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills davila7/prompt-engineering-guidance