nature-experiment-log
yuan1z0825/nature-skills
Standardized experiment logging with image, audio, and text input; outputs Markdown with YAML frontmatter and optional Feishu/Obsidian integration.
What is nature-experiment-log?
Automates structured experiment documentation by accepting uploaded or local images, audio, and text, then generating organized Markdown logs with YAML metadata. Optionally integrates with Feishu groups for material collection and Obsidian vaults for indexed dashboards and anomaly tracking.
- Accepts experiment materials via direct upload, local files, or Feishu group messages
- Extracts structured information from images, audio transcripts, and text using vision analysis and parsing
- Generates standardized Markdown logs with YAML frontmatter containing experiment ID, sample batch ID, and metadata
- Organizes raw attachments into timestamped archive folders with cross-references in logs
- Optionally updates Obsidian vault indexes, anomaly records, and equipment tracking via Dataview templates
- Confirms ambiguous fields (temperature, sample numbers) with user rather than guessing
How to install nature-experiment-log
npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-experiment-log- Optional: Obsidian vault with Dataview plugin for dashboard features
- Optional: Feishu CLI integration skill and bot access to group chats (requires im:message, im:message.group_msg, im:resource permissions)
- Local folder or Obsidian vault path for output
How to use nature-experiment-log
- 1.Submit experiment materials: upload images/audio/text directly, provide local file paths, or configure Feishu group access
- 2.Confirm output destination (local folder or Obsidian vault) and any missing experiment details when prompted
- 3.Agent extracts and structures information, generates experiment ID and sample batch ID
- 4.Review generated Markdown with YAML frontmatter and confirm save location
- 5.Raw attachments are archived to timestamped folders; logs reference them and update indexes if Obsidian is enabled
Use cases
- Materials lab: Log thermal treatment and corrosion experiments with equipment codes and sample batch tracking
- Electrochemistry research: Document CV/SWV/EIS measurements with structured metadata for later analysis
- Multi-system experiments: Maintain consistent naming and folder structure across different experimental systems (CL, NO, OX, HY, etc.)
- Team collaboration: Pull experiment notes and attachments from Feishu group chats and standardize them into indexed logs
- Data integrity: Archive raw materials separately while maintaining traceable links in final documentation
- Materials scientists and chemists conducting systematic experiments
- Research teams using Obsidian for collaborative lab notebooks
- Labs integrating Feishu for group communication and needing structured experiment records
- Researchers requiring version-controllable, searchable experiment documentation
nature-experiment-log FAQ
No. Core functionality outputs to a local folder. Obsidian and Feishu integrations are optional—use them only if you want dashboard queries or group-chat input.
The skill asks you to confirm ambiguous fields (temperature, sample numbers, etc.) rather than guessing. It will not write incomplete or assumed data.
Sample batch IDs remain consistent across experiments, allowing Dataview queries to trace a sample's history through different tests.
Yes. System codes, experiment types, device codes, and YAML fields are all customizable to match your lab's conventions.
Raw attachments are archived in `{OUTPUT_ROOT}/raw/experiments/YYYY.MM.DD_description_EXPID/` with subfolders for images and audio; logs link to them.
Full instructions (SKILL.md)
Source of truth, from yuan1z0825/nature-skills.
name: nature-experiment-log description: "标准化实验日志记录——直接上传或读取本地图片、语音和文字,产出带 YAML frontmatter 的 Markdown;可选集成飞书 CLI 与 Obsidian。" license: MIT metadata: author: Jiahao8595 hermes: tags: [research, experiment, logging, feishu, obsidian, automation] related_skills: [nature-literature-pipeline, feishu-cli-integration, obsidian]
experiment-log — 实验日志标准化
输入方式
用户通过以下任一方式提交实验原始材料时自动加载:
- 直接上传 — 在当前会话提交图片、音频、语音转录或文字。
- 本地材料 — 提供本地文件或文件夹路径,由 agent 读取并整理。
- 飞书群 — 通过可选的
feishu-cli-integration读取群消息和附件。
输出方式
- 本地 Markdown — 将日志和原始附件保存到用户指定的普通本地文件夹;未指定目录时,先返回可保存的 Markdown,不擅自选择路径。
- Obsidian vault — 通过可选的
obsidianskill 写入 vault,并使用附带模板建立索引、异常记录和设备追踪。
核心流程不要求安装飞书或 Obsidian。使用飞书群输入时,才需要 bot 已加入目标群并具备 im:message、im:message.group_msg 和 im:resource 权限。
处理流程
- 接收上传材料、读取本地文件,或从已配置的飞书群获取材料。
- 通过 vision_analyze 和文本解析提取结构化信息。
- 对缺失或模糊字段向用户确认,不猜测实验条件或结果。
- 确认输出方式和目标目录,生成实验 ID 与样品批次 ID。
- 写出
{OUTPUT_ROOT}/实验日志/{体系}/{类型}/{exp_id}.md。 - 将原始附件归档到
{OUTPUT_ROOT}/raw/experiments/YYYY.MM.DD_描述_EXPID/,并在日志中建立引用。 - 如启用索引模板,更新实验索引;发现异常时追加异常记录。
- 告知用户生成文件及原始材料的具体位置。
模糊信息(温度记不清、样品编号不明)主动询问,不猜测写入。
目录结构
/vault/
├── raw/experiments/ ← 原始层(归档)
│ └── YYYY.MM.DD_描述_EXPID/
│ ├── 笔记.md
│ ├── 图片/
│ └── 语音/
│
wiki/实验日志/ ← 标准层(产出)
├── 实验索引.md
├── 异常记录.md
├── {体系A}/
│ ├── 实验类型1/
│ ├── 实验类型2/
│ └── ...
├── {体系B}/
│ └── ...
└── 公共/
└── 设备与试剂追踪.md
实验 ID 规则
{体系代码}-{设备代码}-YYMMDD-{序号}
│ │ │ └─ 当日序号(001 起)
│ │ └─ 日期
│ └─ 设备代码(M=马弗炉, T=管式炉, E=电化学, G=手套箱, F=可控气氛炉, B=通用)
└─ 体系代码(自定义,如 CL / NO / OX / HY 等)
样品批次 ID 规则
{体系代码}-{候选编号}-B{序号}
│ │ └─ 配盐批次序号
│ └─ 候选配方编号
└─ 体系代码
同一批样品跨多个实验时 sample_batch 保持一致,便于 dataview 追踪。
设备代码
| 代码 | 设备 | 场景 |
|---|---|---|
| M | 马弗炉 | 热处理、浸泡腐蚀 |
| T | 管式炉 | 气氛控制、脱水、热稳定性 |
| E | 电化学工作站 | CV/SWV/EIS |
| G | 手套箱 | 配盐、称量、取样 |
| F | 可控气氛炉 | 精密气氛控制 |
| B | 通用 | 干燥、清洗、制样 |
按实际设备扩展。
可选的 Obsidian 集成
本 skill 可以只向普通本地文件夹输出 Markdown,也可以与 Obsidian vault 配合使用。Obsidian 是一个基于本地 Markdown 文件的笔记系统,配合 Dataview 插件可实现实验数据的动态查询和仪表盘。
为什么用 Obsidian:
- 所有日志为纯文本 Markdown,可版本控制、可全文搜索
- YAML frontmatter 结构使 dataview 可自动生成实验列表、异常汇总、设备使用记录
- 本地存储,无云依赖性,数据安全
安装 skill 后需在 vault 中创建以下文件:
| 文件 | 模板 | 用途 |
|---|---|---|
实验日志/实验索引.md | templates/experiment-index.md | Dataview 查询仪表盘 |
实验日志/异常记录.md | templates/anomaly-log.md | 异常记录 |
实验日志/公共/设备与试剂追踪.md | templates/equipment-tracking.md | 设备与试剂追踪 |
将模板文件复制到你的 Obsidian vault 对应位置即可使用。
参考示例
references/ 目录包含三个完整的实验日志示例,覆盖常见实验类型:
| 文件 | 实验类型 |
|---|---|
references/example-log.md | 材料腐蚀浸泡实验 |
references/example-electrochemical.md | 电化学表征(CV 窗口测试) |
references/example-thermal-stability.md | 热稳定性实验 |
每个示例均包含完整的 YAML frontmatter 和 Markdown 正文,可直接作为模板修改使用。
可选的飞书 CLI 集成
需要从飞书群获取材料时,使用 feishu-cli-integration skill:
- 拉消息:
lark-cli im +chat-messages-list --chat-id oc_*** --page-size 30 --sort asc - 下载图片:
lark-cli im +messages-resources-download --message-id *** --file-key *** --type image --output <相对路径> - ⚠️
--output只接受相对路径,先cd到raw/experiments/归档目录
群 ID 和 bot 权限按 feishu-cli-integration skill 的配置获取。
自定义指南
- 体系代码:按你的实验体系自定义(如 CL/NO/OR/PO)
- 实验类型:在
wiki/实验日志/{体系}/下按需创建子目录 - YAML 字段:模板是建议结构,可增删字段
- 设备代码:按实际实验室设备扩展
- 输出根目录:可以是普通本地文件夹,也可以是 Obsidian vault 根目录
相关文件
| 文件 | 用途 |
|---|---|
references/example-log.md | 完整实验日志示例 |
wiki/实验日志/实验索引.md | Dataview 仪表盘 |
wiki/实验日志/异常记录.md | 异常记录格式 |
wiki/实验日志/公共/设备与试剂追踪.md | 设备、试剂追踪 |
Related skills
More from yuan1z0825/nature-skills and the wider catalog.

nature-figure
Create, revise, audit, and export manuscript scientific figures in Python or R.

nature-image2ppt
Reconstruct slide images, screenshots, and PDFs as editable PowerPoint with object-level precision.

nature-literature-pipeline
Automated daily literature discovery pipeline with multi-source search, six-dimension scoring, and formatted delivery to Feishu or Telegram.

nature-paper-card
Build structured deep-reading analysis cards for scientific papers, breaking down methods, evidence chains, and research gaps.

nature-paper-to-patent
Transform research papers into evidence-grounded Chinese invention patent drafts and technical disclosures.

nature-paper2ppt
Transform scientific papers into polished Chinese academic presentations with figures and speaker notes.