jupyter-notebooks

作者: openai

建立、搭建、編輯、重構及驗證 Jupyter notebooks(.ipynb),以進行可重現的 SQL/Python 分析、實驗、建模、教學等。

npx skills add https://github.com/openai/role-specific-plugins --skill jupyter-notebooks

Related Skills

Use $validate-data when notebook results support a recommendation, shared claim, or decision.

Jupyter Notebooks

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.

Workflow

  1. Lock the notebook mode and scope.

    Decide whether the notebook is an analysis report, experiment log, diagnostic notebook, data-quality check, market-sizing calculation, model exploration, tutorial, or companion artifact for a report. Identify the reader, decision, expected handoff, required inputs, and whether the task calls for a new notebook or targeted edits to an existing one.

  2. Inspect or scaffold with notebook-safe tooling.

    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, validate the notebook structure before finishing.

  3. Structure the notebook for the chosen mode.

    For analytical notebooks, default to:

    1. ## tl;dr
    2. ## Context & Methods
    3. ## Data
    4. ## Results
    5. ## Takeaways

    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.

    For tutorials or walkthroughs, adapt the same discipline to a teaching flow:

    1. ## Goal
    2. ## Setup
    3. ## Steps
    4. ## Checks
    5. ## Next Steps
  4. Build a clear data and computation path.

    Separate setup, imports, parameters, data loading, data preparation, 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.

  5. Use data sources deliberately.

    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, 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.

  6. Make cells readable and bounded.

    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.

  7. Validate results before writing conclusions.

    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.

  8. Execute and record validation status.

    Run the notebook top-to-bottom when the environment allows:

    python -m jupyter nbconvert --execute --to notebook --inplace path/to/notebook.ipynb
    

    Optional local setup when needed:

    uv pip install jupyterlab nbformat nbclient ipykernel
    

    If execution is not possible, say so explicitly and provide the exact command, missing dependency, credential, data access, kernel, or environment step needed to validate locally.

Standards

Notebook Structure

  • Make the default top-to-bottom read clear before the reader starts executing cells out of order.
  • Put executive summary material at the top, but write it last after inspecting executed results.
  • Keep notebook sections aligned with the notebook mode: analysis, experiment, diagnostic, tutorial, or handoff artifact.
  • Keep section titles, chart titles, labels, and file names descriptive enough for handoff.
  • Preserve the existing notebook's intent when refactoring; improve structure without rewriting everything by default.

Reproducibility

  • Keep parameters, date ranges, filters, cohorts, assumptions, and source references visible near the top of the notebook.
  • Record enough source context for another reader to trace the analysis: query permalinks, request IDs, table names, source paths, spreadsheet tabs, dashboard links, extract versions, or input file locations.
  • Make computation deterministic where possible. Avoid hidden state, manually edited intermediate values, out-of-order dependencies, and unexplained cached outputs.
  • Prefer explicit environment setup cells or notes when the notebook depends on nonstandard packages, kernels, credentials, or local files.
  • 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.

Code And Data Hygiene

  • Separate data preparation from presentation.
  • Keep complex SQL readable and documented with a one-line goal comment.
  • Keep plotting and lightweight shaping in Python after the data preparation step is complete.
  • Use descriptive variable names and avoid abbreviated temporary names in reader-facing notebooks.
  • Keep outputs bounded. Prefer small preview tables, sampled rows, explicit limits, and focused charts over raw dumps.
  • Avoid broad live-source scans. Filter queries by needed partitions, cohorts, or time windows.

Analysis Quality

  • Make assumptions explicit when they affect interpretation.
  • Tie takeaways to executed outputs with concrete numbers, rows, charts, or visible patterns.
  • Do not promote unexecuted or unverified calculations into the tl;dr.
  • Label caveats, incomplete checks, missing source access, and known validation gaps.
  • Add reasonableness checks for surprising results, high-impact claims, or stakeholder-facing conclusions.

Validation Checklist

  • Required section order is present for the notebook mode.
  • The notebook executes without runtime errors, or execution failure is called out explicitly.
  • Outputs are present where expected and are not dominated by raw debug dumps.
  • The tl;dr, results, and takeaways match executed cells.
  • Source references and query or artifact links are preserved.
  • Tables and charts are labeled, bounded, and interpretable.
  • The final response includes the notebook path and validation status.

來自 openai 的更多技能

user-context
openai
載入或管理資料分析插件的持久性來源路由偏好設定、入門邏輯、設定進度以及語義層註冊表。
official
notion-research-documentation
openai
研究Notion內容,並將其整合為結構化的簡報、報告或附有引用的比較分析。透過精準查詢搜尋並擷取Notion頁面,然後按主題組織發現,並附上內文來源引用及參考文獻章節。根據範圍與使用者目標,從四種輸出格式(快速簡報、研究摘要、比較分析、綜合報告)中選擇。使用內建範本建立與更新Notion頁面;直接連結來源,並在新資訊到來時追蹤變更。
official
rcsb-pdb-skill
openai
提交精簡的RCSB PDB請求以獲取核心元數據、Search API查詢及FASTA下載。當用戶需要簡潔的RCSB摘要時使用;保存原始JSON或…
official
pdf
openai
PDF 讀取、建立與驗證,支援視覺化渲染與程式化生成。使用 Poppler(pdftoppm)將 PDF 頁面渲染為 PNG,以便在交付前檢查版面、間距與排版。透過 reportlab 程式化生成 PDF,確保格式可靠;使用 pdfplumber 或 pypdf 提取文字與元資料。執行品質標準:無文字裁切、元素重疊、表格破損或渲染瑕疵;僅使用 ASCII 連字號,引用格式需具可讀性。使用...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
終端驅動的瀏覽器自動化,具備元素快照與互動式UI工作流程。透過playwright-cli包裝腳本運作(需npx),支援無頭模式與有頭模式以進行視覺化除錯。核心流程:開啟頁面、擷取快照以取得穩定元素參照、使用參照進行互動、在導航或DOM變更後重新擷取快照。包含表單填寫、點擊、輸入、多分頁管理、螢幕截圖/PDF擷取,以及流程除錯的軌跡記錄。元素參照(例如e3、e15)...
official
ukb-topmed-phewas-skill
openai
接受rsID、GRCh37或GRCh38輸入,解析為所需的GRCh38查詢,以獲取單一變異的簡潔UKB-TOPMed PheWAS摘要。當需要…時使用。
official
code-review-context
openai
模型可見上下文
official