candidate-kb
Manage candidate knowledge base. Use when ingesting CVs, adding profile information, or querying candidate details for resume/cover letter generation.
An MCP server that provides on-demand skill loading for AI coding assistants.
---
name: office-cam
description: Multi-camera system for office/home monitoring. Supports USB webcams (Logitech), WiFi Wyze cameras (RTSP), and ESP32 cameras. Use to check rooms, capture photos on demand, or monitor multiple spaces.
metadata:
clawdbot:
emoji: π₯
---
# Office Cam - Multi-Camera System
Whole-house camera network supporting multiple camera types.
## Supported Cameras
| Type | Reliability | Setup | Best For |
|------|-------------|-------|----------|
| π₯οΈ **USB Webcam** | βββββ Instant | Plug & play | Desk, office |
| πΉ **Wyze PTZ/v3** | βββββ Reliable | RTSP stream | Rooms, garage, shed |
| π‘ **ESP32-CAM** | βββ Experimental | ESP-NOW wireless | DIY, battery-powered |
## Quick Start
```bash
# USB Webcam (instant)
~/clawd/skills/office-cam/scripts/capture.sh
# Wyze PTZ (one-time setup required)
~/clawd/skills/office-cam/scripts/wyze-dashboard add
~/clawd/skills/office-cam/scripts/wyze-dashboard capture shed
# ESP32-CAM (ESP-NOW wireless)
# Flash firmware, auto-discovers base station, sends photos wirelessly
```
---
## π₯οΈ USB Webcam (Logitech)
**Most reliable - works instantly.**
### Basic Capture
```bash
cd ~/clawd/skills/office-cam
./scripts/capture.sh /tmp/office.jpg
```
### Motion Detection β NEW
```bash
# Start motion detection (runs continuously)
./scripts/motion-detect.sh
# Captures saved to ~/.clawdbot/motion-captures/
# Automatically triggers when motion detected
# 5-second cooldown between captures
```
### π₯ OVERWATCH Mode (AI Monitoring) βββ
```bash
# Start AI-powered continuous monitoring
./scripts/overwatch start
# Check status
./scripts/overwatch status
# Stop monitoring
./scripts/overwatch stop
```
**What Overwatch does:**
- π Monitors webcam 24/7 in background
- π¨ Detects motion and saves alert
- π Can trigger notifications (integrate with OpenClaw)
- πΎ Saves motion captures to `~/.clawdbot/overwatch/`
**Or say:** *"Start overwatch"* or *"Keep overwatch"*
### π€ SMART OVERWATCH (AI-Escalated) βββββ
```bash
# Start smart monitoring (zero cost until trigger)
./scripts/smart-overwatch start
# I will check for triggers and analyze when found
```
**How it works:**
1. **π Local motion detection** (file size comparison, zero API cost, runs always)
2. **π¨ Motion detected** β creates trigger file in `~/.clawdbot/overwatch/triggers/`
3. **π€ I detect the trigger** β analyze image with vision model (only when motion happens)
4. **π€ Person found?** β Send alert & optionally continue watching
5. **π No person?** β Delete trigger, back to local monitoring
**What you can say:**
- *"Start smart overwatch"*
- *"Keep watch and tell me if you see anyone"*
- *"Monitor for people only"*
- *"Check overwatch triggers"* (to manually check for pending analysis)
**Cost:** Zero until motion detected, then only when I analyze the image
### πΈ Instant Telegram Photo βββββ
**Quick capture and send - the simplest way to check your camera**
**Just say:**
- *"Show me the office"*
- *"What's on camera?"*
- *"Send me a photo"*
**What happens:**
1. I instantly capture from your webcam
2. Analyze for clear faces/activity
3. Send best image directly to your Telegram
**No stream needed - just instant photos when you want them.**
### π₯ OVERWATCH PRO (Full Control System) ββββββ
**The complete solution - Telegram alerts, live stream, remote control**
```bash
# Start the full system
./scripts/overwatch-pro start
# Setup Telegram (one-time)
./scripts/overwatch-pro setup
# Get live stream URLs
./scripts/overwatch-pro stream
# Take manual photo
./scripts/overwatch-pro capture
# Check status
./scripts/overwatch-pro status
# View live log
./scripts/overwatch-pro log
# Stop
./scripts/overwatch-pro stop
```
**Features:**
- π¨ **Instant Telegram alerts** when motion detected
- π **Live MJPEG stream** at http://localhost:8080
- π± **Auto-refreshes** every 2 seconds
- πΈ **Saves all captures** to ~/.clawdbot/overwatch/
- π€ **Telegram bot replies** - respond to alerts with commands
- π
**Morning report** (8 AM daily via cron)
**Telegram Commands (reply to motion alert):**
- `analyze` - I'll check the image and tell you what I see
- `stream` - I'll send you the live stream link
- `capture` - I'll take a fresh photo right now
**Network Access:**
```bash
# Local
http://localhost:8080
# From another device on same network
http://$(hostname -I | awk '{print $1}'):8080
```
**Morning Report (with Photo):**
- Auto-generated at 8 AM (America/Denver timezone)
- **Sends a fresh morning photo of your office**
- Summarizes overnight motion events
- Offers to analyze captures
- Provides quick command reference
**Requirements for motion detection:**
```bash
brew install imagemagick # For image comparison
```
---
## πΉ Wyze Cameras
### One-Time Setup:
1. **Enable RTSP in Wyze App:**
- Open Wyze app β Camera Settings β Advanced Settings
- Enable RTSP, set password
- Copy the RTSP URL
2. **Add to system:**
```bash
~/clawd/skills/office-cam/scripts/wyze-dashboard add
# Enter camera name (e.g., "shed")
# Enter RTSP URL
```
3. **Capture:**
```bash
# Single camera
~/clawd/skills/office-cam/scripts/wyze-dashboard capture shed
# All cameras
~/clawd/skills/office-cam/scripts/wyze-dashboard capture-all
# Quick one-liner (after setup)
~/clawd/skills/office-cam/scripts/wyze-capture shed
```
---
## π‘ ESP32-CAM (ESP-NOW Wireless)
**No WiFi router needed!** Direct wireless between ESP32s.
### Architecture:
```
βββββββββββββββββββ ESP-NOW βββββββββββββββββββ
β ESP32-CAM β ββββββββββββββββΊ β ESP32 Base ββββ USB βββΊ Mac
β (Camera Node) β (100m range) β (Receiver) β
βββββββββββββββββββ βββββββββββββββββββ
Battery powered Plugged into computer
```
### Flashing:
**Base Station** (plain ESP32, plugged into Mac):
```bash
cd ~/clawd/skills/office-cam/firmware/espnow-base
pio run --target upload
```
**Camera Node** (ESP32-CAM with camera):
```bash
cd ~/clawd/skills/office-cam/firmware/espnow-cam-auto
pio run --target upload
```
### How it works:
1. Base station broadcasts "beacon" every 2 seconds
2. Camera auto-discovers base station
3. Camera captures and sends photo wirelessly
4. Base receives and saves to SD/outputs to serial
**Range:** 100+ meters (no WiFi needed!)
---
## Files
| Script | Purpose |
|--------|---------|
| `capture.sh` | USB webcam |
| `wyze-capture` | Quick Wyze capture |
| `wyze-dashboard` | Multi-cam management |
| `firmware/espnow-base/` | ESP32 receiver |
| `firmware/espnow-cam-auto/` | ESP32-CAM transmitter |
---
## Troubleshooting
**Wyze "Connection refused":**
- Verify RTSP enabled in Wyze app
- Check username/password
- Ensure same WiFi network
**ESP32-CAM not connecting:**
- Keep within 10 feet for testing
- Check LED: blinking = searching, solid = capturing
- Try resetting both boards
**USB webcam not working:**
- `brew install imagesnap`
- System Settings β Privacy β Camera
---
name: office-cam
description: Multi-camera system for office/home monitoring. Supports USB webcams (Logitech), WiFi Wyze cameras (RTSP), and ESP32 cameras. Use to check rooms, capture photos on demand, or monitor multiple spaces.
metadata:
clawdbot:
emoji: π₯
---
# Office Cam - Multi-Camera System
Whole-house camera network supporting multiple camera types.
## Supported Cameras
| Type | Reliability | Setup | Best For |
|------|-------------|-------|----------|
| π₯οΈ **USB Webcam** | βββββ Instant | Plug & play | Desk, office |
| πΉ **Wyze PTZ/v3** | βββββ Reliable | RTSP stream | Rooms, garage, shed |
| π‘ **ESP32-CAM** | βββ Experimental | ESP-NOW wireless | DIY, battery-powered |
## Quick Start
```bash
# USB Webcam (instant)
~/clawd/skills/office-cam/scripts/capture.sh
# Wyze PTZ (one-time setup required)
~/clawd/skills/office-cam/scripts/wyze-dashboard add
~/clawd/skills/office-cam/scripts/wyze-dashboard capture shed
# ESP32-CAM (ESP-NOW wireless)
# Flash firmware, auto-discovers base station, sends photos wirelessly
```
---
## π₯οΈ USB Webcam (Logitech)
**Most reliable - works instantly.**
### Basic Capture
```bash
cd ~/clawd/skills/office-cam
./scripts/capture.sh /tmp/office.jpg
```
### Motion Detection β NEW
```bash
# Start motion detection (runs continuously)
./scripts/motion-detect.sh
# Captures saved to ~/.clawdbot/motion-captures/
# Automatically triggers when motion detected
# 5-second cooldown between captures
```
### π₯ OVERWATCH Mode (AI Monitoring) βββ
```bash
# Start AI-powered continuous monitoring
./scripts/overwatch start
# Check status
./scripts/overwatch status
# Stop monitoring
./scripts/overwatch stop
```
**What Overwatch does:**
- π Monitors webcam 24/7 in background
- π¨ Detects motion and saves alert
- π Can trigger notifications (integrate with OpenClaw)
- πΎ Saves motion captures to `~/.clawdbot/overwatch/`
**Or say:** *"Start overwatch"* or *"Keep overwatch"*
### π€ SMART OVERWATCH (AI-Escalated) βββββ
```bash
# Start smart monitoring (zero cost until trigger)
./scripts/smart-overwatch start
# I will check for triggers and analyze when found
```
**How it works:**
1. **π Local motion detection** (file size comparison, zero API cost, runs always)
2. **π¨ Motion detected** β creates trigger file in `~/.clawdbot/overwatch/triggers/`
3. **π€ I detect the trigger** β analyze image with vision model (only when motion happens)
4. **π€ Person found?** β Send alert & optionally continue watching
5. **π No person?** β Delete trigger, back to local monitoring
**What you can say:**
- *"Start smart overwatch"*
- *"Keep watch and tell me if you see anyone"*
- *"Monitor for people only"*
- *"Check overwatch triggers"* (to manually check for pending analysis)
**Cost:** Zero until motion detected, then only when I analyze the image
### πΈ Instant Telegram Photo βββββ
**Quick capture and send - the simplest way to check your camera**
**Just say:**
- *"Show me the office"*
- *"What's on camera?"*
- *"Send me a photo"*
**What happens:**
1. I instantly capture from your webcam
2. Analyze for clear faces/activity
3. Send best image directly to your Telegram
**No stream needed - just instant photos when you want them.**
### π₯ OVERWATCH PRO (Full Control System) ββββββ
**The complete solution - Telegram alerts, live stream, remote control**
```bash
# Start the full system
./scripts/overwatch-pro start
# Setup Telegram (one-time)
./scripts/overwatch-pro setup
# Get live stream URLs
./scripts/overwatch-pro stream
# Take manual photo
./scripts/overwatch-pro capture
# Check status
./scripts/overwatch-pro status
# View live log
./scripts/overwatch-pro log
# Stop
./scripts/overwatch-pro stop
```
**Features:**
- π¨ **Instant Telegram alerts** when motion detected
- π **Live MJPEG stream** at http://localhost:8080
- π± **Auto-refreshes** every 2 seconds
- πΈ **Saves all captures** to ~/.clawdbot/overwatch/
- π€ **Telegram bot replies** - respond to alerts with commands
- π
**Morning report** (8 AM daily via cron)
**Telegram Commands (reply to motion alert):**
- `analyze` - I'll check the image and tell you what I see
- `stream` - I'll send you the live stream link
- `capture` - I'll take a fresh photo right now
**Network Access:**
```bash
# Local
http://localhost:8080
# From another device on same network
http://$(hostname -I | awk '{print $1}'):8080
```
**Morning Report (with Photo):**
- Auto-generated at 8 AM (America/Denver timezone)
- **Sends a fresh morning photo of your office**
- Summarizes overnight motion events
- Offers to analyze captures
- Provides quick command reference
**Requirements for motion detection:**
```bash
brew install imagemagick # For image comparison
```
---
## πΉ Wyze Cameras
### One-Time Setup:
1. **Enable RTSP in Wyze App:**
- Open Wyze app β Camera Settings β Advanced Settings
- Enable RTSP, set password
- Copy the RTSP URL
2. **Add to system:**
```bash
~/clawd/skills/office-cam/scripts/wyze-dashboard add
# Enter camera name (e.g., "shed")
# Enter RTSP URL
```
3. **Capture:**
```bash
# Single camera
~/clawd/skills/office-cam/scripts/wyze-dashboard capture shed
# All cameras
~/clawd/skills/office-cam/scripts/wyze-dashboard capture-all
# Quick one-liner (after setup)
~/clawd/skills/office-cam/scripts/wyze-capture shed
```
---
## π‘ ESP32-CAM (ESP-NOW Wireless)
**No WiFi router needed!** Direct wireless between ESP32s.
### Architecture:
```
βββββββββββββββββββ ESP-NOW βββββββββββββββββββ
β ESP32-CAM β ββββββββββββββββΊ β ESP32 Base ββββ USB βββΊ Mac
β (Camera Node) β (100m range) β (Receiver) β
βββββββββββββββββββ βββββββββββββββββββ
Battery powered Plugged into computer
```
### Flashing:
**Base Station** (plain ESP32, plugged into Mac):
```bash
cd ~/clawd/skills/office-cam/firmware/espnow-base
pio run --target upload
```
**Camera Node** (ESP32-CAM with camera):
```bash
cd ~/clawd/skills/office-cam/firmware/espnow-cam-auto
pio run --target upload
```
### How it works:
1. Base station broadcasts "beacon" every 2 seconds
2. Camera auto-discovers base station
3. Camera captures and sends photo wirelessly
4. Base receives and saves to SD/outputs to serial
**Range:** 100+ meters (no WiFi needed!)
---
## Files
| Script | Purpose |
|--------|---------|
| `capture.sh` | USB webcam |
| `wyze-capture` | Quick Wyze capture |
| `wyze-dashboard` | Multi-cam management |
| `firmware/espnow-base/` | ESP32 receiver |
| `firmware/espnow-cam-auto/` | ESP32-CAM transmitter |
---
## Troubleshooting
**Wyze "Connection refused":**
- Verify RTSP enabled in Wyze app
- Check username/password
- Ensure same WiFi network
**ESP32-CAM not connecting:**
- Keep within 10 feet for testing
- Check LED: blinking = searching, solid = capturing
- Try resetting both boards
**USB webcam not working:**
- `brew install imagesnap`
- System Settings β Privacy β Camera
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Includes source scripts; review them before use. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.