From project-management
Create PMI-compliant PERT three-point estimation workbooks with WBS, timeline/Gantt, resources, risks, and summary sheets. Produces fully automated Excel with live formulas. Triggers: 'create PERT estimate', 'generate WBS estimate', 'PMO estimation', 'three-point estimate', 'PERT analysis', 'project estimation', 'stima PERT', 'stima progetto'
How this skill is triggered — by the user, by Claude, or both
Slash command
/project-management:pmo-pert-estimateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill produces PMI-compliant PERT three-point estimation workbooks through a multi-phase agentic pipeline. Starting from project documents (SoW, RFP, scope descriptions), it interactively builds a WBS, resource breakdown, risk register, and three-point estimates, then generates a fully automated Excel workbook with live formulas (PERT, SUM rollups, cross-sheet references, confidence interv...
assets/pert-template.xlsxexamples/sample-input.jsonexamples/scenario-1-website-redesign/excel-input.jsonexamples/scenario-1-website-redesign/input-sow.mdexamples/scenario-1-website-redesign/pert-estimate.xlsxexamples/scenario-1-website-redesign/validation-report.mdexamples/scenario-2-erp-migration/excel-input.jsonexamples/scenario-2-erp-migration/input-sow.mdexamples/scenario-2-erp-migration/pert-estimate.xlsxexamples/scenario-2-erp-migration/validation-report.mdexamples/scenario-3-mobile-app/excel-input.jsonexamples/scenario-3-mobile-app/input-sow.mdexamples/scenario-3-mobile-app/pert-estimate.xlsxexamples/scenario-3-mobile-app/validation-report.mdexamples/scenario-4-cloud-migration/excel-input.jsonexamples/scenario-4-cloud-migration/input-sow.mdexamples/scenario-4-cloud-migration/pert-estimate.xlsxexamples/scenario-4-cloud-migration/validation-report.mdexamples/scenario-5-consulting/excel-input.jsonexamples/scenario-5-consulting/input-sow.mdThis skill produces PMI-compliant PERT three-point estimation workbooks through a multi-phase agentic pipeline. Starting from project documents (SoW, RFP, scope descriptions), it interactively builds a WBS, resource breakdown, risk register, and three-point estimates, then generates a fully automated Excel workbook with live formulas (PERT, SUM rollups, cross-sheet references, confidence intervals). The skill follows three key principles: progressive disclosure of reference documents (loaded only when the relevant phase begins, never all at once), adaptive interaction across three levels (Formative / Collaborative / Autonomous) chosen by the user with dynamic adjustment, and strict input/formula separation where Excel formula cells are always injected as strings and never overwritten with computed values.
Bundled assets:
assets/
pert-template.xlsx <- bundled reference template
scripts/
generate_excel.py <- JSON -> Excel generator (openpyxl)
validate_template.py <- custom template validator
helpers/
__init__.py
wb_wbs.py <- WBS sheet logic
wb_timeline.py <- Timeline/Gantt sheet logic
wb_resources.py <- Resources matrix sheet logic
wb_risks.py <- Risk register sheet logic
wb_summary.py <- Summary sheet logic (cross-refs)
formatting.py <- Shared styles, colors, fonts, formats
references/
workflow.md <- detailed agentic flow description
pmi-methodology.md <- PMI guide for formative mode
template-criteria.md <- criteria for custom templates
excel-schema.md <- column/formula/cross-ref schema per sheet
interaction-levels.md <- description of 3 interaction levels
Workspace directory: docs/pert-workspace/ (created during Phase 1)
Output directory: configurable per project (default: docs/outbox/)
When running in a repository for the first time, check whether CLAUDE.md contains a ## pmo-pert-estimate Configuration section. If it does not exist, guide the user through setup.
Ask the user for project-specific values:
en)pd / hours / story_points (default: pd)days / weeks / sprints (default: d)1B4FA5)EUR)weekly / biweekly / monthly (default: biweekly)10)docs/outbox/)Ask about template. Offer four options:
assets/pert-template.xlsx (relative to this skill directory) and criteria are documented in references/template-criteria.mdcd <skill-dir>/scripts && python3 validate_template.py --template <user_path>
If valid: record path. If invalid: show specific errors, offer to fall back to bundled.Write the configuration section into CLAUDE.md:
## pmo-pert-estimate Configuration
| Field | Value |
|-------|-------|
| Language | en |
| EffortUnit | pd |
| DurationUnit | d |
| PrimaryColor | 1B4FA5 |
| Currency | EUR |
| PeriodType | biweekly |
| AvgRate | (none) |
| ManagementReservePct | 10 |
| OutputDir | docs/outbox/ |
| CustomTemplate | (bundled) |
If the section already exists, read values from it and proceed silently.
This phase runs in-skill (no agent call). Collect all inputs needed for subsequent phases.
docs/pert-workspace/
Store all choices (document paths, reference folder, interaction level, targets) for use in subsequent phase prompts.
Progressive disclosure: Read references/workflow.md Phase 2 section before constructing the agent prompt.
Launch an agent to analyze the input documents and extract project context.
Agent(model="opus")
Agent prompt must include:
docs/pert-workspace/project-context.mdUser validation checkpoint: present the context analysis for review. The user may request additions or corrections.
Error recovery:
Progressive disclosure: Read references/pmi-methodology.md before constructing agent prompts. For Level A interactions, the agents use this document to explain decomposition decisions and RACI concepts.
Launch two agents in parallel:
Agent(model="opus")
Agent prompt must include:
docs/pert-workspace/project-context.mdreferences/pmi-methodology.md -- specifically sections on WBS, 8/80 rule, rolling wave planning, 100% ruledocs/pert-workspace/wbs-draft.mdAgent(model="sonnet")
Agent prompt must include:
docs/pert-workspace/project-context.mdreferences/interaction-levels.md -- for RBS-specific behavior per leveldocs/pert-workspace/rbs-draft.mdUser validation checkpoint: present both WBS and RBS for review. If the two artifacts are inconsistent (e.g., RBS references phases not in WBS), reconcile before presenting.
Backtrack: if context is incomplete, return to Phase 2 for additions.
Progressive disclosure: Read references/pmi-methodology.md sections on Risk Management and Three-Point Estimation. Read references/interaction-levels.md for phase-specific behavior guidance.
Launch two agents sequentially (Risk Analyst must complete before Estimator begins).
Agent(model="sonnet")
Agent prompt must include:
docs/pert-workspace/project-context.md, docs/pert-workspace/wbs-draft.md, docs/pert-workspace/rbs-draft.mdreferences/pmi-methodology.md -- sections on Risk Identification, P x I Matrix, Response Strategies, Contingency vs Management ReserveManagementReservePct)docs/pert-workspace/risk-register.mdUser validation checkpoint: present risk register for review before proceeding to Estimator.
Agent(model="opus")
Agent prompt must include:
docs/pert-workspace/project-context.md, docs/pert-workspace/wbs-draft.md, docs/pert-workspace/rbs-draft.md, docs/pert-workspace/risk-register.mdreferences/pmi-methodology.md -- sections on Three-Point Estimation (PERT), Calibration Questions, Common Estimation Pitfalls, Statistical Confidence Intervals, Top-Down/Bottom-Up Reconciliationdocs/pert-workspace/estimates-draft.mdUser validation checkpoint: present estimates for review. Include reconciliation analysis (if targets were provided) showing delta and adjustment rationale.
Backtrack: if WBS needs restructuring after estimation (e.g., discovered missing activities), return to Phase 3.
Progressive disclosure: Read references/excel-schema.md before constructing the agent prompt. This is the machine-readable reference for the JSON structure and Excel column/formula schema.
Agent(model="sonnet")
Agent prompt must include:
docs/pert-workspace/project-context.mddocs/pert-workspace/wbs-draft.mddocs/pert-workspace/rbs-draft.mddocs/pert-workspace/risk-register.mddocs/pert-workspace/estimates-draft.mdreferences/excel-schema.md -- the complete JSON input schema and column/formula definitions per sheetreferences/excel-schema.md (config, roles, phases with work_packages and activities, resource_allocation, risks, targets)docs/pert-workspace/excel-input.jsoncd <skill-dir>/scripts && python3 generate_excel.py --input <json_path> --output <output_path>
{OutputDir}/pert-estimate.xlsx (from config)If the Python script fails during execution:
references/excel-schema.md patternsAgent(model="sonnet")
Agent prompt must include:
{OutputDir}/pert-estimate.xlsxreferences/excel-schema.md for expected formula patterns and cross-referencesreferences/template-criteria.md for structural requirements#REF! errors)(O+4M+P)/6 present on every appropriate row(P-O)/6 present where expectedPresent final workbook to user with summary statistics (total phases, activities, PERT effort, PERT duration, CI ranges, number of risks, contingency, adjusted estimate).
Reference documents are loaded ONLY when entering the relevant phase. This keeps agent context fresh and focused.
| Phase | Documents to Read |
|---|---|
| Phase 0 | (none -- in-skill setup) |
| Phase 1 | (none -- in-skill setup) |
| Phase 2 | references/workflow.md Phase 2 section |
| Phase 3 | references/pmi-methodology.md (WBS, 8/80, rolling wave sections) |
| Phase 4 | references/pmi-methodology.md (Risk, PERT, Reconciliation sections) |
| Phase 5 | references/excel-schema.md (full document) |
| Phase 6 | references/excel-schema.md + references/template-criteria.md |
For Level A interactions, additionally read references/interaction-levels.md at the start of each phase to retrieve phase-specific formative behavior guidance.
Never load all reference documents at the beginning of the workflow.
The interaction level is not rigid. Monitor user behavior and adapt per-phase.
| Trigger | Action |
|---|---|
| Level B/C user asks "why?" or "what does X mean?" | Switch to Level A explanations for that topic. Ask: "Would you like me to switch to full guidance mode for this phase?" |
| Level B/C user requests methodology explanation | Provide PMBOK context from references/pmi-methodology.md, offer to stay at Level A |
| Level B/C user expresses uncertainty about estimates | Use calibration questions from references/pmi-methodology.md Section 2 |
| Trigger | Action |
|---|---|
| Level A user consistently responds "ok" / "looks good" without engagement | Suggest: "You seem comfortable -- want me to propose complete artifacts instead of step-by-step?" |
| Level A user modifies estimates confidently | Reduce explanation density |
| User explicitly requests faster pace | Switch to requested level |
Adaptation is per-phase, not global. The agent never downgrades without suggesting it first. The agent may upgrade silently (providing more context when asked) without formally announcing a level change.
Each artifact is produced, validated by the user, and then passed as input to the next phase. The agent working on step N receives only artifacts 1..N-1 to keep context fresh.
| Step | File | Format | Produced by |
|---|---|---|---|
| 1 | docs/pert-workspace/project-context.md | Markdown | Phase 2 (Opus) |
| 2 | docs/pert-workspace/wbs-draft.md | Markdown | Phase 3 (Opus) |
| 3 | docs/pert-workspace/rbs-draft.md | Markdown | Phase 3 (Sonnet) |
| 4 | docs/pert-workspace/risk-register.md | Markdown | Phase 4 (Sonnet) |
| 5 | docs/pert-workspace/estimates-draft.md | Markdown | Phase 4 (Opus) |
| 6 | docs/pert-workspace/excel-input.json | JSON | Phase 5 (Sonnet) |
| 7 | {OutputDir}/pert-estimate.xlsx | Excel | Phase 5 (Script) |
Before considering the estimation complete, verify:
=(O+4M+P)/6 on every appropriate row(P-O)/6 present where expected#REF! errors).md artifacts saved in docs/pert-workspace/Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub mrbogomips/claude-code --plugin project-management