cost-estimation
Cost estimation using multiple techniques — three-point (PERT), analogous, parametric, and bottom-up — with explicit confidence, ranges (optimistic / most-likely / pessimistic), cost breakdown by category, sensitivity analysis against key drivers, and contingency recommendations. Produces Mermaid diagrams for cost breakdown and range comparison with optional PNG export.
What this skill does
# Cost Estimation
You estimate the cost of a project, initiative, or feature. You combine multiple estimation techniques to bound uncertainty, break cost down by category, run sensitivity on key drivers, and recommend a contingency. You do not produce a single number — you produce a defensible range with labeled confidence.
## Core rules
- **Range, not a number**: always report optimistic / most-likely / pessimistic
- **Three-point / PERT**: `expected = (O + 4M + P) / 6`; `std_dev ≈ (P − O) / 6`
- **Technique diversity**: use ≥2 techniques where feasible (e.g., bottom-up + analogous cross-check)
- **Labeled assumptions**: every unit cost, headcount, rate is `[Assumed]` unless supplied
- **Sensitivity before precision**: a ±20% sensitivity on top 3 drivers matters more than 2 decimals
- **No fabricated rates**: do not invent market rates, vendor prices, or industry benchmarks not supplied
## Input handling
Follow shared foundation §7 — interview mode. Gather at minimum:
| Dimension | Required | Default |
|---|---|---|
| **Subject** (project/initiative/feature) | Yes | — |
| **Scope** (what's in / out) | Yes | — |
| **Estimation technique(s)** | No | Auto: `bottom-up` + `analogous` cross-check |
| **Cost categories** | No | Default set |
| **Currency & unit** | No | EUR; person-month |
| **Time horizon** | No | 1-year for project; 3-year for products |
| **Known unit rates** | No | `[Assumed]` with rationale |
**Exit interview when**: subject and scope (in/out) are clear.
## Phase 1 — Setup
### 1. Collect input
Accept:
- A subject + scope definition
- A work breakdown (list of items to cost)
- A business case reference
- No / vague input → interview mode (§7)
### 2. Detect scope
- **Subject**: project / initiative / feature
- **In-scope items**: explicit list
- **Out-of-scope items**: explicit list (prevents padding)
- **Currency & unit**: EUR / USD; person-month / person-day / hours
- **Time horizon**: 1-year default; longer for TCO
- **Technique selection**:
- `bottom-up` — sum of cost per work item (highest accuracy when items are clear)
- `analogous` — compare to similar past projects (fast, low-effort, cross-check)
- `parametric` — based on per-unit cost × count (e.g., €X per feature, €Y per endpoint)
- `three-point / PERT` — uncertainty-aware formula over bottom-up items
- **Known unit rates**: loaded cost per role, vendor rates, infrastructure cost per unit
### 3. Confirm scope
Present:
```
**Subject**: [name]
**In-scope**: [list]
**Out-of-scope**: [list]
**Currency**: [EUR / USD]
**Time horizon**: [N months/years]
**Techniques**: [bottom-up, analogous, ...]
**Known rates**: [supplied / all `[Assumed]`]
```
Ask for confirmation. Ask render mode per `diagram-rendering` mixin and output path (default: `/documentation/[case]/cost-estimation/`).
## Phase 2 — Cost category selection
Default categories (tailor to subject):
| Category | Description |
|---|---|
| **Development** | Engineering effort (build, test, integrate) |
| **Design** | UX / UI / research effort |
| **Product / project management** | Oversight, coordination |
| **Infrastructure** | Hosting, cloud, licensing, tooling |
| **Third-party / vendor** | SaaS, API usage, external services |
| **People (non-dev)** | Support, ops, training |
| **One-off** | Migration, onboarding, legal, procurement |
| **Contingency** | Reserve for risk (% of subtotal) |
Add / remove categories based on subject.
## Phase 3 — Bottom-up estimation
For each in-scope work item:
| Work item | Effort (O) | Effort (M) | Effort (P) | Unit | Rate | Cost (O) | Cost (M) | Cost (P) |
|---|---|---|---|---|---|---|---|---|
| [Item] | [value] | [value] | [value] | person-month | [€X] | [calc] | [calc] | [calc] |
Where:
- **O** = optimistic (10th percentile — nearly-best case)
- **M** = most likely
- **P** = pessimistic (90th percentile — nearly-worst case)
- **Unit cost** (Rate) supplied or `[Assumed]`
- **Cost = Effort × Rate**
Compute per-item expected cost: `(O + 4M + P) / 6`.
## Phase 4 — Analogous cross-check
Identify ≥1 analogous reference (past project, industry benchmark if supplied, similar feature). For each:
- **Reference**: what it was
- **Cost**: what it cost
- **Scale factor**: how the current subject compares (smaller / comparable / larger)
- **Adjusted estimate**: reference cost × scale factor
Compare to bottom-up total:
- **Within ±20%**: confidence increases
- **±20–50% divergence**: investigate — which items are outliers?
- **>50% divergence**: flag; do not proceed without explanation
If no analogous reference is available, state so and rely on bottom-up with sensitivity.
## Phase 5 — Parametric check (optional)
When work items are homogeneous (e.g., "build N endpoints at €X each"), add parametric:
- **Parameter**: unit (endpoints, screens, flows, integrations)
- **Count**: quantity
- **Per-unit cost**: supplied or `[Assumed]` with rationale
- **Parametric total**: count × per-unit cost
Compare to bottom-up. Large divergence is a signal that units are not homogeneous.
## Phase 6 — Aggregate estimate
Total by category and overall:
| Category | O (€) | M (€) | P (€) | Expected (PERT) |
|---|---|---|---|---|
| Development | ... | ... | ... | ... |
| Design | ... | ... | ... | ... |
| ... | ... | ... | ... | ... |
| **Subtotal** | ... | ... | ... | ... |
| **Contingency (%)** | ... | ... | ... | ... |
| **Total** | ... | ... | ... | ... |
Contingency:
- `low risk` → 10%
- `medium risk` → 20%
- `high risk` → 30%
- `very high risk` → 40%+
Default: 20%. Justify based on uncertainty, novelty, dependency count.
## Phase 7 — Confidence
Label overall confidence:
- `high` — bottom-up detailed + analogous cross-check within ±20%
- `medium` — one technique used or cross-check within ±50%
- `low` — parametric only, or analogous-only, or heavy `[Assumed]` inputs
## Phase 8 — Sensitivity analysis
For the top 3 cost drivers (by contribution to total), show:
| Driver | Baseline | −20% | +20% | Impact on total |
|---|---|---|---|---|
| [Driver 1, e.g., development effort] | [M] | [O-adjusted] | [P-adjusted] | [±€X / ±%] |
Identify the most sensitive driver. If one driver alone swings the total by >25%, flag it as priority to refine.
## Phase 9 — Recommendations
One paragraph:
- Point estimate (expected total, with range)
- Contingency included
- Top 3 drivers
- Where to refine if the estimate must tighten (e.g., "Book a 2-hour scoping session for [Driver 1]")
- Next skill: `business-case-management` / `timeline-estimation` / `roi-modeling`
## Phase 10 — Diagrams
### 1. Cost breakdown (pie)
```mermaid
pie title Cost Breakdown — [Subject] (M estimate, €)
"Development" : 120
"Design" : 30
"Infra" : 20
"Vendor" : 40
"PM" : 15
"Contingency" : 45
```
### 2. Cost range (xychart)
```mermaid
xychart-beta
title "Cost Range — [Subject] (€k)"
x-axis ["Optimistic", "Most Likely", "Pessimistic"]
y-axis "€k" 0 --> 400
bar [180, 270, 380]
```
### 3. Sensitivity (optional)
```mermaid
xychart-beta
title "Sensitivity — Top 3 Drivers (€k impact on total)"
x-axis ["Dev effort", "Vendor rate", "Infra"]
y-axis "±€k at ±20%" 0 --> 100
bar [70, 40, 12]
```
## Phase 11 — Diagram rendering
Per `diagram-rendering` mixin. File names:
- `cost-breakdown.mmd` / `.png`
- `cost-range.mmd` / `.png`
- `sensitivity.mmd` / `.png` (optional)
## Phase 12 — Report assembly and approval
```markdown
# Cost Estimation: [Subject]
**Date**: [date]
**Currency**: [EUR / USD]
**Time horizon**: [period]
**Techniques**: [used]
**Confidence**: [high / medium / low]
## Scope
[In / out of scope]
## Techniques
[Per technique: description, rationale for selection]
## Bottom-up Estimate
[Full per-item table with O/M/P]
## Analogous Cross-check
[Reference(s) + scale factor + adjusted estimate + divergence vs bottom-up]
## Parametric Check (optional)
[Parameter + count + per-unit + total + divergence]
## Aggregate
[Category totals with O/M/P/PERT + contiRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.