borghei/product-strategist
> Strategic product leadership toolkit for Head of Product including OKR cascade generation, market analysis, vision setting, and team scaling. Use for strategic planning, goal alignment, competitive analysis, and organizational design.
npx skills add https://github.com/borghei/Claude-Skills --skill product-strategist
Strategic toolkit for Head of Product to drive vision, alignment, and organizational excellence.
Before generating the OKRs or analysis, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
# Growth strategy with default teams
python scripts/okr_cascade_generator.py growth
# Retention strategy with custom teams
python scripts/okr_cascade_generator.py retention --teams "Engineering,Design,Data"
# Revenue strategy with 40% product contribution
python scripts/okr_cascade_generator.py revenue --contribution 0.4
# Export as JSON for integration
python scripts/okr_cascade_generator.py growth --json > okrs.json
| Capability | Description | Tool |
|------------|-------------|------|
| OKR Cascade | Generate aligned OKRs from company to team level | okr_cascade_generator.py |
| Alignment Scoring | Measure vertical and horizontal alignment | Built into generator |
| Strategy Templates | 5 pre-built strategy types | Growth, Retention, Revenue, Innovation, Operational |
| Team Configuration | Customize for your org structure | --teams flag |
A step-by-step guide for running a quarterly strategic planning session.
Choose the primary strategy type based on company priorities:
| Strategy | When to Use |
|----------|-------------|
| Growth | Scaling user base, market expansion |
| Retention | Reducing churn, improving LTV |
| Revenue | Increasing ARPU, new monetization |
| Innovation | Market differentiation, new capabilities |
| Operational | Improving efficiency, scaling operations |
See references/strategy_types.md for detailed guidance on each strategy.
Collect current state metrics to inform OKR targets:
# Example metrics JSON
{
"current": 100000, # Current MAU
"target": 150000, # Target MAU
"current_nps": 40, # Current NPS
"target_nps": 60 # Target NPS
}
Define the teams that will receive cascaded OKRs:
# Default teams
python scripts/okr_cascade_generator.py growth
# Custom teams for your organization
python scripts/okr_cascade_generator.py growth --teams "Core,Platform,Mobile,AI"
Run the generator to create aligned OKRs:
python scripts/okr_cascade_generator.py growth --contribution 0.3
Check the alignment scores in the output:
| Score | Target | Action |
|-------|--------|--------|
| Vertical Alignment | >90% | Ensure all objectives link to parent |
| Horizontal Alignment | >75% | Check for team coordination |
| Coverage | >80% | Validate all company OKRs are addressed |
| Balance | >80% | Redistribute if one team is overloaded |
| Overall | >80% | Good alignment; <60% needs restructuring |
Before finalizing:
Export OKRs for your tracking system:
# JSON for tools like Lattice, Ally, Workboard
python scripts/okr_cascade_generator.py growth --json > q1_okrs.json
Evaluate macro-environment forces that impact product strategy. PESTEL is a decision lens, not a checklist -- use it to inform roadmap decisions, identify threats before they materialize, and spot opportunities competitors miss.
## PESTEL Analysis
**Product/Company:** [Name]
**Analysis Purpose:** [Decision this analysis informs]
**Time Horizon:** [e.g., 12 months, 3 years]
**Geography/Scope:** [e.g., US, EU, Global]
### 1. Political Factors
| Factor | Impact | Opp/Threat | Product Implication |
|---|---|---|---|
| Government policies | | | |
| Political stability | | | |
| Trade regulations | | | |
| Taxation policy | | | |
### 2. Economic Factors
| Factor | Impact | Opp/Threat | Product Implication |
|---|---|---|---|
| Economic growth | | | |
| Inflation rate | | | |
| Exchange rates | | | |
| Consumer spending | | | |
### 3. Social Factors
| Factor | Impact | Opp/Threat | Product Implication |
|---|---|---|---|
| Demographics | | | |
| Cultural trends | | | |
| Lifestyle changes | | | |
| Consumer attitudes | | | |
### 4. Technological Factors
| Factor | Impact | Opp/Threat | Product Implication |
|---|---|---|---|
| Tech advancements | | | |
| R&D activity | | | |
| Automation | | | |
| Digital transformation | | | |
### 5. Environmental Factors
| Factor | Impact | Opp/Threat | Product Implication |
|---|---|---|---|
| Climate change | | | |
| Sustainability | | | |
| Resource scarcity | | | |
| Environmental regs | | | |
### 6. Legal Factors
| Factor | Impact | Opp/Threat | Product Implication |
|---|---|---|---|
| Compliance requirements | | | |
| IP rights | | | |
| Employment laws | | | |
| Health & safety regs | | | |
### Strategic Synthesis
- **Top 3 Opportunities:** [List]
- **Top 3 Threats:** [List]
- **Strategic Implications for Product:** [List]
### Assumptions to Validate
- [Assumption 1]
- [Assumption 2]
Estimate market size for product opportunities using Total Addressable Market, Serviceable Available Market, and Serviceable Obtainable Market analysis.
Describe the problem your product solves. Be specific about the job-to-be-done, not the product category.
Specify the geographic region (e.g., US, Europe, Global) and relevant data sources:
| Region | Primary Data Sources |
|---|---|
| US | Census Bureau, BLS, industry trade orgs |
| Europe | Eurostat, local statistical agencies |
| Global | World Bank, IMF, global industry reports |
What specific industry or market segments does this problem relate to?
Who are the potential customers? Define by problem characteristics, not demographics.
## Market Sizing Analysis
**Problem Space:** [Description]
**Geographic Region:** [Scope]
**Industry Segments:** [Relevant segments]
**Customer Profile:** [Who is affected]
### Total Addressable Market (TAM)
- **Description:** The total market demand for the problem space
- **Population Estimate:** [Number of potential users/organizations]
- **Market Size Estimate:** $[Annual revenue opportunity]
- **Methodology:** [Top-down from industry reports / Bottom-up from customer count]
- **Data Sources:** [List sources]
### Serviceable Available Market (SAM)
- **Segment of TAM:** [The portion you can realistically serve]
- **Filters Applied:** [Geography, segment, capability constraints]
- **Population Estimate:** [Number]
- **Market Size Estimate:** $[Amount]
- **SAM as % of TAM:** [Percentage]
### Serviceable Obtainable Market (SOM)
- **Realistically Capturable:** [What you can win in 1-3 years]
- **Competitive Position:** [Your share vs. alternatives]
- **Population Estimate:** [Number]
- **Market Size Estimate:** $[Amount]
- **SOM as % of SAM:** [Percentage]
### Assumptions & Risks
- [Key assumption about market size]
- [Key assumption about capture rate]
- [Risk that could shrink the market]
Automatically cascades company OKRs down to product and team levels with alignment tracking.
python scripts/okr_cascade_generator.py [strategy] [options]
Strategies:
growth - User acquisition and market expansionretention - Customer value and churn reductionrevenue - Revenue growth and monetizationinnovation - Product differentiation and leadershipoperational - Efficiency and organizational excellence| Option | Description | Default |
|--------|-------------|---------|
| --teams, -t | Comma-separated team names | Growth,Platform,Mobile,Data |
| --contribution, -c | Product contribution to company OKRs (0-1) | 0.3 (30%) |
| --json, -j | Output as JSON instead of dashboard | False |
| --metrics, -m | Metrics as JSON string | Sample metrics |
Examples:
# Custom teams
python scripts/okr_cascade_generator.py retention \
--teams "Engineering,Design,Data,Growth"
# Higher product contribution
python scripts/okr_cascade_generator.py revenue --contribution 0.4
# Full customization
python scripts/okr_cascade_generator.py innovation \
--teams "Core,Platform,ML" \
--contribution 0.5 \
--json
Command:
python scripts/okr_cascade_generator.py growth
Output:
============================================================
OKR CASCADE DASHBOARD
Quarter: Q1 2025
Strategy: GROWTH
Teams: Growth, Platform, Mobile, Data
Product Contribution: 30%
============================================================
🏢 COMPANY OKRS
📌 CO-1: Accelerate user acquisition and market expansion
└─ CO-1-KR1: Increase MAU from 100000 to 150000
└─ CO-1-KR2: Achieve 150000% MoM growth rate
└─ CO-1-KR3: Expand to 150000 new markets
📌 CO-2: Achieve product-market fit in new segments
└─ CO-2-KR1: Reduce CAC by 150000%
└─ CO-2-KR2: Improve activation rate to 150000%
└─ CO-2-KR3: Increase MAU from 100000 to 150000
📌 CO-3: Build sustainable growth engine
└─ CO-3-KR1: Achieve 150000% MoM growth rate
└─ CO-3-KR2: Expand to 150000 new markets
└─ CO-3-KR3: Reduce CAC by 150000%
🚀 PRODUCT OKRS
📌 PO-1: Build viral product features and market expansion
↳ Supports: CO-1
└─ PO-1-KR1: Increase product MAU from 100000 to 45000.0
└─ PO-1-KR2: Achieve 45000.0% feature adoption rate
📌 PO-2: Validate product hypotheses in new segments
↳ Supports: CO-2
└─ PO-2-KR1: Reduce product onboarding efficiency by 45000.0%
└─ PO-2-KR2: Improve activation rate to 45000.0%
📌 PO-3: Create product-led growth loops engine
↳ Supports: CO-3
└─ PO-3-KR1: Achieve 45000.0% feature adoption rate
└─ PO-3-KR2: Expand to 45000.0 new markets
👥 TEAM OKRS
Growth Team:
📌 GRO-1: Build viral product features through acquisition and activation
└─ GRO-1-KR1: [Growth] Increase product MAU from 100000 to 11250.0
└─ GRO-1-KR2: [Growth] Achieve 11250.0% feature adoption rate
Platform Team:
📌 PLA-1: Build viral product features through infrastructure and reliability
└─ PLA-1-KR1: [Platform] Increase product MAU from 100000 to 11250.0
└─ PLA-1-KR2: [Platform] Achieve 11250.0% feature adoption rate
📊 ALIGNMENT MATRIX
Company → Product → Teams
----------------------------------------
CO-1
├─ PO-1
└─ GRO-1 (Growth)
└─ PLA-1 (Platform)
CO-2
├─ PO-2
CO-3
├─ PO-3
🎯 ALIGNMENT SCORES
----------------------------------------
✓ Vertical Alignment: 100.0%
! Horizontal Alignment: 75.0%
✓ Coverage: 100.0%
✓ Balance: 97.5%
✓ Overall: 94.0%
✅ Overall alignment is GOOD (≥80%)
Command:
python scripts/okr_cascade_generator.py retention --json
Output (truncated):
{
"quarter": "Q1 2025",
"strategy": "retention",
"company": {
"level": "Company",
"objectives": [
{
"id": "CO-1",
"title": "Create lasting customer value and loyalty",
"owner": "CEO",
"key_results": [
{
"id": "CO-1-KR1",
"title": "Improve retention from 100000% to 150000%",
"current": 100000,
"target": 150000
}
]
}
]
},
"product": {
"level": "Product",
"contribution": 0.3,
"objectives": [...]
},
"teams": [...],
"alignment_scores": {
"vertical_alignment": 100.0,
"horizontal_alignment": 75.0,
"coverage": 100.0,
"balance": 97.5,
"overall": 94.0
},
"config": {
"teams": ["Growth", "Platform", "Mobile", "Data"],
"product_contribution": 0.3
}
}
See references/examples/sample_growth_okrs.json for a complete example.
| Document | Description |
|----------|-------------|
| references/okr_framework.md | OKR methodology, writing guidelines, alignment scoring |
| references/strategy_types.md | Detailed breakdown of all 5 strategy types with examples |
| references/examples/sample_growth_okrs.json | Complete sample output for growth strategy |
# Common commands
python scripts/okr_cascade_generator.py growth # Default growth
python scripts/okr_cascade_generator.py retention # Retention focus
python scripts/okr_cascade_generator.py revenue -c 0.4 # 40% contribution
python scripts/okr_cascade_generator.py growth --json # JSON export
python scripts/okr_cascade_generator.py growth -t "A,B,C" # Custom teams
Generates aligned OKRs from company strategy down to product and team levels with alignment scoring.
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| strategy | positional | growth | Strategy type: growth, retention, revenue, innovation, operational |
| --teams, -t | string | Growth,Platform,Mobile,Data | Comma-separated team names |
| --contribution, -c | float | 0.3 | Product contribution to company OKRs (0-1) |
| --json, -j | flag | False | Output as JSON instead of dashboard |
| --metrics, -m | string | sample metrics | Metrics as JSON string |
Alignment scores generated:
python scripts/okr_cascade_generator.py growth
python scripts/okr_cascade_generator.py retention --teams "Engineering,Design,Data,Growth"
python scripts/okr_cascade_generator.py revenue --contribution 0.4 --json
python scripts/okr_cascade_generator.py innovation --metrics '{"current": 50000, "target": 100000}'
| Problem | Cause | Solution |
|---------|-------|----------|
| Overall alignment score <60% | Too many orphaned objectives without parent link | Reduce objective count; ensure every product OKR maps to a company OKR |
| Horizontal alignment low | Teams working on isolated goals | Identify shared objectives; add cross-team key results |
| Balance score low | One team overloaded with objectives | Redistribute objectives; adjust team contribution percentages |
| Key results not measurable | Template uses vague language | Replace every KR with specific current/target numbers and timeframe |
| Contribution percentage unrealistic | Product team cannot own 50%+ of company KR | Calibrate with other functions (sales, marketing); 25-35% is typical |
| Teams report OKR fatigue | Too many objectives per team | Limit to 3 objectives and 3-5 key results per team per quarter |
| OKRs disconnected from daily work | Sprint work not mapped to OKRs | Link every epic/story to a team-level key result |
| Criterion | Target | How to Measure |
|-----------|--------|----------------|
| Overall alignment score | >80% | okr_cascade_generator alignment output |
| OKR completion rate | >70% of KRs hit target | End-of-quarter KR progress review |
| Cascade coverage | 100% of company OKRs have product children | Coverage score in alignment output |
| Planning velocity | <4 hours from strategy to team OKRs | Time from generator run to stakeholder approval |
| Quarterly check-in cadence | Bi-weekly progress reviews | Count of check-in meetings held |
| OKR quality | All KRs have current + target values | Audit key results for measurability |
| Team buy-in | >80% of teams confirm OKR relevance | Survey after OKR rollout |
In scope:
Out of scope:
| Tool / Platform | Integration Method | Use Case |
|-----------------|-------------------|----------|
| Lattice / Ally / Workboard | --json export | Import OKRs into tracking platform |
| Notion / Confluence | Human-readable dashboard output | Document quarterly OKRs for team access |
| Google Sheets | JSON-to-spreadsheet conversion | Executive OKR summary |
| product-manager-toolkit | OKRs inform RICE reach/impact values | Connect objectives to feature prioritization |
| agile-product-owner | Team OKRs guide epic selection | Sprint planning aligned with quarterly goals |
| Slack | Dashboard output summary | Async OKR rollout communication |
Take borghei/product-strategist from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.