How Skills Work
When a phase runs, Skaro builds a system prompt for the LLM. Skills are injected between the constitution and architectural invariants:implement + coder won’t appear in the tests phase run by the reviewer role.
Skill Sources
Skills come from three places, in priority order (last wins on name conflicts):
If a global skill and a bundled skill have the same name, the global one wins. Project skills override everything.
Activation
A skill must be explicitly activated to take effect. There are two ways:Preset Activation
When you select a constitution preset (e.g., React, FastAPI), Skaro automatically activates the skills linked to that preset. The mapping is defined intemplates/skills/_registry.yaml.
For example, selecting the React preset activates:
typescript-strict— strict TypeScript practicesreact-components— component design patternsreact-testing— testing with Vitest + Testing Libraryreact-state— state management patterns
Manual Activation
From the dashboard (Settings → Skills) or CLI, you can enable any skill from the full catalog — regardless of which preset is active. This is useful when:- Your project doesn’t use a preset (you wrote the constitution manually)
- You need skills from multiple presets (e.g., React frontend + FastAPI backend)
- You created custom skills
Browsing the Catalog
Dashboard
Go to Settings → Skills to see all available skills. Each entry shows:- Status icon — ✓ active, ✗ disabled, ○ available
- Name — skill identifier
- Source badge —
preset,global,project, or framework badges (react,fastapi, …) - Phases — which phases the skill applies to
CLI
Bundled Skills Reference
Skaro ships 28 skills organized by stack:Shared Skills
These are reused across multiple presets:Per-Preset Skills
Configuration in config.yaml
The skills state is stored in.skaro/config.yaml:
preset— set automatically when you select a constitution presetactive— skills you enabled manually (bundled, global, or project)disabled— preset skills you turned off