- workspace: capmetro-monitor, github-notifications, model-selector - workspace-security: vt-monitor, monitor-unauthorized - workspace-home: cron-manager, monitor-unauthorized - extensions: vt-sentinel (VT-Sentinel plugin) Includes sync.sh for pull/push, README, AGENTS.md, .gitignore.
81 lines
3.0 KiB
Markdown
81 lines
3.0 KiB
Markdown
# OpenClaw Custom Skills
|
|
|
|
Backup and version control for custom OpenClaw skills deployed on `docker-test`. These skills extend the agent beyond the built-in defaults (ClawHub-installed or bundled).
|
|
|
|
## Purpose
|
|
|
|
- **Backup** — Preserve custom skills outside the deployment
|
|
- **Version control** — Track changes, roll back, collaborate
|
|
- **Sync** — Pull new skills from docker-test, push local edits back
|
|
|
|
## Directory Structure
|
|
|
|
Skills are organized by their source location on the remote:
|
|
|
|
| Directory | Remote Path | Skills |
|
|
|-----------|-------------|--------|
|
|
| `workspace/` | `/opt/openclaw/workspace/skills/` | capmetro-monitor, github-notifications, model-selector |
|
|
| `workspace-security/` | `/opt/openclaw/state/workspace-security/skills/` | vt-monitor, monitor-unauthorized |
|
|
| `workspace-home/` | `/opt/openclaw/state/workspace-home/skills/` | cron-manager |
|
|
| `extensions/` | `/opt/openclaw/state/extensions/openclaw-plugin-vt-sentinel/skills/` | vt-sentinel |
|
|
|
|
Each skill is a folder containing `SKILL.md` and optional `scripts/`, `references/`, etc.
|
|
|
|
## Access Pattern
|
|
|
|
### Prerequisites
|
|
|
|
- SSH access to `docker-test` (configured in `~/.ssh/config`)
|
|
- OpenClaw deployed at `/opt/openclaw` on docker-test
|
|
|
|
### Sync Script
|
|
|
|
```bash
|
|
# Pull skills FROM docker-test TO local (download new/updated)
|
|
./sync.sh pull
|
|
|
|
# Push skills FROM local TO docker-test (upload your changes)
|
|
./sync.sh push
|
|
```
|
|
|
|
Override the SSH host:
|
|
|
|
```bash
|
|
REMOTE=my-server ./sync.sh pull
|
|
```
|
|
|
|
### What Gets Excluded
|
|
|
|
The sync script and `.gitignore` exclude runtime files:
|
|
|
|
- `state.json` — Per-skill state (tokens, seen IDs)
|
|
- `seen-connections.json` — Connection tracking
|
|
- `authorized-ips.json` — IP whitelist
|
|
- `memory/` — Skill memory directories
|
|
|
|
These contain environment-specific or sensitive data and should never be committed.
|
|
|
|
## Custom Skills Inventory
|
|
|
|
| Skill | Source | Description |
|
|
|-------|--------|-------------|
|
|
| capmetro-monitor | workspace | Monitor CapMetro (Austin) service changes for Route 5/500 |
|
|
| github-notifications | workspace | Check GitHub PRs and releases with smart filtering |
|
|
| model-selector | workspace | Safely change agent primary/fallback models via LLM proxy |
|
|
| vt-monitor | workspace-security | Parse VT-Sentinel activity from gateway logs |
|
|
| monitor-unauthorized | workspace-security | Detect unauthorized WebSocket connections |
|
|
| cron-manager | workspace-home | Manage cron and reminder workflows |
|
|
| vt-sentinel | extensions | VirusTotal security scanner (ClawHub plugin) |
|
|
|
|
## First-Time Setup
|
|
|
|
1. Create the repository on Gitea (e.g. `b3nw/openclaw-skills`) if it does not exist.
|
|
2. Push the initial commit: `git push -u origin main`
|
|
|
|
## Workflow
|
|
|
|
1. **Regular backup**: Run `./sync.sh pull` periodically to capture new skills or updates made directly on docker-test.
|
|
2. **Edit locally**: Modify skills in this repo, commit, push to Gitea.
|
|
3. **Deploy changes**: Run `./sync.sh push` to apply local edits to docker-test.
|
|
4. **Restart OpenClaw** or start a new session so it picks up changes.
|