[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-jupyter-notebooks":3,"mdc-d29qcr-key":39,"related-org-openai-jupyter-notebooks":679,"related-repo-openai-jupyter-notebooks":886},{"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},"jupyter-notebooks","create and validate Jupyter notebooks","Create, edit, or validate reproducible SQL or Python notebooks. Use for notebooks, SQL\u002FPython scratchpads, reproducible exploration, audit trails, or runnable companions where the analysis should be reviewable or rerunnable.",{"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},"Data Analysis","data-analysis","tag",{"name":17,"slug":18,"type":15},"Python","python",{"name":20,"slug":21,"type":15},"SQL","sql",{"name":23,"slug":24,"type":15},"Notebooks","notebooks",{"name":26,"slug":27,"type":15},"Jupyter","jupyter",427,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Frole-specific-plugins","2026-07-01T07:54:57.250909",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\u002Fjupyter-notebooks","---\nname: jupyter-notebooks\ndescription: \"Create, edit, or validate reproducible SQL or Python notebooks. Use for notebooks, SQL\u002FPython scratchpads, reproducible exploration, audit trails, or runnable companions where the analysis should be reviewable or rerunnable.\"\n---\n\n## Related Skills\n\nUse $validate-data when notebook results support a recommendation, shared claim, or decision.\n\n# Jupyter Notebooks\n\nCreate clean, reproducible Jupyter notebooks that are easy to skim, rerun, and handoff. Treat the notebook as a reader-facing analysis artifact, not a scratchpad dump. Notebook work is not complete until the notebook executes successfully top-to-bottom, or the execution gap is called out with the exact validation steps needed to reproduce it.\n\n## Workflow\n\n1. Lock the notebook mode and scope.\n\n   Decide whether the notebook is an analysis report, experiment log, diagnostic notebook, data-quality check, market-sizing calculation, model exploration,\n   tutorial, or companion artifact for a report. Identify the reader, decision,\n   expected handoff, required inputs, and whether the task calls for a new notebook or targeted edits to an existing one.\n\n2. Inspect or scaffold with notebook-safe tooling.\n\n   Prefer JupyterLab, `nbformat`, `nbclient`, or an existing scaffold utility over hand-editing raw JSON. When editing an existing notebook, preserve its intent and minimize JSON churn. Avoid reordering cells unless it clearly improves the top-to-bottom story. If raw JSON editing is unavoidable,\n   validate the notebook structure before finishing.\n\n3. Structure the notebook for the chosen mode.\n\n   For analytical notebooks, default to:\n\n   1. `## tl;dr`\n   2. `## Context & Methods`\n   3. `## Data`\n   4. `## Results`\n   5. `## Takeaways`\n\n   Write `tl;dr` and takeaways after reviewing executed outputs. Use concrete observed values, visible patterns, rows, or charts, not assumptions. Include a `### Key Assumptions` subsection in `Context & Methods` when assumptions affect correctness.\n\n   For tutorials or walkthroughs, adapt the same discipline to a teaching flow:\n\n   1. `## Goal`\n   2. `## Setup`\n   3. `## Steps`\n   4. `## Checks`\n   5. `## Next Steps`\n\n4. Build a clear data and computation path.\n\n   Separate setup, imports, parameters, data loading, data preparation,\n   calculations, visualizations, and interpretation. If the notebook uses both SQL and Python, keep complex SQL in SQL cells or separate query files rather than large embedded Python strings unless there is a clear reason. Use descriptive variable names and keep each code cell focused on one step.\n\n5. Use data sources deliberately.\n\n   When a notebook needs table data, first use `~~structured_data` to confirm table choice, schema, partition filters, sample rows, and query-submission policy. Use the relevant source connector when available, then fall back to exports or pasted SQL when needed. Use `~~operations_logs` for freshness or lineage checks when they matter. Record query permalinks, request IDs, source paths, dashboard links,\n   extract names, or other source artifacts in the notebook context for any executed result that supports the analysis. Keep heavy queries filtered and bounded instead of turning the notebook into a broad live-source scan.\n\n6. Make cells readable and bounded.\n\n   Add concise markdown headers before most code cells. Keep headers brief and action-oriented, such as `### 1. Load Data`, `### 2. Validate Inputs`, or `### 3. Plot Results`. Favor several short cells over one large mixed-purpose cell. Keep prose short: explain purpose, assumptions, and expected result, not every line of code. Split multiple tables or charts across separate cells instead of dumping all outputs from one cell.\n\n7. Validate results before writing conclusions.\n\n   Check that key numbers, charts, and takeaways match executed outputs. Bound raw debug output, oversized tables, and noisy logs. If a result is surprising, add a local reasonableness check, small sample inspection, or reconciliation against a trusted source before promoting it to the summary.\n\n8. Execute and record validation status.\n\n   Run the notebook top-to-bottom when the environment allows:\n\n   ```bash\n   python -m jupyter nbconvert --execute --to notebook --inplace path\u002Fto\u002Fnotebook.ipynb\n   ```\n\n   Optional local setup when needed:\n\n   ```bash\n   uv pip install jupyterlab nbformat nbclient ipykernel\n   ```\n\n   If execution is not possible, say so explicitly and provide the exact command,\n   missing dependency, credential, data access, kernel, or environment step needed to validate locally.\n\n## Standards\n\n### Notebook Structure\n\n- Make the default top-to-bottom read clear before the reader starts executing cells out of order.\n- Put executive summary material at the top, but write it last after inspecting executed results.\n- Keep notebook sections aligned with the notebook mode: analysis, experiment,\n  diagnostic, tutorial, or handoff artifact.\n- Keep section titles, chart titles, labels, and file names descriptive enough for handoff.\n- Preserve the existing notebook's intent when refactoring; improve structure without rewriting everything by default.\n\n### Reproducibility\n\n- Keep parameters, date ranges, filters, cohorts, assumptions, and source references visible near the top of the notebook.\n- Record enough source context for another reader to trace the analysis: query permalinks, request IDs, table names, source paths, spreadsheet tabs,\n  dashboard links, extract versions, or input file locations.\n- Make computation deterministic where possible. Avoid hidden state, manually edited intermediate values, out-of-order dependencies, and unexplained cached outputs.\n- Prefer explicit environment setup cells or notes when the notebook depends on nonstandard packages, kernels, credentials, or local files.\n- Execute the notebook when the task requires a runnable artifact. In the final response, do not add a separate routine validation section for a clean run; surface execution gaps, partial execution, or unrun notebooks with the reason because those affect whether the user can rely on the artifact.\n\n### Code And Data Hygiene\n\n- Separate data preparation from presentation.\n- Keep complex SQL readable and documented with a one-line goal comment.\n- Keep plotting and lightweight shaping in Python after the data preparation step is complete.\n- Use descriptive variable names and avoid abbreviated temporary names in reader-facing notebooks.\n- Keep outputs bounded. Prefer small preview tables, sampled rows, explicit limits, and focused charts over raw dumps.\n- Avoid broad live-source scans. Filter queries by needed partitions, cohorts,\n  or time windows.\n\n### Analysis Quality\n\n- Make assumptions explicit when they affect interpretation.\n- Tie takeaways to executed outputs with concrete numbers, rows, charts, or visible patterns.\n- Do not promote unexecuted or unverified calculations into the `tl;dr`.\n- Label caveats, incomplete checks, missing source access, and known validation gaps.\n- Add reasonableness checks for surprising results, high-impact claims, or stakeholder-facing conclusions.\n\n### Validation Checklist\n\n- Required section order is present for the notebook mode.\n- The notebook executes without runtime errors, or execution failure is called out explicitly.\n- Outputs are present where expected and are not dominated by raw debug dumps.\n- The `tl;dr`, results, and takeaways match executed cells.\n- Source references and query or artifact links are preserved.\n- Tables and charts are labeled, bounded, and interpretable.\n- The final response includes the notebook path and validation status.\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,53,59,65,70,76,466,472,479,508,514,542,548,581,587,622,628,673],{"type":45,"tag":46,"props":47,"children":49},"element","h2",{"id":48},"related-skills",[50],{"type":51,"value":52},"text","Related Skills",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57],{"type":51,"value":58},"Use $validate-data when notebook results support a recommendation, shared claim, or decision.",{"type":45,"tag":60,"props":61,"children":62},"h1",{"id":4},[63],{"type":51,"value":64},"Jupyter Notebooks",{"type":45,"tag":54,"props":66,"children":67},{},[68],{"type":51,"value":69},"Create clean, reproducible Jupyter notebooks that are easy to skim, rerun, and handoff. Treat the notebook as a reader-facing analysis artifact, not a scratchpad dump. Notebook work is not complete until the notebook executes successfully top-to-bottom, or the execution gap is called out with the exact validation steps needed to reproduce it.",{"type":45,"tag":46,"props":71,"children":73},{"id":72},"workflow",[74],{"type":51,"value":75},"Workflow",{"type":45,"tag":77,"props":78,"children":79},"ol",{},[80,92,119,259,269,295,328,338],{"type":45,"tag":81,"props":82,"children":83},"li",{},[84,86,90],{"type":51,"value":85},"Lock the notebook mode and scope.",{"type":45,"tag":87,"props":88,"children":89},"br",{},[],{"type":51,"value":91},"Decide whether the notebook is an analysis report, experiment log, diagnostic notebook, data-quality check, market-sizing calculation, model exploration,\ntutorial, or companion artifact for a report. Identify the reader, decision,\nexpected handoff, required inputs, and whether the task calls for a new notebook or targeted edits to an existing one.",{"type":45,"tag":81,"props":93,"children":94},{},[95,97,100,102,109,111,117],{"type":51,"value":96},"Inspect or scaffold with notebook-safe tooling.",{"type":45,"tag":87,"props":98,"children":99},{},[],{"type":51,"value":101},"Prefer JupyterLab, ",{"type":45,"tag":103,"props":104,"children":106},"code",{"className":105},[],[107],{"type":51,"value":108},"nbformat",{"type":51,"value":110},", ",{"type":45,"tag":103,"props":112,"children":114},{"className":113},[],[115],{"type":51,"value":116},"nbclient",{"type":51,"value":118},", or an existing scaffold utility over hand-editing raw JSON. When editing an existing notebook, preserve its intent and minimize JSON churn. Avoid reordering cells unless it clearly improves the top-to-bottom story. If raw JSON editing is unavoidable,\nvalidate the notebook structure before finishing.",{"type":45,"tag":81,"props":120,"children":121},{},[122,124,127,129,177,180,182,188,190,196,198,204,206,209,211],{"type":51,"value":123},"Structure the notebook for the chosen mode.",{"type":45,"tag":87,"props":125,"children":126},{},[],{"type":51,"value":128},"For analytical notebooks, default to:",{"type":45,"tag":77,"props":130,"children":131},{},[132,141,150,159,168],{"type":45,"tag":81,"props":133,"children":134},{},[135],{"type":45,"tag":103,"props":136,"children":138},{"className":137},[],[139],{"type":51,"value":140},"## tl;dr",{"type":45,"tag":81,"props":142,"children":143},{},[144],{"type":45,"tag":103,"props":145,"children":147},{"className":146},[],[148],{"type":51,"value":149},"## Context & Methods",{"type":45,"tag":81,"props":151,"children":152},{},[153],{"type":45,"tag":103,"props":154,"children":156},{"className":155},[],[157],{"type":51,"value":158},"## Data",{"type":45,"tag":81,"props":160,"children":161},{},[162],{"type":45,"tag":103,"props":163,"children":165},{"className":164},[],[166],{"type":51,"value":167},"## Results",{"type":45,"tag":81,"props":169,"children":170},{},[171],{"type":45,"tag":103,"props":172,"children":174},{"className":173},[],[175],{"type":51,"value":176},"## Takeaways",{"type":45,"tag":87,"props":178,"children":179},{},[],{"type":51,"value":181},"Write ",{"type":45,"tag":103,"props":183,"children":185},{"className":184},[],[186],{"type":51,"value":187},"tl;dr",{"type":51,"value":189}," and takeaways after reviewing executed outputs. Use concrete observed values, visible patterns, rows, or charts, not assumptions. Include a ",{"type":45,"tag":103,"props":191,"children":193},{"className":192},[],[194],{"type":51,"value":195},"### Key Assumptions",{"type":51,"value":197}," subsection in ",{"type":45,"tag":103,"props":199,"children":201},{"className":200},[],[202],{"type":51,"value":203},"Context & Methods",{"type":51,"value":205}," when assumptions affect correctness.",{"type":45,"tag":87,"props":207,"children":208},{},[],{"type":51,"value":210},"For tutorials or walkthroughs, adapt the same discipline to a teaching flow:",{"type":45,"tag":77,"props":212,"children":213},{},[214,223,232,241,250],{"type":45,"tag":81,"props":215,"children":216},{},[217],{"type":45,"tag":103,"props":218,"children":220},{"className":219},[],[221],{"type":51,"value":222},"## Goal",{"type":45,"tag":81,"props":224,"children":225},{},[226],{"type":45,"tag":103,"props":227,"children":229},{"className":228},[],[230],{"type":51,"value":231},"## Setup",{"type":45,"tag":81,"props":233,"children":234},{},[235],{"type":45,"tag":103,"props":236,"children":238},{"className":237},[],[239],{"type":51,"value":240},"## Steps",{"type":45,"tag":81,"props":242,"children":243},{},[244],{"type":45,"tag":103,"props":245,"children":247},{"className":246},[],[248],{"type":51,"value":249},"## Checks",{"type":45,"tag":81,"props":251,"children":252},{},[253],{"type":45,"tag":103,"props":254,"children":256},{"className":255},[],[257],{"type":51,"value":258},"## Next Steps",{"type":45,"tag":81,"props":260,"children":261},{},[262,264,267],{"type":51,"value":263},"Build a clear data and computation path.",{"type":45,"tag":87,"props":265,"children":266},{},[],{"type":51,"value":268},"Separate setup, imports, parameters, data loading, data preparation,\ncalculations, visualizations, and interpretation. If the notebook uses both SQL and Python, keep complex SQL in SQL cells or separate query files rather than large embedded Python strings unless there is a clear reason. Use descriptive variable names and keep each code cell focused on one step.",{"type":45,"tag":81,"props":270,"children":271},{},[272,274,277,279,285,287,293],{"type":51,"value":273},"Use data sources deliberately.",{"type":45,"tag":87,"props":275,"children":276},{},[],{"type":51,"value":278},"When a notebook needs table data, first use ",{"type":45,"tag":103,"props":280,"children":282},{"className":281},[],[283],{"type":51,"value":284},"~~structured_data",{"type":51,"value":286}," to confirm table choice, schema, partition filters, sample rows, and query-submission policy. Use the relevant source connector when available, then fall back to exports or pasted SQL when needed. Use ",{"type":45,"tag":103,"props":288,"children":290},{"className":289},[],[291],{"type":51,"value":292},"~~operations_logs",{"type":51,"value":294}," for freshness or lineage checks when they matter. Record query permalinks, request IDs, source paths, dashboard links,\nextract names, or other source artifacts in the notebook context for any executed result that supports the analysis. Keep heavy queries filtered and bounded instead of turning the notebook into a broad live-source scan.",{"type":45,"tag":81,"props":296,"children":297},{},[298,300,303,305,311,312,318,320,326],{"type":51,"value":299},"Make cells readable and bounded.",{"type":45,"tag":87,"props":301,"children":302},{},[],{"type":51,"value":304},"Add concise markdown headers before most code cells. Keep headers brief and action-oriented, such as ",{"type":45,"tag":103,"props":306,"children":308},{"className":307},[],[309],{"type":51,"value":310},"### 1. Load Data",{"type":51,"value":110},{"type":45,"tag":103,"props":313,"children":315},{"className":314},[],[316],{"type":51,"value":317},"### 2. Validate Inputs",{"type":51,"value":319},", or ",{"type":45,"tag":103,"props":321,"children":323},{"className":322},[],[324],{"type":51,"value":325},"### 3. Plot Results",{"type":51,"value":327},". Favor several short cells over one large mixed-purpose cell. Keep prose short: explain purpose, assumptions, and expected result, not every line of code. Split multiple tables or charts across separate cells instead of dumping all outputs from one cell.",{"type":45,"tag":81,"props":329,"children":330},{},[331,333,336],{"type":51,"value":332},"Validate results before writing conclusions.",{"type":45,"tag":87,"props":334,"children":335},{},[],{"type":51,"value":337},"Check that key numbers, charts, and takeaways match executed outputs. Bound raw debug output, oversized tables, and noisy logs. If a result is surprising, add a local reasonableness check, small sample inspection, or reconciliation against a trusted source before promoting it to the summary.",{"type":45,"tag":81,"props":339,"children":340},{},[341,343,346,348,411,414,416,461,464],{"type":51,"value":342},"Execute and record validation status.",{"type":45,"tag":87,"props":344,"children":345},{},[],{"type":51,"value":347},"Run the notebook top-to-bottom when the environment allows:",{"type":45,"tag":349,"props":350,"children":355},"pre",{"className":351,"code":352,"language":353,"meta":354,"style":354},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","python -m jupyter nbconvert --execute --to notebook --inplace path\u002Fto\u002Fnotebook.ipynb\n","bash","",[356],{"type":45,"tag":103,"props":357,"children":358},{"__ignoreMap":354},[359],{"type":45,"tag":360,"props":361,"children":364},"span",{"class":362,"line":363},"line",1,[365,370,376,381,386,391,396,401,406],{"type":45,"tag":360,"props":366,"children":368},{"style":367},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[369],{"type":51,"value":18},{"type":45,"tag":360,"props":371,"children":373},{"style":372},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[374],{"type":51,"value":375}," -m",{"type":45,"tag":360,"props":377,"children":378},{"style":372},[379],{"type":51,"value":380}," jupyter",{"type":45,"tag":360,"props":382,"children":383},{"style":372},[384],{"type":51,"value":385}," nbconvert",{"type":45,"tag":360,"props":387,"children":388},{"style":372},[389],{"type":51,"value":390}," --execute",{"type":45,"tag":360,"props":392,"children":393},{"style":372},[394],{"type":51,"value":395}," --to",{"type":45,"tag":360,"props":397,"children":398},{"style":372},[399],{"type":51,"value":400}," notebook",{"type":45,"tag":360,"props":402,"children":403},{"style":372},[404],{"type":51,"value":405}," --inplace",{"type":45,"tag":360,"props":407,"children":408},{"style":372},[409],{"type":51,"value":410}," path\u002Fto\u002Fnotebook.ipynb\n",{"type":45,"tag":87,"props":412,"children":413},{},[],{"type":51,"value":415},"Optional local setup when needed:",{"type":45,"tag":349,"props":417,"children":419},{"className":351,"code":418,"language":353,"meta":354,"style":354},"uv pip install jupyterlab nbformat nbclient ipykernel\n",[420],{"type":45,"tag":103,"props":421,"children":422},{"__ignoreMap":354},[423],{"type":45,"tag":360,"props":424,"children":425},{"class":362,"line":363},[426,431,436,441,446,451,456],{"type":45,"tag":360,"props":427,"children":428},{"style":367},[429],{"type":51,"value":430},"uv",{"type":45,"tag":360,"props":432,"children":433},{"style":372},[434],{"type":51,"value":435}," pip",{"type":45,"tag":360,"props":437,"children":438},{"style":372},[439],{"type":51,"value":440}," install",{"type":45,"tag":360,"props":442,"children":443},{"style":372},[444],{"type":51,"value":445}," jupyterlab",{"type":45,"tag":360,"props":447,"children":448},{"style":372},[449],{"type":51,"value":450}," nbformat",{"type":45,"tag":360,"props":452,"children":453},{"style":372},[454],{"type":51,"value":455}," nbclient",{"type":45,"tag":360,"props":457,"children":458},{"style":372},[459],{"type":51,"value":460}," ipykernel\n",{"type":45,"tag":87,"props":462,"children":463},{},[],{"type":51,"value":465},"If execution is not possible, say so explicitly and provide the exact command,\nmissing dependency, credential, data access, kernel, or environment step needed to validate locally.",{"type":45,"tag":46,"props":467,"children":469},{"id":468},"standards",[470],{"type":51,"value":471},"Standards",{"type":45,"tag":473,"props":474,"children":476},"h3",{"id":475},"notebook-structure",[477],{"type":51,"value":478},"Notebook Structure",{"type":45,"tag":480,"props":481,"children":482},"ul",{},[483,488,493,498,503],{"type":45,"tag":81,"props":484,"children":485},{},[486],{"type":51,"value":487},"Make the default top-to-bottom read clear before the reader starts executing cells out of order.",{"type":45,"tag":81,"props":489,"children":490},{},[491],{"type":51,"value":492},"Put executive summary material at the top, but write it last after inspecting executed results.",{"type":45,"tag":81,"props":494,"children":495},{},[496],{"type":51,"value":497},"Keep notebook sections aligned with the notebook mode: analysis, experiment,\ndiagnostic, tutorial, or handoff artifact.",{"type":45,"tag":81,"props":499,"children":500},{},[501],{"type":51,"value":502},"Keep section titles, chart titles, labels, and file names descriptive enough for handoff.",{"type":45,"tag":81,"props":504,"children":505},{},[506],{"type":51,"value":507},"Preserve the existing notebook's intent when refactoring; improve structure without rewriting everything by default.",{"type":45,"tag":473,"props":509,"children":511},{"id":510},"reproducibility",[512],{"type":51,"value":513},"Reproducibility",{"type":45,"tag":480,"props":515,"children":516},{},[517,522,527,532,537],{"type":45,"tag":81,"props":518,"children":519},{},[520],{"type":51,"value":521},"Keep parameters, date ranges, filters, cohorts, assumptions, and source references visible near the top of the notebook.",{"type":45,"tag":81,"props":523,"children":524},{},[525],{"type":51,"value":526},"Record enough source context for another reader to trace the analysis: query permalinks, request IDs, table names, source paths, spreadsheet tabs,\ndashboard links, extract versions, or input file locations.",{"type":45,"tag":81,"props":528,"children":529},{},[530],{"type":51,"value":531},"Make computation deterministic where possible. Avoid hidden state, manually edited intermediate values, out-of-order dependencies, and unexplained cached outputs.",{"type":45,"tag":81,"props":533,"children":534},{},[535],{"type":51,"value":536},"Prefer explicit environment setup cells or notes when the notebook depends on nonstandard packages, kernels, credentials, or local files.",{"type":45,"tag":81,"props":538,"children":539},{},[540],{"type":51,"value":541},"Execute the notebook when the task requires a runnable artifact. In the final response, do not add a separate routine validation section for a clean run; surface execution gaps, partial execution, or unrun notebooks with the reason because those affect whether the user can rely on the artifact.",{"type":45,"tag":473,"props":543,"children":545},{"id":544},"code-and-data-hygiene",[546],{"type":51,"value":547},"Code And Data Hygiene",{"type":45,"tag":480,"props":549,"children":550},{},[551,556,561,566,571,576],{"type":45,"tag":81,"props":552,"children":553},{},[554],{"type":51,"value":555},"Separate data preparation from presentation.",{"type":45,"tag":81,"props":557,"children":558},{},[559],{"type":51,"value":560},"Keep complex SQL readable and documented with a one-line goal comment.",{"type":45,"tag":81,"props":562,"children":563},{},[564],{"type":51,"value":565},"Keep plotting and lightweight shaping in Python after the data preparation step is complete.",{"type":45,"tag":81,"props":567,"children":568},{},[569],{"type":51,"value":570},"Use descriptive variable names and avoid abbreviated temporary names in reader-facing notebooks.",{"type":45,"tag":81,"props":572,"children":573},{},[574],{"type":51,"value":575},"Keep outputs bounded. Prefer small preview tables, sampled rows, explicit limits, and focused charts over raw dumps.",{"type":45,"tag":81,"props":577,"children":578},{},[579],{"type":51,"value":580},"Avoid broad live-source scans. Filter queries by needed partitions, cohorts,\nor time windows.",{"type":45,"tag":473,"props":582,"children":584},{"id":583},"analysis-quality",[585],{"type":51,"value":586},"Analysis Quality",{"type":45,"tag":480,"props":588,"children":589},{},[590,595,600,612,617],{"type":45,"tag":81,"props":591,"children":592},{},[593],{"type":51,"value":594},"Make assumptions explicit when they affect interpretation.",{"type":45,"tag":81,"props":596,"children":597},{},[598],{"type":51,"value":599},"Tie takeaways to executed outputs with concrete numbers, rows, charts, or visible patterns.",{"type":45,"tag":81,"props":601,"children":602},{},[603,605,610],{"type":51,"value":604},"Do not promote unexecuted or unverified calculations into the ",{"type":45,"tag":103,"props":606,"children":608},{"className":607},[],[609],{"type":51,"value":187},{"type":51,"value":611},".",{"type":45,"tag":81,"props":613,"children":614},{},[615],{"type":51,"value":616},"Label caveats, incomplete checks, missing source access, and known validation gaps.",{"type":45,"tag":81,"props":618,"children":619},{},[620],{"type":51,"value":621},"Add reasonableness checks for surprising results, high-impact claims, or stakeholder-facing conclusions.",{"type":45,"tag":473,"props":623,"children":625},{"id":624},"validation-checklist",[626],{"type":51,"value":627},"Validation Checklist",{"type":45,"tag":480,"props":629,"children":630},{},[631,636,641,646,658,663,668],{"type":45,"tag":81,"props":632,"children":633},{},[634],{"type":51,"value":635},"Required section order is present for the notebook mode.",{"type":45,"tag":81,"props":637,"children":638},{},[639],{"type":51,"value":640},"The notebook executes without runtime errors, or execution failure is called out explicitly.",{"type":45,"tag":81,"props":642,"children":643},{},[644],{"type":51,"value":645},"Outputs are present where expected and are not dominated by raw debug dumps.",{"type":45,"tag":81,"props":647,"children":648},{},[649,651,656],{"type":51,"value":650},"The ",{"type":45,"tag":103,"props":652,"children":654},{"className":653},[],[655],{"type":51,"value":187},{"type":51,"value":657},", results, and takeaways match executed cells.",{"type":45,"tag":81,"props":659,"children":660},{},[661],{"type":51,"value":662},"Source references and query or artifact links are preserved.",{"type":45,"tag":81,"props":664,"children":665},{},[666],{"type":51,"value":667},"Tables and charts are labeled, bounded, and interpretable.",{"type":45,"tag":81,"props":669,"children":670},{},[671],{"type":51,"value":672},"The final response includes the notebook path and validation status.",{"type":45,"tag":674,"props":675,"children":676},"style",{},[677],{"type":51,"value":678},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":680,"total":885},[681,702,725,742,758,777,796,812,828,842,854,869],{"slug":682,"name":682,"fn":683,"description":684,"org":685,"tags":686,"stars":699,"repoUrl":700,"updatedAt":701},"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},[687,690,693,696],{"name":688,"slug":689,"type":15},"Documents","documents",{"name":691,"slug":692,"type":15},"Healthcare","healthcare",{"name":694,"slug":695,"type":15},"Insurance","insurance",{"name":697,"slug":698,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":703,"name":703,"fn":704,"description":705,"org":706,"tags":707,"stars":722,"repoUrl":723,"updatedAt":724},"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},[708,711,713,716,719],{"name":709,"slug":710,"type":15},".NET","dotnet",{"name":712,"slug":703,"type":15},"ASP.NET Core",{"name":714,"slug":715,"type":15},"Blazor","blazor",{"name":717,"slug":718,"type":15},"C#","csharp",{"name":720,"slug":721,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":726,"name":726,"fn":727,"description":728,"org":729,"tags":730,"stars":722,"repoUrl":723,"updatedAt":741},"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},[731,734,737,740],{"name":732,"slug":733,"type":15},"Apps SDK","apps-sdk",{"name":735,"slug":736,"type":15},"ChatGPT","chatgpt",{"name":738,"slug":739,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":743,"name":743,"fn":744,"description":745,"org":746,"tags":747,"stars":722,"repoUrl":723,"updatedAt":757},"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},[748,751,754],{"name":749,"slug":750,"type":15},"API Development","api-development",{"name":752,"slug":753,"type":15},"CLI","cli",{"name":755,"slug":756,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":759,"name":759,"fn":760,"description":761,"org":762,"tags":763,"stars":722,"repoUrl":723,"updatedAt":776},"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},[764,767,770,773],{"name":765,"slug":766,"type":15},"Cloudflare","cloudflare",{"name":768,"slug":769,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":771,"slug":772,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":774,"slug":775,"type":15},"Deployment","deployment","2026-04-12T05:07:14.275118",{"slug":778,"name":778,"fn":779,"description":780,"org":781,"tags":782,"stars":722,"repoUrl":723,"updatedAt":795},"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},[783,786,789,792],{"name":784,"slug":785,"type":15},"Productivity","productivity",{"name":787,"slug":788,"type":15},"Project Management","project-management",{"name":790,"slug":791,"type":15},"Strategy","strategy",{"name":793,"slug":794,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":797,"name":797,"fn":798,"description":799,"org":800,"tags":801,"stars":722,"repoUrl":723,"updatedAt":811},"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},[802,805,807,810],{"name":803,"slug":804,"type":15},"Design","design",{"name":806,"slug":797,"type":15},"Figma",{"name":808,"slug":809,"type":15},"Frontend","frontend",{"name":738,"slug":739,"type":15},"2026-04-12T05:06:47.939943",{"slug":813,"name":813,"fn":814,"description":815,"org":816,"tags":817,"stars":722,"repoUrl":723,"updatedAt":827},"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},[818,819,822,823,824],{"name":803,"slug":804,"type":15},{"name":820,"slug":821,"type":15},"Design System","design-system",{"name":806,"slug":797,"type":15},{"name":808,"slug":809,"type":15},{"name":825,"slug":826,"type":15},"UI Components","ui-components","2026-05-10T05:59:52.971881",{"slug":829,"name":829,"fn":830,"description":831,"org":832,"tags":833,"stars":722,"repoUrl":723,"updatedAt":841},"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},[834,835,836,839,840],{"name":803,"slug":804,"type":15},{"name":820,"slug":821,"type":15},{"name":837,"slug":838,"type":15},"Documentation","documentation",{"name":806,"slug":797,"type":15},{"name":808,"slug":809,"type":15},"2026-05-16T06:07:47.821474",{"slug":843,"name":843,"fn":844,"description":845,"org":846,"tags":847,"stars":722,"repoUrl":723,"updatedAt":853},"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},[848,849,850,851,852],{"name":803,"slug":804,"type":15},{"name":806,"slug":797,"type":15},{"name":808,"slug":809,"type":15},{"name":825,"slug":826,"type":15},{"name":720,"slug":721,"type":15},"2026-05-16T06:07:40.583615",{"slug":855,"name":855,"fn":856,"description":857,"org":858,"tags":859,"stars":722,"repoUrl":723,"updatedAt":868},"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},[860,863,864,867],{"name":861,"slug":862,"type":15},"Animation","animation",{"name":755,"slug":756,"type":15},{"name":865,"slug":866,"type":15},"Creative","creative",{"name":803,"slug":804,"type":15},"2026-05-02T05:31:48.48485",{"slug":870,"name":870,"fn":871,"description":872,"org":873,"tags":874,"stars":722,"repoUrl":723,"updatedAt":884},"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},[875,876,877,880,883],{"name":865,"slug":866,"type":15},{"name":803,"slug":804,"type":15},{"name":878,"slug":879,"type":15},"Image Generation","image-generation",{"name":881,"slug":882,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675,{"items":887,"total":996},[888,907,923,934,950,964,981],{"slug":889,"name":889,"fn":890,"description":891,"org":892,"tags":893,"stars":28,"repoUrl":29,"updatedAt":906},"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},[894,897,900,903],{"name":895,"slug":896,"type":15},"Analytics","analytics",{"name":898,"slug":899,"type":15},"CRM","crm",{"name":901,"slug":902,"type":15},"Research","research",{"name":904,"slug":905,"type":15},"Sales","sales","2026-07-01T07:54:11.79288",{"slug":908,"name":908,"fn":909,"description":910,"org":911,"tags":912,"stars":28,"repoUrl":29,"updatedAt":922},"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},[913,916,919],{"name":914,"slug":915,"type":15},"Audit","audit",{"name":917,"slug":918,"type":15},"Data Engineering","data-engineering",{"name":920,"slug":921,"type":15},"Data Quality","data-quality","2026-07-01T07:55:01.146961",{"slug":924,"name":924,"fn":925,"description":926,"org":927,"tags":928,"stars":28,"repoUrl":29,"updatedAt":933},"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},[929,932],{"name":930,"slug":931,"type":15},"Communications","communications",{"name":784,"slug":785,"type":15},"2026-07-14T05:43:36.096323",{"slug":935,"name":935,"fn":936,"description":937,"org":938,"tags":939,"stars":28,"repoUrl":29,"updatedAt":949},"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},[940,942,945,948],{"name":941,"slug":935,"type":15},"Apollo",{"name":943,"slug":944,"type":15},"Lead Enrichment","lead-enrichment",{"name":946,"slug":947,"type":15},"Prospecting","prospecting",{"name":904,"slug":905,"type":15},"2026-07-14T05:43:34.800076",{"slug":915,"name":915,"fn":951,"description":952,"org":953,"tags":954,"stars":28,"repoUrl":29,"updatedAt":963},"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},[955,956,957,960],{"name":914,"slug":915,"type":15},{"name":803,"slug":804,"type":15},{"name":958,"slug":959,"type":15},"Product Management","product-management",{"name":961,"slug":962,"type":15},"UX Design","ux-design","2026-07-01T07:54:30.613428",{"slug":965,"name":965,"fn":966,"description":967,"org":968,"tags":969,"stars":28,"repoUrl":29,"updatedAt":980},"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},[970,973,976,979],{"name":971,"slug":972,"type":15},"Content Creation","content-creation",{"name":974,"slug":975,"type":15},"Finance","finance",{"name":977,"slug":978,"type":15},"Financial Modeling","financial-modeling",{"name":904,"slug":905,"type":15},"2026-07-01T07:54:02.779003",{"slug":982,"name":982,"fn":983,"description":984,"org":985,"tags":986,"stars":28,"repoUrl":29,"updatedAt":995},"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},[987,990,993,994],{"name":988,"slug":989,"type":15},"Competitive Intelligence","competitive-intelligence",{"name":991,"slug":992,"type":15},"Marketing","marketing",{"name":901,"slug":902,"type":15},{"name":904,"slug":905,"type":15},"2026-07-01T07:54:13.073252",43]