Skip to main content
Skills are YAML files with additional instructions that Skaro injects into LLM prompts during phase execution. They teach the LLM framework-specific patterns, testing conventions, and architectural rules — beyond what the constitution covers. The constitution defines what your project uses (stack, standards, constraints). Skills define how the LLM should write code for that stack.

How Skills Work

When a phase runs, Skaro builds a system prompt for the LLM. Skills are injected between the constitution and architectural invariants:
LANGUAGE → ENVIRONMENT → CONSTITUTION → SKILLS → INVARIANTS → ADR INDEX
Each skill is filtered by the current phase and role before injection. A skill that targets 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):
SourceLocationDescription
Bundledtemplates/skills/ (inside the package)28 skills shipped with Skaro, covering all 12 constitution presets
Global~/.skaro/skills/Your personal skills, shared across all projects
Project.skaro/skills/Skills specific to one project
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 in templates/skills/_registry.yaml. For example, selecting the React preset activates:
  • typescript-strict — strict TypeScript practices
  • react-components — component design patterns
  • react-testing — testing with Vitest + Testing Library
  • react-state — state management patterns
You can disable any preset skill individually without losing the others.

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 badgepreset, global, project, or framework badges (react, fastapi, …)
  • Phases — which phases the skill applies to
Click a skill name to expand and view its full instructions. Click the status icon to toggle activation.

CLI

skaro skills list
Output:
  Preset: react

  Skill                  Source   Status    Phases
  typescript-strict      preset   active    implement, plan, fix
  react-components       preset   active    implement, plan
  react-testing          preset   active    implement, tests, plan
  react-state            preset   active    implement, plan
  fastapi-endpoints      bundled  available implement, plan, tests
  django-patterns        bundled  available implement, plan
  ...
skaro skills info react-components
Shows the full instructions content.

Bundled Skills Reference

Skaro ships 28 skills organized by stack:

Shared Skills

These are reused across multiple presets:
SkillUsed ByPhases
typescript-strictreact, vue, sveltekit, nextjs, angular, express, nestjs, react-nativeimplement, plan, fix
python-standardsfastapi, djangoimplement, plan, fix
pytest-patternsfastapi, djangoimplement, tests, plan
nodejs-backendexpress, nestjsimplement, plan, fix
react-componentsreact, nextjsimplement, plan
react-testingreact, nextjsimplement, tests, plan

Per-Preset Skills

PresetSkills
reacttypescript-strict, react-components, react-testing, react-state
vuetypescript-strict, vue-composition, vue-testing
sveltekittypescript-strict, svelte-patterns, svelte-testing
nextjstypescript-strict, react-components, react-testing, nextjs-app-router
angulartypescript-strict, angular-architecture, angular-testing
fastapipython-standards, fastapi-endpoints, fastapi-sqlalchemy, pytest-patterns
djangopython-standards, django-patterns, django-testing, pytest-patterns
expresstypescript-strict, nodejs-backend, express-patterns, express-testing
nestjstypescript-strict, nodejs-backend, nestjs-architecture, nestjs-testing
react-nativetypescript-strict, react-native-patterns, react-native-testing
flutterflutter-architecture, flutter-testing
kotlin-mpkotlin-mp-architecture, kotlin-mp-testing

Configuration in config.yaml

The skills state is stored in .skaro/config.yaml:
skills:
  preset: react               # Active preset (set when you choose a constitution template)
  active:                      # Manually enabled skills (non-preset)
    - fastapi-endpoints
    - our-custom-rules
  disabled:                    # Explicitly disabled preset skills
    - react-testing
  • preset — set automatically when you select a constitution preset
  • active — skills you enabled manually (bundled, global, or project)
  • disabled — preset skills you turned off