generate-estimate
Skill6 starsChanged 7 months agoMITView on GitHub
Generates a preliminary timeline and budget estimate for an IT project
In this repository20 other files it gives its agents.
- coordinate-executorsSkill
- coordinate-meetingSkill
- generate-approval-letterSkill
- generate-budgetSkill
- generate-change-impactSkill
- generate-charterSkill
- generate-checklistSkill
- generate-closure-reportSkill
- generate-comm-planSkill
- generate-comparison-tableSkill
- generate-meeting-protocolSkill
- generate-plan-fact-reportSkill
- generate-project-planSkill
- generate-questionnaireSkill
- generate-resource-planSkill
- generate-response-planSkill
- generate-risk-registerSkill
- generate-stakeholder-mapSkill
- monitor-progressSkill
- send-emailSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 13 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 31
If the request is in Russian → use templates with the -ru suffix
- Distinctive: line 33
All output (headings, labels, agent messages) must match the detected language.
- Distinctive: line 65
If the request asks for task-level detail — WBS, man-hours per task, work breakdown, hour-by-hour schedule, or detailed task list — …
- Distinctive: line 67
Do not start the estimate workflow.
- Distinctive: line 70
Before checking files, scan the command for explicitly provided fields:
- Distinctive: line 76
If project type AND main deliverables are both present in the command — proceed directly to Step 2 using that data.
- Distinctive: line 96
Wait for response. Do not proceed without at least the project type.
- Distinctive: line 105
If project data includes explicit constraints — adjust:
- Distinctive: line 142
If specific tools are known (from questionnaire-client.md) — use those instead.
- Distinctive: line 148
If GTM is not in scope — zero out rows and add note.
- Distinctive: line 160
Add a one-line agent recommendation — which scenario to treat as baseline and why.
- Very specific: line 166
Use the xlsx skill to create preliminary-estimate.xlsx following the template structure.
- Distinctive: line 208
Does not build a detailed WBS or task schedule
- Distinctive: line 209
Does not account for holidays, vacations, part-time availability — unless specified in constraints
- Distinctive: line 210
Does not auto-update after scope changes — recalculation is triggered manually
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: generate-estimate
Generates a preliminary timeline and budget estimate for an IT project at the Initiation phase (Phase 1). Uses analogy-based estimation with built-in knowledge of typical IT project benchmarks. Output: preliminary-estimate.xlsx with three scenarios (optimistic / realistic / pessimistic). Mode B: agent prepares draft, PM reviews and adjusts.
Triggers
Russian: «сформируй оценку сроков», «подготовь предварительную оценку», «оцени сроки проекта», «сделай оценку по аналогам», «нужна предварительная оценка», «оцени бюджет», «ballpark-оценка» English: "generate estimate", "preliminary estimate", "estimate timeline and budget", "create project estimate", "ballpark estimate", "rough estimate"
Language Detection
Determine the language of the user's request:
- If the request is in Russian → use templates with the
-rusuffix - Otherwise → use templates with the
-ensuffix - All output (headings, labels, agent messages) must match the detected language.
Input
| Data | Required | Source | Notes |
| Project name and type | yes | CLAUDE.md, project-charter.md, or command | Types: MVP / redesign / integration / GTM / feature set / internal tool |
| Scope / key deliverables | yes | questionnaire-client.md, project-charter.md, or command | Used to determine phases |
| Constraints (budget, deadline) | no | constraints.md or command | If present — adjust analogue accordingly |
| Team composition | no | team-list.md or command | Roles and headcount. If absent — agent derives from analogue |
| Role rates | no | CLAUDE.md or command | If not provided — use rates from estimate-analogues.md |
| GTM in scope | no | project-charter.md, questionnaire-client.md | Affects presence of Budget Section C |
Output
| File | Project path | Format |
preliminary-estimate.xlsx | {project}/01-initiation/ | .xlsx |
File structure — 3 sheets (Summary, Timeline, Budget) — described in templates/preliminary-estimate-{lang}.md.
Instructions
Step 1 — Collect Input Data
Guard-rail — check for out-of-scope requests first. If the request asks for task-level detail — WBS, man-hours per task, work breakdown, hour-by-hour schedule, or detailed task list — respond: "generate-estimate creates a phase-level preliminary estimate using the analogy method. For task-level breakdown and man-hour estimates, use generate-project-plan after this estimate is approved by the PM." Do not start the estimate workflow. Do not ask for input data.
Check for inline data in the user's command. Before checking files, scan the command for explicitly provided fields:
- Project type → present / absent
- Main deliverables → present / absent
- Constraints (deadline, budget ceiling) → present / absent
- Team composition → present / absent
If project type AND main deliverables are both present in the command — proceed directly to Step 2 using that data. Ask only for fields that are genuinely absent.
Check for files (supplement or replace inline data):
01-initiation/questionnaire-client.md01-initiation/project-charter.mdinput/constraints.mdinput/team-list.md
Extract from available files:
- Project type and primary goals
- Key deliverables and scope
- Known constraints (deadline, budget ceiling)
- Team composition (roles, FTE)
- Whether GTM is in scope
If no files exist AND inline data is incomplete — ask only for missing fields in one block:
I need a few more details to build the estimate:
[list only the fields that are absent from the command and files]Wait for response. Do not proceed without at least the project type.
Step 2 — Identify Project Type and Apply Analogue
- Read
templates/estimate-analogues.md. - Match the project to the closest type in the analogues table.
- Retrieve baseline ranges: duration and rates.
- If project data includes explicit constraints — adjust:
- Hard deadline → optimistic scenario must not exceed it.
- Hard budget ceiling → record in assumptions. Calculate the estimate using the standard analogue (do not adjust numbers to fit the ceiling). If the realistic scenario total exceeds the ceiling, add a risk flag to the Summary sheet and show in chat: "Warning: Realistic scenario [$X] exceeds the stated budget ceiling [$Y]. Recommend reviewing scope, phasing delivery, or adjusting team composition — consult PM before proceeding." Do not silently reduce the estimate to fit the ceiling.
- Determine whether GTM (Phase 5) is in scope. If not — zero out Budget Section C.
Step 3 — Build Phase Timeline (Sheet 2: Timeline)
For each phase (1–6), determine duration in weeks across three scenarios. Baseline: analogue from Step 2. Adjust based on project data:
| Factor | Adjustment |
| Team smaller than analogue | +10–20% to duration |
| Team larger than analogue | −5–10% to duration |
| Hard constraints | Set realistic = constraint, pessimistic → risk flag |
| Complex external interface / legacy | +20–30% to development phase |
| No prototyping in scope | Zero out Phase 3 |
Record key deliverables for each phase from the project scope.
Step 4 — Calculate Budget (Sheet 3: Budget)
Section A: Team
- Determine team composition (from team-list.md or analogue).
- For each role: FTE × scenario duration × rate.
- Rates: from project data → if absent, from
estimate-analogues.md. - Apply rate ranges by scenario: optimistic → opt rate; realistic → real rate; pessimistic → pest rate.
Section B: Infrastructure
- Identify project type → take range from
estimate-analogues.md. - Calculate: monthly item × number of months in scenario + one-time costs.
- If specific tools are known (from questionnaire-client.md) — use those instead.
Section C: Marketing/GTM
- Include only if GTM is in scope.
- Take range from
estimate-analogues.mdbased on project size. - If GTM is not in scope — zero out rows and add note.
Step 5 — Fill Sheet 1 (Summary)
- Enter header data: project, PM, date, project type.
- Record assumptions (minimum 3):
- Estimation basis (analogy method)
- Team composition (from data or analogue)
- Constraints, if any
- Fill in the scenario summary table.
- Add a one-line agent recommendation — which scenario to treat as baseline and why.
Step 6 — Generate xlsx File and Save
- Use the xlsx skill to create
preliminary-estimate.xlsxfollowing the template structure. - Save to
{project}/01-initiation/preliminary-estimate.xlsx. - Show in chat:
- What was created: "Estimate saved as preliminary-estimate.xlsx in 01-initiation/."
- Summary scenario table as a chat table.
- List of assumptions.
- Next step: "Estimate ready. Recommended: verify rates and team composition, then pass data to generate-budget (detailed budget)."
- Log to
logs/log.md: date, skill, created file, project type, baseline scenario.
Templates
| File | Purpose |
templates/preliminary-estimate-ru.md | xlsx artifact schema (RU) |
templates/preliminary-estimate-en.md | xlsx artifact schema (EN) |
templates/estimate-analogues.md | Analogue benchmarks and rate reference |
Dependencies
Reads:
01-initiation/questionnaire-client.md— scope, constraints, project type01-initiation/project-charter.md— deliverables, goals, constraintsinput/constraints.md— hard constraints on deadline / budgetinput/team-list.md— team composition and roles
Passes data to:
generate-budget— detailed budget is built on top of this estimategenerate-resource-plan— resource allocation across phases
Calls:
xlsx skill— for generating the .xlsx file
Constraints
- Mode B: estimate is a draft for the PM — not a final document
- Method is analogy-based, not bottom-up; ±30–50% accuracy is normal at initiation stage
- Does not build a detailed WBS or task schedule
- Does not account for holidays, vacations, part-time availability — unless specified in constraints
- Does not auto-update after scope changes — recalculation is triggered manually
- Handles one project per invocation
Changelog
| Date | Version | Change |
| 2026-04-06 | 1.0 | Skill created. Analogy method, 3 scenarios, 3 budget categories. Artifact templates + analogues reference. |
| 2026-04-06 | 1.1 | Post-eval fixes (2/6 → 6/6 expected): added inline-data guard in Step 1 (scan command before asking); added WBS out-of-scope guard-rail in Step 1; clarified budget ceiling behavior in Step 2 (flag risk, never silently compress). |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

