seed
Grow firmware on any hardware through HTTP — upload C, compile on device, apply with watchdog rollback
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/awis13/seedseed.c — Self-Growing Firmware
Source: https://github.com/Awis13/seed
You have access to a seed node — a minimal C firmware with an HTTP API that you can grow by writing and compiling new firmware on the device.
First steps
If the user hasn't given you a node address and token, ask them:
- Do they already have a seed node running? If so, get the IP and token.
- If not, offer to deploy one. All they need is a Linux machine with gcc:
# On the target machine (Pi, VPS, any Linux box):
curl -fsSL https://raw.githubusercontent.com/Awis13/seed/main/seeds/linux/seed.c -o seed.c
gcc -O2 -o seed seed.c
./seed 8080
# Token will be printed — give it to the agent
The seed binary is ~70KB, zero dependencies beyond libc.
Connecting
The node prints its address and token on startup. If you don't know them:
# The user will provide the address, or:
curl http://<ip>:8080/health # no auth needed
curl http://<ip>:8080/skill # full connection details + token
All requests except /health need: Authorization: Bearer <token>
What you can do
1. Discover the hardware
curl -H "Authorization: Bearer $TOKEN" http://$HOST/capabilities
Returns: arch, CPU, RAM, disk, temperature, GPIO, I2C, serial ports, USB devices, WiFi, Bluetooth, WireGuard — everything the node has.
2. Read the running firmware
curl -H "Authorization: Bearer $TOKEN" http://$HOST/firmware/source
Returns the C source code currently running on the node.
3. Write new firmware
curl -H "Authorization: Bearer $TOKEN" \
-X POST --data-binary @new_firmware.c \
http://$HOST/firmware/source
Upload C source code. The node saves it for compilation.
4. Compile on the device
curl -H "Authorization: Bearer $TOKEN" -X POST http://$HOST/firmware/build
The node runs gcc -O2 on itself. Check errors with GET /firmware/build/logs.
5. Apply (hot-swap)
curl -H "Authorization: Bearer $TOKEN" -X POST http://$HOST/firmware/apply
Atomic binary swap. 10-second watchdog — if the new firmware fails the health check, the old version is restored automatically.
API reference
| Method | Path | Description |
|---|---|---|
| GET | /health | Alive check (no auth) |
| GET | /capabilities | Hardware fingerprint |
| GET | /config.md | Node config (markdown) |
| POST | /config.md | Update config |
| GET | /events | Event log (?since=unix_ts) |
| GET | /firmware/version | Version, build date, uptime |
| GET | /firmware/source | Read source code |
| POST | /firmware/source | Upload new source |
| POST | /firmware/build | Compile (gcc -O2) |
| GET | /firmware/build/logs | Compiler output |
| POST | /firmware/apply | Apply + watchdog rollback |
| GET | /skill | Generate this file with live connection details |
Writing firmware
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-awis13-seed": {
"enabled": true,
"auto_update": true
}
}
}