Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Senior Project Manager for enterprise software, SaaS, and digital transformation projects. Specializes in portfolio management, quantitative risk analysis, resource optimization, stakeholder alignment, and executive reporting. Uses advanced methodologies including EMV analysis, Monte Carlo simulation, WSJF prioritization, and multi-dimensional health scoring. Use when a user needs help with project plans, project status reports, risk assessments, resource allocation, project roadmaps, milestone
.claude/skills/alirezarezvani-senior-pm/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | 123% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 149% | 0% |
Strategic project management for enterprise software, SaaS, and digital transformation initiatives. Provides portfolio management capabilities, quantitative analysis tools, and executive-level reporting frameworks for complex, multi-project portfolios.
Portfolio Management & Strategic Alignment
Quantitative Risk Management
Executive Communication & Governance
Tier 1: Portfolio Health Assessment Uses project_health_dashboard.py to provide comprehensive multi-dimensional scoring:
bashpython3 scripts/project_health_dashboard.py assets/sample_project_data.json
Health Dimensions (Weighted Scoring):
RAG Status Calculation:
Tier 2: Risk Matrix & Mitigation Strategy Leverages risk_matrix_analyzer.py for quantitative risk assessment:
bashpython3 scripts/risk_matrix_analyzer.py assets/sample_project_data.json
Risk Quantification Process:
python# EMV and risk-adjusted budget calculation def calculate_emv(risks): category_weights = {"Technical": 1.2, "Resource": 1.1, "Financial": 1.4, "Schedule": 1.0} total_emv = 0 for risk in risks: score = risk["probability"] * risk["impact"] * category_weights[risk["category"]] emv = risk["probability"] * risk["financial_impact"] total_emv += emv risk["score"] = score return total_emv def risk_adjusted_budget(base_budget, portfolio_risk_score, risk_tolerance_factor): risk_premium = portfolio_risk_score * risk_tolerance_factor return base_budget * (1 + risk_premium)
Risk Response Strategies (by score threshold):
Tier 3: Resource Capacity Optimization Employs resource_capacity_planner.py for portfolio resource analysis:
bashpython3 scripts/resource_capacity_planner.py assets/sample_project_data.json
Capacity Analysis Framework:
Apply each model in the specific context where it provides the most signal:
Weighted Shortest Job First (WSJF) — Resource-constrained agile portfolios with quantifiable cost-of-delay
pythondef wsjf(user_value, time_criticality, risk_reduction, job_size): return (user_value + time_criticality + risk_reduction) / job_size
RICE — Customer-facing initiatives where reach metrics are quantifiable
pythondef rice(reach, impact, confidence_pct, effort_person_months): return (reach * impact * (confidence_pct / 100)) / effort_person_months
ICE — Rapid prioritization during brainstorming or when analysis time is limited
pythondef ice(impact, confidence, ease): return (impact + confidence + ease) / 3
Model Selection — Use this decision logic:
if resource_constrained and agile_methodology and cost_of_delay_quantifiable:
→ WSJF
elif customer_facing and reach_metrics_available:
→ RICE
elif quick_prioritization_needed or ideation_phase:
→ ICE
elif multiple_stakeholder_groups_with_differing_priorities:
→ MoSCoW
elif complex_tradeoffs_across_incommensurable_criteria:
→ Multi-Criteria Decision Analysis (MCDA)Reference: references/portfolio-prioritization-models.md
Reference: references/risk-management-framework.md
Step 1: Risk Classification by Category
Step 2: Three-Point Estimation for Monte Carlo Inputs
pythondef three_point_estimate(optimistic, most_likely, pessimistic): expected = (optimistic + 4 * most_likely + pessimistic) / 6 std_dev = (pessimistic - optimistic) / 6 return expected, std_dev
Step 3: Portfolio Risk Correlation
pythonimport math def portfolio_risk(individual_risks, correlations): # individual_risks: list of risk EMV values # correlations: list of (i, j, corr_coefficient) tuples sum_sq = sum(r**2 for r in individual_risks) sum_corr = sum(2 * c * individual_risks[i] * individual_risks[j] for i, j, c in correlations) return math.sqrt(sum_sq + sum_corr)
Risk Appetite Framework:
Reference: assets/project_charter_template.md
Comprehensive 12-section charter including:
Reference: assets/executive_report_template.md
Board-level portfolio reporting with:
Reference: assets/raci_matrix_template.md
Enterprise-grade responsibility assignment featuring:
Reference: assets/sample_project_data.json
Realistic multi-project portfolio including:
Reference: assets/expected_output.json
Demonstrates script capabilities with:
bash python3 scripts/project_health_dashboard.py current_portfolio.json ⚠️ If any project composite score <60 or a critical data field is missing, STOP and resolve data integrity issues before proceeding.
bash python3 scripts/risk_matrix_analyzer.py current_portfolio.json ⚠️ If any risk score >18 (Avoid threshold), STOP and initiate escalation to project sponsor before proceeding.
bash python3 scripts/resource_capacity_planner.py current_portfolio.json ⚠️ If any team utilization >90% or <60%, flag for immediate reallocation discussion before step 4.
Context Transfer:
Ongoing Collaboration:
Strategic Context:
Decision Support:
Strategic Direction:
Performance Expectations:
Reference: references/portfolio-kpis.md for full definitions and measurement guidance.
product-team/product-strategist/) — Product OKRs align with portfolio objectivesproject-management/scrum-master/) — Sprint velocity data feeds project health dashboards| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | pass→pass | 11,116 | 4,010 | -64% | 1 | 1 | 0% | 1,931 | 4,128 | +114% | 0 | 0 | — |
case-16 | fail→pass | 9,863 | 2,809 | -72% | 1 | 1 | 0% | 1,725 | 3,850 | +123% | 0 | 0 | — |
case-17 | pass→pass | 3,885 | 4,675 | +20% | 1 | 1 | 0% | 833 | 4,322 | +419% | 0 | 0 | — |
case-18 | pass→pass | 2,644 | 2,439 | -8% | 1 | 1 | 0% | 589 | 3,866 | +556% | 0 | 0 | — |
case-19 | fail→pass | 13,541 | 6,830 | -50% | 1 | 1 | 0% | 2,249 | 4,504 | +100% | 0 | 0 | — |
case-20 | pass→pass | 18,040 | 16,472 | -9% | 1 | 1 | 0% | 3,187 | 6,415 | +101% | 0 | 0 | — |
case-21 | pass→pass | 13,345 | 17,966 | +35% | 1 | 1 | 0% | 2,448 | 6,472 | +164% | 0 | 0 | — |
case-22 | pass→pass | 6,199 | 9,276 | +50% | 1 | 1 | 0% | 1,529 | 5,295 | +246% | 0 | 0 | — |
case-23 | pass→pass | 11,416 | 12,614 | +10% | 1 | 1 | 0% | 2,185 | 5,694 | +161% | 0 | 0 | — |
case-01 | fail→pass | 28,017 | 30,635 | +9% | 1 | 1 | 0% | 6,093 | 9,631 | +58% | 0 | 0 | — |
case-02 | fail→pass | 12,472 | 6,862 | -45% | 1 | 1 | 0% | 2,379 | 4,833 | +103% | 0 | 0 | — |
case-03 | fail→pass | 9,753 | 6,889 | -29% | 1 | 1 | 0% | 1,875 | 4,662 | +149% | 0 | 0 | — |
case-04 | pass→pass | 10,991 | 9,071 | -17% | 1 | 1 | 0% | 1,817 | 5,334 | +194% | 0 | 0 | — |
case-05 | fail→pass | 7,575 | 4,873 | -36% | 1 | 1 | 0% | 1,411 | 4,301 | +205% | 0 | 0 | — |
case-06 | fail→pass | 15,066 | 8,248 | -45% | 1 | 1 | 0% | 2,537 | 4,935 | +95% | 0 | 0 | — |
case-07 | pass→pass | 12,132 | 11,943 | -2% | 1 | 1 | 0% | 2,118 | 5,605 | +165% | 0 | 0 | — |
case-08 | pass→pass | 5,376 | 5,277 | -2% | 1 | 1 | 0% | 1,105 | 4,514 | +309% | 0 | 0 | — |
case-09 | fail→pass | 9,692 | 5,039 | -48% | 1 | 1 | 0% | 1,577 | 4,223 | +168% | 0 | 0 | — |
case-10 | fail→pass | 8,674 | 2,857 | -67% | 1 | 1 | 0% | 1,493 | 3,932 | +163% | 0 | 0 | — |
case-11 | pass→pass | 11,897 | 7,194 | -40% | 1 | 1 | 0% | 1,858 | 4,623 | +149% | 0 | 0 | — |
case-12 | pass→pass | 8,140 | 4,669 | -43% | 1 | 1 | 0% | 1,312 | 4,219 | +222% | 0 | 0 | — |
case-13 | pass→pass | 10,734 | 3,652 | -66% | 1 | 1 | 0% | 2,292 | 4,199 | +83% | 0 | 0 | — |
case-14 | pass→pass | 9,674 | 10,765 | +11% | 1 | 1 | 0% | 1,854 | 5,321 | +187% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +39 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.