Skill
AI agent skill for Seeed reTerminal E Series, SenseCraft HMI playlists, ePaper dashboards, and IoT display automation.
npx -y skills add Seeed-Solution/reterminal_skill --skill skillAssembled 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
Use when creating, uploading, sending, deleting, or managing SenseCraft HMI playlists and pages through the HMI API.
SKILL.md
3.1 KB, as published. Nobody here has run it
reTerminal
Use this skill when the user asks to create, upload, send, delete, or manage HMI playlists/pages with the SenseCraft HMI API.
Requirements
The agent environment must provide:
HMI_API_BASE: SenseCraft HMI API base URL, for examplehttps://sensecraft-hmi-api.seeed.ccHMI_API_KEY: user API key sent as theapi-keyrequest header
Optional device defaults:
HMI_DEVICE_MAC: default target device MAC addressHMI_DEVICE_ID: default target device ID, resolved throughGET /api/v2/user/device/listHMI_DEVICE_NAME: default exact device name, resolved throughGET /api/v2/user/device/list
Do not request, create, persist, or echo API keys during install or routine use. API key management uses JWT-only endpoints and is outside this skill.
Script
Use the bundled deterministic helper:
node scripts/reterminal-skill.mjs <command> [options]
Commands:
list-devicescreate-playlist --name NAME [--mac-address MAC]upload-image-base64 --image-base64 BASE64 [--filename NAME] [--mac-address MAC]upload-file --file PATH [--filename NAME] [--mac-address MAC]create-image-page --name NAME --image-url URL [--mac-address MAC]upsert-pages --playlist-id ID --page-id ID [--sort N]send-playlist --playlist-id ID [--mac-address MAC | --device-id ID | --device-name NAME]set-refresh-interval (--seconds N | --minutes N) [--mac-address MAC | --device-id ID | --device-name NAME]delete-playlist --playlist-id ID [--mac-address MAC | --device-id ID | --device-name NAME]delete-page --page-id ID [--mac-address MAC | --device-id ID | --device-name NAME]create-upload-send --name NAME (--image-base64 BASE64 | --file PATH) [--page-name NAME] [--mac-address MAC | --device-id ID | --device-name NAME]
For commands that need a target device, prefer this order:
- Use explicit
--mac-address. - Otherwise use
HMI_DEVICE_MAC. - Otherwise resolve
--device-id,--device-name,HMI_DEVICE_ID, orHMI_DEVICE_NAMEthroughlist-devices. - If no selector is provided and exactly one device is returned, use that device.
- If multiple devices are returned, stop and ask the user to choose a device ID or exact device name. Do not choose by fuzzy matching.
All commands print JSON. For failed downlink during create-upload-send, preserve the returned playlist_id and page_id from the JSON error so the user can retry or clean up.
For a 1-minute refresh interval, call set-refresh-interval --minutes 1; the script sends refresh_interval: 60 because the current local API stores and downlinks the value in seconds.
Safety
Deletion commands require explicit numeric IDs. Never delete playlists or pages by fuzzy name matching.
If the API returns code=9003, report that the API key is missing, invalid, revoked, or expired. If it returns code=401, report that authentication failed or the endpoint did not accept API-key fallback.
See references/api.md for endpoint details.