본문으로 건너뛰기
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(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 / 1,000자

이 양식은 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-ai3.8천2026년 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-ai3.8천2026년 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-ai3.8천2026년 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-ai3.8천2026년 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-ai3.8천2026년 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-ai3.8천2026년 10월 18일 업데이트

pipeshub-ai의 스킬 모두 보기

이 스킬의 문제 신고