pm-skills 之 /generate-data 实战:用 AI 为开发、测试与 Demo 生成真实感数据集的完整指南

pm-skills 之 /generate-data 实战:用 AI 为开发、测试与 Demo 生成真实感数据集的完整指南 pm-skills 之 /generate-data 实战用 AI 为开发、测试与 Demo 生成真实感数据集的完整指南【免费下载链接】pm-skillsPM Skills Marketplace: 100 agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills导读本文以 PM Skills Marketplace 中pm-execution插件提供的/generate-data命令定义于 pm-execution/commands/generate-data.md为主线系统讲解如何在开发、测试、Demo 与原型阶段快速生成看起来真实的假数据集。读完本文你将掌握该命令的调用语法、四步生成工作流、CSV/JSON/SQL/Python 四种交付格式以及其底层dummy-dataset技能见 pm-execution/skills/dummy-dataset/SKILL.md中关于真实感分布、业务约束与基数控制的完整方法论并能结合仓库源码理解命令与技能的契约关系。一、命令定位它是什么、属于哪个插件/generate-data是pm-execution插件Execution and product management skills: PRDs, OKRs, roadmaps, sprints, pre-mortems, stakeholder maps, user stories, prioritization frameworks, and more中的 11 个命令之一插件清单见 pm-execution/README.md插件元数据见 pm-execution/.claude-plugin/plugin.json。命令文件的 frontmatter 给出了它的能力描述与参数提示--- description: Generate realistic dummy datasets for testing — CSV, JSON, SQL inserts, or Python scripts argument-hint: description of the data you need ---其核心价值一句话概括Create realistic dummy datasets for development, testing, demos, or prototyping. Outputs as ready-to-use files in your preferred format.——为开发、测试、演示或原型阶段创建真实感的假数据集并以你偏好的格式输出可直接使用的文件。在 pm-skills 的架构中见 CLAUDE.md 的 Key Design Rules命令Commands 动词是用户触发的端到端工作流技能Skills 名词是 Agent 可自动加载的框架性知识。/generate-data命令正是通过调用dummy-dataset技能来完成的——命令文件在 Step 2 中明确写着 Apply thedummy-datasetskill。二、调用方式三种典型触发场景命令通过/generate-data后跟自然语言描述来触发argument-hint提示只需提供你所需数据的描述。原文档给出了三种代表性调用/generate-data 1000 users with names, emails, plan tier, signup date, and activity score /generate-data E-commerce orders dataset: products, customers, timestamps, amounts /generate-data Sample data matching this schema: [paste table definition]三种调用分别覆盖了三种典型需求调用形态适用场景指定数量 字段清单最常见的批量用户/实体数据如 1000 个用户及其属性指定主题域领域化数据集如电商订单、产品、客户、时间戳、金额粘贴表结构schema已有建表 DDL 或字段定义需要与真实数据库结构严格对齐第三种形态尤其适合数据要灌进真实测试库的场景——直接把表定义粘贴给命令即可生成字段、类型、约束完全匹配的数据。三、四步生成工作流原文档将整个流程拆解为四个步骤每一步都有明确的输入与产出。Step 1: 定义数据集Define the Dataset生成前必须先回答六个问题它们决定了数据集的可用性实体What entities?——users、orders、events、products 等明确要生成哪些对象列What columns?——每列的字段名、数据类型与约束行数How many rows?——需要多少条记录表间关系Any relationships between tables?——如用户与订单的一对多关系分布Any specific distributions?——例如80% 的用户应该在免费套餐上现实约束Any realistic constraints?——如邮箱唯一、日期按时间顺序排列。这一步是整个流程的地基需求描述得越精确生成的数据越接近真实生产环境。Step 2: 生成数据Generate the Data此步应用dummy-dataset技能详见第四节核心要求是编写一个生成数据集的Python 脚本而不是一次性输出文件这样后续可改参数重跑使用看起来真实的数据realistic-looking data而非随机字符串正确的姓名、合法的邮箱格式、看起来合理的时间戳遵守约束唯一 ID、外键关系、时间顺序应用用户指定的分布如付费比例执行脚本并产出输出文件。Step 3: 交付Deliver按用户要求的格式输出不确定时可询问原文档明确了四种格式的适用场景格式说明典型用途CSV最常见随处可用电子表格、数据导入、快速查看JSON结构化嵌套API 测试、前端开发SQL INSERT可直接执行的插入语句填充测试数据库Python script可复现的生成器用户可自行调整参数并重新运行交付时命令会给出结构化的数据集说明原文档提供了完整的交付模板## Generated Dataset: [Description] **Rows**: [count] **Columns**: [list] **Format**: [CSV / JSON / SQL / Python] ### Schema | Column | Type | Constraints | Distribution | |--------|------|-----------|-------------| ### Sample (first 5 rows) [Preview of the data] ### Files - [data file] - [generator script, if applicable]模板中包含了 Schema 表列/类型/约束/分布四要素、前 5 行样例预览以及文件清单。数据文件与生成脚本都会保存到用户的工作区Save data file and generator script to the users workspace确保用户可以随时取用与复查。Step 4: 提供后续选项Offer Follow-ups命令完成后会主动询问四个方向的深化需求Want me toadd more columnsorincrease the dataset size?——扩充列或扩大规模Should Icreate related tables(e.g., orders for these users)?——为现有数据补充关联表Want me towrite test scenariosthat use this data?——基于该数据编写测试场景可联动 pm-execution 的 test-scenarios 命令Should Icreate SQL queriesto analyze this dataset?——编写分析该数据集的 SQL可联动 pm-data-analytics 插件的 write-query 命令。四、底层技能纵深dummy-dataset 的参数与 Python 生成模板/generate-data的 Step 2 依赖dummy-dataset技能其完整定义在 pm-execution/skills/dummy-dataset/SKILL.md。技能的 frontmatter 描述为Generate realistic dummy datasets for testing with customizable columns, constraints, and output formats (CSV, JSON, SQL, Python script). Use when creating test data, building mock datasets, or generating sample data for development and demos.4.1 技能可接受的参数技能定义了六个可配置参数构成数据生成的全部自由度参数含义备注$PRODUCT产品或系统名称用于让数据贴合业务语境$DATASET_TYPE数据类型customer feedback、transactions、user profiles 等决定领域$ROWS生成行数默认 100$COLUMNS要包含的具体列或字段名称、类型、取值范围$FORMAT输出格式CSV、JSON、SQL、Python script四种可选$CONSTRAINTS额外的约束或业务规则如唯一性、外键、分布比例4.2 八步生成流程技能将生成过程规范为 8 个可执行步骤Identify dataset type——理解数据领域Define column specifications——列名、数据类型与取值范围Determine row count——需要多少条样例记录Select output format——CSV、JSON、SQL INSERT 或 Python scriptApply realistic patterns——确保数据看起来真实且合法Add business constraints——尊重业务逻辑与表间关系Generate or script data——生成可执行输出Validate output——校验数据质量与完整性。可以看到/generate-data命令的 Step 1定义数据集对应技能的步骤 1–3命令的 Step 2生成数据对应技能的步骤 5–7命令的 Step 3交付对应技能的步骤 4 与 8——命令是对技能的流程化封装。4.3 核心 Python 生成模板技能提供了可直接套用的 Python 脚本模板这也是命令在 Step 2 中Create a Python script的依据import csv import json from datetime import datetime, timedelta import random # Configuration ROWS $ROWS FILENAME $DATASET_TYPE.csv # Column definitions with realistic value generators columns { id: auto-increment, name: first_last_name, email: email, created_at: timestamp, # Add more columns... } def generate_dataset(): Generate realistic dummy dataset data [] for i in range(1, ROWS 1): record { id: fU{i:06d}, # Generate values based on column definitions } data.append(record) return data def save_as_csv(data, filename): Save dataset as CSV with open(filename, w, newline) as f: writer csv.DictWriter(f, fieldnamesdata[0].keys()) writer.writeheader() writer.writerows(data) if __name__ __main__: dataset generate_dataset() save_as_csv(dataset, FILENAME) print(fGenerated {len(dataset)} records in {FILENAME})模板中值得注意的实现细节columns字典声明式驱动每列通过一个真实值生成器标识如first_last_name、email、timestamp声明类型具体值由脚本循环填充便于扩展任意新列ID 采用零填充格式化fU{i:06d}生成如U000001的定长 ID保证排序与展示一致可复现性设计脚本把ROWS、FILENAME提到文件顶部作为配置用户改参数后重跑即可得到不同规模的数据集CSV 写入使用csv.DictWriter先写表头writeheader()再批量写行保证列顺序与列定义一致。4.4 完整示例规格客户反馈数据集技能给出了一个可直接照搬的完整规格示例覆盖列定义与业务约束两部分Dataset Type:Customer FeedbackColumns列定义:feedback_idauto-increment, U001, U002...customer_namerealistic names真实感姓名emailvalid email format合法邮箱格式feedback_datedates last 90 days最近 90 天内的日期rating1-5 stars1–5 星评分categoryBug, Feature Request, Complaint, Praise缺陷/功能请求/投诉/好评textrealistic feedback真实感的反馈文本productelectronics, clothing, home电子产品/服饰/家居Constraints业务约束:评分偏态分布40% 五星、30% 四星、20% 三星、10% 一至二星Bug 类别的反馈只允许 1–3 星功能请求类反馈只允许 3–5 星邮箱域名要真实gmail、yahoo、company.com。这个例子精准体现了真实感的要点不仅字段要合法列与列之间的业务逻辑也要自洽——差评集中在 Bug、功能请求不可能给一星这种隐性关联正是测试数据能否暴露真实问题分界的关键。五、真实感数据的四项原则Notes 精讲原文档的 Notes 部分是数据质量的压舱石逐条展开如下始终提供生成脚本Always provide the generator script so the user can regenerate with different parameters.——交付的不只是数据更是可复现能力。用户调整参数行数、分布、约束重跑脚本即可获得新数据集无需重写生成逻辑。让 Demo 数据讲故事For demo datasets, make the data tell a story (e.g., seasonal trends, a retention problem, a power user segment).——演示数据的价值在于呈现业务叙事季节性趋势、留存问题、高价值用户群等。例如为留存演示生成注册后第 7 天活跃度显著下降的数据比均匀分布的数据更能体现产品洞察。尊重现实基数Respect realistic cardinality: 1000 users dont have 1000 unique cities.——1000 个用户不应有 1000 个互不相同的城市。真实世界的属性分布是长尾 聚集的少数大城市聚集大量用户。数据生成时应从有限的候选池中按幂律或加权随机取样。金融数据用真实价格分布For financial data, use realistic price distributions — not uniform random.——金额不能均匀随机生成1 到 1000 元之间等概率取值毫无真实感。应使用偏态分布、常见定价锚点如 9.9、19.9、99、折扣区间等真实电商定价模式。绝不使用真实个人信息Never include real personal data — all names, emails, and identifiers must be fake.——所有姓名、邮箱与标识符必须是伪造的这是数据合规的底线。六、输出格式详解技能的 Output Formats 部分对四种交付格式做了补充说明CSV扁平表格格式易于导入电子表格与数据库Flat tabular format, easy to import into spreadsheets and databasesJSON嵌套结构适合 API 与 NoSQL 数据库Nested structure, ideal for APIs and NoSQL databasesSQLINSERT 语句可直接在关系数据库上执行INSERT statements, directly executable on relational databasesPython Script可执行的生成器适合定制或超大数据集Executable generator for custom or large datasets。对于超大定制数据集如千万行Python 脚本是唯一合理选项——数据生成可分批、可加进度控制而不是一次性吐出巨型文件。七、仓库实现细节命令与技能的契约从仓库源码可以验证/generate-data在 pm-skills 体系中的实现约束1. 命令 frontmatter 契约。validate_plugins.py 中REQUIRED_COMMAND_FIELDS [description]、RECOMMENDED_COMMAND_FIELDS [argument-hint]L40-L41。/generate-data同时具备二者符合规范。该脚本还会通过正则\*\*(\w[\w-])\*\*\sskill检查命令对技能的引用validate_command与validate_cross_references确保命令引用的技能存在于同一插件内——/generate-data引用的dummy-dataset技能恰好同属pm-execution可通过校验。2. 命令 技能的流程化封装。对照 CLAUDE.md 的架构设计Commands are user-triggered workflows that chain one or more skills/generate-data把dummy-dataset技能的 8 步流程重排为面向用户的 4 步工作流这正是 pm-skills 中命令与技能关系的标准范式。3. 跨插件联动只以自然语言呈现。CLAUDE.md 明确规定 No cross-plugin references. Commands suggest follow-ups in natural language only因为插件可独立安装硬编码引用会失效。因此/generate-data的 Step 4 以问句形式提及 test scenarios 与 SQL 查询而不直接书写/test-scenarios或/write-query的插件前缀——设计如此非疏漏。4. 插件元数据佐证。pm-execution/.claude-plugin/plugin.json 声明该插件 keywords 包含product-management、execution、user-stories、agile等与数据生成服务于测试、演示的定位一致。八、实战串联从假数据到测试场景与 SQL 分析/generate-data不是孤立工具它天然嵌入 pm-skills 的执行工作流。一条典型链路用/generate-data生成用户 订单数据集CSV 或 SQL用 pm-execution 的 test-scenarios 命令 基于用户故事生成测试场景并用生成的数据作为测试数据用 pm-data-analytics 插件的 write-query 命令 编写分析 SQLBigQuery/PostgreSQL/MySQL 等多方言对假数据跑查询验证报表逻辑。这三个命令分别位于pm-execution与pm-data-analytics两个插件按设计规则以自然语言相互推荐用户跟随提示即可完成造数 → 写测试 → 写查询的完整闭环。其中test-scenarios的 Step 4 同样会建议 Want me togenerate the test datafor these scenarios?——与/generate-data形成双向呼应。九、最佳实践清单综合命令文档与技能文档形成以下可直接落地的实践清单描述需求时把实体、列、行数、关系、分布、约束一次说全可显著减少反复澄清数据量大或需频繁变参时优先选择Python script交付而非一次性文件多表场景如用户 订单务必声明外键关系与基数避免孤儿数据分布约束要落到具体数字如40% 五星、Bug 仅 1–3 星避免模糊的看起来合理生成后检查前 5 行样例确认格式、排序与业务逻辑自洽严守合规底线所有姓名、邮箱、标识符一律伪造绝不混入真实个人数据交付时保留 Schema 说明与生成脚本让数据可复现、可追溯。结语/generate-data的价值不在于造一些随机数据而在于把真实感系统化字段合法、约束自洽、分布符合业务直觉、脚本可复现。本文所述的调用语法、四步工作流、四种交付格式与dummy-dataset技能的实现细节均来自 pm-execution/commands/generate-data.md 与其底层 dummy-dataset 技能读者可循仓库路径继续深入将这套方法论直接用于自己的开发、测试与 Demo 场景。【免费下载链接】pm-skillsPM Skills Marketplace: 100 agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考