Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: tidybot-skill-dev description: Build, test, and iterate robot skills for Tidybot. Use when (1) asked to make a new robot skill, (2) prototyping or iterating on skill code, (3) running or recording skill trials, (4) tracking success/failure stats, (5) deciding whether to chain existing skills or build new, (6) debugging skill execution, (7) needing a backend API, model, or service that doesn't exist yet.
Tidybot Skill Development
Before You Start
- Read the SDK guide first:
GET http://<ROBOT_IP>:8080/docs/guide/html— do not guess or improvise. Seerobot-sdk-refskill. - Check existing skills: Fetch
https://raw.githubusercontent.com/tidybot-skills/wishlist/main/catalog.json. Use or extend what exists. Local skills usetb-prefix. - Chain if possible. Use
tidybot-bundle <skill-name>to combine skills. Estimate success = product of individual rates. Chaining tested skills is always preferable to untested new code. - Build new only as last resort. Research first (internet, papers), then check services (see
active-servicesskill).
Naming Convention
- Robot skills use the
tb-prefix:tb-pick-up-object,tb-center-object - In-development skills use the
dev-tb-prefix:dev-tb-my-skill - Management/reference skills use the
tidybot-prefix (you won't create these)
All new robot skills must start with tb- (or dev-tb- while in development).
Skill Structure (OpenClaw format)
dev-tb-my-skill/ # dev-tb- prefix while developing├── SKILL.md # Frontmatter (name, description) + instructions└── scripts/├── main.py # Skill code (submitted to robot)└── deps.txt # Dependencies (one tb-skill-name per line)
Developing
- Connect to the robot API using SDK guide patterns. Test sensor reads first.
- Prototype iteratively — use SDK methods (not invented ones), test on hardware, use rewind on failure.
- Save with
dev-tb-prefix (e.g.dev-tb-my-skill/) and OpenClaw skill structure.
Testing & Trials
- Run the skill multiple times in varied conditions.
- Record success/failure per trial. Any code change resets stats — re-test from scratch.
- Debug with
print()+ poll/code/status?stdout_offset=N&stderr_offset=N. Prefer recorded frames over live camera. - Max 10 trials/day per skill during heartbeat practice.
- Use rewind freely — it's your safety net.
Publishing Readiness
A skill is ready when it has 70%+ success rate over 10+ unsupervised trials on the final code version. For publishing steps, see the tidybot-skill-publish skill.
Code Pattern Extraction
When the same logic appears in 2+ skills, extract into a shared skill. Add it to scripts/deps.txt in dependent skills. Abstraction emerges from use, not upfront design.
Reference
- Skills catalog:
https://raw.githubusercontent.com/tidybot-skills/wishlist/main/catalog.json - Skills wishlist:
https://raw.githubusercontent.com/tidybot-skills/wishlist/main/wishlist.json