SKILL User Manual
This chapter covers how to invoke specific SKILLs (scheduled reminders / VLM / OCR / inspection, etc.) on the ShiMeta AI Lobster platform, listing each SKILL's dependencies, invocation method, and performance figures.
If you have not deployed OpenClaw + ClawChips yet, see ch05 One-Click QQ Bot Deployment and ch01 ClawChips Architecture and Principles first.
ClawChips ships with a set of algorithm SKILLs that run on the RK182X module and can be triggered directly through QQ bot conversation.
Some SKILLs (rk-vl / rk-ocr) depend on the RK182X NPU; others (rk-rag / morning-briefing) run on the CPU or in the cloud.
1. Prerequisites
- Algorithm models installed: the SKILL firmware does not include ASR/TTS/VLM model weights; obtain them through ShiMeta channels and place them under
/userdata/models/ - RK182X NPU working:
rknn3_transfer_proxy devicescan list mounted devices - OpenClaw Gateway running: it handles message routing
- No heavyweight local LLM running: the NPU board has limited DRAM (5 GB); large models (≥7B) and NPU SKILLs are not recommended to run simultaneously
Recommended device-cloud configuration: a cloud LLM (DeepSeek / MiniMax) handles conversational inference while the local NPU runs VLM/OCR/ASR/TTS. A lightweight local LLM (≤3B) can coexist with SKILLs.
2. rk-remind Scheduled Reminders
Create, query, and cancel reminders through QQ bot conversation; one-shot and recurring tasks are supported.
| User says | Agent behavior |
|---|---|
| "5分钟后提醒我喝水" | Creates a one-shot reminder |
| "每天8点提醒我打卡" | Creates cron 0 8 * * * |
| "工作日9点提醒开会" | Creates cron 0 9 * * 1-5 |
| "我有哪些提醒" | Lists reminders |
| "取消喝水提醒" | Queries, then deletes |
2.1 Invocation
Under the hood it uses the openclaw cron command:
openclaw cron add --name "..." --cron "..." --channel qqbot --to "..."
openclaw cron list
openclaw cron remove <id>Help:
openclaw cron --helpMeasured output:
[plugins] plugins.allow is empty; discovered non-bundled plugins may auto-load: clawchips ...
[plugins] [ClawChips] rkllm provider already configured; skipping registration
[plugins] [RouterPipeline] Registered router: rules-router (tier 2)
[plugins] [ClawChips] Router pipeline ready
[plugins] [ClawChips] Hooks registered (before_model_resolve, before_prompt_build, before_tool_call, after_tool_call, llm_output, session_end)
[plugins] [ClawChips] Dashboard at /plugins/clawchips/dashboard/ (config: /home/linaro/.openclaw/clawchips.yaml)
[plugins]
[qqbot-channel-api] Registered QQ channel API proxy tool
[qqbot-remind] Registered QQBot remind tool
No cron jobs.Note:
openclaw cron listprints ClawChips plugin initialization messages first;No cron jobs.appears last.
3. morning-briefing Morning Broadcast
A Skill developed in-house by ShiMeta that automatically pushes greetings + weather + today's reminders every morning.
Broadcast example:
早上好!今天是 6月13日 星期五。
深圳今天 31°C 多云,紫外线强,记得防晒。
你今天有 2 个安排:
- 14:00 需求评审会
- 18:30 买猫粮4. rk-vl Image Recognition
Based on a local vision LLM (Qwen3-VL-2B); supports both USB camera monitoring and recognizing images sent via QQ.
Performance caveat: rk-vl depends on the RK182X NPU, and its performance varies with model version and system load.
4.1 Single Image Detection
python3 /home/linaro/.openclaw/workspace/skills/rk-vl/scripts/detect_target.py \
--image /tmp/test.jpg \
--query "包裹"4.2 Continuous Monitoring
/home/linaro/.openclaw/workspace/skills/rk-vl/scripts/watch.sh start 包裹4.3 VLM Inference Service
Under the hood, a systemd-resident VLM service (port 7879, bound to 127.0.0.1):
systemctl status vlm.service --no-pagerOutput:
● vlm.service - VLM Inference Service (Qwen3-VL-2B on RK1828)
Loaded: loaded (/lib/systemd/system/vlm.service; enabled; preset: enabled)
Active: active (running) since Thu 2026-08-20 14:05:21 CST; 39min ago
Main PID: 66298 (python3)
CPU: 8.848s
CGroup: /system.slice/vlm.service
└─66298 /usr/bin/python3 /userdata/models/Qwen3-VL-2B/vlm_server.pyInvocation test:
bash /userdata/models/Qwen3-VL-2B/vl.sh "<image_path>" "<prompt>"4.4 Performance Reference
| Stage | Latency |
|---|---|
| Vision infer | ~130ms |
| LLM inference | 300-700ms |
| End to end | <1s |
Use
/usr/bin/rknn3_model_testfor actual measurements.
5. rk-ocr Image Text Extraction
A ShiMeta in-house skill based on the local PaddleOCR-VL model.
5.1 Invocation
Command line:
bash /userdata/models/Qwen3-VL-2B/ocr.sh "<image path>"HTTP API:
curl -X POST http://127.0.0.1:7880/ocr \
-H "Content-Type: application/json" \
-d '{"image": "<base64-encoded>"}'Health check:
curl http://127.0.0.1:7880/healthOutput:
{"status": "ok", "model": "PaddleOCR-VL"}5.2 Comparison with rk-vl
| Dimension | rk-vl | rk-ocr |
|---|---|---|
| Strength | Describing/understanding image | Precisely extracting text |
| Latency | ~1 s | ~0.6 s |
| Best for | "What does this image show?" | "What text is in the image?" |
6. rk-inspect Multi-Agent Inspection and Analysis
A ShiMeta in-house skill based on the inspect.sh command-line tool.
6.1 Invocation
bash /userdata/models/Qwen3-VL-2B/inspect.sh <image path> [scene]
# scene: retail (default) | warehouse | safety | genericThe image path is mandatory; calling it without arguments errors out (the script uses
set -euo pipefail).
6.2 Inspection Scenes
Architecture: the local NPU runs VLM / OCR to produce an "objective description" → the cloud LLM performs "multi-perspective reasoning".
| Scene | Keyword | Analysis experts |
|---|---|---|
| Retail | retail | Safety patrol officer + display supervisor |
| Warehouse | warehouse | Safety inspector + warehouse manager |
| Safety | safety | Safety inspector + environment assessor |
| Generic | generic | Detail observer + order assessor |
7. rk-meeting-watcher Meeting Monitoring
A meeting-listening skill; requires an external USB microphone.
sudo apt install alsa-utilsPair it with an external USB microphone for better audio capture.
8. rk-binary-image-decoder Binary Image Decoding
Converts raw camera pixel data into PNG images.
python3 /home/linaro/.openclaw/workspace/skills/rk-binary-image-decoder/scripts/CVT_NV12.py \
camera_capture.bin 1920 1080 1920 output.png9. Custom Skill Development
Each Skill lives in ~/.openclaw/workspace/skills/<skill-name>/.
ls -la ~/.openclaw/workspace/skills/There is no README in the skills directory; the overall guide is at the repository root,
/opt/clawchips/skills/README.md.
Directory structure:
skills/my-skill/
├── SKILL.md # Main Skill document (read by OpenClaw)
├── TOOLS.md # Tool definitions (optional)
├── run.py # Main logic
├── config.yaml # Configuration (optional)
└── requirements.txt10. SKILL Overview
| Skill | Dependency | Description | Backend status |
|---|---|---|---|
| rk-remind | None | Scheduled reminders (cron) | |
| morning-briefing | None | Morning broadcast | |
| rk-vl | NPU | Image recognition / camera monitoring | |
| rk-ocr | NPU | OCR text extraction | |
| rk-inspect | NPU + cloud | Multi-agent inspection | |
| rk-binary-image-decoder | None | Raw pixels to PNG | |
| rk-adb | ADB | ADB debugging tool | |
| rk-hwc-troubleshooting | None | Hardware troubleshooting | |
| rk-model-benchmark | NPU | Model performance benchmark |
Dependency notes:
- NPU: accelerated by the RK182X NPU
- CPU: runs on the CPU
- NPU + cloud: local NPU processing + cloud LLM inference
- TBD: technical details to be confirmed
- **Backend **: the skill is downloaded, but the backend inference service is not running; actual invocation will fail
11. FAQ
| Symptom | Cause | Fix |
|---|---|---|
openclaw cron list shows no cron | Never created / list empty | Create one with cron add first |
vlm.service is not active | Service not started | sudo systemctl start vlm.service |
inspect.sh errors without args | set -euo pipefail | The image path is mandatory |
12. Next Steps
- ClawChips Architecture and Principles — overall architecture
- LLM Inference — connect the local rkllm3-server
- AI Agent Applications — integrate into Agent frameworks
