When this skill is invoked:
Read the task description from the argument. If the description is too
vague to estimate meaningfully, ask for clarification before proceeding.
Read CLAUDE.md for project context: tech stack, coding standards,
architectural patterns, and any estimation guidelines.
Read relevant design documents from design/gdd/ if the task relates
to a documented feature or system.
Scan the codebase to understand the systems affected by this task:
- Identify files and modules that would need to change
- Assess the complexity of those files (size, dependency count, cyclomatic
complexity)
- Identify integration points with other systems
- Check for existing test coverage in the affected areas
Read past sprint data from production/sprints/ if available:
- Look for similar completed tasks and their actual effort
- Calculate historical velocity (planned vs actual)
- Identify any estimation bias patterns (consistently over or under)
Analyze the following factors:
Code Complexity:
- Lines of code in affected files
- Number of dependencies and coupling level
- Whether this touches core/engine code vs leaf/feature code
- Whether existing patterns can be followed or new patterns are needed
Scope:
- Number of systems touched
- New code vs modification of existing code
- Amount of new test coverage required
- Data migration or configuration changes needed
Risk:
- New technology or unfamiliar libraries
- Unclear or ambiguous requirements
- Dependencies on unfinished work
- Cross-system integration complexity
- Performance sensitivity
Generate the estimate:
## Task Estimate: [Task Name]
Generated: [Date]
### Task Description
[Restate the task clearly in 1-2 sentences]
### Complexity Assessment
| Factor | Assessment | Notes |
|--------|-----------|-------|
| Systems affected | [List] | [Core, gameplay, UI, etc.] |
| Files likely modified | [Count] | [Key files listed below] |
| New code vs modification | [Ratio, e.g., 70% new / 30% modification] | |
| Integration points | [Count] | [Which systems interact] |
| Test coverage needed | [Low / Medium / High] | [Unit, integration, manual] |
| Existing patterns available | [Yes / Partial / No] | [Can follow existing code or new ground] |
**Key files likely affected:**
- `[path/to/file1]` -- [what changes here]
- `[path/to/file2]` -- [what changes here]
- `[path/to/file3]` -- [what changes here]
### Effort Estimate
| Scenario | Days | Assumption |
|----------|------|------------|
| Optimistic | [X] | Everything goes right, no surprises, requirements are clear |
| Expected | [Y] | Normal pace, minor issues, one round of review feedback |
| Pessimistic | [Z] | Significant unknowns surface, blocked for a day, requirements change |
**Recommended budget: [Y days]**
[If historical data is available: "Based on [N] similar tasks that averaged
[X] days actual vs [Y] days estimated, a [correction factor] adjustment has
been applied."]
### Confidence: [High / Medium / Low]
**High** -- Clear requirements, familiar systems, follows existing patterns,
similar tasks completed before.
**Medium** -- Some unknowns, touches moderately complex systems, partial
precedent from previous work.
**Low** -- Significant unknowns, new technology, unclear requirements, or
cross-cutting concerns across many systems.
[Explain which factors drive the confidence level for this specific task.]
### Risk Factors
| Risk | Likelihood | Impact | Mitigation |
|------|-----------|--------|------------|
| [Specific risk] | [High/Med/Low] | [Days added if realized] | [How to reduce] |
| [Another risk] | [Likelihood] | [Impact] | [Mitigation] |
### Dependencies
| Dependency | Status | Impact if Delayed |
|-----------|--------|-------------------|
| [What must be done first] | [Done / In Progress / Not Started] | [How it affects this task] |
### Suggested Breakdown
| # | Sub-task | Estimate | Notes |
|---|----------|----------|-------|
| 1 | [Research / spike] | [X days] | [If unknowns need investigation first] |
| 2 | [Core implementation] | [X days] | [The main work] |
| 3 | [Integration with system X] | [X days] | [Connecting to existing code] |
| 4 | [Testing and validation] | [X days] | [Writing tests, manual verification] |
| 5 | [Code review and iteration] | [X days] | [Review feedback, fixes] |
| | **Total** | **[Y days]** | |
### Historical Comparison
[If similar tasks exist in sprint history:]
| Similar Task | Estimated | Actual | Relevant Difference |
|-------------|-----------|--------|-------------------|
| [Past task 1] | [X days] | [Y days] | [What makes it similar/different] |
| [Past task 2] | [X days] | [Y days] | [What makes it similar/different] |
### Notes and Assumptions
- [Key assumption that affects the estimate]
- [Another assumption]
- [Any caveats about scope boundaries -- what is included vs excluded]
- [Recommendations: e.g., "Consider a spike first if requirement X is unclear"]
- Output the estimate to the user with a brief summary: recommended
budget, confidence level, and the single biggest risk factor.
Guidelines
- Always give a range (optimistic / expected / pessimistic), never a single
number. Single-point estimates create false precision.
- The recommended budget should be the expected estimate, not the optimistic
one. Padding is not dishonest -- it is realistic.
- If confidence is Low, recommend a time-boxed spike or prototype before
committing to the full estimate.
- Be explicit about what is included and excluded. Scope ambiguity is the
most common source of estimation error.
- Round to half-day increments. Estimating in hours implies false precision
for tasks longer than a day.
- If the task is too large to estimate confidently (more than 10 days
expected), recommend breaking it into smaller tasks and estimating those
individually.
- Do not pad estimates silently. If risk exists, call it out explicitly in
the risk factors section so the team can decide how to handle it.
1---2name: estimate3description: Estimates task effort by analyzing complexity, dependencies, historical velocity, and risk factors. Produces a structured estimate with confidence levels.4---5
6When this skill is invoked:
7
81. **Read the task description** from the argument. If the description is too
9 vague to estimate meaningfully, ask for clarification before proceeding.
10
112. **Read CLAUDE.md** for project context: tech stack, coding standards,
12 architectural patterns, and any estimation guidelines.
13
143. **Read relevant design documents** from `design/gdd/` if the task relates
15 to a documented feature or system.
16
174. **Scan the codebase** to understand the systems affected by this task:
18 - Identify files and modules that would need to change
19 - Assess the complexity of those files (size, dependency count, cyclomatic
20 complexity)
21 - Identify integration points with other systems
22 - Check for existing test coverage in the affected areas
23
245. **Read past sprint data** from `production/sprints/` if available:
25 - Look for similar completed tasks and their actual effort
26 - Calculate historical velocity (planned vs actual)
27 - Identify any estimation bias patterns (consistently over or under)
28
296. **Analyze the following factors**:
30
31 **Code Complexity**:
32 - Lines of code in affected files
33 - Number of dependencies and coupling level
34 - Whether this touches core/engine code vs leaf/feature code
35 - Whether existing patterns can be followed or new patterns are needed
36
37 **Scope**:
38 - Number of systems touched
39 - New code vs modification of existing code
40 - Amount of new test coverage required
41 - Data migration or configuration changes needed
42
43 **Risk**:
44 - New technology or unfamiliar libraries
45 - Unclear or ambiguous requirements
46 - Dependencies on unfinished work
47 - Cross-system integration complexity
48 - Performance sensitivity
49
507. **Generate the estimate**:
51
52```markdown
53## Task Estimate: [Task Name]
54Generated: [Date]
55
56### Task Description
57[Restate the task clearly in 1-2 sentences]
58
59### Complexity Assessment
60
61| Factor | Assessment | Notes |
62|--------|-----------|-------|
63| Systems affected | [List] | [Core, gameplay, UI, etc.] |
64| Files likely modified | [Count] | [Key files listed below] |
65| New code vs modification | [Ratio, e.g., 70% new / 30% modification] | |
66| Integration points | [Count] | [Which systems interact] |
67| Test coverage needed | [Low / Medium / High] | [Unit, integration, manual] |
68| Existing patterns available | [Yes / Partial / No] | [Can follow existing code or new ground] |
69
70**Key files likely affected:**
71- `[path/to/file1]` -- [what changes here]
72- `[path/to/file2]` -- [what changes here]
73- `[path/to/file3]` -- [what changes here]
74
75### Effort Estimate
76
77| Scenario | Days | Assumption |
78|----------|------|------------|
79| Optimistic | [X] | Everything goes right, no surprises, requirements are clear |
80| Expected | [Y] | Normal pace, minor issues, one round of review feedback |
81| Pessimistic | [Z] | Significant unknowns surface, blocked for a day, requirements change |
82
83**Recommended budget: [Y days]**
84
85[If historical data is available: "Based on [N] similar tasks that averaged
86[X] days actual vs [Y] days estimated, a [correction factor] adjustment has
87been applied."]
88
89### Confidence: [High / Medium / Low]
90
91**High** -- Clear requirements, familiar systems, follows existing patterns,
92similar tasks completed before.
93
94**Medium** -- Some unknowns, touches moderately complex systems, partial
95precedent from previous work.
96
97**Low** -- Significant unknowns, new technology, unclear requirements, or
98cross-cutting concerns across many systems.
99
100[Explain which factors drive the confidence level for this specific task.]
101
102### Risk Factors
103
104| Risk | Likelihood | Impact | Mitigation |
105|------|-----------|--------|------------|
106| [Specific risk] | [High/Med/Low] | [Days added if realized] | [How to reduce] |
107| [Another risk] | [Likelihood] | [Impact] | [Mitigation] |
108
109### Dependencies
110
111| Dependency | Status | Impact if Delayed |
112|-----------|--------|-------------------|
113| [What must be done first] | [Done / In Progress / Not Started] | [How it affects this task] |
114
115### Suggested Breakdown
116
117| # | Sub-task | Estimate | Notes |
118|---|----------|----------|-------|
119| 1 | [Research / spike] | [X days] | [If unknowns need investigation first] |
120| 2 | [Core implementation] | [X days] | [The main work] |
121| 3 | [Integration with system X] | [X days] | [Connecting to existing code] |
122| 4 | [Testing and validation] | [X days] | [Writing tests, manual verification] |
123| 5 | [Code review and iteration] | [X days] | [Review feedback, fixes] |
124| | **Total** | **[Y days]** | |
125
126### Historical Comparison
127[If similar tasks exist in sprint history:]
128
129| Similar Task | Estimated | Actual | Relevant Difference |
130|-------------|-----------|--------|-------------------|
131| [Past task 1] | [X days] | [Y days] | [What makes it similar/different] |
132| [Past task 2] | [X days] | [Y days] | [What makes it similar/different] |
133
134### Notes and Assumptions
135- [Key assumption that affects the estimate]
136- [Another assumption]
137- [Any caveats about scope boundaries -- what is included vs excluded]
138- [Recommendations: e.g., "Consider a spike first if requirement X is unclear"]
139```
140
1418. **Output the estimate** to the user with a brief summary: recommended
142 budget, confidence level, and the single biggest risk factor.
143
144### Guidelines
145
146- Always give a range (optimistic / expected / pessimistic), never a single
147 number. Single-point estimates create false precision.
148- The recommended budget should be the expected estimate, not the optimistic
149 one. Padding is not dishonest -- it is realistic.
150- If confidence is Low, recommend a time-boxed spike or prototype before
151 committing to the full estimate.
152- Be explicit about what is included and excluded. Scope ambiguity is the
153 most common source of estimation error.
154- Round to half-day increments. Estimating in hours implies false precision
155 for tasks longer than a day.
156- If the task is too large to estimate confidently (more than 10 days
157 expected), recommend breaking it into smaller tasks and estimating those
158 individually.
159- Do not pad estimates silently. If risk exists, call it out explicitly in
160 the risk factors section so the team can decide how to handle it.