vpe-review

$npx mdskill add alirezarezvani/claude-skills/vpe-review

**Command:** `/c-level-agents:vpe-review <plan>`

SKILL.md

.github/skills/vpe-reviewView on GitHub ↗
---
name: "vpe-review"
description: "Challenge a plan on delivery speed, eng hiring, team structure or on-call. Use when asked or /c-level-agents:vpe-review."
---

# /c-level-agents:vpe-review — VPE Forcing Questions

**Command:** `/c-level-agents:vpe-review <plan>`

The throughput-first VPE pressure-tests any plan touching eng operations. Six questions before any delivery commitment, eng hiring expansion, team restructure, or production-discipline change.

## When to Run

- Before quarterly delivery commitment (sprint planning, OKR review)
- Before approving an eng hiring plan
- Before restructuring eng teams (splitting/merging squads, adding tribes)
- Before deciding whether to hire a VPE separately from CTO (or merge them)
- When production incidents are increasing
- When sprint velocity is dropping but everyone says "we're working hard"

## The Six VPE Questions

### 1. What's the cycle time, and where does work wait?
**No DORA, no diagnosis.**
- Lead Time for Changes is the single best health metric
- If you can't decompose cycle time into stages, you can't fix the bottleneck
- Run `delivery_throughput_analyzer.py`

### 2. What's the DORA performance level on all 4 metrics?
**One Elite metric and three Lows = bad. Four Highs = healthy.**
- Deployment Frequency, Lead Time, MTTR, Change Failure Rate
- The worst metric defines overall level
- Fix lead time first; everything else follows

### 3. Where is the hiring funnel leaking?
**"Can't find good engineers" is wrong.**
- Specific stage is over-filtering OR top-of-funnel volume is too low OR offer-to-accept is broken
- Run `eng_hiring_funnel_calculator.py`
- If offer-to-accept < 70%, comp is below market or close discipline is weak

### 4. Is the team structure healthy for the headcount?
**5-9 ICs per squad; 5-8 ICs per EM; 4-6 EMs per director.**
- Run `eng_team_structure_designer.py`
- Manager-trigger fires when 5+ ICs have no dedicated EM
- Director-trigger fires when 3+ EMs report directly to VPE/CTO

### 5. What's the production discipline maturity?
**Level 1-5; aim for Level 3 at growth stage.**
- On-call rotation ≥ 6 people
- Severity-defined incident response with blameless postmortems
- SLOs on customer-facing services (pair with `engineering/slo-architect/`)
- Continuous deployment OR scheduled — not "usually one, sometimes the other"

### 6. Are we adding a VPE separately, or is CTO doing both?
**If CTO is spending > 50% on management vs strategy, VPE is needed.**
- Or: VPE complement when CTO is co-founder more comfortable with strategy
- VPE owns operating model; CTO owns architecture
- At small scale (< 20 eng), one person can do both

## Workflow

```bash
# 1. Delivery throughput
python ${CLAUDE_PLUGIN_ROOT}/vendor/c-level-advisor/vpe-advisor/scripts/delivery_throughput_analyzer.py sprint_metrics.json

# 2. Hiring funnel
python ${CLAUDE_PLUGIN_ROOT}/vendor/c-level-advisor/vpe-advisor/scripts/eng_hiring_funnel_calculator.py funnel.json

# 3. Team structure
python ${CLAUDE_PLUGIN_ROOT}/vendor/c-level-advisor/vpe-advisor/scripts/eng_team_structure_designer.py team.json
```

## Output Format

```markdown
# VPE Review: <plan>
**Date:** YYYY-MM-DD

## The Decision Being Made
[throughput | hiring | structure | production | VPE-vs-CTO]

## Delivery Throughput (if applicable)
- DORA overall: Elite / High / Medium / Low
- Worst metric: <DF | LT | MTTR | FR>
- Bottleneck: <stage> (X% of cycle time)
- Top fix: <action + owner>

## Hiring Funnel (if applicable)
- End-to-end conversion: X%
- Weakest stage: <stage>
- Pipeline gap: +N candidates needed
- Top fix: <specific action>

## Team Structure (if applicable)
- Recommended: <informal pods / squads / tribes>
- Manager trigger fired: yes/no
- Director trigger fired: yes/no
- Action: <hire EM | hire director | split squad>

## Production Discipline (if applicable)
- Current maturity level: 1-5
- Next practice to add: <specific>
- SLO coverage: X / Y services

## Verdict
🟢 SHIP | 🟡 SHARPEN | 🔴 BLOCK

## Next Steps
[3 concrete actions]
```

