| 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. See robot-sdk-ref skill.
- Check existing skills: Fetch
https://raw.githubusercontent.com/tidybot-skills/wishlist/main/catalog.json. Use or extend what exists. Local skills use tb- 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-services skill).
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