agentsclimarketplace

Fpa learn business

Skill JeffBrines/openfpa/skills/fpa-learn-business

The FP&A toolbelt for AI coding agents. Claude Code or Codex does the thinking; openfpa gives it a tested finance kernel, durable company memory, and a Karpathy inspired research loop that improves forecasts against your actuals. By Guiderail and Jeff Brines.

Install
npx -y skills add JeffBrines/openfpa --skill fpa-learn-business

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when starting FP&A work for a new company, onboarding a business into openfpa, or asked to "understand my business / set up a model for us" before any forecasting - produces a durable business profile and generates business-specific skills.

SKILL.md

4.7 KB, as published. Nobody here has run it

Learn the Business (Phase 0)

Overview

Before scaffolding any model, learn the business. This produces two artifacts: a durable business profile that every other openfpa skill reads first, and - where the standard skills don't fit - bespoke skills/agents generated for this specific company. The toolkit re-tools itself per business instead of forcing a generic template.

Core principle: A forecast is only as good as the business understanding behind it. Encode that understanding once, explicitly, so it grounds everything downstream.

When to use

  • A new company is being onboarded into openfpa
  • You're asked to "build us a model" / "understand our business" before forecasting
  • An existing .fpa/business-profile.md is missing or stale

Do not force this workflow when the user asks for a narrow task that can be completed without understanding the whole company.

Workflow

  1. Check and initialize the workspace. Run openfpa status <company-root>. If it is uninitialized, run openfpa init <company-root> --business-name "<name>". Then run openfpa doctor <company-root>. The CLI emits JSON. If the console script is unavailable in a source checkout, use python3 -m pyfpa.cli.

  2. Inspect local evidence first. Run openfpa inspect-data <data-root> for every user-supplied folder, then read the relevant financials, operating files, documentation, and existing model code before asking questions. Record each fact with openfpa intake-record <company-root>, including file references and confidence. Never access an external MCP/API system without the user's approval.

  3. Ask only what remains unknown. Run openfpa intake-next <company-root> and ask that related round of at most three questions. After every response, call openfpa intake-record with --source-type user. Direct answers are confirmed immediately. Only ask the user to resolve conflicting or low-confidence inferred facts.

  4. Repeat short rounds until pyfpa.intake_ready(intake) is true. Do not ask questions already answered by local evidence or earlier conversation.

  5. Propose the company architecture. Build a pyfpa.ArchitectureProposal covering the model objective, connectors, company-specific model components, generated skills, risks, and validation checks. Call pyfpa.write_onboarding_outputs(intake, workspace, proposal) to write:

    • .fpa/business-profile.md
    • .fpa/decisions/initial-model-architecture.md
  6. Stop for approval. Summarize known facts, remaining unknowns, and the proposed architecture. Do not scaffold or generate artifacts until the user approves the proposal.

  7. After approval, seed from the portfolio library. If one exists, start the model from what generalized across same-type clients. Priors are seeds; this client's learning loop refines them.

  8. Identify gaps the standard skills don't cover, and propose bespoke skills/agents:

    • Product company with SKUs → a sku-profitability skill
    • SaaS → an arr-waterfall / cohort-retention skill
    • Logistics/fleet → a driver-cost-scorecard skill
  9. Generate approved artifacts using the repository's agent operating contract and local skill format, into skills/generated/ (and agents/generated/). Company models and connectors belong in models/generated/ and connectors/generated/. Each generated artifact MUST cite the profile facts that justify it and include a focused test or reconciliation check.

  10. Apply existing corrections. Before forecasting, fold in human corrections: pyfpa.apply_corrections(cfg, pyfpa.load_corrections('.fpa/corrections')). Route any type: structural corrections through this skill's skill-generation path as pre-ratified proposals (the human already authored them - don't wait for backtest misses).

Guardrails (self-extending, NOT self-executing)

  • Generated artifacts go in generated/ namespaces in the client's own repo - never the public openfpa template.
  • Human review gate: propose each new skill/agent with its rationale and WAIT for approval before writing it.
  • No profile fact → no generated skill. Speculation is not a justification.
  • Record material generated changes as pyfpa.Experiment files in .fpa/experiments/; preserve rejected and reverted experiments.

Next

After architecture approval, use fpa-scaffold-model to build the runnable model. Consult fpa-cfo-judgment throughout.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.