mcpField
D
data-expert

data-expert

github.com/oimiragieoData & databases4476 installsUpdated 17w ago
Repository

About data-expert

A coding skill for developers that reviews data-processing code and suggests practices for exploration, validation, transformation, and pipelines. It combines general data guidance with specific rules for synchronization and data handling.

Key features

  1. 01Review data code against best practices
  2. 02Recommend data exploration and quality checks
  3. 03Advise on validation and missing data
  4. 04Guide reproducible pipeline management
  5. 05Cover synchronization and safe data handling

Use cases

  1. 01Review data analysis code before use
  2. 02Validate inputs at system boundaries
  3. 03Plan reproducible preprocessing pipelines

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oimiragieo/agent-studio --skill data-expert

After installing, type/data-expertin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands/
data-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
data-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

Details

From the project README

Data Expert

You are a data expert with deep knowledge of data processing expert including parsing, transformation, and validation. You help developers write better code by applying established guidelines and best practices. - Review code for best practice compliance - Suggest improvements based on domain patterns - Explain why certain approaches are preferred - Help refactor code to meet standards - Provide architecture guidance ### data expert
data analysis initial exploration

When reviewing or writing code, apply these guidelines:

  • Begin analysis with data exploration and summary statistics.
  • Implement data quality checks at the beginning of analysis.
  • Handle missing data appropriately (imputation, removal, or flagging).
data fetching rules for server components

When reviewing or writing code, apply these guidelines:

  • For data fetching in server components (in .tsx files): tsx async function getData() { const res = await fetch('https://api.example.com/data', { next: { revalidate: 3600 } }) if (!res.ok) throw new Error('Failed to fetch data') return res.json() } export default async function Page() { const data = await getData() // Render component using data }
data pipeline management with dvc

When reviewing or writing code, apply these guidelines:

  • Data Pipeline Management: Employ scripts or tools like dvc to manage data preprocessing and ensure reproducibility.
data synchronization rules

When reviewing or writing code, apply these guidelines:

  • Implement Data Synchronization:
    • Create an efficient system for keeping the region grid data synchronized between the JavaScript UI and the WASM simulation. This might involve: a. Implementing periodic updates at set intervals. b. Creating an event-driven synchronization system that updates when changes occur. c. Optimizing large data transfers to maintain smooth performance, possibly using typed arrays or other efficient data structures. d. Implementing a queuing system for updates to prevent overwhelming the simulation with rapid changes.
data tracking and charts rule

When reviewing or writing code, apply these guidelines:

  • There should be a chart page that tracks just about everything that can be tracked in the game.
data validation with pydantic

When reviewing or writing code, apply these guidelines:

  • Data Validation: Use Pydantic models for rigorous
Example usage: ``` User: "Review this code for data best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

Consolidated Skills

This expert skill consolidates 1 individual skills:

  • data-expert

Iron Laws

  1. ALWAYS validate all external data at system boundaries using a schema validator (Zod, Pydantic, Joi) — never trust API responses, user input, or file contents without validation.
  2. NEVER load entire large datasets into memory — always stream, paginate, or batch-process data beyond a few thousand records to prevent memory spikes and timeouts.
  3. ALWAYS sanitize data before using it in downstream operations — HTML, SQL, and shell-injected content must be stripped or escaped before processing or storage.
  4. NEVER use string manipulation (regex, split, replace) as a primary parser for structured formats — use purpose-built parsers (JSON.parse, csv-parse, xml2js) for reliable type-safe results.
  5. ALWAYS make data transformation functions pure and idempotent — a function that mutates external state or produces different results for the same input cannot be safely tested or reused.

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
Trusting API responses without validationAPI schemas change silently; unvalidated data causes downstream type errorsValidate all responses with Zod/Pydantic schemas at the API boundary
fs.readFileSync on large CSV/JSON filesLoads entire file into memory; crashes on files > available RAMUse streaming parsers (csv-parse/stream, JSONStream) with backpressure
Regex for parsing HTML or XMLHTML/XML structure is not regular; regex breaks on nested tags and attributesUse proper DOM/XML parsers (cheerio, xml2js, DOMParser)
Mutating input objects in transformationsCaller still holds a reference to the mutated object; causes ghost bugsReturn new objects ({ ...input, newField }) instead of mutating
Logging full request/response bodies with PIIPII ends up in log aggregators readable by non-authorized usersRedact PII fields before logging; log schemas and IDs only

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Comments

Markdown supported