[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-chronograph-cashflow-forecast":3,"mdc-cujjin-key":36,"related-repo-openai-chronograph-cashflow-forecast":551,"related-org-openai-chronograph-cashflow-forecast":675},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"chronograph-cashflow-forecast","forecast private capital cashflows","Forecast private capital cashflows for existing portfolios using Chronograph MCP data and a Takahashi-Alexander style model. Use when Codex needs to analyze or forecast LP-level contributions, distributions, NAV, unfunded exposure, net cashflows, or Excel-style cashflow forecast outputs from existing Chronograph funds, commitments, groups, or portfolios.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Financial Modeling","financial-modeling","tag",{"name":17,"slug":18,"type":15},"Finance","finance",{"name":20,"slug":21,"type":15},"Forecasting","forecasting",{"name":23,"slug":24,"type":15},"Private Equity","private-equity",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-07-01T07:55:47.217061",null,465,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fchronograph-lp\u002Fskills\u002Fchronograph-cashflow-forecast","---\nname: chronograph-cashflow-forecast\ndescription: Forecast private capital cashflows for existing portfolios using Chronograph MCP data and a Takahashi-Alexander style model. Use when Codex needs to analyze or forecast LP-level contributions, distributions, NAV, unfunded exposure, net cashflows, or Excel-style cashflow forecast outputs from existing Chronograph funds, commitments, groups, or portfolios.\n---\n\n# Chronograph Cashflow Forecast\n\n**Requirements:** The Existing Portfolio Forecast mode requires a connected Chronograph MCP server — these workflows are designed for permissioned Chronograph users to connect to their private investment data. The Future Commitment Pacing Overlay mode runs from user-provided assumptions and works without a connection.\n\n## Overview\n\nUse the Chronograph MCP server as the source of truth for private capital commitment data, then forecast fund and portfolio cashflows with a Takahashi-Alexander style model. Prefer concise analysis in chat unless the user asks for a workbook, export, or model artifact.\n\nDo not hard-code tool names — read the Chronograph MCP server's live tool descriptions to pick the appropriate tool for each data need.\n\n## Workflow\n\n1. Clarify scope only when needed: portfolio, group, fund IDs, commitment IDs, currency, as-of date, forecast horizon, and units. V1 is existing-portfolio-only; do not model future commitments or pacing schedules.\n2. Resolve entities. The Chronograph MCP server exposes a tool for resolving fund, group, GP, or company names to IDs. Use it to turn user-provided names into IDs before pulling any metrics.\n3. Pull fund metadata. The Chronograph MCP server exposes a generic query tool for retrieving core entity attributes — use it to get fund name, fund type, vintage year, reporting currency, geographic focus, general partner, and final reporting date where useful.\n4. Pull net LP commitment values: NAV, called, distributed, unfunded, commitment amount, net IRR, net MOIC, DPI, and RVPI. The Chronograph MCP server exposes a dedicated tool for net LP-level performance that covers all of these. Treat the values as net and surface the as-of date, currency, and that the values are net (not gross) in user-facing results.\n5. Map fund types to forecast assumptions. Use the default assumptions in `references\u002Fmodel-methodology.md` unless the user provides custom assumptions.\n6. Build yearly or quarterly forecast periods from the as-of date through the requested horizon. Default to annual periods for executive analysis and quarterly periods for Excel-style output.\n7. Forecast contributions, distributions, NAV, unfunded, and net cashflow by fund, then aggregate to portfolio, group, vintage, fund type, or GP as requested.\n8. Present assumptions, source context, and checks. Always state currency, units, as-of date, forecast horizon, and that future commitments are excluded in V1.\n9. If the user requests Excel, create a workbook with Inputs, Fund Forecast, Portfolio Summary, and Checks.\n\n## Planning Mode\n\nUse one of these modes, or combine them when the user asks for a liquidity plan:\n\n- **Existing Portfolio Forecast.** Use Chronograph actuals for current commitments, NAV, unfunded, called, distributed, and net performance, then forecast runoff for existing commitments only.\n- **Future Commitment Pacing Overlay.** Use user-provided planned commitments and strategy assumptions to estimate future calls, distributions, NAV, unfunded, exposure, and net cashflow. These values are planning assumptions, not Chronograph actuals.\n- **Combined Liquidity Plan.** Add the existing portfolio forecast and pacing overlay to show total expected calls, distributions, net cashflow, NAV, unfunded, and exposure.\n\n## Chronograph MCP Usage\n\nThe skill needs three categories of data from the Chronograph MCP server: entity identifiers (fund and group IDs), fund metadata (name, type, vintage, reporting currency, geographic focus, GP, final reporting date), and net LP-level cashflow values (NAV, called, distributed, unfunded, commitment amount, net IRR, net MOIC, DPI, RVPI). Inspect the server's live tool descriptions and pick the appropriate tool for each category. Do not hard-code tool names.\n\n**Net vs gross — confirm with the user when ambiguous.** This skill forecasts *net* LP cashflows. The Chronograph MCP server exposes separate tools for net LP-level performance and gross fund-level returns. User requests like \"show me MOIC for these funds\" are ambiguous — confirm net or gross before picking a tool. Gross returns (gross IRR, gross MOIC, cost, realized, unrealized) are not used in this forecast and live in a different tool.\n\n**Currency.** Do not default currency to USD. For specific funds, resolve reporting currency from fund metadata before pulling cashflow values. If reporting currencies conflict across a multi-fund portfolio, ask the user.\n\n**Custom investment-level metrics.** If a tool requires a discovery \u002F help \u002F schema-introspection call first (common pattern on the Chronograph MCP server), make that call to see which metric types are available, then query each line item.\n\nSee `references\u002Fchronograph-mcp-map.md` for data-need to tool mapping guidance.\n\n## Error Handling\n\n- **MCP not connected.** Depends on mode. For an Existing Portfolio Forecast, stop — the connection is required, because forecasting runoff of a real portfolio needs its actual NAV, unfunded, called, and distributed baseline; do not invent those values or forecast a real portfolio from assumptions alone. For a Future Commitment Pacing Overlay (or a from-scratch pacing request with no existing portfolio), proceed from user-provided commitment amounts, vintages, and strategy assumptions, and label every value as a planning assumption rather than a Chronograph actual. If the user wants a Combined Liquidity Plan but Chronograph is unavailable, produce the pacing overlay only and list the existing-portfolio baseline as a missing input.\n- **Entity not found.** Ask the user to confirm the fund \u002F group \u002F GP name. Do not silently substitute a near-match.\n- **Currency cannot be resolved.** Ask the user which currency to use rather than defaulting to USD.\n- **Future commitments \u002F pacing overlay.** Chronograph is still the source of truth for the existing portfolio baseline. Future commitments are user-provided planning assumptions. Do not imply that planned commitments, future calls, future distributions, future NAV, or wind-down schedules are sourced from Chronograph if they are guided by the user in conversation.\n- **Net-vs-gross ambiguity.** Confirm with the user before proceeding.\n- **Pacing details incomplete.** If the user gives a high-level plan such as \"deploy $500mm for a couple years, then wind down,\" make a conservative explicit schedule and label it as an assumption. Ask when the missing detail materially changes the decision, such as currency, annual versus total commitment budget, or strategy mix.\n\n## Forecast Method\n\nUse `references\u002Fmodel-methodology.md` for the distilled forecast methodology. Load it when doing actual forecast math, explaining assumptions, building an Excel output, or debugging differences versus a reference workbook.\n\nCore outputs:\n\n- Contributions: forecast capital calls.\n- Distributions: forecast realizations\u002Fincome.\n- NAV: forecast residual value.\n- Unfunded: forecast remaining callable commitment.\n- Net cashflow: distributions minus contributions.\n- Total exposure: NAV plus unfunded.\n\n## Output Standards\n\n- Include a compact assumption table whenever forecast values are shown.\n- For planning-mode outputs, include a baseline section, an assumed commitment schedule, an overlay cashflow table, a combined liquidity view when available, and caveats \u002F missing inputs.\n- Separate actuals from forecasts. Label actual periods with `A` and forecast periods with `E` when producing Excel-style tables.\n- Show totals and key years first, then detail by fund or fund type.\n- Include basic checks: beginning NAV plus contributions less distributions plus growth should reconcile to ending NAV; prior unfunded less contributions should reconcile to ending unfunded; net cashflow should equal distributions less contributions.\n- Avoid overstating precision. Forecasts are model estimates driven by assumptions, not Chronograph-reported future values.\n\n## Guardrails\n\n- Treat the output as draft analyst work product for liquidity and pacing planning.\n- Do not provide investment, legal, tax, audit, or valuation advice. A forecast or liquidity plan is a scenario estimate, not a recommendation to commit, call, distribute, or sell.\n- Do not present a pacing figure or commitment range as advice to act. Frame it as what the model implies under the stated assumptions, and surface the assumptions that drive it.\n- Forecasts are scenario estimates under explicit assumptions, not predictions. Disclose the assumption set and that actual outcomes will differ.\n- Do not imply that planned commitments, future calls, future distributions, or future NAV are sourced from Chronograph when they are user-provided planning inputs.\n\n## Excel Outputs\n\nWhen asked for Excel, use the spreadsheet skill and build a clean workbook rather than recreating the original workbook cell-by-cell. A good workbook shape is:\n\n- `Inputs`: scope, as-of date, currency, units, horizon, assumptions by fund type.\n- `Fund Forecast`: one row per fund\u002Fperiod with actuals and forecast values.\n- `Portfolio Summary`: annual totals, net cashflow, NAV, unfunded, exposure, charts when useful.\n- `Checks`: reconciliation checks and source context.\n\n## Reference Files\n\n- `references\u002Fmodel-methodology.md`: forecast formulas and default assumptions based on the Excel model.\n- `references\u002Fchronograph-mcp-map.md`: Chronograph MCP data-need to tool mapping guidance for this workflow.\n",{"data":37,"body":38},{"name":4,"description":6},{"type":39,"children":40},"root",[41,49,61,68,73,78,84,143,149,154,188,194,199,217,227,237,250,256,319,325,337,342,375,381,430,436,464,470,475,522,528],{"type":42,"tag":43,"props":44,"children":45},"element","h1",{"id":4},[46],{"type":47,"value":48},"text","Chronograph Cashflow Forecast",{"type":42,"tag":50,"props":51,"children":52},"p",{},[53,59],{"type":42,"tag":54,"props":55,"children":56},"strong",{},[57],{"type":47,"value":58},"Requirements:",{"type":47,"value":60}," The Existing Portfolio Forecast mode requires a connected Chronograph MCP server — these workflows are designed for permissioned Chronograph users to connect to their private investment data. The Future Commitment Pacing Overlay mode runs from user-provided assumptions and works without a connection.",{"type":42,"tag":62,"props":63,"children":65},"h2",{"id":64},"overview",[66],{"type":47,"value":67},"Overview",{"type":42,"tag":50,"props":69,"children":70},{},[71],{"type":47,"value":72},"Use the Chronograph MCP server as the source of truth for private capital commitment data, then forecast fund and portfolio cashflows with a Takahashi-Alexander style model. Prefer concise analysis in chat unless the user asks for a workbook, export, or model artifact.",{"type":42,"tag":50,"props":74,"children":75},{},[76],{"type":47,"value":77},"Do not hard-code tool names — read the Chronograph MCP server's live tool descriptions to pick the appropriate tool for each data need.",{"type":42,"tag":62,"props":79,"children":81},{"id":80},"workflow",[82],{"type":47,"value":83},"Workflow",{"type":42,"tag":85,"props":86,"children":87},"ol",{},[88,94,99,104,109,123,128,133,138],{"type":42,"tag":89,"props":90,"children":91},"li",{},[92],{"type":47,"value":93},"Clarify scope only when needed: portfolio, group, fund IDs, commitment IDs, currency, as-of date, forecast horizon, and units. V1 is existing-portfolio-only; do not model future commitments or pacing schedules.",{"type":42,"tag":89,"props":95,"children":96},{},[97],{"type":47,"value":98},"Resolve entities. The Chronograph MCP server exposes a tool for resolving fund, group, GP, or company names to IDs. Use it to turn user-provided names into IDs before pulling any metrics.",{"type":42,"tag":89,"props":100,"children":101},{},[102],{"type":47,"value":103},"Pull fund metadata. The Chronograph MCP server exposes a generic query tool for retrieving core entity attributes — use it to get fund name, fund type, vintage year, reporting currency, geographic focus, general partner, and final reporting date where useful.",{"type":42,"tag":89,"props":105,"children":106},{},[107],{"type":47,"value":108},"Pull net LP commitment values: NAV, called, distributed, unfunded, commitment amount, net IRR, net MOIC, DPI, and RVPI. The Chronograph MCP server exposes a dedicated tool for net LP-level performance that covers all of these. Treat the values as net and surface the as-of date, currency, and that the values are net (not gross) in user-facing results.",{"type":42,"tag":89,"props":110,"children":111},{},[112,114,121],{"type":47,"value":113},"Map fund types to forecast assumptions. Use the default assumptions in ",{"type":42,"tag":115,"props":116,"children":118},"code",{"className":117},[],[119],{"type":47,"value":120},"references\u002Fmodel-methodology.md",{"type":47,"value":122}," unless the user provides custom assumptions.",{"type":42,"tag":89,"props":124,"children":125},{},[126],{"type":47,"value":127},"Build yearly or quarterly forecast periods from the as-of date through the requested horizon. Default to annual periods for executive analysis and quarterly periods for Excel-style output.",{"type":42,"tag":89,"props":129,"children":130},{},[131],{"type":47,"value":132},"Forecast contributions, distributions, NAV, unfunded, and net cashflow by fund, then aggregate to portfolio, group, vintage, fund type, or GP as requested.",{"type":42,"tag":89,"props":134,"children":135},{},[136],{"type":47,"value":137},"Present assumptions, source context, and checks. Always state currency, units, as-of date, forecast horizon, and that future commitments are excluded in V1.",{"type":42,"tag":89,"props":139,"children":140},{},[141],{"type":47,"value":142},"If the user requests Excel, create a workbook with Inputs, Fund Forecast, Portfolio Summary, and Checks.",{"type":42,"tag":62,"props":144,"children":146},{"id":145},"planning-mode",[147],{"type":47,"value":148},"Planning Mode",{"type":42,"tag":50,"props":150,"children":151},{},[152],{"type":47,"value":153},"Use one of these modes, or combine them when the user asks for a liquidity plan:",{"type":42,"tag":155,"props":156,"children":157},"ul",{},[158,168,178],{"type":42,"tag":89,"props":159,"children":160},{},[161,166],{"type":42,"tag":54,"props":162,"children":163},{},[164],{"type":47,"value":165},"Existing Portfolio Forecast.",{"type":47,"value":167}," Use Chronograph actuals for current commitments, NAV, unfunded, called, distributed, and net performance, then forecast runoff for existing commitments only.",{"type":42,"tag":89,"props":169,"children":170},{},[171,176],{"type":42,"tag":54,"props":172,"children":173},{},[174],{"type":47,"value":175},"Future Commitment Pacing Overlay.",{"type":47,"value":177}," Use user-provided planned commitments and strategy assumptions to estimate future calls, distributions, NAV, unfunded, exposure, and net cashflow. These values are planning assumptions, not Chronograph actuals.",{"type":42,"tag":89,"props":179,"children":180},{},[181,186],{"type":42,"tag":54,"props":182,"children":183},{},[184],{"type":47,"value":185},"Combined Liquidity Plan.",{"type":47,"value":187}," Add the existing portfolio forecast and pacing overlay to show total expected calls, distributions, net cashflow, NAV, unfunded, and exposure.",{"type":42,"tag":62,"props":189,"children":191},{"id":190},"chronograph-mcp-usage",[192],{"type":47,"value":193},"Chronograph MCP Usage",{"type":42,"tag":50,"props":195,"children":196},{},[197],{"type":47,"value":198},"The skill needs three categories of data from the Chronograph MCP server: entity identifiers (fund and group IDs), fund metadata (name, type, vintage, reporting currency, geographic focus, GP, final reporting date), and net LP-level cashflow values (NAV, called, distributed, unfunded, commitment amount, net IRR, net MOIC, DPI, RVPI). Inspect the server's live tool descriptions and pick the appropriate tool for each category. Do not hard-code tool names.",{"type":42,"tag":50,"props":200,"children":201},{},[202,207,209,215],{"type":42,"tag":54,"props":203,"children":204},{},[205],{"type":47,"value":206},"Net vs gross — confirm with the user when ambiguous.",{"type":47,"value":208}," This skill forecasts ",{"type":42,"tag":210,"props":211,"children":212},"em",{},[213],{"type":47,"value":214},"net",{"type":47,"value":216}," LP cashflows. The Chronograph MCP server exposes separate tools for net LP-level performance and gross fund-level returns. User requests like \"show me MOIC for these funds\" are ambiguous — confirm net or gross before picking a tool. Gross returns (gross IRR, gross MOIC, cost, realized, unrealized) are not used in this forecast and live in a different tool.",{"type":42,"tag":50,"props":218,"children":219},{},[220,225],{"type":42,"tag":54,"props":221,"children":222},{},[223],{"type":47,"value":224},"Currency.",{"type":47,"value":226}," Do not default currency to USD. For specific funds, resolve reporting currency from fund metadata before pulling cashflow values. If reporting currencies conflict across a multi-fund portfolio, ask the user.",{"type":42,"tag":50,"props":228,"children":229},{},[230,235],{"type":42,"tag":54,"props":231,"children":232},{},[233],{"type":47,"value":234},"Custom investment-level metrics.",{"type":47,"value":236}," If a tool requires a discovery \u002F help \u002F schema-introspection call first (common pattern on the Chronograph MCP server), make that call to see which metric types are available, then query each line item.",{"type":42,"tag":50,"props":238,"children":239},{},[240,242,248],{"type":47,"value":241},"See ",{"type":42,"tag":115,"props":243,"children":245},{"className":244},[],[246],{"type":47,"value":247},"references\u002Fchronograph-mcp-map.md",{"type":47,"value":249}," for data-need to tool mapping guidance.",{"type":42,"tag":62,"props":251,"children":253},{"id":252},"error-handling",[254],{"type":47,"value":255},"Error Handling",{"type":42,"tag":155,"props":257,"children":258},{},[259,269,279,289,299,309],{"type":42,"tag":89,"props":260,"children":261},{},[262,267],{"type":42,"tag":54,"props":263,"children":264},{},[265],{"type":47,"value":266},"MCP not connected.",{"type":47,"value":268}," Depends on mode. For an Existing Portfolio Forecast, stop — the connection is required, because forecasting runoff of a real portfolio needs its actual NAV, unfunded, called, and distributed baseline; do not invent those values or forecast a real portfolio from assumptions alone. For a Future Commitment Pacing Overlay (or a from-scratch pacing request with no existing portfolio), proceed from user-provided commitment amounts, vintages, and strategy assumptions, and label every value as a planning assumption rather than a Chronograph actual. If the user wants a Combined Liquidity Plan but Chronograph is unavailable, produce the pacing overlay only and list the existing-portfolio baseline as a missing input.",{"type":42,"tag":89,"props":270,"children":271},{},[272,277],{"type":42,"tag":54,"props":273,"children":274},{},[275],{"type":47,"value":276},"Entity not found.",{"type":47,"value":278}," Ask the user to confirm the fund \u002F group \u002F GP name. Do not silently substitute a near-match.",{"type":42,"tag":89,"props":280,"children":281},{},[282,287],{"type":42,"tag":54,"props":283,"children":284},{},[285],{"type":47,"value":286},"Currency cannot be resolved.",{"type":47,"value":288}," Ask the user which currency to use rather than defaulting to USD.",{"type":42,"tag":89,"props":290,"children":291},{},[292,297],{"type":42,"tag":54,"props":293,"children":294},{},[295],{"type":47,"value":296},"Future commitments \u002F pacing overlay.",{"type":47,"value":298}," Chronograph is still the source of truth for the existing portfolio baseline. Future commitments are user-provided planning assumptions. Do not imply that planned commitments, future calls, future distributions, future NAV, or wind-down schedules are sourced from Chronograph if they are guided by the user in conversation.",{"type":42,"tag":89,"props":300,"children":301},{},[302,307],{"type":42,"tag":54,"props":303,"children":304},{},[305],{"type":47,"value":306},"Net-vs-gross ambiguity.",{"type":47,"value":308}," Confirm with the user before proceeding.",{"type":42,"tag":89,"props":310,"children":311},{},[312,317],{"type":42,"tag":54,"props":313,"children":314},{},[315],{"type":47,"value":316},"Pacing details incomplete.",{"type":47,"value":318}," If the user gives a high-level plan such as \"deploy $500mm for a couple years, then wind down,\" make a conservative explicit schedule and label it as an assumption. Ask when the missing detail materially changes the decision, such as currency, annual versus total commitment budget, or strategy mix.",{"type":42,"tag":62,"props":320,"children":322},{"id":321},"forecast-method",[323],{"type":47,"value":324},"Forecast Method",{"type":42,"tag":50,"props":326,"children":327},{},[328,330,335],{"type":47,"value":329},"Use ",{"type":42,"tag":115,"props":331,"children":333},{"className":332},[],[334],{"type":47,"value":120},{"type":47,"value":336}," for the distilled forecast methodology. Load it when doing actual forecast math, explaining assumptions, building an Excel output, or debugging differences versus a reference workbook.",{"type":42,"tag":50,"props":338,"children":339},{},[340],{"type":47,"value":341},"Core outputs:",{"type":42,"tag":155,"props":343,"children":344},{},[345,350,355,360,365,370],{"type":42,"tag":89,"props":346,"children":347},{},[348],{"type":47,"value":349},"Contributions: forecast capital calls.",{"type":42,"tag":89,"props":351,"children":352},{},[353],{"type":47,"value":354},"Distributions: forecast realizations\u002Fincome.",{"type":42,"tag":89,"props":356,"children":357},{},[358],{"type":47,"value":359},"NAV: forecast residual value.",{"type":42,"tag":89,"props":361,"children":362},{},[363],{"type":47,"value":364},"Unfunded: forecast remaining callable commitment.",{"type":42,"tag":89,"props":366,"children":367},{},[368],{"type":47,"value":369},"Net cashflow: distributions minus contributions.",{"type":42,"tag":89,"props":371,"children":372},{},[373],{"type":47,"value":374},"Total exposure: NAV plus unfunded.",{"type":42,"tag":62,"props":376,"children":378},{"id":377},"output-standards",[379],{"type":47,"value":380},"Output Standards",{"type":42,"tag":155,"props":382,"children":383},{},[384,389,394,415,420,425],{"type":42,"tag":89,"props":385,"children":386},{},[387],{"type":47,"value":388},"Include a compact assumption table whenever forecast values are shown.",{"type":42,"tag":89,"props":390,"children":391},{},[392],{"type":47,"value":393},"For planning-mode outputs, include a baseline section, an assumed commitment schedule, an overlay cashflow table, a combined liquidity view when available, and caveats \u002F missing inputs.",{"type":42,"tag":89,"props":395,"children":396},{},[397,399,405,407,413],{"type":47,"value":398},"Separate actuals from forecasts. Label actual periods with ",{"type":42,"tag":115,"props":400,"children":402},{"className":401},[],[403],{"type":47,"value":404},"A",{"type":47,"value":406}," and forecast periods with ",{"type":42,"tag":115,"props":408,"children":410},{"className":409},[],[411],{"type":47,"value":412},"E",{"type":47,"value":414}," when producing Excel-style tables.",{"type":42,"tag":89,"props":416,"children":417},{},[418],{"type":47,"value":419},"Show totals and key years first, then detail by fund or fund type.",{"type":42,"tag":89,"props":421,"children":422},{},[423],{"type":47,"value":424},"Include basic checks: beginning NAV plus contributions less distributions plus growth should reconcile to ending NAV; prior unfunded less contributions should reconcile to ending unfunded; net cashflow should equal distributions less contributions.",{"type":42,"tag":89,"props":426,"children":427},{},[428],{"type":47,"value":429},"Avoid overstating precision. Forecasts are model estimates driven by assumptions, not Chronograph-reported future values.",{"type":42,"tag":62,"props":431,"children":433},{"id":432},"guardrails",[434],{"type":47,"value":435},"Guardrails",{"type":42,"tag":155,"props":437,"children":438},{},[439,444,449,454,459],{"type":42,"tag":89,"props":440,"children":441},{},[442],{"type":47,"value":443},"Treat the output as draft analyst work product for liquidity and pacing planning.",{"type":42,"tag":89,"props":445,"children":446},{},[447],{"type":47,"value":448},"Do not provide investment, legal, tax, audit, or valuation advice. A forecast or liquidity plan is a scenario estimate, not a recommendation to commit, call, distribute, or sell.",{"type":42,"tag":89,"props":450,"children":451},{},[452],{"type":47,"value":453},"Do not present a pacing figure or commitment range as advice to act. Frame it as what the model implies under the stated assumptions, and surface the assumptions that drive it.",{"type":42,"tag":89,"props":455,"children":456},{},[457],{"type":47,"value":458},"Forecasts are scenario estimates under explicit assumptions, not predictions. Disclose the assumption set and that actual outcomes will differ.",{"type":42,"tag":89,"props":460,"children":461},{},[462],{"type":47,"value":463},"Do not imply that planned commitments, future calls, future distributions, or future NAV are sourced from Chronograph when they are user-provided planning inputs.",{"type":42,"tag":62,"props":465,"children":467},{"id":466},"excel-outputs",[468],{"type":47,"value":469},"Excel Outputs",{"type":42,"tag":50,"props":471,"children":472},{},[473],{"type":47,"value":474},"When asked for Excel, use the spreadsheet skill and build a clean workbook rather than recreating the original workbook cell-by-cell. A good workbook shape is:",{"type":42,"tag":155,"props":476,"children":477},{},[478,489,500,511],{"type":42,"tag":89,"props":479,"children":480},{},[481,487],{"type":42,"tag":115,"props":482,"children":484},{"className":483},[],[485],{"type":47,"value":486},"Inputs",{"type":47,"value":488},": scope, as-of date, currency, units, horizon, assumptions by fund type.",{"type":42,"tag":89,"props":490,"children":491},{},[492,498],{"type":42,"tag":115,"props":493,"children":495},{"className":494},[],[496],{"type":47,"value":497},"Fund Forecast",{"type":47,"value":499},": one row per fund\u002Fperiod with actuals and forecast values.",{"type":42,"tag":89,"props":501,"children":502},{},[503,509],{"type":42,"tag":115,"props":504,"children":506},{"className":505},[],[507],{"type":47,"value":508},"Portfolio Summary",{"type":47,"value":510},": annual totals, net cashflow, NAV, unfunded, exposure, charts when useful.",{"type":42,"tag":89,"props":512,"children":513},{},[514,520],{"type":42,"tag":115,"props":515,"children":517},{"className":516},[],[518],{"type":47,"value":519},"Checks",{"type":47,"value":521},": reconciliation checks and source context.",{"type":42,"tag":62,"props":523,"children":525},{"id":524},"reference-files",[526],{"type":47,"value":527},"Reference Files",{"type":42,"tag":155,"props":529,"children":530},{},[531,541],{"type":42,"tag":89,"props":532,"children":533},{},[534,539],{"type":42,"tag":115,"props":535,"children":537},{"className":536},[],[538],{"type":47,"value":120},{"type":47,"value":540},": forecast formulas and default assumptions based on the Excel model.",{"type":42,"tag":89,"props":542,"children":543},{},[544,549],{"type":42,"tag":115,"props":545,"children":547},{"className":546},[],[548],{"type":47,"value":247},{"type":47,"value":550},": Chronograph MCP data-need to tool mapping guidance for this workflow.",{"items":552,"total":674},[553,572,588,600,620,642,662],{"slug":554,"name":554,"fn":555,"description":556,"org":557,"tags":558,"stars":25,"repoUrl":26,"updatedAt":571},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[559,562,565,568],{"name":560,"slug":561,"type":15},"Accessibility","accessibility",{"name":563,"slug":564,"type":15},"Charts","charts",{"name":566,"slug":567,"type":15},"Data Visualization","data-visualization",{"name":569,"slug":570,"type":15},"Design","design","2026-06-30T19:00:57.102",{"slug":573,"name":573,"fn":574,"description":575,"org":576,"tags":577,"stars":25,"repoUrl":26,"updatedAt":587},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[578,581,584],{"name":579,"slug":580,"type":15},"Agents","agents",{"name":582,"slug":583,"type":15},"Browser Automation","browser-automation",{"name":585,"slug":586,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":589,"name":589,"fn":590,"description":591,"org":592,"tags":593,"stars":25,"repoUrl":26,"updatedAt":599},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[594,595,598],{"name":582,"slug":583,"type":15},{"name":596,"slug":597,"type":15},"Local Development","local-development",{"name":585,"slug":586,"type":15},"2026-04-06T18:41:17.526867",{"slug":601,"name":601,"fn":602,"description":603,"org":604,"tags":605,"stars":25,"repoUrl":26,"updatedAt":619},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[606,607,610,613,616],{"name":579,"slug":580,"type":15},{"name":608,"slug":609,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":611,"slug":612,"type":15},"SDK","sdk",{"name":614,"slug":615,"type":15},"Serverless","serverless",{"name":617,"slug":618,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":621,"name":621,"fn":622,"description":623,"org":624,"tags":625,"stars":25,"repoUrl":26,"updatedAt":641},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[626,629,632,635,638],{"name":627,"slug":628,"type":15},"Frontend","frontend",{"name":630,"slug":631,"type":15},"React","react",{"name":633,"slug":634,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":636,"slug":637,"type":15},"UI Components","ui-components",{"name":639,"slug":640,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":643,"name":643,"fn":644,"description":645,"org":646,"tags":647,"stars":25,"repoUrl":26,"updatedAt":661},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[648,651,654,657,660],{"name":649,"slug":650,"type":15},"AI Infrastructure","ai-infrastructure",{"name":652,"slug":653,"type":15},"Cost Optimization","cost-optimization",{"name":655,"slug":656,"type":15},"LLM","llm",{"name":658,"slug":659,"type":15},"Performance","performance",{"name":639,"slug":640,"type":15},"2026-04-06T18:40:44.377464",{"slug":663,"name":663,"fn":664,"description":665,"org":666,"tags":667,"stars":25,"repoUrl":26,"updatedAt":673},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[668,669,672],{"name":652,"slug":653,"type":15},{"name":670,"slug":671,"type":15},"Database","database",{"name":655,"slug":656,"type":15},"2026-04-06T18:41:08.513425",600,{"items":676,"total":873},[677,698,721,738,754,771,790,802,816,830,842,857],{"slug":678,"name":678,"fn":679,"description":680,"org":681,"tags":682,"stars":695,"repoUrl":696,"updatedAt":697},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[683,686,689,692],{"name":684,"slug":685,"type":15},"Documents","documents",{"name":687,"slug":688,"type":15},"Healthcare","healthcare",{"name":690,"slug":691,"type":15},"Insurance","insurance",{"name":693,"slug":694,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":699,"name":699,"fn":700,"description":701,"org":702,"tags":703,"stars":718,"repoUrl":719,"updatedAt":720},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[704,707,709,712,715],{"name":705,"slug":706,"type":15},".NET","dotnet",{"name":708,"slug":699,"type":15},"ASP.NET Core",{"name":710,"slug":711,"type":15},"Blazor","blazor",{"name":713,"slug":714,"type":15},"C#","csharp",{"name":716,"slug":717,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":722,"name":722,"fn":723,"description":724,"org":725,"tags":726,"stars":718,"repoUrl":719,"updatedAt":737},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[727,730,733,736],{"name":728,"slug":729,"type":15},"Apps SDK","apps-sdk",{"name":731,"slug":732,"type":15},"ChatGPT","chatgpt",{"name":734,"slug":735,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":739,"name":739,"fn":740,"description":741,"org":742,"tags":743,"stars":718,"repoUrl":719,"updatedAt":753},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[744,747,750],{"name":745,"slug":746,"type":15},"API Development","api-development",{"name":748,"slug":749,"type":15},"CLI","cli",{"name":751,"slug":752,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":755,"name":755,"fn":756,"description":757,"org":758,"tags":759,"stars":718,"repoUrl":719,"updatedAt":770},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[760,763,766,767],{"name":761,"slug":762,"type":15},"Cloudflare","cloudflare",{"name":764,"slug":765,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":608,"slug":609,"type":15},{"name":768,"slug":769,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":772,"name":772,"fn":773,"description":774,"org":775,"tags":776,"stars":718,"repoUrl":719,"updatedAt":789},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[777,780,783,786],{"name":778,"slug":779,"type":15},"Productivity","productivity",{"name":781,"slug":782,"type":15},"Project Management","project-management",{"name":784,"slug":785,"type":15},"Strategy","strategy",{"name":787,"slug":788,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":791,"name":791,"fn":792,"description":793,"org":794,"tags":795,"stars":718,"repoUrl":719,"updatedAt":801},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[796,797,799,800],{"name":569,"slug":570,"type":15},{"name":798,"slug":791,"type":15},"Figma",{"name":627,"slug":628,"type":15},{"name":734,"slug":735,"type":15},"2026-04-12T05:06:47.939943",{"slug":803,"name":803,"fn":804,"description":805,"org":806,"tags":807,"stars":718,"repoUrl":719,"updatedAt":815},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[808,809,812,813,814],{"name":569,"slug":570,"type":15},{"name":810,"slug":811,"type":15},"Design System","design-system",{"name":798,"slug":791,"type":15},{"name":627,"slug":628,"type":15},{"name":636,"slug":637,"type":15},"2026-05-10T05:59:52.971881",{"slug":817,"name":817,"fn":818,"description":819,"org":820,"tags":821,"stars":718,"repoUrl":719,"updatedAt":829},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[822,823,824,827,828],{"name":569,"slug":570,"type":15},{"name":810,"slug":811,"type":15},{"name":825,"slug":826,"type":15},"Documentation","documentation",{"name":798,"slug":791,"type":15},{"name":627,"slug":628,"type":15},"2026-05-16T06:07:47.821474",{"slug":831,"name":831,"fn":832,"description":833,"org":834,"tags":835,"stars":718,"repoUrl":719,"updatedAt":841},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[836,837,838,839,840],{"name":569,"slug":570,"type":15},{"name":798,"slug":791,"type":15},{"name":627,"slug":628,"type":15},{"name":636,"slug":637,"type":15},{"name":716,"slug":717,"type":15},"2026-05-16T06:07:40.583615",{"slug":843,"name":843,"fn":844,"description":845,"org":846,"tags":847,"stars":718,"repoUrl":719,"updatedAt":856},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[848,851,852,855],{"name":849,"slug":850,"type":15},"Animation","animation",{"name":751,"slug":752,"type":15},{"name":853,"slug":854,"type":15},"Creative","creative",{"name":569,"slug":570,"type":15},"2026-05-02T05:31:48.48485",{"slug":858,"name":858,"fn":859,"description":860,"org":861,"tags":862,"stars":718,"repoUrl":719,"updatedAt":872},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[863,864,865,868,871],{"name":853,"slug":854,"type":15},{"name":569,"slug":570,"type":15},{"name":866,"slug":867,"type":15},"Image Generation","image-generation",{"name":869,"slug":870,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]