estimate — Claude Code skill: what it does, how to install
Estimates task effort from code complexity, dependencies and risk. Use it before planning work when a single deadline would hide uncertainty.
npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a claude-codeWhat estimate does
The skill reads a task description and asks for clarification when the brief is too vague. It checks CLAUDE.md and can inspect relevant sections in design/gdd/ for documented features or systems.
For affected files, it uses Grep to count non-blank lines and lines containing branches, then looks for dependencies, integration points and existing tests. It also reviews completed work in production/sprints/ when present. The result includes optimistic, expected and pessimistic scenarios, confidence, risks, dependencies and a task breakdown.
It is read-only and uses Read, Glob and Grep, so it does not write project files. Estimates longer than a day are rounded to half-day increments; that is a reason to review the output when hourly precision matters. Low confidence prompts /prototype, while tasks over 10 days prompt /create-stories.
What it helps with
- estimate work from affected code
- find dependencies before scheduling a task
- compare a task with completed sprint work
- surface risks behind an effort range
- split a large task into smaller stories
Example prompts for the agent
/estimate Estimate adding a save system/estimate Estimate changes to src/player.gd/estimate Estimate this task including tests and dependencies
How to install estimate
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a claude-code2Manually: put the files in place
~/.claude/skills/estimate/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/estimate/
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a codex2Manually: put the files in place
.agents/skills/estimate/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a cursor2Manually: put the files in place
.cursor/skills/estimate/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Donchitos/Claude-Code-Game-Studios estimate2Manually: put the files in place
.github/skills/estimate/SKILL.md1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a gemini-cli2Platform CLI
gemini skills install https://github.com/Donchitos/Claude-Code-Game-Studios --path .claude/skills/estimateManually: put the files in place
.devin/skills/estimate/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about estimate
How do I install estimate in Claude Code?
Run npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a claude-code, then run npx skills add Donchitos/Claude-Code-Game-Studios --skill estimate -a claude-code again. The skill file is at ~/.claude/skills/estimate/SKILL.md.
What does estimate do?
It examines the task and related code, then produces an effort range, recommended budget, confidence level, risks and dependencies.
Does estimate modify project files?
No. It uses only Read, Glob and Grep, and generates its estimate without writing files.
Source text
SKILL.md · MIT
---
name: estimate
description: "Estimate task effort from complexity, dependencies, velocity, risk. Structured estimate with confidence levels."
argument-hint: "[task-description]"
user-invocable: true
allowed-tools: Read, Glob, Grep
model: sonnet
---
# Estimate
## Phase 1: Understand the Task
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. Read them by section: find the headings you need with the Grep tool (pattern `^#`, content mode) and Read those ranges with offset and limit.
---
## Phase 2: Scan Affected Code
Identify files and modules that would need to change:
- Measure size and branching with Grep, per affected file — Read, Glob and Grep
are this skill's only tools, so these counts are the measurement:
- **Size:** `Grep pattern="[^[:space:]]" path="[file]" output_mode="count"` —
non-blank lines.
- **Branching:** `Grep pattern="(^|[^A-Za-z0-9_])(if|elif|for|foreach|while|match|switch|case|catch)([^A-Za-z0-9_]|$)|&&|[|][|]" path="[file]" output_mode="count"` —
lines holding a branch or a boolean operator. The count
approximates cyclomatic complexity (comments and strings count too); report
it as that, never as a measured complexity.
- **Dependencies:** what each file pulls in — `preload`/`load(` (GDScript),
`using` (C#), `#include` (C++) — and which other files reference it.
- Name any file Grep could not count (missing, binary, unreadable) under Notes
and Assumptions rather than leaving it out of the totals.
- Identify integration points with other systems
- Check for existing test coverage in the affected areas
- Read past sprint data from `production/sprints/` for similar completed tasks and historical velocity.
**If there is none**, say so under Notes and Assumptions — "No sprint history found;
this estimate is not calibrated to the team's velocity" — and treat that as a risk
in the confidence level, not as a silent padding of the figures.
---
## Phase 3: Analyze Complexity Factors
**Code Complexity:**
- Size and branching of the affected files (Phase 2's Grep counts)
- 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
---
## Phase 4: Generate the Estimate
```markdown
## 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] |
| Size of affected files | [N non-blank lines; M branch lines] | Grep counts; branch lines approximate complexity |
| New code vs modification | [Ratio] | |
| Integration points | [Count] | [Which systems interact] |
| Test coverage needed | [Low / Medium / High] | |
| Existing patterns available | [Yes / Partial / No] | |
**Key files likely affected:**
- `[path/to/file1]` -- [what changes here]
### Effort Estimate
| Scenario | Days | Assumption |
|----------|------|------------|
| Optimistic | [X] | Everything goes right, no surprises |
| Expected | [Y] | Normal pace, minor issues, one round of review |
| Pessimistic | [Z] | Significant unknowns surface, blocked for a day |
**Recommended budget: [Y days]**
### Confidence: [High / Medium / Low]
[Explain which factors drive the confidence level for this specific task.]
### Risk Factors
| Risk | Likelihood | Impact | Mitigation |
|------|-----------|--------|------------|
### Dependencies
| Dependency | Status | Impact if Delayed |
|-----------|--------|-------------------|
### Suggested Breakdown
| # | Sub-task | Estimate | Notes |
|---|----------|----------|-------|
| 1 | [Research / spike] | [X days] | |
| 2 | [Core implementation] | [X days] | |
| 3 | [Testing and validation] | [X days] | |
| | **Total** | **[Y days]** | |
### Notes and Assumptions
- [Key assumption that affects the estimate]
- [Any caveats about scope boundaries]
```
Output the estimate with a brief summary: recommended budget, confidence level, and the single biggest risk factor.
This skill is read-only — no files are written. Verdict: **COMPLETE** — estimate generated.
---
## Phase 5: Next Steps
- If confidence is Low: recommend a time-boxed spike (`/prototype`) before committing.
- If the task is > 10 days: recommend breaking it into smaller stories via `/create-stories`.
- To schedule the task: run `/sprint-plan update` to add it to the next sprint (if the project has no sprint plan, as on the default minimal workflow, add it to the brief's build order instead).
### Guidelines
- Always give a range (optimistic / expected / pessimistic), never a single number
- The recommended budget should be the expected estimate, not the optimistic one
- Round to half-day increments — estimating in hours implies false precision for tasks longer than a day
- Do not pad estimates silently — call out risk explicitly so the team can decide
- Confidence is Low whenever the approach is undecided or the core requirements are still TBD — a range built on an unmade decision is a guess
© Donchitos · MIT · Donchitos/Claude-Code-Game-Studios