Initial commit: custom OpenClaw skills from docker-test

- 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.
This commit is contained in:
2026-02-16 15:32:44 +00:00
commit 3b7d6bb67c
37 changed files with 3358 additions and 0 deletions

80
README.md Normal file
View File

@@ -0,0 +1,80 @@
# 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.