SKILL.md
Student Loan Strategy Skill
The student-loan question is really an allocation question: the same $400/month can attack the balances (a guaranteed return equal to the weighted APR), sit in investments (a higher assumed return with risk attached), or — on a forgiveness track — do active damage, since extra payments shrink the amount that would have been forgiven. The right answer depends on the APRs, the program, and the person's risk temperament, and the honest move is simulating all three on the actual loans and naming which assumptions carry the conclusion.
What This Skill Produces
- The three-path comparison — attack / minimums-plus-invest / forgiveness-ride, from the script, on the real loans
- The honest framing — guaranteed APR vs. assumed return, stated as the different things they are
- The forgiveness math — what riding costs, what gets discharged, and the extra-payments-hurt-here warning
- The decision sheet — the numbers plus the non-model factors (risk temperament, cash-flow relief, program-trust), position taken
Required Inputs
Ask for these if not provided:
- Every loan — balance, APR, minimum (federal vs. private noted: forgiveness and income-driven options generally attach to federal only — flagged jurisdiction/program-specific)
- The extra amount — the real monthly number in play
- Forgiveness status — on a track (employment-based, income-driven horizon)? Months remaining and the program named; not on one? The branch disappears honestly
- The temperament — how they'd feel about market losses while carrying debt; it's a legitimate input, not noise
Programmatic Helper
python3 scripts/student_loan_strategy.py --loan "grad:38000:6.8:410" --loan "undergrad:12000:4.5:130" --extra 400
python3 scripts/student_loan_strategy.py --loan "fed:52000:6.2:560" --extra 300 --forgiveness-months 84 --json
Deterministic. Attack = avalanche; invest = extra compounding at the assumed return until natural payoff; forgiveness = minimums to the horizon with the remainder shown as discharged (program rules verify-required).
