- Check the output configuration. Look for a project-level setting that specifies how estimates should be delivered (e.g. in an AGENTS.md, project config, or prior conversation context). If no output mode is configured, read the template files in
templates/(relative to this skill) to present the available options and ask the user to choose before proceeding. - Identify the input. The user may provide a story file, a Jira ticket, a raw requirement, a verbal description, or just point at something and say "estimate this." Accept any form.
- Ensure a clear scope exists. If the input is vague or missing acceptance criteria, ask clarifying questions before estimating. If a well-structured story would help, suggest using the user-story skill to write one first — but do not require it.
- Explore the codebase. Look at the files, components, and systems that would need to change. Note anything that adds or reduces complexity compared to a naive reading of the requirement.
- Score the five factors (see below) as Low / Medium / High.
- Assign a point value based on the overall profile.
- Deliver the estimate using the configured output mode.
- If the estimate is 8 or above, recommend splitting and suggest logical break points.
- If the estimate is 13, do not proceed without splitting — propose 2–4 smaller pieces that together cover the original scope.
| Points | Meaning |
|---|---|
| 1 | Trivial — a single, well-understood change with no unknowns |
| 2 | Small — straightforward work, minimal coordination |
| 3 | Medium — clear scope but touches a few areas or has minor unknowns |
| 5 | Large — multiple moving parts, some uncertainty in approach |
| 8 | Very large — significant complexity or cross-cutting concerns; consider splitting |
| 13 | Too large — split before starting; this is a flag, not a usable estimate |
- Complexity — How many distinct areas of the codebase does this touch? Are there tricky edge cases or business rules?
- Uncertainty — Is the approach clear, or does it require investigation first? Are there open questions that could change the scope?
- Effort — How much raw work is involved even if the path is straightforward?
- Risk — Could this break existing behavior? Does it need careful coordination with other teams or systems?
- Dependencies — Does this require changes from another team, a third-party service, or data that may not be ready?
Assign the point value based on the overall profile, not by averaging — a single "High" in Risk or Uncertainty can push the estimate up.