十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Obsidian-skills 测试用例编写指南:3 步跑通 5 大技能

Obsidian-skills 测试用例编写指南:3 步跑通 5 大技能 Obsidian-skills 测试用例编写指南3 步跑通 5 大技能【免费下载链接】obsidian-skillsAgent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.项目地址: https://gitcode.com/GitHub_Trending/ob/obsidian-skillsObsidian-skills 是给 AI 代理用的技能套件教代理使用 Obsidian CLI 并写出 Obsidian 专属格式的 Markdown、Bases、JSON Canvas。一旦代理开始在你的仓库里建文件Obsidian-skills 测试就成了必答题——一处语法写错笔记会悄悄坏掉。这篇文章给出一条完整的测试用例编写路径先搭环境再掌握三个核心动作记住五大技能最容易翻车的位置最后接进 CI。️ 先跑起来3 分钟搭好测试环境环境没跑通之前别急着写用例。三条命令从拉到代码到跑通第一条测试git clone https://gitcode.com/GitHub_Trending/ob/obsidian-skills # 获取技能定义 npm install -g defuddle # 安装 Defuddle CLI defuddle parse https://example.com --md # 跑一次提取验证环境第三条命令就是你的第一个真实测试用例命令能执行、输出是干净的 Markdown、不含导航栏和广告环境就算就绪。AI 代理技能测试和传统接口测试不一样你测的是代理能不能按技能定义把文件写对所以五个技能的定义都保留在本地随时可查——它们就在skills/目录下比如 callout 类型的完整清单在skills/obsidian-markdown/references/CALLOUTS.md。跑 obsidian-cli 相关用例前记得先打开 Obsidian 桌面端否则所有命令都会失败。✍️ 测试用例编写的三个核心动作任选一个技能看测试流程都是同一个主线构造输入、执行技能、验证输出。照着这条线写用例不会跑偏。下面的代码是示意你换成 pytest 或任何测试框架都行。动作 1先构造输入输入里要埋陷阱纯文本测不出任何东西。一个带维基链接锚点和标注框的输入一次就能考住 markdown 技能两个点# 输入里埋两个陷阱链接锚点 标注框 note [[另一个笔记#第一章]] [!warning] 别忘了备份 输入不用长但要有料——每条用例至少覆盖一个最容易翻车的语法点。动作 2执行技能把输入交给代理并明确指定它依据哪份技能定义干活别用帮我写个笔记这种模糊指令# 显式引用技能定义路径让代理有规可循 result run_agent( 按 skills/obsidian-markdown/SKILL.md 的要求整理这段笔记\n note )动作 3验证输出断言只钉住必须保留的东西别要求逐字相同——代理的措辞会变但语法不能变# Markdown 语法验证的本质输入里的结构输出里还在 assert [[另一个笔记#第一章]] in result assert [!warning] in result assert ## in result # 标题结构没丢能按这三步写出来就是一个有效用例。节奏上先跑单条、再跑全套改到哪条就先跑哪条提交前把全套跑一遍不用讨论什么分层架构。 五大技能各自最容易翻车的地方很多人问 obsidian-skills 怎么测试答案是不用测全只测最会翻车的点。每个技能挑下表里的位置一处写一条用例技能最易翻车的位置obsidian-markdownskills/obsidian-markdown/SKILL.md①[[笔记#标题]]锚点指向不存在的标题 ② callout 类型拼错 ③ frontmatter 里特殊字符没加引号obsidian-basesskills/obsidian-bases/SKILL.md① filters 里带特殊字符的字符串没加引号 ② 引用了未定义的 formula.X ③ 视图类型写错只能是 table/cards/list/mapjson-canvasskills/json-canvas/SKILL.md① 节点 ID 不是 16 位十六进制或互相重复 ② 边的 fromNode/toNode 指向不存在的节点 ③ 新节点和已有节点重叠规范建议留 50-100px 间距obsidian-cliskills/obsidian-cli/SKILL.md① Obsidian 未启动导致命令全挂 ② file维基链接式和 path完整路径混用 ③ 参数里的引号、换行没转义defuddleskills/defuddle/SKILL.md① 漏掉--md输出 HTML 导致 token 爆炸 ② 对 .md 链接误用 Defuddle应走 WebFetch ③--json输出缺字段json-canvas 值得多说一句这份技能自带 JSON Canvas 结构检查的要求——解析 JSON、确认所有节点 ID 唯一、所有边都能解析到存在的节点。你的测试就是把这套检查复述一遍它既是规范也是验收标准。⚙️ 让测试自动跑CI 里怎么配整个 CI 就一个文件十几行name: skill-tests on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkoutv3 - name: 安装 defuddle run: npm install -g defuddle - name: 跑全部技能测试 run: python -m pytest tests/ -q执行节奏三句话开发时只跑你改动的那条用例提交前跑全套发布日再加一轮大样本回归。指标不用搞复杂看通过率和耗时两个数就够了。 测试挂了先查这几处看到红叉别急着怀疑用例本身九成是环境或语法问题按这个顺序查所有命令超时 → Obsidian 桌面端没启动先打开再重跑.canvas 解析失败 → 检查节点 ID 是否 16 位十六进制、边引用的节点是否都存在.base 文件不渲染 → 大概率是 YAML 引号问题先看 filters 和 formulascallout 没生效 → 拿类型拼写去skills/obsidian-markdown/references/CALLOUTS.md里对一遍defuddle 输出是 HTML 或空内容 → 确认带了--md且目标 URL 不是 .md 文件本地过、CI 挂 → node/npm 版本和本地不一致在 CI 里固定版本✅ 行动清单克隆仓库跑通上面三条环境命令defuddle 能输出干净 Markdown按三个核心动作写出第一条用例对应任意一个技能每个技能覆盖上表 2-3 个翻车点一处一条用例全部通过后接入 CI开发时先跑单条、提交前再跑全套【免费下载链接】obsidian-skillsAgent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.项目地址: https://gitcode.com/GitHub_Trending/ob/obsidian-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表