Skill Capability Gates allow you to declare tool, server, and environment variable requirements in your skills and enforce them at runtime with configurable strictness levels.Documentation Index
Fetch the complete documentation index at: https://docs.praison.ai/llms.txt
Use this file to discover all available pages before exploring further.
Quick Start
How It Works
| Component | Purpose |
|---|---|
| SkillRequirements | Parsed requirements from frontmatter |
| CapabilityValidator | Validates skills against available capabilities |
| ValidationResult | Per-skill validation status and details |
| EnforcementLevel | Controls strictness of requirement checking |
Frontmatter Reference
All frontmatter keys are optional and backward-compatible. Existing skills without requirements are unaffected.| Frontmatter Key | Aliases | Type | Maps to |
|---|---|---|---|
requires_tools | requires-tools | list[str] or string | SkillRequirements.tools |
requires_servers | requires-servers | list[str] or string | SkillRequirements.servers |
requires_env | requires-env | list[str] or string | SkillRequirements.env_vars |
allowed-tools | — | list[str] or string | Also appended to tools (backward compat) |
openclaw | — | dict | SkillRequirements.openclaw_hints (passthrough) |
requires_tools: "pdf_read, ocr_extract" and requires_tools: "pdf_read ocr_extract" work.
Skill States
| State | Meaning | Behavior |
|---|---|---|
| ACTIVE | All requirements satisfied | Skill fully available |
| DEGRADED | Some requirements missing (env vars) | Skill available with warnings |
| UNAVAILABLE | Critical requirements missing (tools/servers) | Under strict mode, excluded from picker |
| UNKNOWN | Not yet validated | Initial state before validation |
Enforcement Levels
| Level | Value | Behavior | Logging |
|---|---|---|---|
| DISABLED | "disabled" | No enforcement (legacy behavior) | None |
| TELEMETRY | "telemetry" | Log-only, no blocking | Debug/warn |
| WARN | "warn" | Default — surface warnings, allow activation | Warning |
| STRICT | "strict" | Hard fail — skills in UNAVAILABLE state excluded from system prompt | Error |
Configuration
Environment Variable
Programmatic Configuration
Diagnostics from Code
Basic Validation
Full Diagnostics
Filter Skills by State
CLI Diagnostics
Basic Skills Check
Detailed Requirements Check
Common Patterns
Soft-warn in Dev, Strict in Prod
Add Tool Requirement to Existing Skill
Filter to Active-Only Skills for System Prompt
Best Practices
Prefer requires_tools over allowed-tools for new skills
Prefer requires_tools over allowed-tools for new skills
Use the new
requires_tools frontmatter key for better validation:Use requires_env sparingly (prefer tool-level auth)
Use requires_env sparingly (prefer tool-level auth)
Minimize environment variable dependencies:
Default to warn in development, strict in production
Default to warn in development, strict in production
Configure appropriate enforcement levels:
Cache validation results (validator already caches; document clear_cache())
Cache validation results (validator already caches; document clear_cache())
Validation results are automatically cached for performance:
Related
Agent Skills
Learn about the Agent Skills system and how to create skills
Hermes/OpenClaw Import
Import skills from Hermes and OpenClaw with capability requirements
Skill Management
Manage skills programmatically with the SkillManager API
Doctor CLI
Use the doctor command to diagnose skill capability issues

