# Segment Rollup

> Use when modeling a multi-segment company that discloses segment net sales and segment Adjusted EBITDA (ASU 2023-07) but not segment COGS or operating income - rolls segment P&Ls into a consolidated forecast and reconciles total segment Adjusted EBITDA to the disclosed total. Generated for Fox Factory (PVG/AAG/SSG).

- **Type:** Skill
- **Install:** `agentstack add skill-jeffbrines-openfpa-segment-rollup`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [JeffBrines](https://agentstack.voostack.com/s/jeffbrines)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [JeffBrines](https://github.com/JeffBrines)
- **Source:** https://github.com/JeffBrines/openfpa/tree/main/examples/foxfactory/skills/generated/segment-rollup
- **Website:** https://www.guiderail.io

## Install

```sh
agentstack add skill-jeffbrines-openfpa-segment-rollup
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Segment Roll-Up (generated for Fox Factory)

## Why this skill exists

The standard openfpa skills model a single entity. Fox Factory reports **three
segments** (PVG, AAG, SSG) and, under ASU 2023-07, discloses **net sales and
Adjusted EBITDA per segment - but not segment COGS or operating income**
(`.fpa/business-profile.md`). The base engine has no segment concept, so this
skill was generated to bridge the gap. It cites these profile facts:

- Three reportable segments; segment metric is **Adjusted EBITDA**, not gross profit.
- Segment-level working capital, debt, and tax are **not disclosed** - those stay
  consolidated. So segments drive the P&L down to Adjusted EBITDA only; the
  consolidated layer owns everything below.

## The model shape

```
segment net sales + Adj EBITDA margin  (PVG, AAG, SSG)
        │  roll_up_segments()            → total net sales + total Adj EBITDA
        │  segments_to_channels(cogs_pct)→ revenue channels for the engine
        ▼
consolidated EntityConfig (blended COGS%, opex, D&A, capex, WC days, debt, tax)
        │  cashflow_from_config()
        ▼
consolidated P&L + indirect cash flow (revenue → … → FCF)
```

## How to use

1. Build one `pyfpa.Segment` per segment from disclosed **net sales** and
   **Adjusted-EBITDA margin** (`adjusted_ebitda / net_sales`).
2. `roll_up_segments(segments)` → total net sales + total Adjusted EBITDA.
   **Reconcile that total to the disclosed segment-footnote total** - it must tie.
3. `segments_to_channels(segments, cogs_pct=)` → revenue
   channels. The blended COGS% is applied to every segment (segment COGS isn't
   disclosed), so the channels sum back to consolidated COGS by construction.
4. Feed the channels into a consolidated `EntityConfig` and run
   `cashflow_from_config`. Set the single `adjusted_opex` line to
   `gross_profit − total_adjusted_ebitda` so engine EBITDA ties to segment Adj EBITDA.
5. Keep the goodwill impairment and discrete tax items **out** of the engine and
   in a documented bridge to GAAP net income - the lean engine models the
   operating business, not one-time non-cash charges.

## Reference implementation

`examples/foxfactory/foxf_model.py` (`reconciliation_config`, `phase_a_model`,
`forecast_year`) and `pyfpa.analysis.segments`.

## Guardrail

This skill lives in the **client's** `skills/generated/` namespace - it is specific
to a three-segment, Adjusted-EBITDA-reporting company and must never be promoted
into the public openfpa template.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [JeffBrines](https://github.com/JeffBrines)
- **Source:** [JeffBrines/openfpa](https://github.com/JeffBrines/openfpa)
- **License:** MIT
- **Homepage:** https://www.guiderail.io

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-jeffbrines-openfpa-segment-rollup
- Seller: https://agentstack.voostack.com/s/jeffbrines
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
