Simulated peak plot
一个包含agent和skill的集合:RAG、技能审查、周报生成、项目管理、质量监控...及技术方案/内部设计文档
npx -y skills add Ldxs001/workbuddy-skills --skill simulated-peak-plotAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
生成模拟峰图(高斯峰),用于色谱、光谱或任何信号可视化。支持簇峰(N子峰各独立标注)/融峰(合成单标注)/单峰、负峰(倒峰)、标注控制(annotate)、扫描速率(scan_rate)、碰撞避让标注、自定义坐标轴/单位、CSV导出及CSV导入,**负峰(倒峰)**。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
8.5 KB, as published. Nobody here has run it
Simulated Peak Plot
触发条件
正向触发:
- 说出"生成峰图"、"模拟信号"、"创建峰谱"
- 说出"可视化保留时间"、"输出 Markdown 表格"
- 说出"导入 CSV 数据"、"生成模拟数据"
- 需要色谱/光谱峰模拟、信号可视化、数据导出等场景
- Python API 调用(直接导入函数生成信号数据):
否定条件:
除非用户明确提到生成峰图或模拟数据,否则不要主动触发。
快速开始
场景:混合正负峰峰谱
模拟色谱中溶剂峰倒置场景,同一谱图正峰和负峰共存
生成包含正峰和负峰的峰谱
- 输入: 时间范围 5~15 min, scan_rate=100, 正峰 (RT=7.7, height=1500, HWHM=0.08), 负峰 (RT=10.3, height=-1200, HWHM=0.12), baseline=20, noise=8
- 输出: 生成 PNG 峰图(正峰向上、负峰向下,Y轴自动包含负区间),打印 Markdown 数据表格
场景:单峰生成 + CSV 导出
基础用法,验证单峰生成和数据导出两个核心功能
生成一个高斯峰并导出完整数据
- 输入: 时间范围 0~10 min, scan_rate=200, 单峰 (RT=5.0, height=800, HWHM=0.1), baseline=10, noise=5, export_csv=true
- 输出: 生成 PNG 峰图 + CSV 文件(含全部数据点,RFC 4180 格式),打印 Markdown 采样表格
场景:簇峰 + 融峰混合谱
验证簇峰独立标注和融峰合并标注两种混合使用场景
生成包含簇峰和融峰的复杂谱图
- 输入: 时间范围 4~14 min, scan_rate=120, 单峰 (RT=5.5, height=500, HWHM=0.1), 簇峰 (3子峰: RT=7.0,8.0,9.0, height=1000,800,600, HWHM=0.15), 融峰 (2子峰: RT=11.0,12.0, height=700,500, HWHM=0.12)
- 输出: 生成 PNG 峰图,簇峰各子峰独立标注为 {name}-1/2/3,融峰只有单一标注在最高点
概述
本技能用于生成模拟峰图(高斯峰),适用于教学、测试或演示场景。支持:
- 多种峰类型,包括复合峰(任意数量子峰组合)
- 负峰(倒峰):配置 height 为负数即可产生朝下的倒峰
- 可自定义时间范围、基线和噪声
- 可自定义坐标轴标题和单位(X/Y标签,mV/V/吸光度等)
- CSV完整数据导出(全部数据点)
- 可点击的 file:/// 路径,方便直接打开图片
- Markdown 表格数据输出(在控制台打印)
- 交互式配置,带点数推荐
⚠️ 重要限制(使用前必读)
| 参数 | 建议范围 | 说明 |
|---|---|---|
| 峰组数量(含子峰) | ≤ 20 组 | 过多会导致生成缓慢 |
| 扫描速率 scan_rate | 50 ~ 500 pts/min | 过低锯齿,过高文件大 |
| 总点数 | ≤ 20000 | 超过时请降 scan_rate |
| HWHM | > 0 | 半高半宽必须为正数 |
| RT | 应在 [t_start, t_end] 内 | 否则峰部分在画布外 |
| 负峰 | height 为负,HWHM 仍为正 | 不需要改 baseline |
更多反模式与避坑指南 → 渐进式文件索引表 常见问题解答 → 渐进式文件索引表
渐进式文件索引
| 文件名 | 分类 | 包含内容 | 审计关联 |
|---|---|---|---|
references/LICENSE.md | 许可协议 | 开源许可证声明(MIT)。包含:MIT 许可证完整文本。 | R-26 |
references/antipatterns.md | 规范指南 | skill 编写中的常见反模式。包含:错误做法示例、正确做法示例、避坑指引。 | R-18 |
references/changelog.md | 版本管理 | 版本更新日志。包含:版本号、更新类型、修复项、升级说明。 | R-24 |
references/faq.md | 常见问题 | 常见疑问与解答。包含:问题分类、原因分析、解决方案。 | R-19, R-25 C-19 |
references/features.md | 参考文档 | 将 height 设为负数即可生成倒峰。Y轴自动缩放包含负区间,标注自动反向指向下方。 | 无 |
references/parameters.md | 参考文档 | 本文档提供模拟峰图生成中所有参数的详细信息。 | 无 |
references/permissions.md | 权限与测试 | 权限扫描说明与测试结论。包含:风险等级、高权限操作说明、测试概览、计时统计。 | R-15, R-16 |
references/test-report.md | 测试报告 | 技能功能测试与场景测试结论报告。包含:测试结果、修复项、测试覆盖说明。 | 无 |
文件目录结构
├── SKILL.md
├── _meta.json
├── scripts/
│ └── generate_peak.py
└── references/
├── antipatterns.md
├── changelog.md
├── faq.md
├── features.md
├── LICENSE.md
├── parameters.md
├── permissions.md
└── test-report.md
工作流程
📚 渐进式加载:本技能采用渐进式 MD 体系,
SKILL.md为入口(≤230行),详细内容拆分到references/*.md按需加载。
1. 环境检查
始终从检查环境开始:
# 检查 Python 可用性
python --version
# 检查必需包
python -c "import numpy; import matplotlib; print('所有包可用')"
如果缺少包,指导用户安装:
pip install numpy matplotlib
2. 参数配置
通过对话配置。先显示点数推荐表,再询问峰参数、基线/噪声、输出选项。 默认: 起始5min/结束15min/scan_rate=100, 空白峰+3子峰复合峰, baseline=20, noise=8。
3. 点数推荐
总点数 = duration × scan_rate。scan_rate 默认 100 pts/min。 推荐: 短时(5-10min)用80-120 pts/min, 长时(30+)用50-70 pts/min。
4. 生成图表
python {SKILL_DIR}/scripts/generate_peak.py --interactive
5. 输出
PNG + Markdown 表格 + CSV(data_dir)。输出路径:file:///... 可直接点击。
新功能
支持:负峰(倒峰) / 簇峰(各子峰独立标注) / 融峰(合成信号单标注) / 扫描速率(pts/min) / 碰撞避让标注布局。
簇峰 / 融峰
- 簇峰 (cluster): 各子峰独立标注为 {name}-N,type: "cluster"(兼容旧 "composite")
- 融峰 (merged): 多子峰合成信号,单一标注在真实最高点
文件引用
- 脚本: 主生成脚本
- 参数参考: 详细参数文档
{SKILL_DIR}/scripts/generate_peak.py
{SKILL_DIR}/references/parameters.md
{SKILL_DIR}/references/features.md
使用示例
用户请求: "生成包含5个峰(含1个3子峰簇峰)的峰谱,输出数据为表格"
响应工作流:
- 检查环境
- 显示点数推荐表
- 询问峰参数
- 生成带 Markdown 表格输出的光谱
- 保存PNG文件并在控制台打印表格
自定义选项
用户可以更新:
- 峰数量(包括簇峰/融峰的多子峰组合)
- 峰参数(RT、高度、HWHM)— height 设为负数即为负峰
- 峰类型: 单峰 / 簇峰 (cluster) / 融峰 (merged)
- 扫描速率 (scan_rate, pts/min)
- 噪声和基线水平
- 坐标轴标题和单位
- CSV导出 / 网格线 / 标注控制(annotate: false)
JSON 配置示例
簇峰的每个子峰会独立标注; 融峰只在最高子峰处标注为单一名称。
CSV 输出格式(RFC 4180 标准)
Time_min,Signal_mV
2.000000,49.782199
2.020040,46.140969
...
触发场景
正向触发(满足以下任意一条):
- 用户需要模拟峰图生成器 (Simulated Peak Plot Generator)
- 用户需要生成可定制的高斯峰图,支持复合峰(N个子峰组合)和 Markdown 表格输出。
- 用户需要复合峰可形成多种形状:M形、馒头形、泊松分布形等。
- 用户需要优雅处理 Ctrl+C 中断信号
否定条件(满足以下任意一条,不触发):
- 简单问答、闲聊、问候(不需要本技能)
- 单步任务(不需要结构化执行)