详解:43 个 SKILL.md 的分组结构、统一格式与使用方式)
【免费下载链接】muse-gadget-sdkOpen source SDK to build Muse gadgets项目地址https://gitcode.com/gh_mirrors/mu/muse-gadget-sdk点击查看免费下载muse-gadget-sdk 仓库在 skills 目录下维护了一份社区设备 Skill 目录skills/CATALOG.md登记了 43 个可供 Muse 设备使用的第三方设备技能。本文完整拆解该目录的分类体系与全部条目、SKILL.md 的统一文件结构、共享的 Google Cast 协议技能以及普通使用者与贡献者应遵循的使用与提交流程。读完后你可以准确判断某台家用设备应选用哪个 skill、如何把它交付给你的 muse以及如何为新设备贡献一个符合规范的 SKILL.md。Skill 目录在项目中的定位skills/目录是社区来源community-sourced的设备技能集合skills/README.md 明确声明这些 skill不是官方集成not official integrations而是社区成员提交、描述如何控制某台具体设备的 Markdown 文档。每条目录条目的写法遵循 README 中的约定目录名采用gadget-device-name形式目录内放置唯一文件SKILL.md每个 SKILL.md 头部带有 YAML frontmattername字段必须与目录名一致并附description正文需包含使用说明instructions、能力边界limits和来源链接source links保持纯 MarkdownMarkdown-only。README 还提到这些技能未来可能会以产品内置的形式出现在 Muse 产品中因此目录的组织方式实际上是一套面向设备可接入性的文档规范先有目录索引skills/CATALOG.md再有每类设备一份可被 muse 直接阅读的 skill 文档。两种使用方式把目录交给 muse或手工粘贴 SKILL.mdskills/README.md 给出了两种把 skill 用起来的途径聊天中直接给仓库链接在与 muse 的对话中提供本仓库的链接让 muse 自行浏览skills/CATALOG.md并找到它需要的设备 skill手工拷贝先在 catalog 中定位你的设备把对应的SKILL.md内容复制粘贴到 muse 的聊天中。README 特别强调如果该 skill 引用了共享 skill例如 Google Cast必须一并粘贴否则共享协议的部分指令会缺失。第二种方式也解释了skills/CATALOG.md第一行Use the matching device skill for model compatibility, setup, safety and supported operations的含义目录条目的一句话描述就是选型依据——模型兼容性、设置方式、安全边界和受支持的操作范围。目录总览43 个条目 42 个设备/固件族 skill 1 个共享协议 skillskills/CATALOG.md开篇即声明规模43 active skills: 42 device/family skills and one shared Google Cast skill.。其中 Google Cast 是唯一以协议而非设备维度组织的 skill被多台音箱、电视和 Hub 类设备的 skill 共同引用其余 42 个条目按设备形态分为六组。下面完整继承原文档的分类与描述并给出每条对应的仓库相对路径便于直接打开原文。共享协议Google CastGoogle Cast — 媒体、音量与既有音箱组原文描述media, volume and existing speaker groups。这是整个目录中唯一跨设备复用的共享协议条目。下文单独展开其内容。灯与插座Lights and plugsLutron Smart Bridges — 通过 HAP 或 LEAP 控制灯具与遮阳帘Shelly Gen 4 plugs — 开关与电量计量switching and power meteringPhilips Hue bridges — 灯具、调光与场景Elgato Key Light — 电源、亮度与色温Meross smart plugs — 使用已提供的密钥做本地开关TP-Link Kasa EP10 — 继电器与 LED不带电量计量TP-Link Kasa EP25 — 继电器、LED、能耗与支持范围内的自动断电auto-off。值得注意的是目录把 EP10 与 EP25 拆成了两个独立 skill而不是一个笼统的Kasa条目——gadget-tplink-kasa-ep25 的正文明确说明其走 SMART 本地认证协议not EP10 legacy XOR即 EP10 的旧版 XOR 协议不能替代 EP25 的认证路径。这类同品牌不同协议族必须分开写的粒度是整套目录的核心选型逻辑。音箱、显示与电视Speakers, displays and TVs这是目录中最大的分组共 16 个条目Apple HomePod mini — 受支持的音量、播放控制与分组控制Apple TV 4K — 已配对的遥控器、应用与键盘Freebox Player Pop — Cast 与 Android TV Remote v2Google Home — 纯音频 CastGoogle Home Max — 纯音频 CastGoogle Nest Audio — 纯音频 CastGoogle Nest Hub — 视代数而定generation-dependent的 Cast 媒体能力Google Nest Hub Max — Cast 媒体明确不暴露摄像头Google Nest Mini / Home Mini — 纯音频 CastGoogle Pixel Tablet — 在受支持的入坞/锁定 Hub Mode 下使用 CastGoogle TV Streamer — Cast 与 Android TV Remote v2LG webOS TVs — 本地遥控/应用/输入源当广播了 Cast 时再用 CastLogitech Squeezebox — 通过既有的 Lyrion 服务器播放Samsung Tizen TVs — 本地遥控与型号相关的 Frame ArtSonos speakers — 播放、音量与分组VIZIO D40f-G9 — SmartCast 管理当广播了 Cast 时再用 Cast。这一组条目集中体现了目录的协议分层思路Google 系设备多数是audio-only Cast或Cast media统一委托给共享 Cast skill 的执行流程各自 skill 只补充型号级限制而 webOS、Tizen 这类设备则优先走本地遥控接口Cast 只是当设备广播了该服务时的补充路径。打印机与家电Printers and appliancesBrother printers — IPP 打印与任务状态HP Color LaserJet Pro M254dw — IPP 打印与状态Epson printers — IPP 打印在支持时提供 eSCL 扫描Dyson HP04 — 本地状态与受支持的送风/加热控制Miele G 7566 — 本地状态仅在受支持且被允许时下发指令Moonraker 3D printers — 既有服务的状态与打印/任务控制。打印机条目以 IPP 为共同协议族但目录仍按品牌拆分条目Brother、HP 型号级、Epson因为各家的任务状态与附加能力如 Epson 的 eSCL 扫描差异足以影响 muse 的操作决策。扫地机VacuumsiRobot Roomba / Braava — 兼容范围内的本地状态与清洁命令Roborock — 兼容的加密本地 TCP 控制eufy RoboVac, Tuya models — 已映射的本地命令明确排除 AIOT/X10。以 gadget-roborock-vacuums/SKILL.md 为例其 frontmatter 就写明了协议边界encrypted local TCP channel with existing credentials; not Mi Home UDP miIO or A01 wet/dry devices正文进一步说明本地通道使用 TCP 58867与部分 Mi Home 设备使用的 UDP miIO 路径不是同一通道。这类相邻协议族不可混用的否定式说明在三个 vacuum 条目中反复出现。网关与固件族Gateways and firmware familiesratgdo v32 — 已安装的 garage-door、light 和 lock 实体Zigbee2MQTT — 既有网关实际暴露的设备能力ESPSomfy-RTS — 已配置的遮阳帘/组控制位置为估算值Sonoff RF Bridge R2 — 经批准的固定码码捕获/发送VELUX KLF200 — 已完成组网的节点、位置与场景ESPHome devices — 已安装固件所暴露的实体Tuya Wi-Fi devices — 已确认的本地协议、密钥与 datapoint 映射。这一组控制的是网关/固件平台而非单一设备条目描述因此都带有existing/installed/configured既有、已安装、已配置限定词——skill 假设网关已经部署只操作它已经暴露出来的实体。例如 gadget-zigbee2mqtt-gateways/SKILL.md 的 Limits 部分写明This skill covers devices actually supported by the installed bridge and their exposed capabilities, not universal Zigbee support即能力范围以网关节点definition.exposes实际暴露的字段为准。只读网络与摄像头访问Read-only network and camera accessUniFi Network consoles — 本地设备清单与状态Wyze RTSP cameras — 在已安装兼容旧版固件的前提下进行观看/抓图yi-hack cameras — 在已安装兼容固件的前提下进行快照/TCP 流。这组条目的共同特征是只读 前置条件gadget-unifi-network-consoles/SKILL.md 的 Limits 明确其为 read-only skill——no restart, adoption, blocking/unblocking, port, Wi-Fi, firewall or network configuration changes并且要求不向用户请求之外暴露原始客户端清单。Wyze 与 yi-hack 两条同样把兼容固件必须已经安装作为前提而非 skill 本身去做刷机。深入一个条目共享 Cast skill 的完整工作流skills/CATALOG.md中唯一的共享协议 skill 是 gadget-google-cast/SKILL.md它同时也是理解整套 skill 文档风格的样本。其正文结构与执行要点如下设备识别匹配当前的_googlecast._tcp服务使用广播的型号md、友好名fn、身份id与能力ca作为设备数据而非指令来源必须使用当前发现的 IPv4 地址与广播端口单机接收端常用 8009但组 leader 可能广播其他端口且在不同会话间变化不得沿用记忆中的旧端点。前置条件先阅读并遵守 Home Link 的网络与安全规则各 skill 统一指向~/docs/devices/home_link.md设备必须已是 provisioned 的 Cast 接收端。播放时接收端必须能自行拉取媒体 URL——agent 工作区里的文件对接收端不可达必须使用用户已授权、可达、MIME 类型正确且格式受支持的资源。工作流先读型号级限制再选择当前发现的 Cast 端点一个 speaker group 是独立目标需确认用户意图覆盖全部成员用文档化的 Cast v2 客户端文中点名 PyChromecast配合 HomeLink 的共享网络访问直接提供选定的端点而非重新扫描先读接收端状态音量、静音、运行中的应用、可用命名空间不要为读状态而启动应用只对操作表中的任务执行操作播放新 URL 时优先使用 Default Media ReceiverCC1AD845普通网页 URL 通常不可播放最后观察接收端/媒体更新、确认结果后再报告成功并保留请求/会话标识、清理断开。支持操作表文档给出了一张用户任务 → Cast 操作与边界的映射表覆盖读取音量/静音/运行应用、读取播放状态、播放媒体 URL、暂停/继续/seek/停止、设置设备音量或静音、向既有音箱组播放。表中同时注明边界例如读音量与运行应用不是列出设备全部已装应用、向音箱组播放只是选择组当前广播的端点不创建或重配置组。结果验证播放成功的判据是内容/会话正确且处于PLAYING状态BUFFERING或加载请求成功都不算成功音量/静音要回读接收端级数值遇到LOAD_FAILED时排查接收端对 URL 的可达性、格式/编解码支持、HTTPS 信任与 CORS且不反复重载结果不确定的会话。能力边界Cast 不提供通用电视导航、输入选择、任意已装应用管理、截屏、摄像头/麦克风访问或设备配置wake/power 行为依型号而定群组创建、账号设置与助手例行任务不在本地 Cast 流程范围内。其余设备 skill 引用这份 Cast 流程时各自型号的纯音频无摄像头访问等限制如目录中对 Google Home、Nest Hub Max、Pixel Tablet 的描述叠加在共享流程之上这正是共享协议 型号限制两层结构的运作方式。单个 SKILL.md 的统一文件结构从 gadget-tplink-kasa-ep25、gadget-roborock-vacuums、gadget-zigbee2mqtt-gateways、gadget-esphome-devices、gadget-philips-hue-bridges、gadget-unifi-network-consoles 等条目看每个 SKILL.md 遵循一致的五段式正文frontmatter 之外的部分开头一段声明该 skill 的触发条件Use this skill when …通常绑定fresh discovery identifies …即必须以当前发现结果为准Identify the Device如何确认设备身份与协议族普遍包含否定式断言仅凭厂商名/端口/广播标签不能确认协议支持Prerequisites统一要求先读~/docs/devices/home_link.md的 Home Link 网络与安全规则再列出凭据、固件状态等前置条件Workflow / Verify the Result编号工作流 结果验证判据强调确认回执不代表动作完成、不确定时先读状态再重试Limits / Sources明确列出该 skill 不做的事无云端回退、无重置/重配对/固件更新等以及来源链接。frontmatter 的description字段承担双重职责既供目录与检索使用也在语义上界定用什么协议、不用什么协议例如 EP25 条目写Use the confirmed SMART local protocol and approved credentials, not EP10 legacy XORESPHome 条目写prefer the ratgdo skill for ratgdo garage controllers——后者同时展示了 skill 之间的互相引用gadget-esphome-devices/SKILL.md 正文中也以相对链接指向更专门的 ratgdo skill。贯穿全部条目的安全与边界原则把 43 个条目放在一起看skills/CATALOG.md隐含了一组跨 skill 的约束这也是评估某个设备能否接入、以及 muse 执行操作时的默认行为边界本地优先、拒绝云端回退凭据均为本地认证凭据本地密钥、本地应用 key、已存储的凭据哈希多个 skill 明文禁止 cloud bootstrap/fallback如 Roborock、Kasa EP25 条目只操作已安装、已配置、已暴露的东西网关类条目反复使用 existing/installed/configured/commissioned 限定词不代为部署、刷机或组网能力以设备自报为准写操作前必须读取当前状态与能力字段Zigbee2MQTT 的exposes与access位掩码、Hue 灯光的能力字段、Cast 接收端的应用命名空间只发送设备实际支持的字段物理动作需授权且可验证涉及机器人移动、打印、车库门等物理动作的条目要求事先许可并规定回执不等于完成状态回读才是确认只读条目的只读边界如 UniFi 控制台 skill 禁止任何重启、准入、封禁或配置变更。这些原则保证了目录中任何一个 skill 都能被独立粘贴进 muse 对话后行为范围与 skills/README.md 的community-sourced, not official integrations定位相匹配。为新设备贡献一个 skillskills/README.md 欢迎贡献者为已在 Home Link 下验证可用的设备提交 PR提交规范如下目录与文件gadget-device-name/SKILL.md内容要求YAML frontmatter 中name与目录名一致附description正文包含 instructions操作步骤、limits能力边界与 source links来源链接;格式要求Keep skills Markdown-only纯 Markdown不引入其他格式提交后需要使新条目出现在 skills/CATALOG.md 的对应分组中——目录按灯与插座 / 音箱显示电视 / 打印机家电 / 扫地机 / 网关与固件族 / 只读网络与摄像头六组组织共享协议单独成节新 skill 应归入语义最贴近的一组若依赖共享协议如 Cast条目描述与 SKILL.md 正文都应显式引用它。贡献前建议通读同组既有条目例如新增一款插座 skill 时可对照 gadget-tplink-kasa-ep10/SKILL.md 与 gadget-tplink-kasa-ep25/SKILL.md确保协议族识别、前置凭据、工作流、验证判据与 Limits 五段齐全并保持同品牌不同协议必须拆分条目的粒度惯例。小结skills/CATALOG.md 是 muse-gadget-sdk 社区设备技能的唯一索引入口43 个条目 42 个设备/固件族 skill 1 个共享 Google Cast skill覆盖灯与插座、音箱显示电视、打印机家电、扫地机、网关固件族、只读网络与摄像头六大分组。它的价值不在于提供代码而在于为每个设备定义了如何用本地协议识别、操作、验证与设限的可执行文档配合 skills/README.md 的两种交付方式仓库链接或手工粘贴 SKILL.md与统一的gadget-device-name/SKILL.md贡献规范构成了一个可扩展的设备接入文档体系。赞分享【免费下载链接】muse-gadget-sdkOpen source SDK to build Muse gadgets项目地址https://gitcode.com/gh_mirrors/mu/muse-gadget-sdk点击查看免费下载相关推荐Composio 仓库 Agent Skills 格式规范SKILL.md 目录结构、frontmatter 规则与自动化校验指南Composio 仓库 Agent Skills 格式规范SKILL.md 目录结构、frontmatter 规则与自动化校验指南 本指南以 Composio人工智能AI Agent工具调用MCP 服务MCP ClientsMuse Gadget 自造智能硬件基于 muse-gadget-sdk 的 ESP32 与 Linux 双 SDK 完整实战指南Muse Gadget 自造智能硬件基于 muse gadget sdk 的 ESP32 与 Linux 双 SDK 完整实战指南 Muse GadgetsStreamlit 的 Agent Skills 体系.claude/skills 技能目录结构与 SKILL.md 编写规范Streamlit 的 Agent Skills 体系.claude/skills 技能目录结构与 SKILL.md 编写规范 Streamlit 仓库在 .数据可视化后端前端上一篇ahoCorasick4cj的区间树巧思IntervalTree如何处理重叠匹配下一篇13个人教版物联网项目深度拆解源师兄课程如何把新课标变成动手实验创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考