pair-capability-estimate
Estimates a refined user story using the adopted estimation methodology. Reads estimation framework from guidelines and methodology from way-of-working. Idempotent: detects existing estimate, confirms
Files1
View on GitHubSKILL.md.claude/skills/pair-capability-estimate/SKILL.md
GitHub/pair-capability-estimate — Story Estimation
Apply the adopted estimation methodology to size a refined user story. Reads the estimation framework from guidelines and the adopted methodology from way-of-working.
Arguments
| Argument | Required | Description |
|---|---|---|
$story |
Yes | Story ID to estimate. The story must be in Refined state with acceptance criteria. |
$method |
No | Override estimation method: complexity, time, ai-assisted, forecast, hybrid. If omitted, uses the adopted methodology from way-of-working. |
Algorithm
Step 1: Load Story
- Check: Read the story from the PM tool (per way-of-working.md).
- Verify: Story exists and has acceptance criteria. If not refined → HALT: "Story must be refined before estimation."
Step 2: Check Existing Estimate
Check: Does the story already have an estimate (story points, hours, or sizing label)?
Skip: If no existing estimate, proceed to Step 3.
Act: Present the existing estimate:
Story #
$storyalready estimated: [estimate value] ([method used]). Re-estimate? (Only if explicitly requested by developer.)Verify: If developer confirms current estimate → exit. If developer requests re-estimation → proceed to Step 3.
Step 3: Determine Estimation Method
- Check: Is
$methodprovided? - Skip: If provided, use it. Proceed to Step 4.
- Act: Read way-of-working.md for the adopted estimation methodology.
- Act: If no methodology adopted, read the Estimation Method Decision Matrix and recommend based on project context:
- Team maturity, data availability, time pressure → select recommended primary method.
- Present recommendation to developer for approval.
- Verify: Method selected.
Step 4: Read Estimation Guidelines
- Act: Read the methodology-specific guideline:
complexity→ complexity-based-estimation.mdtime→ time-based-estimation.mdai-assisted→ ai-assisted-estimation.mdforecast→ forecast-based-estimation.mdhybrid→ hybrid-estimation.md
- Verify: Guidelines loaded.
Step 5: Apply Estimation
Act: Analyze the story using the selected method:
- Complexity-based: Evaluate story complexity against the team's reference stories. Assign story points using the adopted scale (e.g., Fibonacci: 1, 2, 3, 5, 8, 13, 21).
- Time-based: Break story into tasks, estimate hours per task, sum with buffer. Consider skill level and availability.
- AI-assisted: Analyze story description, AC, and technical analysis. Compare with similar completed stories. Propose estimate with confidence level.
- Forecast-based: Use historical velocity and completion data to predict effort. Apply statistical model with confidence interval.
- Hybrid: Apply multiple methods, compare results, converge on consensus estimate.
Act: Present the estimate to the developer:
Estimation for #
$story:Factor Assessment Method [method name] Estimate [value + unit] Confidence [High/Medium/Low — reason] Key Factors [complexity drivers, risks, unknowns] Accept this estimate?
Verify: Developer approves. If developer disagrees → discuss and adjust.
Step 6: Record Estimate
- Act: Update the story in the PM tool with the approved estimate.
- Verify: Estimate recorded in the story.
Output Format
ESTIMATION COMPLETE:
├── Story: [#ID: Title]
├── Method: [complexity | time | ai-assisted | forecast | hybrid]
├── Estimate: [value + unit (e.g., 5 SP, 20h, M(3))]
├── Confidence: [High | Medium | Low]
├── Rationale: [key factors]
└── Status: [Recorded | Confirmed existing]
Composition Interface
When composed by /pair-process-refine-story:
- Input:
/pair-process-refine-storymay invoke/pair-capability-estimateafter AC and technical analysis are complete. - Output: Returns the estimate value and method.
/pair-process-refine-storyincludes the estimate in the story sizing section.
When invoked independently:
- Full interactive flow. Developer selects or confirms method, reviews and approves estimate.
Graceful Degradation
- If way-of-working.md does not specify an estimation methodology, use the Decision Matrix from the estimation guidelines to recommend one.
- If estimation guidelines are not found, fall back to developer judgment: ask the developer to provide an estimate directly and record it.
- If the PM tool is not accessible, present the estimate and ask the developer to record it manually.
- If the story has no acceptance criteria, warn: "Story lacks AC — estimation may be inaccurate. Consider refining first."
Notes
- This skill modifies the PM tool — it writes the estimate to the story issue.
- Idempotent: re-invocation on an already-estimated story confirms the existing estimate without re-doing the analysis. Re-estimation only happens on explicit developer request.
- The estimation method should be consistent within a project. If the team switches methods, record the decision via
/pair-capability-record-decision. - Estimation is a collaborative activity — the skill proposes, the developer decides. The skill never overrides developer judgment.