Agent Skills › espressif/esp-claw › skills_lab_downloader

skills_lab_downloader

GitHub

从 ESP-Claw Hub 下载指定 Skill 或 App,验证元数据与硬件外设兼容性,执行文件安装并发布。

components/claw_capabilities/cap_skill_mgr/skills/skills_lab_downloader/SKILL.md espressif/esp-claw

触发场景

用户请求下载特定 ID 的 Skill 或 App 需要安装来自 skills-lab.esp-claw.com 的资源包

安装

npx skills add espressif/esp-claw --skill skills_lab_downloader -g -y
更多选项

非标准路径

npx skills add https://github.com/espressif/esp-claw/tree/master/components/claw_capabilities/cap_skill_mgr/skills/skills_lab_downloader -g -y

不安装直接使用

npx skills use espressif/esp-claw@skills_lab_downloader

指定 Agent (Claude Code)

npx skills add espressif/esp-claw --skill skills_lab_downloader -a claude-code -g -y

安装 repo 全部 skill

npx skills add espressif/esp-claw --all -g -y

预览 repo 内 skill

npx skills add espressif/esp-claw --list

SKILL.md

Frontmatter
{
    "name": "skills_lab_downloader",
    "metadata": {
        "cap_groups": [
            "cap_lua",
            "cap_http_request",
            "cap_boards",
            "cap_skill_manage",
            "cap_app_manage"
        ]
    },
    "description": "Download a Skill or App from the ESP-Claw hub by exact kind and id, check required peripherals, and publish it on the device."
}

Skills Lab Downloader

Download a Skill or App by its exact kind and id from skills-lab.esp-claw.com.

Rules

  • Require kind (skill or app) and the exact package id. Never infer kind from a title or default to Skill. If unknown, use skills_lab_search or ask the user.
  • Use {CUR_SKILL_DIR}/scripts/download_package.lua for both metadata and file downloads. Enable cap_http_request; if the host is blocked, tell the user to add *.esp-claw.com to the Web Console HTTP allowlist.
  • Read the returned metadata yourself; do not ask Lua to parse JSON. Verify kind and name match the requested kind and id. Stop on missing or mismatched metadata, HTTP errors, or missing files.
  • Before installation, compare metadata.peripherals with board_hardware_info. If required peripherals are missing, stop unless the user explicitly approves force installation.
  • Pass the complete metadata files array unchanged. It includes the manifest and nested resource paths; do not use extra_files or reconstruct a list from prose.
  • After all downloads succeed, call publish_app for an App or publish_skill for a Skill. Never publish after a download failure. Only report installation complete after publication succeeds; otherwise report that files were downloaded but publication failed.

Workflow

  1. Fetch metadata using lua_run_script:
{
  "path": "{CUR_SKILL_DIR}/scripts/download_package.lua",
  "args": { "action": "fetch_metadata", "kind": "app", "id": "example-app" }
}
  1. Check package identity and peripherals, then install using the exact files returned by the server. Set timeout_ms to 300000 for the complete download; the default 60-second script timeout may be too short for resource-heavy Apps. For example:
{
  "path": "{CUR_SKILL_DIR}/scripts/download_package.lua",
  "timeout_ms": 300000,
  "args": {
    "action": "install",
    "kind": "app",
    "id": "example-app",
    "files": ["launcher.json", "scripts/main.lua", "assets/audio/tone.pcm"]
  }
}
  1. On success, call publish_app with {"app_id":"example-app"}. For a Skill, use kind: "skill" in both script calls and finish with publish_skill({"skill_id":"example-skill"}).

Storage and failures

  • Skills use /raw/<id>/ on the server and <DATA>/skills/<id>/ locally; SKILL.md is required.
  • Apps use /raw/apps/<id>/ on the server and <DATA>/apps/<id>/ locally; launcher.json is required.
  • Files stream directly to storage with a 20-second request timeout and a 10 MiB per-file limit. Nested directories are created automatically; paths must remain inside the package.
  • A failed or truncated download is removed. Previously downloaded files may remain; installation is not atomic and retrying overwrites files. Publication does not launch the App or activate the Skill.

版本历史

  • 36b377f 当前 2026-11-02 21:37

同 Skill 集合

components/claw_capabilities/cap_app_mgr/skills/app_creator/SKILL.md
components/claw_capabilities/cap_http_request/skills/cap_http_request/SKILL.md
components/claw_capabilities/cap_im_platform/skills/cap_im_platform/SKILL.md
components/claw_capabilities/cap_router_mgr/skills/cap_router_mgr/SKILL.md
components/claw_capabilities/cap_scheduler/skills/cap_scheduler/SKILL.md
components/claw_capabilities/cap_skill_mgr/skills/skills_lab_search/SKILL.md
components/claw_capabilities/cap_web_search/skills/cap_web_search/SKILL.md
components/claw_modules/claw_memory/skills/memory_ops/SKILL.md
components/claw_modules/claw_memory/skills/profile_memory_ops/SKILL.md
components/common/lua_module_builder/skills/lua_package_authoring/SKILL.md
components/common/skill_builder/skills/skill_creator/SKILL.md
components/common/skill_builder/skills/skills_lab_downloader/SKILL.md
components/common/skill_builder/skills/skills_lab_search/SKILL.md
components/lua_modules/lua_driver_touch/skills/read_touch/SKILL.md
components/lua_modules/lua_module_ble_hid/skills/ble_hid/SKILL.md
components/lua_modules/lua_module_ble/skills/ble/SKILL.md
components/lua_modules/lua_module_camera/skills/take_picture/SKILL.md
components/lua_modules/lua_module_display/skills/bdf_font_converter/SKILL.md
components/lua_modules/lua_module_http_server/skills/http_server_lua_demo/SKILL.md
components/claw_capabilities/cap_llm_inspect/skills/cap_llm_inspect_image/SKILL.md

元信息

文件数
0
版本
36b377f
Hash
497bf941
收录时间
2026-11-02 21:37

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-06 22:21
浙ICP备14020137号-1