Skip to content
Back to skills

Fpa Portfolio Learn

ASecurity

Use when you run FP&A for several clients and want your practice to compound - mines patterns that generalize across your same-type clients, validates them by leave-one-out cross-client backtesting, and promotes ratified priors and skills into a local library that seeds every new client. All local; nothing leaves your machine.

  • 6 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
businessrailstesting

Works with

  • cli

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add JeffBrines/openfpa --skill fpa-portfolio-learn --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fpa Portfolio Learn?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fpa Portfolio Learn
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeffbrines-fpa-portfolio-learn/badge)](https://www.skillsdirectory.com/skills/jeffbrines-fpa-portfolio-learn)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fpa-portfolio-learn
description: Use when you run FP&A for several clients and want your practice to compound - mines patterns that generalize across your same-type clients, validates them by leave-one-out cross-client backtesting, and promotes ratified priors and skills into a local library that seeds every new client. All local; nothing leaves your machine.
---

# Portfolio Learn (Loop B)

## Overview

Loop A makes the model better at one client. This makes your *practice* compound:
client #10 starts smarter than client #1 because your library carries what generalized
across #1–9. Everything is local - your own book, on your own machine.

**Core principle:** self-improving, never self-ratifying - propose, you accept. The
objective metric is cross-client: does a pattern learned on some clients fail to
degrade the *others*' backtest?

## Setup

A portfolio manifest `~/.fpa/portfolio.yaml` lists your clients + a business-type tag:

```yaml
library: ~/.fpa/library
clients:
  - { path: ~/clients/acme,  type: d2c-inventory }
  - { path: ~/clients/peak,  type: d2c-inventory }
  - { path: ~/clients/haul,  type: trucking }
```

## Workflow

1. **Load** the manifest (`pyfpa.load_portfolio`).
2. For each business-type with at least 3 clients:
   - **Priors:** let `type_clients = pyfpa.portfolio.clients_of_type(portfolio, type)`.
     `pyfpa.mine_priors(portfolio, type)` finds drivers that cluster tightly; validate each
     with `pyfpa.validate_prior(driver, type_clients)` (leave-one-out). Surface validated
     ones first (by cross-client delta), then unvalidated/judgment.
   - **Skills:** `pyfpa.find_recurring_skills(portfolio, type)` for recurring generated
     skills. Also weigh recurring **structural corrections** across clients (read each
     `.fpa/corrections/` for `type: structural`) - a human-authored pattern that repeats
     is strong signal.
3. **Present** candidates ranked by evidence (support count + cross-client delta).
4. **Ratify.** On your acceptance, `pyfpa.promote_prior` / `pyfpa.promote_skill` writes the
   `~/.fpa/library/` and `library-log.md`. Reversible.

## Guardrails

- Local-only; nothing phones home.
- At least 3 clients to propose; tight-cluster only; a prior must not degrade held-out clients.
- You ratify everything; priors are *seeds*, not mandates - each client's Loop A refines.

## The payoff

New clients inherit the library: **fpa-learn-business** seeds their starting model from
your promoted priors (`pyfpa.seed_from_library`) and offers the promoted skills.

## Next

Promoted → the next new client onboarded via **fpa-learn-business** starts smarter.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.