[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-kpi-reporting":3,"mdc--wzkvoj-key":39,"related-repo-openai-kpi-reporting":590,"related-org-openai-kpi-reporting":701},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"kpi-reporting","produce leadership-ready KPI updates","Prepare KPI readouts, scorecards, WBR\u002FMBR\u002FQBR updates, and executive summaries from quantitative business or product metrics; use when the task is to report status, compare against targets, explain validated drivers, and state operating implications.",{"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,25],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":18,"type":15},"Reporting","reporting",{"name":20,"slug":21,"type":15},"KPI","kpi",{"name":23,"slug":24,"type":15},"Product Management","product-management",{"name":26,"slug":27,"type":15},"Analytics","analytics",427,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Frole-specific-plugins","2026-07-01T07:54:50.665236",null,65,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"Role-specific Codex plugin templates","https:\u002F\u002Fgithub.com\u002Fopenai\u002Frole-specific-plugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fdata-analytics\u002Fskills\u002Fkpi-reporting","---\nname: kpi-reporting\ndescription: \"Prepare KPI readouts, scorecards, WBR\u002FMBR\u002FQBR updates, and executive summaries from quantitative business or product metrics; use when the task is to report status, compare against targets, explain validated drivers, and state operating implications.\"\n---\n# KPI Reporting\n\nUse this skill to turn business or product metrics into decision-ready operating readouts for leaders and teams. The job is to define the KPI contract, report status against the right comparison and target, include validated driver context, and state the operating implication clearly.\n\nClarify with the user when a missing input would materially change the analytical frame or recommendation. Otherwise make a reasonable assumption, state it, and proceed.\n\nThis skill owns the KPI readout: what should be reported, how metrics should be interpreted, whether driver context is validated, and what operating takeaway follows. It does not own metric-system design, new driver investigation, or final artifact polish.\n\nUse $metric-diagnostics when the readout needs fresh driver investigation, then return here to package the validated finding.\n\n## Skill Configuration\n\n### Source Discovery And Verification\n\nUse the relevant semantic layer as a starting map, not a boundary.\n\n1. **Explore all possible sources.** Search every connected or provided source that could contain task-relevant data or change the interpretation. Within each structured-data source, run fresh catalog or metadata discovery for relevant schemas, datasets, tables, views, models, and metrics. Known sources, tables, dashboards, and semantic mappings are starting points, not stopping points.\n2. **Compare duplicates and conflicts.** When sources overlap or disagree, compare ownership, freshness, definition, grain, coverage, and directness. Use the best authoritative source, or combine complementary sources when needed. Note material conflicts, explain why the selected source or sources control the answer, and verify selected data through live reads before concluding.\n\n### Source Access Guardrail\n\nBefore querying sources, building artifacts, or drawing conclusions, determine whether the answer requires a specific source of truth.\n\nIf a required source is unavailable, stop that path. Tell the user what source is needed, ask them to make it available or provide a reviewed fallback, and do not treat weaker substitutes as equivalent.\n\nIf the missing source is only optional enrichment, continue with the strongest available evidence and label the gap when it materially affects the answer.\n\n## Workflow\n\n### 1. Clarify The Readout Purpose\n\nUnderstand who the readout is for, what conversation it supports, and what is being reported before drafting. Anchor the update in the period being evaluated, the comparison or target that makes performance interpretable, and the freshness cutoff.\n\nAsk the user for missing context when it would help make the readout more accurate or useful.\n\n### 2. Define The Metric Framework\n\nDecide which metrics belong in the readout and what role each one plays before pulling numbers. If the framework already exists, confirm it and use it. If it is missing or weak, use $design-kpis before reporting.\n\nStart with the primary KPI, then add the smallest set of supporting metrics needed to explain status. Supporting metrics can explain movement, guard against harmful tradeoffs, or show whether performance is pacing as expected.\n\nLead with the metric that matters most to the audience. Do not add every available cut or comparison; include the metrics and slices decision-makers actually use, plus any that materially explain this update.\n\nWhen the primary KPI is top-line, composite, or otherwise not directly actionable, define its driver decomposition before interpreting it. Use an existing metric tree when available. Otherwise identify the smallest useful set of component drivers, such as numerator and denominator, volume and rate, mix, funnel stages, segments, cohorts, or operational inputs. Do not invent a causal hierarchy when source definitions do not support one.\n\n### 3. Lock Metric Definitions And Sources\n\nConfirm the KPI definition, source, time window, reporting cutoff, comparison period, and any target or pacing expectation before interpreting performance. If a target or pacing basis is missing, ask before treating one as authoritative. Use $analyze-data-quality when source quality issues could change the reported metrics.\n\nFor all KPI updates, make a focused source pass across `~~structured_data`, `~~company_docs`, `~~team_communication`, and `~~dashboards_or_bi` before drafting. Do not infer from a sparse prompt that source-backed actuals are unavailable. Use structured data for actuals, metric definitions, and comparison periods; use the other lanes for additional business context and source-of-truth guidance.\n\nIf any core definition is unclear, ask the user to clarify before making precise claims. When a metric definition changed, show comparable restated history when available; otherwise call out the break clearly.\n\n### 4. Pull The Topline Actuals\n\nDo not draft or render a WBR, MBR, scorecard, or KPI update from placeholders. Query or inspect connected structured-data sources for core actuals first. If actuals are blocked or insufficient, stop and say what source or access is needed unless the user explicitly asked for a template or mockup.\n\nReproduce the topline actual before explaining movement or driver context.\n\nFor each headline KPI, include the current value, the absolute and relative change versus the comparison period, and a short interpretation.\n\nCall out anything that makes the current value hard to compare with the prior period before interpreting the movement, such as a tracking change, data backfill, partial outage, or missing day.\n\n### 5. Put The Numbers In Context\n\nCompare actuals against the context that makes performance interpretable. When a target, plan, pacing model, benchmark, historical range, or relevant peer group is defined, identify it and compare performance against it before judging status.\n\nIf the goal has a deadline, do not just report whether the metric is above or below target. Show whether it is on pace to hit the target by the end of the period. Use the provided pacing definition when available. If none is defined or found, ask the user; when proceeding with a calculated fallback, state that it was calculated and explain the method.\n\nWhen useful, include absolute and percent variance to target and a red\u002Fyellow\u002Fgreen status. Make clear what comparison or pacing basis the status label uses.\n\n### 6. Explain Validated Drivers\n\nKPI updates need driver context, but driver claims must be validated before they are presented as explanations. A plausible story is not enough.\n\nWhen the readout needs to explain drivers, use $metric-diagnostics to identify and validate them. If trusted reporting or prior analysis already validates the drivers, use that evidence instead of re-running the diagnostic.\n\n### 7. Add Business Context And Operating Implications\n\nAfter identifying the likely drivers, use $gather-business-context to look for business context that helps explain what happened and what it means for the readout. Let the driver analysis guide what context to look for, and connect context to the metric only when evidence supports the link.\n\nTranslate the evidence, driver analysis, and business context into the operating implication for the business. State whether the movement is concerning, what next step or action is warranted, and whether the main KPI is on track, at risk, or ahead of plan. Recommend action only when the evidence supports it; otherwise name the next validation step.\n\n### 8. Validate The Readout\n\nAfter the analysis is assembled and before shaping the final readout, use $validate-data to review whether the numbers, methodology, caveats, and evidence support the claimed status, drivers, and implications. Resolve material issues before sharing; carry remaining limitations into the readout.\n\n### 9. Hand Off The Readout\n\nEnd by handing the validated KPI readout to $build-report unless the user explicitly requests an inline, chat-only, brief\u002Fno-artifact answer, asks not to create a report\u002Ffile\u002Fartifact, or selects another primary artifact. A quick status update, brief readout, or findings-in-chat request is an inline output choice unless the user also asks for a report, document, deck, or durable artifact. When no explicit human waiver was given, the report handoff is mandatory; do not infer a waiver only because the user did not use the word \"report\".\n\nBefore handoff, make the readout explicit:\n\n- headline status and operating implication\n- actuals, targets, pacing basis, and comparison periods\n- validated drivers and unresolved uncertainty\n- audience, cadence, and requested delivery surface when known\n- charts or figures that would clarify the readout\n\nLoad `references\u002Freport-templates.md` before handing off and use the matching pattern as source notes for $build-report. Tell $build-report this is a KPI readout and pass the status, pacing, driver, uncertainty, audience, cadence, surface, and visual guidance above. Do not render charts directly from this skill; pass visual intent and supporting evidence to $build-report so $visualize-data owns chart selection and QA.\n\nFor native slide or deck requests, use $build-report to create an HTML report first because `$report-to-google-slides` consumes an existing local HTML analytics report and does not convert live MCP app reports directly. Then invoke `$report-to-google-slides` on that HTML report. If only an MCP app report exists, build an HTML report from the same source evidence as a separate delivery mode before conversion.\n\n## Standards\n\n### Metric Standards\n\n- Never present a KPI as precise when its definition, source, time window, or comparison basis is unclear.\n- Make calculation logic, inclusion or exclusion rules, grain, and time treatment explicit when they affect interpretation.\n- Reconcile totals and compare against prior reporting when possible.\n- Do not compare periods, cuts, or targets that are not definitionally compatible. Call out definition changes, backfills, denominator shifts, or calendar effects when they affect the movement.\n\n### Status And Pacing Standards\n\n- Include the headline takeaway, current actual, relevant comparison, target or pacing context, driver summary, and implication unless the user asks for a narrower readout.\n- Put actuals next to the target, plan, benchmark, or baseline when available so the reader can judge performance immediately.\n- If a target is time-bound, show whether current performance is on pace using the provided pacing definition or a clearly stated calculated fallback.\n- Keep recurring metric sections consistent across runs. If a requested section is missing because data, definitions, or validation are unavailable, explain the omission briefly.\n- Use traffic-signal status only when it helps prioritize action. Pair color with text and state the basis for the status.\n- Round numbers consistently, label units, and surface caveats when they change interpretation.\n\n### Driver Standards\n\n- Quantify drivers whenever the evidence supports it; do not use descriptive prose as a substitute for sizing the effect.\n- Report the few drivers, contributors, or known non-drivers that matter for interpreting the KPI movement.\n- For top-line KPI movement, structure validated drivers as a compact decomposition: top-line actual, component drivers, largest contributors or non-drivers, and residual or unresolved movement. Use an additive bridge only when the components reconcile cleanly; otherwise explain the relationship and uncertainty.\n- Separate validated drivers from business context or hypotheses.\n- Do not elevate business events into causes unless the timing, affected population, and measured change support the link.\n- State whether the movement is broad-based or concentrated when that changes the operating implication.\n- If driver evidence remains unresolved, name the uncertainty or diagnostic follow-up instead of inventing an explanation.\n\n### Presentation Standards\n\n- Write for executives and operators who skim: lead with the answer, then the evidence.\n- Use business-readable numbers and compact formats such as `123k (+8% w\u002Fw, +19% m\u002Fm)`.\n- Replace generic adjectives like `strong`, `healthy`, or `soft` with the metric evidence that justifies them.\n- Keep caveats close to the claim they affect, and omit caveats that do not change interpretation.\n- Use charts, tables, scorecards, or KPI cards only when they make the takeaway easier to understand and remain readable in the final delivery context.\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,52,58,63,68,73,80,87,92,118,124,129,134,139,145,151,156,161,167,172,177,182,187,193,198,235,240,246,251,256,261,266,272,277,282,287,293,298,303,309,314,319,325,330,336,341,346,375,388,408,414,420,443,449,482,488,526,532],{"type":45,"tag":46,"props":47,"children":48},"element","h1",{"id":4},[49],{"type":50,"value":51},"text","KPI Reporting",{"type":45,"tag":53,"props":54,"children":55},"p",{},[56],{"type":50,"value":57},"Use this skill to turn business or product metrics into decision-ready operating readouts for leaders and teams. The job is to define the KPI contract, report status against the right comparison and target, include validated driver context, and state the operating implication clearly.",{"type":45,"tag":53,"props":59,"children":60},{},[61],{"type":50,"value":62},"Clarify with the user when a missing input would materially change the analytical frame or recommendation. Otherwise make a reasonable assumption, state it, and proceed.",{"type":45,"tag":53,"props":64,"children":65},{},[66],{"type":50,"value":67},"This skill owns the KPI readout: what should be reported, how metrics should be interpreted, whether driver context is validated, and what operating takeaway follows. It does not own metric-system design, new driver investigation, or final artifact polish.",{"type":45,"tag":53,"props":69,"children":70},{},[71],{"type":50,"value":72},"Use $metric-diagnostics when the readout needs fresh driver investigation, then return here to package the validated finding.",{"type":45,"tag":74,"props":75,"children":77},"h2",{"id":76},"skill-configuration",[78],{"type":50,"value":79},"Skill Configuration",{"type":45,"tag":81,"props":82,"children":84},"h3",{"id":83},"source-discovery-and-verification",[85],{"type":50,"value":86},"Source Discovery And Verification",{"type":45,"tag":53,"props":88,"children":89},{},[90],{"type":50,"value":91},"Use the relevant semantic layer as a starting map, not a boundary.",{"type":45,"tag":93,"props":94,"children":95},"ol",{},[96,108],{"type":45,"tag":97,"props":98,"children":99},"li",{},[100,106],{"type":45,"tag":101,"props":102,"children":103},"strong",{},[104],{"type":50,"value":105},"Explore all possible sources.",{"type":50,"value":107}," Search every connected or provided source that could contain task-relevant data or change the interpretation. Within each structured-data source, run fresh catalog or metadata discovery for relevant schemas, datasets, tables, views, models, and metrics. Known sources, tables, dashboards, and semantic mappings are starting points, not stopping points.",{"type":45,"tag":97,"props":109,"children":110},{},[111,116],{"type":45,"tag":101,"props":112,"children":113},{},[114],{"type":50,"value":115},"Compare duplicates and conflicts.",{"type":50,"value":117}," When sources overlap or disagree, compare ownership, freshness, definition, grain, coverage, and directness. Use the best authoritative source, or combine complementary sources when needed. Note material conflicts, explain why the selected source or sources control the answer, and verify selected data through live reads before concluding.",{"type":45,"tag":81,"props":119,"children":121},{"id":120},"source-access-guardrail",[122],{"type":50,"value":123},"Source Access Guardrail",{"type":45,"tag":53,"props":125,"children":126},{},[127],{"type":50,"value":128},"Before querying sources, building artifacts, or drawing conclusions, determine whether the answer requires a specific source of truth.",{"type":45,"tag":53,"props":130,"children":131},{},[132],{"type":50,"value":133},"If a required source is unavailable, stop that path. Tell the user what source is needed, ask them to make it available or provide a reviewed fallback, and do not treat weaker substitutes as equivalent.",{"type":45,"tag":53,"props":135,"children":136},{},[137],{"type":50,"value":138},"If the missing source is only optional enrichment, continue with the strongest available evidence and label the gap when it materially affects the answer.",{"type":45,"tag":74,"props":140,"children":142},{"id":141},"workflow",[143],{"type":50,"value":144},"Workflow",{"type":45,"tag":81,"props":146,"children":148},{"id":147},"_1-clarify-the-readout-purpose",[149],{"type":50,"value":150},"1. Clarify The Readout Purpose",{"type":45,"tag":53,"props":152,"children":153},{},[154],{"type":50,"value":155},"Understand who the readout is for, what conversation it supports, and what is being reported before drafting. Anchor the update in the period being evaluated, the comparison or target that makes performance interpretable, and the freshness cutoff.",{"type":45,"tag":53,"props":157,"children":158},{},[159],{"type":50,"value":160},"Ask the user for missing context when it would help make the readout more accurate or useful.",{"type":45,"tag":81,"props":162,"children":164},{"id":163},"_2-define-the-metric-framework",[165],{"type":50,"value":166},"2. Define The Metric Framework",{"type":45,"tag":53,"props":168,"children":169},{},[170],{"type":50,"value":171},"Decide which metrics belong in the readout and what role each one plays before pulling numbers. If the framework already exists, confirm it and use it. If it is missing or weak, use $design-kpis before reporting.",{"type":45,"tag":53,"props":173,"children":174},{},[175],{"type":50,"value":176},"Start with the primary KPI, then add the smallest set of supporting metrics needed to explain status. Supporting metrics can explain movement, guard against harmful tradeoffs, or show whether performance is pacing as expected.",{"type":45,"tag":53,"props":178,"children":179},{},[180],{"type":50,"value":181},"Lead with the metric that matters most to the audience. Do not add every available cut or comparison; include the metrics and slices decision-makers actually use, plus any that materially explain this update.",{"type":45,"tag":53,"props":183,"children":184},{},[185],{"type":50,"value":186},"When the primary KPI is top-line, composite, or otherwise not directly actionable, define its driver decomposition before interpreting it. Use an existing metric tree when available. Otherwise identify the smallest useful set of component drivers, such as numerator and denominator, volume and rate, mix, funnel stages, segments, cohorts, or operational inputs. Do not invent a causal hierarchy when source definitions do not support one.",{"type":45,"tag":81,"props":188,"children":190},{"id":189},"_3-lock-metric-definitions-and-sources",[191],{"type":50,"value":192},"3. Lock Metric Definitions And Sources",{"type":45,"tag":53,"props":194,"children":195},{},[196],{"type":50,"value":197},"Confirm the KPI definition, source, time window, reporting cutoff, comparison period, and any target or pacing expectation before interpreting performance. If a target or pacing basis is missing, ask before treating one as authoritative. Use $analyze-data-quality when source quality issues could change the reported metrics.",{"type":45,"tag":53,"props":199,"children":200},{},[201,203,210,212,218,219,225,227,233],{"type":50,"value":202},"For all KPI updates, make a focused source pass across ",{"type":45,"tag":204,"props":205,"children":207},"code",{"className":206},[],[208],{"type":50,"value":209},"~~structured_data",{"type":50,"value":211},", ",{"type":45,"tag":204,"props":213,"children":215},{"className":214},[],[216],{"type":50,"value":217},"~~company_docs",{"type":50,"value":211},{"type":45,"tag":204,"props":220,"children":222},{"className":221},[],[223],{"type":50,"value":224},"~~team_communication",{"type":50,"value":226},", and ",{"type":45,"tag":204,"props":228,"children":230},{"className":229},[],[231],{"type":50,"value":232},"~~dashboards_or_bi",{"type":50,"value":234}," before drafting. Do not infer from a sparse prompt that source-backed actuals are unavailable. Use structured data for actuals, metric definitions, and comparison periods; use the other lanes for additional business context and source-of-truth guidance.",{"type":45,"tag":53,"props":236,"children":237},{},[238],{"type":50,"value":239},"If any core definition is unclear, ask the user to clarify before making precise claims. When a metric definition changed, show comparable restated history when available; otherwise call out the break clearly.",{"type":45,"tag":81,"props":241,"children":243},{"id":242},"_4-pull-the-topline-actuals",[244],{"type":50,"value":245},"4. Pull The Topline Actuals",{"type":45,"tag":53,"props":247,"children":248},{},[249],{"type":50,"value":250},"Do not draft or render a WBR, MBR, scorecard, or KPI update from placeholders. Query or inspect connected structured-data sources for core actuals first. If actuals are blocked or insufficient, stop and say what source or access is needed unless the user explicitly asked for a template or mockup.",{"type":45,"tag":53,"props":252,"children":253},{},[254],{"type":50,"value":255},"Reproduce the topline actual before explaining movement or driver context.",{"type":45,"tag":53,"props":257,"children":258},{},[259],{"type":50,"value":260},"For each headline KPI, include the current value, the absolute and relative change versus the comparison period, and a short interpretation.",{"type":45,"tag":53,"props":262,"children":263},{},[264],{"type":50,"value":265},"Call out anything that makes the current value hard to compare with the prior period before interpreting the movement, such as a tracking change, data backfill, partial outage, or missing day.",{"type":45,"tag":81,"props":267,"children":269},{"id":268},"_5-put-the-numbers-in-context",[270],{"type":50,"value":271},"5. Put The Numbers In Context",{"type":45,"tag":53,"props":273,"children":274},{},[275],{"type":50,"value":276},"Compare actuals against the context that makes performance interpretable. When a target, plan, pacing model, benchmark, historical range, or relevant peer group is defined, identify it and compare performance against it before judging status.",{"type":45,"tag":53,"props":278,"children":279},{},[280],{"type":50,"value":281},"If the goal has a deadline, do not just report whether the metric is above or below target. Show whether it is on pace to hit the target by the end of the period. Use the provided pacing definition when available. If none is defined or found, ask the user; when proceeding with a calculated fallback, state that it was calculated and explain the method.",{"type":45,"tag":53,"props":283,"children":284},{},[285],{"type":50,"value":286},"When useful, include absolute and percent variance to target and a red\u002Fyellow\u002Fgreen status. Make clear what comparison or pacing basis the status label uses.",{"type":45,"tag":81,"props":288,"children":290},{"id":289},"_6-explain-validated-drivers",[291],{"type":50,"value":292},"6. Explain Validated Drivers",{"type":45,"tag":53,"props":294,"children":295},{},[296],{"type":50,"value":297},"KPI updates need driver context, but driver claims must be validated before they are presented as explanations. A plausible story is not enough.",{"type":45,"tag":53,"props":299,"children":300},{},[301],{"type":50,"value":302},"When the readout needs to explain drivers, use $metric-diagnostics to identify and validate them. If trusted reporting or prior analysis already validates the drivers, use that evidence instead of re-running the diagnostic.",{"type":45,"tag":81,"props":304,"children":306},{"id":305},"_7-add-business-context-and-operating-implications",[307],{"type":50,"value":308},"7. Add Business Context And Operating Implications",{"type":45,"tag":53,"props":310,"children":311},{},[312],{"type":50,"value":313},"After identifying the likely drivers, use $gather-business-context to look for business context that helps explain what happened and what it means for the readout. Let the driver analysis guide what context to look for, and connect context to the metric only when evidence supports the link.",{"type":45,"tag":53,"props":315,"children":316},{},[317],{"type":50,"value":318},"Translate the evidence, driver analysis, and business context into the operating implication for the business. State whether the movement is concerning, what next step or action is warranted, and whether the main KPI is on track, at risk, or ahead of plan. Recommend action only when the evidence supports it; otherwise name the next validation step.",{"type":45,"tag":81,"props":320,"children":322},{"id":321},"_8-validate-the-readout",[323],{"type":50,"value":324},"8. Validate The Readout",{"type":45,"tag":53,"props":326,"children":327},{},[328],{"type":50,"value":329},"After the analysis is assembled and before shaping the final readout, use $validate-data to review whether the numbers, methodology, caveats, and evidence support the claimed status, drivers, and implications. Resolve material issues before sharing; carry remaining limitations into the readout.",{"type":45,"tag":81,"props":331,"children":333},{"id":332},"_9-hand-off-the-readout",[334],{"type":50,"value":335},"9. Hand Off The Readout",{"type":45,"tag":53,"props":337,"children":338},{},[339],{"type":50,"value":340},"End by handing the validated KPI readout to $build-report unless the user explicitly requests an inline, chat-only, brief\u002Fno-artifact answer, asks not to create a report\u002Ffile\u002Fartifact, or selects another primary artifact. A quick status update, brief readout, or findings-in-chat request is an inline output choice unless the user also asks for a report, document, deck, or durable artifact. When no explicit human waiver was given, the report handoff is mandatory; do not infer a waiver only because the user did not use the word \"report\".",{"type":45,"tag":53,"props":342,"children":343},{},[344],{"type":50,"value":345},"Before handoff, make the readout explicit:",{"type":45,"tag":347,"props":348,"children":349},"ul",{},[350,355,360,365,370],{"type":45,"tag":97,"props":351,"children":352},{},[353],{"type":50,"value":354},"headline status and operating implication",{"type":45,"tag":97,"props":356,"children":357},{},[358],{"type":50,"value":359},"actuals, targets, pacing basis, and comparison periods",{"type":45,"tag":97,"props":361,"children":362},{},[363],{"type":50,"value":364},"validated drivers and unresolved uncertainty",{"type":45,"tag":97,"props":366,"children":367},{},[368],{"type":50,"value":369},"audience, cadence, and requested delivery surface when known",{"type":45,"tag":97,"props":371,"children":372},{},[373],{"type":50,"value":374},"charts or figures that would clarify the readout",{"type":45,"tag":53,"props":376,"children":377},{},[378,380,386],{"type":50,"value":379},"Load ",{"type":45,"tag":204,"props":381,"children":383},{"className":382},[],[384],{"type":50,"value":385},"references\u002Freport-templates.md",{"type":50,"value":387}," before handing off and use the matching pattern as source notes for $build-report. Tell $build-report this is a KPI readout and pass the status, pacing, driver, uncertainty, audience, cadence, surface, and visual guidance above. Do not render charts directly from this skill; pass visual intent and supporting evidence to $build-report so $visualize-data owns chart selection and QA.",{"type":45,"tag":53,"props":389,"children":390},{},[391,393,399,401,406],{"type":50,"value":392},"For native slide or deck requests, use $build-report to create an HTML report first because ",{"type":45,"tag":204,"props":394,"children":396},{"className":395},[],[397],{"type":50,"value":398},"$report-to-google-slides",{"type":50,"value":400}," consumes an existing local HTML analytics report and does not convert live MCP app reports directly. Then invoke ",{"type":45,"tag":204,"props":402,"children":404},{"className":403},[],[405],{"type":50,"value":398},{"type":50,"value":407}," on that HTML report. If only an MCP app report exists, build an HTML report from the same source evidence as a separate delivery mode before conversion.",{"type":45,"tag":74,"props":409,"children":411},{"id":410},"standards",[412],{"type":50,"value":413},"Standards",{"type":45,"tag":81,"props":415,"children":417},{"id":416},"metric-standards",[418],{"type":50,"value":419},"Metric Standards",{"type":45,"tag":347,"props":421,"children":422},{},[423,428,433,438],{"type":45,"tag":97,"props":424,"children":425},{},[426],{"type":50,"value":427},"Never present a KPI as precise when its definition, source, time window, or comparison basis is unclear.",{"type":45,"tag":97,"props":429,"children":430},{},[431],{"type":50,"value":432},"Make calculation logic, inclusion or exclusion rules, grain, and time treatment explicit when they affect interpretation.",{"type":45,"tag":97,"props":434,"children":435},{},[436],{"type":50,"value":437},"Reconcile totals and compare against prior reporting when possible.",{"type":45,"tag":97,"props":439,"children":440},{},[441],{"type":50,"value":442},"Do not compare periods, cuts, or targets that are not definitionally compatible. Call out definition changes, backfills, denominator shifts, or calendar effects when they affect the movement.",{"type":45,"tag":81,"props":444,"children":446},{"id":445},"status-and-pacing-standards",[447],{"type":50,"value":448},"Status And Pacing Standards",{"type":45,"tag":347,"props":450,"children":451},{},[452,457,462,467,472,477],{"type":45,"tag":97,"props":453,"children":454},{},[455],{"type":50,"value":456},"Include the headline takeaway, current actual, relevant comparison, target or pacing context, driver summary, and implication unless the user asks for a narrower readout.",{"type":45,"tag":97,"props":458,"children":459},{},[460],{"type":50,"value":461},"Put actuals next to the target, plan, benchmark, or baseline when available so the reader can judge performance immediately.",{"type":45,"tag":97,"props":463,"children":464},{},[465],{"type":50,"value":466},"If a target is time-bound, show whether current performance is on pace using the provided pacing definition or a clearly stated calculated fallback.",{"type":45,"tag":97,"props":468,"children":469},{},[470],{"type":50,"value":471},"Keep recurring metric sections consistent across runs. If a requested section is missing because data, definitions, or validation are unavailable, explain the omission briefly.",{"type":45,"tag":97,"props":473,"children":474},{},[475],{"type":50,"value":476},"Use traffic-signal status only when it helps prioritize action. Pair color with text and state the basis for the status.",{"type":45,"tag":97,"props":478,"children":479},{},[480],{"type":50,"value":481},"Round numbers consistently, label units, and surface caveats when they change interpretation.",{"type":45,"tag":81,"props":483,"children":485},{"id":484},"driver-standards",[486],{"type":50,"value":487},"Driver Standards",{"type":45,"tag":347,"props":489,"children":490},{},[491,496,501,506,511,516,521],{"type":45,"tag":97,"props":492,"children":493},{},[494],{"type":50,"value":495},"Quantify drivers whenever the evidence supports it; do not use descriptive prose as a substitute for sizing the effect.",{"type":45,"tag":97,"props":497,"children":498},{},[499],{"type":50,"value":500},"Report the few drivers, contributors, or known non-drivers that matter for interpreting the KPI movement.",{"type":45,"tag":97,"props":502,"children":503},{},[504],{"type":50,"value":505},"For top-line KPI movement, structure validated drivers as a compact decomposition: top-line actual, component drivers, largest contributors or non-drivers, and residual or unresolved movement. Use an additive bridge only when the components reconcile cleanly; otherwise explain the relationship and uncertainty.",{"type":45,"tag":97,"props":507,"children":508},{},[509],{"type":50,"value":510},"Separate validated drivers from business context or hypotheses.",{"type":45,"tag":97,"props":512,"children":513},{},[514],{"type":50,"value":515},"Do not elevate business events into causes unless the timing, affected population, and measured change support the link.",{"type":45,"tag":97,"props":517,"children":518},{},[519],{"type":50,"value":520},"State whether the movement is broad-based or concentrated when that changes the operating implication.",{"type":45,"tag":97,"props":522,"children":523},{},[524],{"type":50,"value":525},"If driver evidence remains unresolved, name the uncertainty or diagnostic follow-up instead of inventing an explanation.",{"type":45,"tag":81,"props":527,"children":529},{"id":528},"presentation-standards",[530],{"type":50,"value":531},"Presentation Standards",{"type":45,"tag":347,"props":533,"children":534},{},[535,540,553,580,585],{"type":45,"tag":97,"props":536,"children":537},{},[538],{"type":50,"value":539},"Write for executives and operators who skim: lead with the answer, then the evidence.",{"type":45,"tag":97,"props":541,"children":542},{},[543,545,551],{"type":50,"value":544},"Use business-readable numbers and compact formats such as ",{"type":45,"tag":204,"props":546,"children":548},{"className":547},[],[549],{"type":50,"value":550},"123k (+8% w\u002Fw, +19% m\u002Fm)",{"type":50,"value":552},".",{"type":45,"tag":97,"props":554,"children":555},{},[556,558,563,564,570,572,578],{"type":50,"value":557},"Replace generic adjectives like ",{"type":45,"tag":204,"props":559,"children":561},{"className":560},[],[562],{"type":50,"value":101},{"type":50,"value":211},{"type":45,"tag":204,"props":565,"children":567},{"className":566},[],[568],{"type":50,"value":569},"healthy",{"type":50,"value":571},", or ",{"type":45,"tag":204,"props":573,"children":575},{"className":574},[],[576],{"type":50,"value":577},"soft",{"type":50,"value":579}," with the metric evidence that justifies them.",{"type":45,"tag":97,"props":581,"children":582},{},[583],{"type":50,"value":584},"Keep caveats close to the claim they affect, and omit caveats that do not change interpretation.",{"type":45,"tag":97,"props":586,"children":587},{},[588],{"type":50,"value":589},"Use charts, tables, scorecards, or KPI cards only when they make the takeaway easier to understand and remain readable in the final delivery context.",{"items":591,"total":700},[592,609,625,638,654,668,685],{"slug":593,"name":593,"fn":594,"description":595,"org":596,"tags":597,"stars":28,"repoUrl":29,"updatedAt":608},"analyze-account-signals","analyze account signals for sales intelligence","Use when the user wants to know what changed with one account, monitor an owner portfolio or watchlist, or rank accounts needing attention from recent evidence. Produce an evidence-backed account brief or bounded watchlist summary with recommended actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[598,599,602,605],{"name":26,"slug":27,"type":15},{"name":600,"slug":601,"type":15},"CRM","crm",{"name":603,"slug":604,"type":15},"Research","research",{"name":606,"slug":607,"type":15},"Sales","sales","2026-07-01T07:54:11.79288",{"slug":610,"name":610,"fn":611,"description":612,"org":613,"tags":614,"stars":28,"repoUrl":29,"updatedAt":624},"analyze-data-quality","assess data quality for analysis","Assess whether structured data, query results, dashboards, or analytical evidence are trustworthy enough to use. Use when the task is to check data quality, reconcile conflicting sources or metric definitions, or decide whether evidence is safe to cite.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[615,618,621],{"name":616,"slug":617,"type":15},"Audit","audit",{"name":619,"slug":620,"type":15},"Data Engineering","data-engineering",{"name":622,"slug":623,"type":15},"Data Quality","data-quality","2026-07-01T07:55:01.146961",{"slug":626,"name":626,"fn":627,"description":628,"org":629,"tags":630,"stars":28,"repoUrl":29,"updatedAt":637},"answers-ask-user-input","request missing context from users","Use when a small amount of missing context would materially improve the answer and tappable options plus a free-text answer can gather it efficiently.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[631,634],{"name":632,"slug":633,"type":15},"Communications","communications",{"name":635,"slug":636,"type":15},"Productivity","productivity","2026-07-14T05:43:36.096323",{"slug":639,"name":639,"fn":640,"description":641,"org":642,"tags":643,"stars":28,"repoUrl":29,"updatedAt":653},"apollo","prospect and enrich leads with Apollo","Use only when a focused Sales workflow has selected a present and connected Apollo connector, or the user explicitly asks for Apollo prospecting, enrichment, Company Details, records, sequences, or outbound planning. Apply Apollo v2-specific behavior only after verifying app version 2.0.0 or later.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[644,646,649,652],{"name":645,"slug":639,"type":15},"Apollo",{"name":647,"slug":648,"type":15},"Lead Enrichment","lead-enrichment",{"name":650,"slug":651,"type":15},"Prospecting","prospecting",{"name":606,"slug":607,"type":15},"2026-07-14T05:43:34.800076",{"slug":617,"name":617,"fn":655,"description":656,"org":657,"tags":658,"stars":28,"repoUrl":29,"updatedAt":667},"audit product flows and user journeys","Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, then reporting UX, design, and accessibility findings inline from that evidence. Use Figma only when the user explicitly asks for a board. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[659,660,663,664],{"name":616,"slug":617,"type":15},{"name":661,"slug":662,"type":15},"Design","design",{"name":23,"slug":24,"type":15},{"name":665,"slug":666,"type":15},"UX Design","ux-design","2026-07-01T07:54:30.613428",{"slug":669,"name":669,"fn":670,"description":671,"org":672,"tags":673,"stars":28,"repoUrl":29,"updatedAt":684},"build-business-case","build customer-led business cases and ROI","Review commercial proposals and build customer-led business cases, ROI or value models, pricing or investment rationales, executive summaries, and customer-ready value stories tied to a customer, workflow, initiative, or decision.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[674,677,680,683],{"name":675,"slug":676,"type":15},"Content Creation","content-creation",{"name":678,"slug":679,"type":15},"Finance","finance",{"name":681,"slug":682,"type":15},"Financial Modeling","financial-modeling",{"name":606,"slug":607,"type":15},"2026-07-01T07:54:02.779003",{"slug":686,"name":686,"fn":687,"description":688,"org":689,"tags":690,"stars":28,"repoUrl":29,"updatedAt":699},"build-competitive-brief","build competitive briefs and battlecards","Use when the user wants a competitor or vendor comparison, market-landscape analysis, battlecard, objection package, positioning brief, or account-specific competitive view. Produce an evidence-backed comparison, guidance, and brief, using supplied materials, connected research, and public evidence when appropriate.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[691,694,697,698],{"name":692,"slug":693,"type":15},"Competitive Intelligence","competitive-intelligence",{"name":695,"slug":696,"type":15},"Marketing","marketing",{"name":603,"slug":604,"type":15},{"name":606,"slug":607,"type":15},"2026-07-01T07:54:13.073252",43,{"items":702,"total":903},[703,724,747,764,780,799,816,830,846,860,872,887],{"slug":704,"name":704,"fn":705,"description":706,"org":707,"tags":708,"stars":721,"repoUrl":722,"updatedAt":723},"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},[709,712,715,718],{"name":710,"slug":711,"type":15},"Documents","documents",{"name":713,"slug":714,"type":15},"Healthcare","healthcare",{"name":716,"slug":717,"type":15},"Insurance","insurance",{"name":719,"slug":720,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":725,"name":725,"fn":726,"description":727,"org":728,"tags":729,"stars":744,"repoUrl":745,"updatedAt":746},"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},[730,733,735,738,741],{"name":731,"slug":732,"type":15},".NET","dotnet",{"name":734,"slug":725,"type":15},"ASP.NET Core",{"name":736,"slug":737,"type":15},"Blazor","blazor",{"name":739,"slug":740,"type":15},"C#","csharp",{"name":742,"slug":743,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":748,"name":748,"fn":749,"description":750,"org":751,"tags":752,"stars":744,"repoUrl":745,"updatedAt":763},"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},[753,756,759,762],{"name":754,"slug":755,"type":15},"Apps SDK","apps-sdk",{"name":757,"slug":758,"type":15},"ChatGPT","chatgpt",{"name":760,"slug":761,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":765,"name":765,"fn":766,"description":767,"org":768,"tags":769,"stars":744,"repoUrl":745,"updatedAt":779},"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},[770,773,776],{"name":771,"slug":772,"type":15},"API Development","api-development",{"name":774,"slug":775,"type":15},"CLI","cli",{"name":777,"slug":778,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":781,"name":781,"fn":782,"description":783,"org":784,"tags":785,"stars":744,"repoUrl":745,"updatedAt":798},"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},[786,789,792,795],{"name":787,"slug":788,"type":15},"Cloudflare","cloudflare",{"name":790,"slug":791,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":793,"slug":794,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":796,"slug":797,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":800,"name":800,"fn":801,"description":802,"org":803,"tags":804,"stars":744,"repoUrl":745,"updatedAt":815},"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},[805,806,809,812],{"name":635,"slug":636,"type":15},{"name":807,"slug":808,"type":15},"Project Management","project-management",{"name":810,"slug":811,"type":15},"Strategy","strategy",{"name":813,"slug":814,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":817,"name":817,"fn":818,"description":819,"org":820,"tags":821,"stars":744,"repoUrl":745,"updatedAt":829},"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},[822,823,825,828],{"name":661,"slug":662,"type":15},{"name":824,"slug":817,"type":15},"Figma",{"name":826,"slug":827,"type":15},"Frontend","frontend",{"name":760,"slug":761,"type":15},"2026-04-12T05:06:47.939943",{"slug":831,"name":831,"fn":832,"description":833,"org":834,"tags":835,"stars":744,"repoUrl":745,"updatedAt":845},"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},[836,837,840,841,842],{"name":661,"slug":662,"type":15},{"name":838,"slug":839,"type":15},"Design System","design-system",{"name":824,"slug":817,"type":15},{"name":826,"slug":827,"type":15},{"name":843,"slug":844,"type":15},"UI Components","ui-components","2026-05-10T05:59:52.971881",{"slug":847,"name":847,"fn":848,"description":849,"org":850,"tags":851,"stars":744,"repoUrl":745,"updatedAt":859},"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},[852,853,854,857,858],{"name":661,"slug":662,"type":15},{"name":838,"slug":839,"type":15},{"name":855,"slug":856,"type":15},"Documentation","documentation",{"name":824,"slug":817,"type":15},{"name":826,"slug":827,"type":15},"2026-05-16T06:07:47.821474",{"slug":861,"name":861,"fn":862,"description":863,"org":864,"tags":865,"stars":744,"repoUrl":745,"updatedAt":871},"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},[866,867,868,869,870],{"name":661,"slug":662,"type":15},{"name":824,"slug":817,"type":15},{"name":826,"slug":827,"type":15},{"name":843,"slug":844,"type":15},{"name":742,"slug":743,"type":15},"2026-05-16T06:07:40.583615",{"slug":873,"name":873,"fn":874,"description":875,"org":876,"tags":877,"stars":744,"repoUrl":745,"updatedAt":886},"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},[878,881,882,885],{"name":879,"slug":880,"type":15},"Animation","animation",{"name":777,"slug":778,"type":15},{"name":883,"slug":884,"type":15},"Creative","creative",{"name":661,"slug":662,"type":15},"2026-05-02T05:31:48.48485",{"slug":888,"name":888,"fn":889,"description":890,"org":891,"tags":892,"stars":744,"repoUrl":745,"updatedAt":902},"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},[893,894,895,898,901],{"name":883,"slug":884,"type":15},{"name":661,"slug":662,"type":15},{"name":896,"slug":897,"type":15},"Image Generation","image-generation",{"name":899,"slug":900,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]