Templates
Add conditions
Development docs · main. Your installed version may differ.
Conditions are checked against each Story when you preview or generate. They decide whether a task is created and which percentage it receives. They never change the Story.
Conditional Tasks
Section titled “Conditional Tasks”Tasks with a condition are only created when the condition evaluates to true. Conditions are structured objects evaluated against the parent story at generate time. When a conditional task is skipped, its estimation is redistributed to other tasks proportionally.
tasks: - title: "Security Review" estimationPercent: 10 condition: field: "tags" operator: "contains" value: "security"
- title: "Database Migration" estimationPercent: 15 condition: all: - field: "tags" operator: "contains" value: "database" - field: "estimation" operator: "gt" value: 5See the condition field reference for simple and compound clause shapes, comparison values and supported operators.
field: estimation compares against the raw Story Estimate, before any conversion, read from estimation.source when one is set. Existing point-based conditions keep their meaning, and categories work with equals/not-equals, e.g. { field: estimation, operator: equals, value: L }. A numeric operator (gt, lt, gte, lte) against a non-numeric Story Estimate such as L is an evaluation error: the task is skipped and the reason is reported.
Compound clauses:
{ all: [...] }means every nested clause must match{ any: [...] }means at least one nested clause must match
VS Code snippets: atm-condition (tags), atm-condition-field (text fields such as state or areaPath), atm-condition-number (estimation, priority), atm-condition-custom, atm-condition-all and atm-condition-any. Each snippet offers only the operators its field supports.
tasks: - title: "Enterprise Review" condition: customField: "Custom.ClientTier" operator: "equals" value: "Enterprise"Conditional Estimation
Section titled “Conditional Estimation”Use estimationPercentCondition to adapt a task's percentage based on story properties. Rules are evaluated in order; the first matching rule wins. The estimationPercent field serves as the fallback.
tasks: - title: "Implementation" estimationPercent: 50 # Default/fallback estimationPercentCondition: - condition: field: "tags" operator: "contains" value: "critical" percent: 60 # Higher weight for critical stories - condition: field: "estimation" operator: "gte" value: 13 percent: 55 # More work for large stories - condition: field: "tags" operator: "contains" value: "fullstack" percent: 40 # Less backend work for fullstack storiesKey behaviors:
- Rules are evaluated in order; first match wins
- If no condition matches,
estimationPercentis used - Normalization uses the resolved percentages (including skipped tasks)
- Conditional percentages participate correctly in the 100% distribution
Look up fields
Section titled “Look up fields”tasks[].condition: simple and compound clauses and their operators.tasks[].estimationPercentCondition: ordered percentage overrides.
Conditions on estimation compare the raw Story Estimate. See Estimate Tasks for how it differs from the Task Estimate.