跳到正文
cccskills
免费在 GitHub 公开

data-analysis

Use this skill whenever the user asks you to load, clean, aggregate, join, or otherwise analyze tabular data (csv, xlsx, json, or a database export) — 'what's the total revenue by region', 'clean up this dataset', 'join these two files on customer id'. Establishes a verification discipline so reported numbers are always numbers the code actually printed, never numbers you inferred or estimated.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Data analysis with pandas

pandas, numpy, and scipy are already installed in the sandbox — no install_packages call needed for any workflow below.

Loading

  • Pin dtypes on load rather than letting pandas infer them, when you know the schema — pd.read_csv(path, dtype={"customer_id": str, "amount": float}). Inference is usually right but silently wrong in a specific, dangerous way for ID-like columns: a numeric-looking ID (e.g. "00123") inferred as int64 loses its leading zeros.
  • Parse date columns explicitly (parse_dates=["order_date"] or pd.to_datetime(df["col"]) post-load) rather than leaving them as strings — string dates sort and filter lexicographically, not chronologically, which silently produces wrong "most recent N" or date-range results.
  • For Excel sources with multiple sheets, always pass sheet_name= explicitly (or inspect pd.ExcelFile(path).sheet_names first) — read_excel's default of the first sheet is a common source of "the numbers don't match" bugs when the data you actually need is on a different sheet.

Cleaning

  • Check for nulls (df.isnull().sum()) and duplicates (df.duplicated().sum()) before any aggregation — decide explicitly whether to drop, fill, or flag them, rather than letting them silently skew a sum/mean (pandas aggregations skip NaN by default, which is not always the right call — a "total" that silently excludes rows with a missing value is a different number than "total of all rows", and the user should know which one they're getting).
  • Coerce types explicitly after cleaning (pd.to_numeric(df["col"], errors="coerce")) rather than assuming a column that "looks numeric" already is — mixed-type columns from a manually-maintained spreadsheet are common, and a silent string comparison instead of a numeric one produces wrong sort/filter results without raising any error.
  • After any cleaning step that drops or modifies rows, print the before/after row count — a cleaning step that unexpectedly drops 80% of the data is a bug, not a result, and should be caught immediately rather than discovered after the whole analysis is built on the reduced dataset.

Aggregation, joins, pivots

  • groupby(...).agg(...) for aggregates; always specify the aggregation function explicitly per column (.agg({"amount": "sum", "order_id": "count"})) rather than a bare .sum() across the whole frame, which silently includes every numeric column whether or not it makes sense to sum it.
  • For joins (pd.merge), always specify how= explicitly (don't rely on the "inner" default when the user's intent might be "left"/"outer") and check the resulting row count against expectations — an unexpected row-count change after a merge (either fewer rows than the left frame, or way more) almost always means a many-to-many relationship you didn't account for, or a key-matching problem (mismatched types, whitespace, or casing in the join column).
  • pivot_table for cross-tabulations; pass fill_value=0 explicitly when a missing combination should read as zero rather than NaN, since which one is correct depends on the question being asked.

Verification discipline (do this before reporting any number)

  1. Always run df.info() and df.describe() (or .value_counts() for categorical columns) before analyzing — this catches wrong dtypes, unexpected nulls, and outliers early, before they propagate into a wrong conclusion.
  2. Cross-check any headline number by computing it a second, independent way — e.g. if you report a total via groupby().sum(), also sanity-check it against df["amount"].sum() on the ungrouped frame (should match), or against a manual filter-and-sum on a known subset. Two different code paths agreeing is meaningfully more trustworthy than one path you didn't double-check.
  3. Never report a number your code didn't actually print. If you're describing a trend or a comparison, make sure the specific figures you state in your response are ones that appeared in your program's printed output — do not round, estimate, or extrapolate a number that wasn't literally computed and displayed.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Build a new PipesHub connector, or extend an existing one, end to end, following CONNECTOR.md. Use when asked to add, create, build or port a connector or integration for an external source (Jira, Drive, Slack, a database, a SaaS API), or to add sync of a new object type to an existing connector.

中文简介正在准备中。当前显示原文说明。

pipeshub-ai/pipeshub-ai38392026年10月18日 更新

Use this skill whenever the user asks for a chart, graph, plot, or visualization of data — 'chart this by month', 'show me a breakdown by category', 'visualize the trend'. Covers picking the right chart type for the question being asked, labeling/readability rules, and which plotting library to reach for. Pair with data-analysis for the underlying data prep.

中文简介正在准备中。当前显示原文说明。

pipeshub-ai/pipeshub-ai38392026年10月18日 更新

docx

免费

Use this skill whenever the user asks for a Word document, a .docx file, or a report/memo/letter/proposal delivered as one — creating a new document from scratch, editing an existing .docx, or reading/summarizing the contents of one. Covers page layout, headings, tables, numbered/bulleted lists, page breaks, and a table of contents. Does not cover converting a .docx to PDF or .doc to .docx (see file-conversion for what conversions ARE supported in this environment).

中文简介正在准备中。当前显示原文说明。

pipeshub-ai/pipeshub-ai38392026年10月18日 更新

Use this skill when the user asks to convert a file from one format to another (e.g. csv to xlsx, xlsx to json, pdf text to csv) and you're not sure which library handles that specific pair, or whether it's supported in this environment at all. Dispatches to the right library per format pair and explicitly lists conversions that are NOT supported here so you don't attempt one that will silently fail or produce a wrong result.

中文简介正在准备中。当前显示原文说明。

pipeshub-ai/pipeshub-ai38392026年10月18日 更新

Low-level support skill for hand-editing the raw XML inside a .docx or .pptx file (both formats are just ZIP archives of XML parts). Use this directly only when you need to unpack, inspect, or repack Open XML yourself — for example fixing a validation error in generated markup, or making one small targeted edit without regenerating a whole document from scratch. The docx and pptx skills already use this internally for their 'edit an existing file' workflow, so you rarely need to load this on its own.

中文简介正在准备中。当前显示原文说明。

pipeshub-ai/pipeshub-ai38392026年10月18日 更新

pdf

免费

Use this skill whenever the user asks for a PDF — generating a new one from scratch (reports, invoices, letters), extracting text/tables from an existing PDF, or filling in an existing PDF form. Does not cover converting an existing Word/PowerPoint/Excel file to PDF (that requires LibreOffice, not available in this environment — see file-conversion).

中文简介正在准备中。当前显示原文说明。

pipeshub-ai/pipeshub-ai38392026年10月18日 更新

查看 pipeshub-ai 的全部技能

报告此技能的问题