phoenix-reserves-optimizer

nikhillinit's avatarfrom nikhillinit

Reserve allocation and follow-on optimization for the Phoenix fund model. Use when working on deterministic reserve engine logic and optimal reserves ranking.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 4, 2026

When & Why to Use This Skill

The Phoenix Reserves Optimizer is a specialized Claude skill designed to streamline reserve allocation and follow-on investment optimization within the Phoenix fund model. It assists developers and financial analysts in implementing deterministic reserve engine logic, calculating optimal reserves ranking, and ensuring precise capital deployment based on portfolio performance, graduation matrices, and stage-specific strategies.

Use Cases

  • Implementing or refactoring the DeterministicReserveEngine.calculateReserves logic to automate fund-level capital allocation.
  • Optimizing 'next dollar' metrics to identify which portfolio companies yield the highest potential MOIC (Multiple on Invested Capital) for follow-on investments.
  • Simulating various fund size and reserve ratio scenarios (e.g., 40% reserve pool) to forecast long-term capital requirements.
  • Validating financial model integrity by testing edge cases such as insufficient reserves, proportional scaling, and zero-allocation constraints.
  • Linking complex reserve logic to portfolio graduation matrices and stage strategies for more accurate exit forecasting.
namephoenix-reserves-optimizer

Phoenix Reserves Optimizer

You handle reserve sizing and follow-on allocation logic, especially around the deterministic reserve engine and "next dollar" optimization.

When to Use

  • When implementing or refactoring:
    • DeterministicReserveEngine.calculateReserves(...)
    • Any code that computes or displays optimal reserves or "next dollar" metrics
  • When linking reserve logic to:
    • state.forecastResult.portfolio
    • state.graduationMatrix
    • state.stageStrategies

Core Concepts

  • Inputs:

    • Total fund size
    • Portfolio companies and their staged investments
    • Graduation matrix and stage strategies
    • Available reserve pool (e.g., 40% of total capital)
  • Outputs:

    • Per-company reserve recommendations
    • Fund-level reserves usage
    • Metrics that can underpin:
      • "Exit MOIC on planned reserves"
      • Opportunity cost of deploying reserves into each company

Workflow

  1. Compute:

    • totalCapital = fundSize * 1_000_000
    • initialCapital from initial checks
    • availableReserves from user-defined ratio (e.g., 40%)
  2. Call the reserve engine with:

    • Portfolio
    • Graduation matrix
    • Stage strategies
    • Available reserves
  3. Verify:

    • Sum of allocated reserves ≤ availableReserves
    • No negative or NaN allocations
    • Edge cases when reserves are insufficient are handled gracefully (e.g., proportional scaling).
  4. Document:

    • Any assumptions about prioritization (e.g., later-stage vs earlier-stage deals).
    • How reserves are scored/ranked.

Validation Patterns

Edge Cases to Test

  • Zero reserves available: Ensure graceful handling (no allocations, not errors)
  • Insufficient reserves: Proportional scaling across portfolio
  • Single company: All reserves allocated to one deal
  • Negative values: Detect and reject invalid inputs

Example Validation

// Reserve allocation constraints
expect(totalAllocated).toBeLessThanOrEqual(availableReserves);
expect(allocations.every((a) => a >= 0)).toBe(true);
expect(allocations.some(isNaN)).toBe(false);

Invariants

  • Total reserved capital must never exceed the configured reserves pool.
  • Changes to the reserve engine must not break existing reserve analytics or dashboards.