Skip to main content
All LLM and role settings are stored in .skaro/config.yaml inside your project. This page explains every available option and how roles interact with the default configuration.

Default LLM Settings

The llm section defines the provider and model used for all phases unless overridden by a role.

Field Reference

The api_key_env field stores the name of a key in secrets.yaml, not the key value itself. Actual API keys are managed separately — see API Keys below.

Roles

Skaro divides LLM work into three roles. Each role covers a specific set of phases: By default, all roles use the settings from the llm section. To override a role, add it to the roles section with at least provider and model specified.

Minimal Role Override

Here the architect role uses Claude Opus 4.6 while coder and reviewer fall back to the default llm section. Setting a role to null (or omitting it) means “use default.”

Full Role Override

Each role accepts the same fields as the llm section:

How Fallback Works

When Skaro resolves the LLM config for a phase:
  1. Determine which role covers the phase (e.g., implementcoder)
  2. If the role has both provider and model set, use the role config
  3. If the role’s api_key_env is empty and the role’s provider matches the default provider, inherit api_key_env from the default llm section
  4. The same inheritance applies to base_url
  5. If max_tokens or temperature are not set on the role, inherit them from the default llm section
  6. If the role is null or has no provider/model, use the default llm section entirely
You can set an API key once in secrets.yaml under the provider’s default env name and it will be shared with any role that uses the same provider — no need to configure it per role.

API Keys

API keys are stored in .skaro/secrets.yaml, which is automatically added to .gitignore by skaro init. The quickest way to save a key is through the CLI:
This writes the key to secrets.yaml under the provider’s default env var name (e.g., GROQ_API_KEY). You can also edit secrets.yaml directly:
Ollama does not require an API key.
Never commit secrets.yaml to version control.

Complete Example

A full config.yaml using Anthropic for architecture, Groq for coding, and Ollama for reviews:

How to Change Settings

Edit config.yaml — open .skaro/config.yaml in any text editor. This is the only way to configure roles, max_tokens, temperature, and base_url. Changes take effect on the next Skaro command or dashboard refresh. CLIskaro config can set the default provider, model, and API key:
The CLI does not support role overrides or advanced parameters. Web dashboard — the Settings page provides a visual interface for all options including roles.