2.6 KiB
2.6 KiB
JSON Outputs Implementer
Specialized skill for implementing JSON outputs mode with guaranteed schema compliance.
Purpose
This skill handles end-to-end implementation of JSON outputs mode (output_format), ensuring Claude's responses strictly match your JSON schema. Covers schema design, SDK integration, testing, and production deployment.
Use Cases
- Data Extraction: Pull structured info from text/images
- Classification: Categorize content with guaranteed output format
- API Formatting: Generate API-ready JSON responses
- Report Generation: Create structured reports
- Database Operations: Ensure type-safe inserts/updates
Prerequisites
- Routed here by
structured-outputs-advisor - Model: Claude Sonnet 4.5 or Opus 4.1
- Beta header:
structured-outputs-2025-11-13
Quick Start
Python with Pydantic:
from pydantic import BaseModel
from anthropic import Anthropic
class Contact(BaseModel):
name: str
email: str
client = Anthropic()
response = client.beta.messages.parse(
model="claude-sonnet-4-5",
betas=["structured-outputs-2025-11-13"],
messages=[{"role": "user", "content": "Extract contact..."}],
output_format=Contact,
)
contact = response.parsed_output # Guaranteed valid
TypeScript with Zod:
import { z } from 'zod';
const ContactSchema = z.object({
name: z.string(),
email: z.string().email(),
});
const response = await client.beta.messages.parse({
model: "claude-sonnet-4-5",
betas: ["structured-outputs-2025-11-13"],
output_format: betaZodOutputFormat(ContactSchema),
messages: [...]
});
What You'll Learn
- Schema Design - Respecting JSON Schema limitations
- SDK Integration - Pydantic/Zod helpers
- Error Handling - Refusals, token limits, validation
- Production Optimization - Caching, monitoring, cost tracking
- Testing - Comprehensive validation strategies
Examples
- contact-extraction.py - Extract contact info
- invoice-extraction.py - Complex nested schemas
Related Skills
structured-outputs-advisor- Choose the right modestrict-tool-implementer- For tool validation
Reference Materials
Version
Current version: 0.1.0
See CHANGELOG.md for version history.