Add install skill for OpenClaw agents (#29)

* feat: add install skill for OpenClaw agents

skill.md provides autonomous install instructions
skill.json provides metadata for programmatic access

* add version check, require user confirm before update
This commit is contained in:
Luciano Castillo
2026-02-01 14:33:26 -05:00
committed by GitHub
parent b91bfeb4a4
commit e19a58054d
2 changed files with 127 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
{
"name": "crabwalk",
"version": "1.0.7",
"description": "Real-time companion monitor for OpenClaw agents",
"homepage": "https://crabwalk.app",
"repository": "https://github.com/luccast/crabwalk",
"metadata": {
"emoji": "🦀",
"category": "monitoring"
},
"install": {
"method": "tarball",
"location": "~/.crabwalk",
"start_command": "node ~/.crabwalk/.output/server/index.mjs"
}
}
+111
View File
@@ -0,0 +1,111 @@
---
name: crabwalk
version: 1.0.7
description: Real-time companion monitor for OpenClaw agents
homepage: https://crabwalk.app
repository: https://github.com/luccast/crabwalk
metadata: {"emoji":"🦀","category":"monitoring"}
---
# Crabwalk 🦀
Real-time companion monitor for OpenClaw agents. Visualize agent sessions, tool calls, and activity in a reactive graph UI.
## Quick Install
```bash
# Get latest version
VERSION=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4)
# Download and extract
mkdir -p ~/.crabwalk
curl -sL "https://github.com/luccast/crabwalk/releases/download/${VERSION}/crabwalk-${VERSION}.tar.gz" | tar -xz -C ~/.crabwalk
# Start server (runs on port 3000)
node ~/.crabwalk/.output/server/index.mjs
```
## One-Liner Install
```bash
VERSION=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4) && mkdir -p ~/.crabwalk && curl -sL "https://github.com/luccast/crabwalk/releases/download/${VERSION}/crabwalk-${VERSION}.tar.gz" | tar -xz -C ~/.crabwalk && echo "Crabwalk ${VERSION} installed to ~/.crabwalk"
```
## Running
```bash
# Default (port 3000)
node ~/.crabwalk/.output/server/index.mjs
# Custom port
PORT=8080 node ~/.crabwalk/.output/server/index.mjs
# With gateway auth token
CLAWDBOT_API_TOKEN=your_token node ~/.crabwalk/.output/server/index.mjs
```
Open http://localhost:3000 in browser.
## Configuration
| Env Var | Description | Default |
|---------|-------------|---------|
| `PORT` | Server port | `3000` |
| `CLAWDBOT_API_TOKEN` | Gateway auth token | none |
## Features
- `/monitor` — Real-time agent activity graph (ReactFlow)
- `/workspace` — File browser and markdown viewer
- Live WebSocket updates from clawdbot gateway
## Requirements
- Node.js 20+
- clawdbot gateway running on `ws://127.0.0.1:18789`
## Check for Updates
```bash
INSTALLED=$(cat ~/.crabwalk/package.json 2>/dev/null | grep '"version"' | cut -d'"' -f4)
LATEST=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4 | tr -d 'v')
if [ -z "$INSTALLED" ]; then
echo "Crabwalk not installed"
elif [ "$INSTALLED" != "$LATEST" ]; then
echo "Update available: $INSTALLED -> $LATEST"
else
echo "Already on latest: $INSTALLED"
fi
```
## Updating
**IMPORTANT: Always ask user permission before updating.**
If update available, ask user:
> "Crabwalk update available (X.X.X -> Y.Y.Y). See release: https://github.com/luccast/crabwalk/releases/tag/vY.Y.Y — Update now?"
Only proceed if user confirms:
```bash
VERSION=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4)
rm -rf ~/.crabwalk
mkdir -p ~/.crabwalk
curl -sL "https://github.com/luccast/crabwalk/releases/download/${VERSION}/crabwalk-${VERSION}.tar.gz" | tar -xz -C ~/.crabwalk
echo "Updated to ${VERSION}"
```
## Verify Installation
```bash
# Check version
cat ~/.crabwalk/package.json | grep '"version"'
# Test server starts
timeout 5 node ~/.crabwalk/.output/server/index.mjs 2>&1 | head -5 || true
```
---
Repository: https://github.com/luccast/crabwalk