Variable precedence and overrides
Generated Markdown for references/fact_variable_precedence.md.
Open book page Back to the skill graph
# Variable precedence and overrides
Precedence (lowest → highest): **vars declaration → gatherer result → `--var-file` → `--var`**.
- `--var KEY=VALUE` parses VALUE as a WCL expression when possible (\`--var
count=3\` is an int), falling back to a plain string. Repeatable.
- `--var-file file.wcl` is a flat `name = value` collection; expressions evaluate
standalone and **cannot reference other variables**.
- **Gather params evaluate before variables resolve**: they may reference `--var`
/ `--var-file` overrides, but not gatherer results or vars that depend on them.
- Gatherer invocations all run concurrently and are deduplicated by \`(gatherer,
canonicalized params)\`; any gatherer failure aborts before step execution.
- Conditions and properties evaluate lazily at run time against the full scope.
## Related
- [Variables](../references/concept_variables.md)
- [Gatherer](../references/concept_gatherer.md)
[← Back to SKILL.md](../SKILL.md)