Install any skill in seconds. Free to start, no credit card required.
Get Started Free →mkurman/guardrails-ai
Guardrails AI — LLM output validation and guardrails. Define guardrails as XML/JSON specs, validate outputs against structural and semantic constraints, correct/retry on failure, and audit model behavior.
Passed 20 of 22 test cases with the skill, and 19 of 22 without it.
1 fixed19 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
A test case the skill fixed. Same model, same prompt, with and without the skill.
How do you declare an integer field named 'sentiment' within an XML structured output specification?
| Checked | Without skill | With skill |
|---|---|---|
| Uses integer tag with name attribute sentiment | Missed | Passed |
The instructions your model reads when the skill loads.
Guardrails AI provides a guardrails framework for LLM applications with structured output validation, type safety, retry/reprompt logic, and risk management. Uses RAIL (Reliable AI Markup Language) specs or Pydantic models.
uv pip install guardrails-ai
import guardrails as gd
rail_spec = (
'<rail version="0.1">'
'<output>'
' <string name="summary" description="Brief summary" format="length: 1-100"/>'
' <integer name="sentiment" format="valid-choices: {1, 0, -1}"/>'
'</output>'
'<prompt>'
'Summarize this text: {{text}}'
'</prompt>'
'</rail>'
)
guard = gd.Guard.from_rail_string(rail_spec)
raw, validated = guard(text="I loved this movie!")
print(validated) # {"summary": "...", "sentiment": 1}
from pydantic import BaseModel
from guardrails import Guard
class Extraction(BaseModel):
name: str
test cases passed, vs 19 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.