Skip to content
Development
Skill

/data

Data analysis and reference enrichment.

From plugin
vexjoy-agent
42260 skills198 agents12 commands78 hooks
Install
$ npx -y skills add notque/vexjoy-agent --skill data --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/data

Context preview

The summary Claude sees to decide when to auto-load this skill.

Data analysis and reference enrichment.

SKILL.md

data.SKILL.md
name: data
description: "Data analysis and reference enrichment."
user-invocable: true
argument-hint: "<dataset-or-component-name> [--decompose]"
allowed-tools:
  - Read
  - Write
  - Bash
  - Grep
  - Glob
  - Edit
  - Task
  - Agent
routing:
  triggers:
    - "analyze data"
    - "data analysis"
    - "CSV"
    - "dataset"
    - "metrics"
    - "trend"
    - "cohort"
    - "A/B test"
    - "statistical"
    - "distribution"
    - "correlation"
    - "KPI"
    - "funnel"
    - "experiment results"
    - "data insights"
    - "statistical analysis"
    - "CSV analysis"
    - "explore dataset"
    - "enrich references"
    - "improve reference depth"
    - "generate references"
    - "add reference files"
    - "reference enrichment"
    - "decompose skill"
    - "extract references"
  not_for: "database schema (agents handle directly), code review (use review)"
  pairs_with:
    - workflow
    - assessment
  complexity: medium
  category: analysis

Data Skill

Two modes. Match the request to a section.

| Signal | Mode | |--------|------| | Analyze data, CSV, metrics, A/B test, trend, KPI, funnel, distribution | A. Data Analysis | | Enrich references, generate references, decompose skill, improve depth | B. Reference Enrichment |

---

A. Data Analysis

Every analysis starts with the decision it supports, works backward to evidence required, then touches the data. Analysis without a decision is arithmetic.

Phase 1: FRAME

Establish what decision this analysis supports.

1. Identify the decision, decision-maker, options, and default action if no analysis is done. 2. If the user cannot articulate a decision, ask: "What will you do differently based on this analysis?" If exploratory, switch to Exploratory Mode (apply rigor gates, make no causal claims). 3. Define evidence requirements: what evidence favors each option, minimum threshold for changing the default, deal-breakers. 4. Save `analysis-frame.md`.

**Gate**: Decision identified, options enumerated, evidence requirements saved.

Phase 2: DEFINE

Lock metric definitions before loading data. Defining after seeing data enables cherry-picking.

For each metric: name, exact formula (numerator/denominator), population (included/excluded), time window, segments. For comparisons: define groups and verify fairness.

Save `metric-definitions.md`. Definitions are locked once Phase 3 starts. If data reveals a definition is unworkable, return here, update, and document the change.

**Gate**: All metrics defined with formulas and populations.

Phase 3: EXTRACT

Load data. Assess quality. No interpretation.

1. **Detect tools**: try `import pandas`; fall back to `csv.DictReader` + `statistics`. 2. **Profile**: row count, column types, missing values, date range, distribution stats. 3. **Quality checks** (load `references/rigor-gates.md` Gate 1):

| Check | Minimum | If failed | |-------|---------|-----------| | Sample fraction | Report N of M | Warn if <5% coverage | | Time window | No gaps >10% | Adjust or note limitation | | Segment size | 30+ per segment | Merge small segments or exclude | | Missing rate | <20% per critical column | Impute with disclosure or exclude |

4. Save `data-quality-report.md`.

**Gate**: Data loaded, quality assessed, failures documented as limitations.

Phase 4: ANALYZE

Compute metrics per Phase 2 definitions. Report confidence intervals, not point estimates.

1. **Compute** using exact formulas. Wilson score CI for proportions. 2. **Fairness gate** (comparisons): same time window, same population, confounders documented, survivorship checked (load `references/rigor-gates.md` Gate 2). 3. **Multiple testing** (6+ comparisons): apply Bonferroni (threshold = 0.05/N). Report all segments tested (Gate 3). 4. **Practical significance**: report effect size alongside statistical significance. Base-rate context ("from 2.1% to 2.3%", not "+10% lift") (Gate 4). 5. Save `analysis-results.md`.

**Gate**: All metrics computed. Rigor gates applied.

Phase 5: CONCLUDE

Lead with insights. Return to the decision.

1. **Headline finding**: one sentence addressing the Phase 1 decision. 2. **Supporting evidence**: primary metric with CI, secondary metrics, segment breakdowns. 3. **Limitations**: wide CIs are the finding, not a formatting problem. 4. **Decision mapping**: does evidence meet threshold? Deal-breakers triggered? Recommended action? Additional data needed? 5. Save `analysis-report.md` (load `references/output-templates.md` for analysis-type templates).

**Gate**: Report saved with headline, limitations, recommendation tied to decision.

Error Handling (Data Analysis)

| Error | Recovery | |-------|----------| | No decision context | Ask "What will you do differently?" Switch to Exploratory if none. | | Parse failure | Try utf-8, latin-1, utf-8-sig. Detect delimiter. Max 3 attempts. | | Insufficient segment data (<30) | Merge small segments, remove segmentation, or accept with disclosure. | | Metrics changed after seeing data | Return to Phase 2, document changes. Max 2 revisions. | | Wide CI on primary metric | State: "Data does not support a confident decision." Suggest more data. |

---

B. Reference Enrichment

Enrich agent/skill reference files from Level 0-2 to Level 3+, or decompose bloated body files by extracting domain content into references.

Phase 0: DECOMPOSE (when `--decompose` or "extract references")

Extract domain-heavy content from a bloated SKILL.md into reference files.

1. Run `python3 scripts/detect-decomposition-targets.py --skill {name}` (or `--agent`). 2. If no extractable blocks, report "nothing to decompose" and stop. 3. Snapshot: `cp {path} /tmp/decomp-before-{name}.md`. 4. For each block: create reference file, remove from body (MOVE, not copy), add loading table entry. 5. Retain in body: frontmatter, overview, phase workflow, loading table, error handling. 6. Validate: `python3 scripts/validate-decomposition.py --before /tmp/decomp-before-{name}.md --

Read more
Ships withvexjoy-agent

Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.

Get the whole plugin

Other skills on vexjoy-agent.