## Routing

- `/c-level-agents:cto-review` — for architectural causes of throughput problems
- `cs-chro-advisor` agent — for hiring funnel comp/leveling issues
- `/c-level-agents:cfo-review` — for cost-per-hire envelope and eng budget
- `/c-level-agents:ciso-review` — for production discipline + compliance overlap
- `/c-level-agents:decide` — log the verdict
- `/c-level-agents:freeze 30` — on multi-year hiring commitments

## Related

- Agent: [`cs-vpe-advisor`](../../agents/cs-vpe-advisor.md)
- Skill: [`vpe-advisor`](${CLAUDE_PLUGIN_ROOT}/vendor/c-level-advisor/vpe-advisor/SKILL.md)
- Adjacent: `../../../engineering/slo-architect/`, `../../../engineering/feature-flags-architect/`, `../../../engineering/chaos-engineering/`

---

**Version:** 1.0.0

More from alirezarezvani/claude-skills

SkillDescription
a11y-auditUse for any accessibility audit or a11y fix (WCAG 2.2 A/AA, color contrast, compliance report, CI check) in React, Next.js, Vue, Angular, Svelte or HTML. Scans with a11y_scanner.py and checks contrast with contrast_checker.py, then fixes and re-verifies.
ab-test-setupUse before planning or launching any A/B, split or multivariate test, or when asked if a result is significant. Sizes the test with sample_size_calculator.py and writes the hypothesis, metric and stop rule first, so it is not called early on noise.
access-lifecycleUse when preparing or running a user access review, checking that leavers lost their access, finding orphaned or ownerless service accounts, answering an auditor's access-control request for SOC 2, ISO 27001, PCI DSS, HIPAA or NIST 800-53, or checking whether a finished review campaign will hold up. Diffs the HR roster against account exports, tests the campaign for coverage, self-review, unremoved revokes and rubber-stamping, and maps every exception to the controls it breaks.
ad-creativeUse for any ad copy request (RSA headlines, Meta, LinkedIn or TikTok ads, bulk variations), before writing. Checks every line against platform character limits and policy with ad_copy_validator.py. Campaign strategy and budgets: paid-ads.
adversarial-reviewerTough, critical review of a diff or PR before merge, through hostile reviewer personas that catch shared blind spots. Use whenever the user wants a change torn apart, a harsh second opinion, or a self-review felt too agreeable.
aeoUse when content should be cited by ChatGPT, Perplexity, Claude or Gemini (answer engine optimization), before rewriting it. Scores E-E-A-T and structure with aeo_audit.py, rewrites with aeo_optimizer.py and logs citations with citation_tracker.py.
agent-decision-receiptsUse when an autonomous agent takes a side-effecting action (deploy, delete, pay, grant access) that may need proving later, or for EU AI Act Art. 12 record-keeping. Builds a tamper-evident signed receipt with build_action_manifest.py and verifies it.
agent-designerDesign multi-agent systems (supervisor, swarm, pipeline) and tool schemas; find bottlenecks in run logs. Use whenever agents split work or a run is slow or costly. Not for Claude Code workflow files (workflow-builder).
agent-harnessUse when an agent should drive a goal in one of this repo's domains to a verified close, before starting the work. Compiles the goal into a task plan with goal_compiler.py and runs it through loop_controller.py, which verifies each task, caps retries and escalates.
agent-launcher-orchestratorUse when someone wants to build, launch, grade or schedule a Claude Managed Agent in their own Anthropic account ('build me an agent', 'run this nightly'). Reads the session goal, routes with goal_router.py and compiles the loop with loop_compiler.py.