{"id":51653906,"url":"https://github.com/seacen/data-analyst-sz","last_synced_at":"2026-07-14T07:02:16.520Z","repository":{"id":369438594,"uuid":"1289809945","full_name":"seacen/data-analyst-sz","owner":"seacen","description":"A trained senior data analyst as an on-call skill — runs a professional 9-step framework on any structured data, every number traceable. 把训练有素的资深数据分析师做成随叫随到的 skill:专业 9-step 分析框架,任意结构化数据都能跑,每个数字可追溯。","archived":false,"fork":false,"pushed_at":"2026-07-05T10:13:18.000Z","size":432,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-05T11:13:57.408Z","etag":null,"topics":["agent-skills","ai-agents","anti-hallucination","claude-code","codex","data-analysis","data-analyst","data-visualization","domain-pack","llm","pandas","skills"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seacen.png","metadata":{"files":{"readme":"README.en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-05T08:23:50.000Z","updated_at":"2026-07-05T10:12:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/seacen/data-analyst-sz","commit_stats":null,"previous_names":["seacen/data-analyst-sz"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/seacen/data-analyst-sz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seacen%2Fdata-analyst-sz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seacen%2Fdata-analyst-sz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seacen%2Fdata-analyst-sz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seacen%2Fdata-analyst-sz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seacen","download_url":"https://codeload.github.com/seacen/data-analyst-sz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seacen%2Fdata-analyst-sz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35450066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-14T02:00:06.603Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","ai-agents","anti-hallucination","claude-code","codex","data-analysis","data-analyst","data-visualization","domain-pack","llm","pandas","skills"],"created_at":"2026-07-14T07:02:16.072Z","updated_at":"2026-07-14T07:02:16.511Z","avatar_url":"https://github.com/seacen.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Analyst SZ\n\n\u003e **A trained senior data analyst, packaged as an on-call skill.** Give it any structured data and a business question; it runs a fixed professional method (the **9-step framework**) end to end, and delivers a report-ready deck + report — every number computed for real and fully traceable.\n\n**🌐 Language:** [**中文**](README.md) · **English (this page)**\n\n[![License: FSL-1.1-ALv2](https://img.shields.io/badge/License-FSL--1.1--ALv2-blue.svg)](LICENSE)\n\n---\n\n## Why it's professional: a trained analysis method\n\nThe core is the **9-step framework** — a senior analyst's way of working, fixed into an executable discipline instead of letting the model improvise over the data. Every analysis follows the same professional sequence:\n\n**Understand the data → frame the business question into an issue tree → hypothesize → verify each hypothesis with real computation → decompose the drivers (which segment or step moved it, who's up and who's down) → synthesize a report-ready deck + report → take follow-ups.**\n\nIt won't stop at \"a metric is down 6%\" and call it done — it drills to the root cause (which segment or step is moving, who's up and who's down), then answers the question that matters most: **\"so what? what does it mean?\"** Every insight names the object, gives the number, and points to the implication and the next move. That's the difference between a senior analyst and a plain report — and it's what this method delivers every time.\n\n## What you get: a polished, report-ready deck\n\nWhen the analysis finishes, it produces a **self-contained HTML deck + companion report** by default (a 1:1 mirror, slide by slide) — no layout work on your side:\n\n- **Professionally laid out, ready to present** — every slide carries a **so-what headline** (object + number + conclusion), so the point lands at a glance.\n- **Rich charts:** bars, matrix heatmaps, bullet charts, scatter, waterfall bridges… each finding is routed to the chart that fits it, not the same bar chart every time.\n- **Opinionated and decision-ready:** each slide spells out where the opportunity is, where the risk is, and what to do next — not just a pile of charts.\n- Every number on every chart traces back to a `verdict_id` and the source data.\n\n## Numbers you can trust: anti-hallucination, fully traceable\n\nThe LLM only narrates — it never computes numbers or substitutes intuition for business rules:\n\n- Every number is produced by **pandas** the agent writes and runs, saved to `verdicts.json`; every claim in the report cites a `verdict_id` you can trace back to the source data.\n- Rule-engine conclusions must carry a `rule_source` (anchored to your rule tables); when the rules aren't enough, it outputs \"pending business rule\" and never fabricates.\n\n## Universality: no requirement on the source data — feed it anything\n\nBy design it makes no assumptions about the data or the domain. That universality shows up in three layers:\n\n1. **Generalization — both layers generalize.** The universal 9-step method fits any analysis; the domain-pack layer lets the same engine understand a new field just by swapping the pack. Change the question, change the columns — it profiles the data at runtime, abstracts field roles, and still runs.\n2. **Tool universality — the builder is universal too.** `domain-pack-builder` is itself a generic factory: hand it **any** field's material and it produces that field's pack. You aren't limited to pre-built domains — you can make this analysis an expert in **your own** field.\n3. **Data compatibility — no dependency on the raw data's shape.** Excel / CSV / Parquet / DataFrame, any schema. It reads the data profile at runtime and maps columns to abstract roles — nothing about any single dataset's structure is hardcoded.\n\n## The real value: distill analysis capability into an asset\n\nIts core idea is to **distill your team's analysis method, reasoning, and business understanding into one reusable, pluggable asset**. What normally lives only in one senior analyst's head, once encoded, becomes available on demand to everyone. Build a pack for a new field once, and from then on everyone gets that expert's caliber of analysis.\n\n---\n\n## The two skills\n\nOne plugin bundling two skills that work together:\n\n| Skill | Role | In one line |\n|---|---|---|\n| **`data-analysis`** | Consumer | Upload any structured data + ask an analytical question; it runs the **9-step framework** end to end, delivers a report-ready **deck + report** by default, and takes follow-ups. |\n| **`domain-pack-builder`** | Builder | A generic factory for building **any** domain pack: it studies your field's raw material (training decks / sample analyses / data) like a researcher → synthesizes an *Understanding Handbook* → derives that field's domain pack for `data-analysis` to load. |\n\n**Architecture:** the methodology is **generic** (the universal `references/` layer carries zero domain knowledge); domain knowledge lives in **pluggable domain packs** (`domains/\u003cx\u003e/`). See [`docs/DESIGN.md`](docs/DESIGN.md) for the full design.\n\n---\n\n## Install\n\nPick any one (the same repo serves all three). You get two skills: `data-analysis` and `domain-pack-builder`.\n\n### 1) npx (most universal, cross-agent, via [vercel-labs/skills](https://github.com/vercel-labs/skills))\n\n```\nnpx skills add seacen/data-analyst-sz --all\n```\n\n`--all` installs both skills to every compatible agent, no prompts. To choose the agent yourself, use `--skill '*'` (all skills, then pick the agent); add `-g` to install globally.\n\n### 2) Claude Code (plugin — installs both at once)\n\n```\n/plugin marketplace add seacen/data-analyst-sz\n/plugin install data-analyst-sz@data-analyst-sz\n```\n\n### 3) Codex (OpenAI Codex CLI)\n\nUse the built-in `skill-installer` inside a Codex session:\n\n```\n$skill-installer install https://github.com/seacen/data-analyst-sz/tree/main/skills/data-analysis\n$skill-installer install https://github.com/seacen/data-analyst-sz/tree/main/skills/domain-pack-builder\n```\n\nRestart Codex afterwards to pick up the new skills.\n\n\u003e `SKILL.md` is the cross-vendor [Agent Skills open standard](https://agentskills.io) — Claude Code / Codex / Cursor / Copilot read it directly, no conversion needed.\n\n---\n\n## Quick start\n\n1. **Have a domain pack ready.** This repo ships a **synthetic e-commerce example** pack (`skills/data-analysis/domains/ecommerce/`) — install and try it. For your own field, see below.\n2. **Give data + ask a question.** Hand your structured data to `data-analysis` and ask a business question, for example:\n   \u003e \"Analyze GMV and growth by category and channel — where is it growing, where are the opportunities?\"\n3. **It automatically** routes to the matching domain → runs the full 9-step → delivers `outputs/insight_deck.html` + `outputs/insight_report.md`, every number traceable.\n\n\u003e ⚠️ Runtime artifacts (`outputs/`, verdict JSON, generated scripts) are anchored to your working directory — never written into the skill's install directory.\n\n---\n\n## Build your own domain pack\n\nA new field needs no skill edits — use `domain-pack-builder`:\n\n1. Hand it your field's raw material (training decks / a sample analysis to replicate / real data / SME interviews).\n2. It **reads visually page by page** → synthesizes an *Understanding Handbook* → **derives** the domain pack (framework / glossary / computation-reference / data-spec / triggers / insight-extensions / business-rules…), flagging anything uncertain with `⚠️待确认` (to-confirm).\n3. The business edits `⚠️待确认` into final values in Typora/Obsidian.\n4. Drop the resulting pack into `skills/data-analysis/domains/\u003cyour-domain\u003e/` and `data-analysis` can route to and analyze it.\n\n`domain-pack-builder` itself carries **zero domain knowledge**; domain specifics come only from your input material and land only in the produced pack.\n\n---\n\n## Repository layout\n\n```\ndata-analyst-sz/\n├── skills/\n│   ├── data-analysis/          # Consumer skill: 9-step framework + universal-layer references\n│   │   ├── SKILL.md\n│   │   ├── references/         # Universal layer (domain-neutral): 9-step / anti-hallucination / protocol / deck templates…\n│   │   └── domains/\n│   │       └── ecommerce/      # ★ Bundled synthetic e-commerce example domain pack\n│   └── domain-pack-builder/    # Builder skill: study material → handbook → derive pack\n│       ├── SKILL.md\n│       └── references/\n├── docs/DESIGN.md              # Design document for both skills\n├── .claude-plugin/             # Claude Code plugin / marketplace manifests\n├── LICENSE                     # Apache-2.0\n└── README.md\n```\n\n---\n\n## Notes\n\n- This suite's methodology was refined on a real enterprise analytics project; that project's domain pack contains company-sensitive information and is **not included in this public repo**. The `domains/` folder ships a **synthetic e-commerce example** (entirely fictional, non-sensitive) to demonstrate the capability and let you run it out of the box.\n- Both skills are in the [Agent Skills open standard](https://agentskills.io) format — reusable and portable.\n\n## License\n\n[Functional Source License 1.1 (FSL-1.1-ALv2)](LICENSE) — © 2026 Seacen Zhao \u003cxichangzhao@gmail.com\u003e. Free for any Permitted Purpose (**including internal and work use**); reselling, bundling into a paid product, or offering the software itself as a hosted/SaaS service requires a separate license from the copyright holder. Each version converts to Apache-2.0 two years after its release.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseacen%2Fdata-analyst-sz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseacen%2Fdata-analyst-sz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseacen%2Fdata-analyst-sz/lists"}