/estimate-calibrator
Produces calibrated three-point PERT estimates (best/likely/worst) with confidence intervals, unknowns, and assumptions. Triggers on: "estimate this", "how long will this take", "effort estimate", "confidence interval", "story points", "t-shirt sizing". NOT for task
$ npx -y skills add Mathews-Tom/armory --skill estimate-calibrator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/estimate-calibrator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Produces calibrated three-point PERT estimates (best/likely/worst) with confidence intervals, unknowns, and assumptions. Triggers on: "estimate this", "how long will this take", "effort estimate", "confidence interval", "story points", "t-shirt sizing". NOT for task
SKILL.md
estimate-calibrator.SKILL.mdname: estimate-calibrator
description: 'Produces calibrated three-point PERT estimates (best/likely/worst) with confidence intervals, unknowns, and assumptions. Triggers on: "estimate this", "how long will this take", "effort estimate", "confidence interval", "story points", "t-shirt sizing". NOT for task decomposition, use task-decomposer.'
metadata:
version: 1.1.1
category: development
tags: [estimation, pert, confidence-interval, planning]
difficulty: intermediate
phase: plan
Estimate Calibrator
Replaces single-point guesses with structured three-point estimates: decomposes work into atomic units, estimates best/likely/worst case for each, identifies unknowns and assumptions, calculates aggregate ranges using PERT, and assigns confidence levels with explicit rationale.
Reference Files
| File | Contents | Load When | | ---------------------------------- | ------------------------------------------------------------------------- | ---------------------- | | `references/estimation-methods.md` | PERT formula, three-point estimation, Monte Carlo basics | Always | | `references/unknown-categories.md` | Technical, scope, external, and organizational uncertainty types | Unknown identification | | `references/calibration-tips.md` | Cognitive biases in estimation, historical calibration, buffer strategies | Always | | `references/sizing-heuristics.md` | Common task size patterns, complexity indicators, reference class data | Quick sizing needed |
Prerequisites
- Work item description (feature, task, project)
- Decomposed tasks (or use task-decomposer skill first)
- Context: team familiarity, tech stack, existing codebase
Workflow
Phase 1: Decompose Work
If the work item is not already decomposed into atomic units:
1. **Break into tasks** — Each task should be estimable independently. 2. **Right granularity** — Tasks should be 1 hour to 3 days. Larger tasks have higher uncertainty; break them down further. 3. **Identify dependencies** — Tasks on the critical path determine the minimum duration.
Phase 2: Three-Point Estimate
For each task, estimate three scenarios:
| Scenario | Definition | Mindset | | ----------- | --------------------------------------- | --------------------------------------------- | | Best case | Everything goes right. No surprises. | "If I've done this exact thing before" | | Likely case | Normal friction. Some minor obstacles. | "Realistic expectation with typical setbacks" | | Worst case | Significant problems. Not catastrophic. | "Murphy's law but not a disaster" |
**Key rule:** Worst case is NOT "everything goes wrong." It's the realistic bad scenario (90th percentile), not the apocalyptic one (99th percentile).
Phase 3: Identify Unknowns
Categorize unknowns that affect estimates:
| Category | Example | Impact | | -------------- | ------------------------------------- | -------------------------------------------- | | Technical | "Never used this library before" | Likely case inflated, worst case much higher | | Scope | "Requirements may change" | All estimates may shift | | External | "Depends on API access from partner" | Blocking risk — could delay entirely | | Integration | "Haven't tested with production data" | Hidden complexity at integration | | Organizational | "Need design approval" | Calendar time, not effort time |
Phase 4: Calculate Ranges
For individual tasks, use the PERT formula:
Expected = (Best + 4 × Likely + Worst) / 6
Std Dev = (Worst - Best) / 6
For aggregate (project) estimates:
- **Sum of expected values** for total expected duration
- **Root sum of squares of std devs** for aggregate uncertainty
Phase 5: Assign Confidence
| Confidence | Meaning | When | | ---------- | -------------------------------- | --------------------------------------------- | | High | Likely case within ±20% | Well-understood task, team has done it before | | Medium | Likely case within ±50% | Some unknowns, moderate familiarity | | Low | Likely case within ±100% or more | Significant unknowns, new technology |
Output Format
## Estimate: {Work Item}
### Summary
| Scenario | Duration |
|----------|----------|
| Best case | {time} |
| Likely case | {time} |
| Worst case | {time} |
| **PERT expected** | **{time}** |
| **Confidence** | **{High/Medium/Low}** |
### Task-Level Estimates
| # | Task | Best | Likely | Worst | PERT | Unknowns |
|---|------|------|--------|-------|------|----------|
| 1 | {task} | {time} | {time} | {time} | {time} | {key unknown or "None"} |
| 2 | {task} | {time} | {time} | {time} | {time} | {key unknown} |
| | **Total** | **{sum}** | **{sum}** | **{sum}** | **{pert}** | |
### Key Unknowns
| # | Unknown | Category | Impact on Estimate | Mitigation |
|---|---------|----------|-------------------|------------|
| 1 | {unknown} | {Technical/Scope/External} | +{time} if realized | {spike, prototype, early test} |
### Assumptions
- {Assumption 1 — what must be true for this estimate to hold}
- {Assumption 2}
### Risk Factors
- {Risk}: If realized, adds {time}. Likelihood: {High/Medium/Low}.
### Confidence Rationale
**{High/Medium/Low}** because:
- {Specific reason — e.g., "Team has built 3 similar features"}
- {Specific reason — e.g., "External API is a new integration"}
### Recommendation
{Commit to PERT expected with {X}% buffer, or spike the top unknown first.}Calibration
Read more
name: estimate-calibrator description: 'Produces calibrated three-point PERT estimates (best/likely/worst) with confidence intervals, unknowns, and assumptions. Triggers on: "estimate this", "how long will this take", "effort estimate", "confidence interval", "story points", "t-shirt sizing". NOT for task decomposition, use task-decomposer.' metadata: version: 1.1.1 category: development tags: [estimation, pert, confidence-interval, planning] difficulty: intermediate phase: plan
Estimate Calibrator
Replaces single-point guesses with structured three-point estimates: decomposes work into atomic units, estimates best/likely/worst case for each, identifies unknowns and assumptions, calculates aggregate ranges using PERT, and assigns confidence levels with explicit rationale.
Reference Files
| File | Contents | Load When | | ---------------------------------- | ------------------------------------------------------------------------- | ---------------------- | | `references/estimation-methods.md` | PERT formula, three-point estimation, Monte Carlo basics | Always | | `references/unknown-categories.md` | Technical, scope, external, and organizational uncertainty types | Unknown identification | | `references/calibration-tips.md` | Cognitive biases in estimation, historical calibration, buffer strategies | Always | | `references/sizing-heuristics.md` | Common task size patterns, complexity indicators, reference class data | Quick sizing needed |
Prerequisites
- Work item description (feature, task, project)
- Decomposed tasks (or use task-decomposer skill first)
- Context: team familiarity, tech stack, existing codebase
Workflow
Phase 1: Decompose Work
If the work item is not already decomposed into atomic units:
1. **Break into tasks** — Each task should be estimable independently. 2. **Right granularity** — Tasks should be 1 hour to 3 days. Larger tasks have higher uncertainty; break them down further. 3. **Identify dependencies** — Tasks on the critical path determine the minimum duration.
Phase 2: Three-Point Estimate
For each task, estimate three scenarios:
| Scenario | Definition | Mindset | | ----------- | --------------------------------------- | --------------------------------------------- | | Best case | Everything goes right. No surprises. | "If I've done this exact thing before" | | Likely case | Normal friction. Some minor obstacles. | "Realistic expectation with typical setbacks" | | Worst case | Significant problems. Not catastrophic. | "Murphy's law but not a disaster" |
**Key rule:** Worst case is NOT "everything goes wrong." It's the realistic bad scenario (90th percentile), not the apocalyptic one (99th percentile).
Phase 3: Identify Unknowns
Categorize unknowns that affect estimates:
| Category | Example | Impact | | -------------- | ------------------------------------- | -------------------------------------------- | | Technical | "Never used this library before" | Likely case inflated, worst case much higher | | Scope | "Requirements may change" | All estimates may shift | | External | "Depends on API access from partner" | Blocking risk — could delay entirely | | Integration | "Haven't tested with production data" | Hidden complexity at integration | | Organizational | "Need design approval" | Calendar time, not effort time |
Phase 4: Calculate Ranges
For individual tasks, use the PERT formula:
Expected = (Best + 4 × Likely + Worst) / 6 Std Dev = (Worst - Best) / 6
For aggregate (project) estimates:
- **Sum of expected values** for total expected duration
- **Root sum of squares of std devs** for aggregate uncertainty
Phase 5: Assign Confidence
| Confidence | Meaning | When | | ---------- | -------------------------------- | --------------------------------------------- | | High | Likely case within ±20% | Well-understood task, team has done it before | | Medium | Likely case within ±50% | Some unknowns, moderate familiarity | | Low | Likely case within ±100% or more | Significant unknowns, new technology |
Output Format
## Estimate: {Work Item}
### Summary
| Scenario | Duration |
|----------|----------|
| Best case | {time} |
| Likely case | {time} |
| Worst case | {time} |
| **PERT expected** | **{time}** |
| **Confidence** | **{High/Medium/Low}** |
### Task-Level Estimates
| # | Task | Best | Likely | Worst | PERT | Unknowns |
|---|------|------|--------|-------|------|----------|
| 1 | {task} | {time} | {time} | {time} | {time} | {key unknown or "None"} |
| 2 | {task} | {time} | {time} | {time} | {time} | {key unknown} |
| | **Total** | **{sum}** | **{sum}** | **{sum}** | **{pert}** | |
### Key Unknowns
| # | Unknown | Category | Impact on Estimate | Mitigation |
|---|---------|----------|-------------------|------------|
| 1 | {unknown} | {Technical/Scope/External} | +{time} if realized | {spike, prototype, early test} |
### Assumptions
- {Assumption 1 — what must be true for this estimate to hold}
- {Assumption 2}
### Risk Factors
- {Risk}: If realized, adds {time}. Likelihood: {High/Medium/Low}.
### Confidence Rationale
**{High/Medium/Low}** because:
- {Specific reason — e.g., "Team has built 3 similar features"}
- {Specific reason — e.g., "External API is a new integration"}
### Recommendation
{Commit to PERT expected with {X}% buffer, or spike the top unknown first.}Calibration
Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
Repo: Mathews-Tom/armory
Other skills on armory.
- /adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an ADR", "document this decision", "architecture decision record", "decision record", "design decision", "ADR for".
Open skill - /agent-builder
Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK, claude -p, SDK MCP servers, hooks, sessions. Triggers on: "build an agent", "agent SDK", "headless mode", "automate Claude", "programmatic agent".
Open skill - /api-docs-generator
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on: "generate API docs", "document this API", "OpenAPI for", "FastAPI docs", "document endpoints", "swagger docs".
Open skill - /architecture-diagram
Generate layered architecture diagrams as self-contained HTML with inline SVG icons, CSS Grid containers, and connection overlays. Triggers on: "architecture diagram", "infra diagram", "system diagram", "deployment diagram", "topology", "draw architecture". NOT for architecture
Open skill - /architecture-reviewer
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports. Triggers on: "review architecture", "critique design", "audit system", "assess scalability", "enterprise readiness", "technical due
Open skill - /arxiv-figures
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Triggers on: "optimize figures for arXiv", "reduce figure size", "convert figures for arXiv", "fix arXiv
Open skill

