add-llm-guardrailslisted
Install: claude install-skill ContextJet-ai/awesome-llm-observability
# Add guardrails to an LLM app
Guardrails are validation layers on the **input** (before the model) and **output** (before the user/downstream). They're mandatory for regulated and enterprise deployments. Treat them as tested code, and *observe* them (a guardrail that fires silently is useless).
## Two layers, distinct jobs
**Input guardrails** (run before the LLM):
- **Prompt-injection / jailbreak detection** - reject or sanitize inputs trying to override instructions.
- **PII detection** - flag/redact sensitive data before it reaches a third-party model (see the `redact-pii-for-tracing` skill for the tracing side).
- **Topic / policy** - reject off-scope requests.
**Output guardrails** (run before returning):
- **Structured-output validation** - enforce the schema (JSON/enum/type); repair or reject on failure.
- **Toxicity / safety** - block harmful content.
- **Groundedness / hallucination** - check the answer is supported by the retrieved context (for RAG).
- **Sensitive-data egress** - ensure the response isn't leaking secrets/PII.
## Implementation shape
1. **Pick a library** - [Guardrails AI](https://github.com/guardrails-ai/guardrails) (validators + structured output), [LLM Guard](https://github.com/protectai/llm-guard) (PII, injection, toxicity), or [NeMo Guardrails](https://github.com/NVIDIA-NeMo/Guardrails) (programmable rails). Don't hand-roll regexes for security.
2. **Wrap input** → validate/sanitize → call model → **wrap output** → validate → return or re