Agent skill
phoenix-reserves-optimizer
Reserve allocation and follow-on optimization for the Phoenix fund model. Use when working on deterministic reserve engine logic and optimal reserves ranking.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/phoenix-reserves-optimizer-nikhillinit-updog-restore
SKILL.md
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.portfoliostate.graduationMatrixstate.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
-
Compute:
totalCapital = fundSize * 1_000_000initialCapitalfrom initial checksavailableReservesfrom user-defined ratio (e.g., 40%)
-
Call the reserve engine with:
- Portfolio
- Graduation matrix
- Stage strategies
- Available reserves
-
Verify:
- Sum of allocated reserves ≤ availableReserves
- No negative or NaN allocations
- Edge cases when reserves are insufficient are handled gracefully (e.g., proportional scaling).
-
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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?