agentleFS
notquenotque/vexjoy-agent/skills/analysis/data/SKILL.md

data

Skill448 starsChanged 4 days agoMITView on GitHub

Data analysis and reference enrichment.

16 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use browser and frontend-design.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ryu111Skill

    browser

    agent-browser CLI 瀏覽器自動化指南。E2E 測試、UI 調試、設計驗證。適用於需要實際操作瀏覽器的場景。

    Also in 3 projects that use this

  • BlockSkill

    frontend-design

    Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every analysis starts with the decision it supports, works backward to evidence required, then touches the data.

    line 63
  2. Distinctive:

    If the user cannot articulate a decision, ask: "What will you do differently based on this analysis?" If exploratory, switch to Exploratory …

    line 71
  3. Distinctive:

    Gate: All metrics defined with formulas and populations.

    line 85
  4. Distinctive:

    Gate: All metrics computed. Rigor gates applied.

    line 116
  5. Very specific:

    Run python3 scripts/detect-decomposition-targets.py --skill {name} (or --agent).

    line 150
  6. Distinctive:

    If no extractable blocks, report "nothing to decompose" and stop.

    line 151
  7. Very specific:

    If fails: restore from snapshot.

    line 156
  8. Distinctive:

    Read the component's .md and existing references.

    line 165
  9. Very specific:

    Create one reference file per sub-domain (max 500 lines) following references/reference-file-template.md.

    line 178
  10. Distinctive:

    Do-pairing rule: every failure mode needs a "Do instead" counterpart.

    line 180
  11. Distinctive:

    Add/update loading table in the component body.

    line 195
  12. Distinctive:

    All references are >100 lines of domain-specific content.

    line 214

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Data Skill

Two modes. Match the request to a section.

SignalMode
Analyze data, CSV, metrics, A/B test, trend, KPI, funnel, distributionA. Data Analysis
Enrich references, generate references, decompose skill, improve depthB. 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):
CheckMinimumIf failed
Sample fractionReport N of MWarn if <5% coverage
Time windowNo gaps >10%Adjust or note limitation
Segment size30+ per segmentMerge small segments or exclude
Missing rate<20% per critical columnImpute with disclosure or exclude
  1. 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)

ErrorRecovery
No decision contextAsk "What will you do differently?" Switch to Exploratory if none.
Parse failureTry 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 dataReturn to Phase 2, document changes. Max 2 revisions.
Wide CI on primary metricState: "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 --after {path} --refs {refs_dir}/.
  7. If fails: restore from snapshot. If passes: python3 scripts/validate-references.py --skill {name}.

Load references/decomposition-prompt.md for the autonomous decomposition prompts.

Gate: Validation passes. Body reduced. All extracted content in references.

Phase 1: DISCOVER

  1. Run python3 scripts/gap-analyzer.py --agent {name} (or --skill).
  2. Read the component's .md and existing references. Map coverage.
  3. Compare stated domains against covered domains. Output gap report.

Gate: At least one gap identified. If Level 3 already, stop.

Phase 2: RESEARCH

For each gap: identify version-specific patterns, failure modes with detection commands (grep -rn "pattern"), error-fix mappings, project conventions. Dispatch up to 5 parallel research agents per sub-domain.

Gate: Each gap has 10+ concrete findings (version numbers, function names, grep patterns). Generic advice does not count.

Phase 3: COMPILE

Create one reference file per sub-domain (max 500 lines) following references/reference-file-template.md. Include: overview, pattern table with version ranges, failure mode table with detection commands, error-fix mappings.

Do-pairing rule: every failure mode needs a "Do instead" counterpart. No bare negative blocks.

Validate: python3 scripts/validate-references.py --agent {name} and --check-do-framing. Both must exit 0. Then run condense on each file.

Gate: Each file 80-500 lines. Both validations pass.

Phase 4: VALIDATE

Tier 1: python3 scripts/audit-reference-depth.py --agent {name} --json. Level must be 3. Tier 2: Apply references/quality-rubric.md. For each pattern: detection command present? Would a reviewer using only this file produce Level 3 output?

Gate: Both tiers pass. Max 2 loops per gap before flagging for manual review.

Phase 5: INTEGRATE

  1. Add/update loading table in the component body.
  2. Validate: python3 scripts/validate-references.py --agent {name} and python3 -m pytest scripts/tests/test_reference_loading.py -k {name} -v.
  3. Stage changes.

Gate: Validation passes. Report level change (was N, now M) and new file list.

Error Handling (Reference Enrichment)

ErrorRecovery
Gap analyzer failsCheck both agents/ and skills/ directories.
Phase 2 gate fails (<10 findings)Domain may be narrow. Flag for manual enrichment.
Phase 4 still below Level 3Files too generic. Target Phase 2 at weakest section.
Decomposition validation failsRestore from snapshot. Check for partial extractions.

Deep References

All references are >100 lines of domain-specific content. Load as directed by sections above.

SignalReferenceLines
Phase 3-4: statistical gates, sample adequacy, fairnessreferences/rigor-gates.md378
Phase 5: report templates (A/B, trend, distribution, cohort)references/output-templates.md489
Failure mode recognition (p-hacking, survivorship, Simpson's)references/preferred-patterns.md240
Classifying reference depth Level 0-3references/quality-rubric.md173
Writing new reference filesreferences/reference-file-template.md166
Running headless decompositionreferences/decomposition-prompt.md205
Running headless enrichmentreferences/enrichment-prompt.md117

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.