What are Skills?
Skills are Claude-powered code analysis agents that review your codebase. Each skill is a self-contained expert that knows what to look for and how to report it. Skills are defined using the agentskills.io specification and can be shared across projects. Think of skills as specialized reviewers: one might check for security issues, another for performance problems, and another for code style consistency.How Skills Work
Discovery
Warden discovers skills from conventional directories in your repository:
.agents/skills/(recommended).claude/skills/(Claude Code convention).warden/skills/(legacy)
Resolution
Skills can be referenced by:
- Name:
find-warden-bugs(searches conventional directories) - Path:
./custom/my-skill.mdorcustom/my-skill/SKILL.md - Remote:
owner/repoorowner/repo@sha(fetched from GitHub)
Execution
When a trigger matches, Warden:
- Loads the skill definition (name, description, prompt, tools)
- Prepares relevant files from the diff or repository
- Analyzes each file hunk with the Claude SDK
- Extracts findings from the model’s JSON output
- Validates findings fall within analyzed line ranges
- Deduplicates and merges related findings
Skill Structure
Skills follow the agentskills.io format with YAML frontmatter and Markdown body:Directory Format (Recommended)
Flat File Format
Skill Definition Format
The
name field in frontmatter must match your skill configuration in warden.toml.Skill Types
Analysis Skills
Most skills analyze code changes and report findings:Verification Skills
Some skills verify fixes or validate behavior:Tool Configuration
Skills can restrict which tools Claude can use:Read- Read file contentsWrite- Create/overwrite filesEdit- Modify existing filesBash- Execute shell commandsGlob- Find files by patternGrep- Search file contentsWebFetch- Fetch URLs (if enabled)WebSearch- Search the web (if enabled)
Resource Directories
Skills can bundle additional resources:scripts/
Executable scripts that Claude can call:
references/
Documentation and reference materials:
assets/
Images, examples, and other static files:
Resource paths are resolved relative to the skill’s root directory (
rootDir in the loaded definition).Remote Skills
Skills can be loaded from GitHub repositories:- macOS/Linux:
~/.cache/warden/skills/ - Windows:
%LOCALAPPDATA%\warden\skills\
- Tags/SHAs: 30 days (immutable references)
- Branches: 1 hour (may change)
How remote skill resolution works
How remote skill resolution works
- Parse reference:
owner/repo[@ref]where ref defaults toHEAD - Check cache: If cached and not expired, use cached version
- Fetch archive: Download tarball from GitHub
- Extract and discover: Find SKILL.md files in skills/ directory
- Cache and load: Store in cache with metadata
Skill Configuration in warden.toml
Skills are configured with triggers, path filters, and output options:
Type Definitions
Fromsrc/config/schema.ts:24-33:
src/config/schema.ts:5-22:
Best Practices
Keep Skills Focused
Each skill should have a single responsibility. Better to have 5 focused skills than 1 that does everything.
Use Historical Patterns
Base checks on real bugs from your project history. The best skills know what actually breaks.
Calibrate Confidence
Use confidence levels to distinguish proven issues (high) from possible concerns (medium/low).
Provide Examples
Include both good and bad examples in your prompt. Show what to look for and what to ignore.
Test with Evals
Write eval specs (YAML) to verify your skill catches known issues. See
evals/README.md.Next Steps
Triggers
Learn how to control when skills run
Findings
Understand how findings are structured and reported
Configuration
Explore all configuration options
Skill Creator
Use the skill-creator agent to write new skills