mcpField
D
data-expert

data-expert

github.com/oimiragieo数据与数据库4476 次安装17 周前更新
代码仓库

关于 data-expert

面向开发者的数据处理编码技能,可审查代码并提供数据探索、验证、转换和管道管理建议。它将通用数据实践与同步及安全处理规则结合起来。

主要功能

  1. 01按最佳实践审查数据代码
  2. 02建议数据探索与质量检查
  3. 03指导数据验证和缺失值处理
  4. 04指导可复现的管道管理
  5. 05涵盖同步与安全数据处理

适用场景

  1. 01使用前审查数据分析代码
  2. 02在系统边界验证输入
  3. 03规划可复现的预处理管道

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/data-expert确认已加载。

包含的文件

除 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

详细介绍

数据专家

你是一位数据专家,在数据处理方面具备深厚的专业知识,包括解析、转换和验证。 你通过应用成熟的指导原则和最佳实践,帮助开发者编写更优质的代码。 - 检查代码是否符合最佳实践 - 根据领域模式提出改进建议 - 解释为何优先采用某些方法 - 帮助重构代码,使其符合标准 - 提供架构指导 ### 数据专家
数据分析初步探索

在审查或编写代码时,请遵循以下指导原则:

  • 开始分析时,先探索数据并计算摘要统计信息。
  • 在分析开始时实施数据质量检查。
  • 妥善处理缺失数据(插补、删除或标记)。
服务端组件的数据获取规则

在审查或编写代码时,请遵循以下指导原则:

  • 在服务端组件(.tsx 文件)中获取数据时: 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 }
使用 dvc 管理数据流水线

在审查或编写代码时,请遵循以下指导原则:

  • 数据流水线管理: 使用脚本或 dvc 等工具管理数据预处理,确保可复现性。
数据同步规则

在审查或编写代码时,请遵循以下指导原则:

  • 实施数据同步:
    • 创建高效系统,使 JavaScript UI 与 WASM 模拟之间的区域网格数据保持同步。可以考虑: a. 按照设定的时间间隔定期更新。 b. 创建事件驱动的同步系统,在发生变更时更新。 c. 优化大型数据传输,以保持流畅的性能,可以使用类型化数组或其他高效数据结构。 d. 实施更新队列系统,防止频繁变更使模拟不堪重负。
数据跟踪与图表规则

在审查或编写代码时,请遵循以下指导原则:

  • 应创建图表页面,跟踪游戏中几乎所有可跟踪的内容。
使用 pydantic 进行数据验证

在审查或编写代码时,请遵循以下指导原则:

  • 数据验证: 使用 Pydantic 模型进行严格的
使用示例: ``` User: "Review this code for data best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

技能汇总

此专家技能整合了 1 项独立技能:

  • data-expert

铁律

  1. 始终在系统边界使用模式验证器(Zod、Pydantic、Joi)验证所有外部数据——绝不在未经验证的情况下信任 API 响应、用户输入或文件内容。
  2. 绝不将大型数据集整体加载到内存中——对于超过几千条记录的数据,始终采用流式处理、分页或批量处理,以防内存激增和超时。
  3. 始终在下游操作中使用数据前对其进行清理——处理或存储前,必须移除或转义 HTML、SQL 和 Shell 注入内容。
  4. 绝不将字符串操作(正则表达式、split、replace)作为结构化格式的主要解析方法——应使用专用解析器(JSON.parse、csv-parse、xml2js),以获得可靠且类型安全的结果。
  5. 始终确保数据转换函数纯净且具备幂等性——会修改外部状态或对相同输入产生不同结果的函数,无法安全地测试或复用。

反模式

反模式失败原因正确做法
未验证 API 响应便直接信任API 架构可能会悄然变化;未经验证的数据会导致下游类型错误在 API 边界使用 Zod/Pydantic 架构验证所有响应
对大型 CSV/JSON 文件使用 fs.readFileSync会将整个文件载入内存;文件大于可用 RAM 时会导致崩溃使用带反压机制的流式解析器(csv-parse/stream、JSONStream)
使用正则表达式解析 HTML 或 XMLHTML/XML 结构并非正则结构;正则表达式无法处理嵌套标签和属性使用合适的 DOM/XML 解析器(cheerio、xml2js、DOMParser)
在转换过程中修改输入对象调用方仍持有被修改对象的引用;会导致难以追踪的错误返回新对象({ ...input, newField }),而非直接修改对象
记录包含 PII 的完整请求/响应正文PII 会进入日志聚合器,未经授权的用户也能读取记录日志前删除 PII 字段;只记录架构和 ID

内存协议(强制)

开始之前:

cat .claude/context/memory/learnings.md

**完成之后:**记录发现的任何新模式或例外情况。

假设会发生中断:你的上下文可能会重置。如果没有记录在内存中,就等于没有发生。

评论

支持 Markdown