Track every critter that visits your yard. A lightweight species logging and field journal system for any OpenClaw agent on macOS.
Manual logging, camera-based auto-detection via VLM, species statistics, first sighting tracking, weekly trend reports, and searchable history β all stored locally as JSONL files.
- Log sightings manually or automatically via camera + VLM
- Track species with counts, behaviors, timestamps, and first-sighting flags
- Weekly reports with trends β "Hummingbird visits peaked at 47, up from 31 last week"
- Life list β every species you've ever recorded, with first sighting dates
- Search history β "Have we seen any hawks this month?"
- Field journal β generate narration-ready summaries for daily briefings
Everything is stored as local JSONL files. No cloud. No database. No dependencies beyond bash and basic Unix tools.
git clone https://github.com/MS-707/wildlife-census-skill.git
cd wildlife-census-skill
chmod +x census.shFor OpenClaw integration, copy or symlink to your skills directory:
cp -r . ~/.openclaw/skills/wildlife-census/./census.sh <command> [args]| Command | What It Does | Example |
|---|---|---|
log <species> [count] [notes] |
Record a sighting | ./census.sh log "Scrub Jay" 2 "at the feeder" |
snap |
Camera capture β VLM identify β auto-log | ./census.sh snap |
today |
Today's sightings summary | ./census.sh today |
week |
7-day summary with trends | ./census.sh week |
stats |
All-time species statistics | ./census.sh stats |
search <species> |
Search sighting history | ./census.sh search hawk |
firsts |
All first-time species sightings | ./census.sh firsts |
journal |
Generate field journal data | ./census.sh journal |
All data lives in ~/.openclaw/workspace/wildlife/:
wildlife/
βββ sightings.jsonl β Every sighting, one JSON object per line
βββ firsts.jsonl β First-time species records
βββ species.json β Species database with cumulative stats
Each sighting record:
{
"timestamp": "2026-03-22T15:24:01-07:00",
"species": "California Scrub-Jay",
"count": 1,
"behavior": "at the feeder",
"source": "manual",
"first_sighting": false
}The bird-watcher-skill automatically logs detections to the wildlife census when installed. Every YOLO + Moondream detection becomes a sighting record.
The snap command captures a photo and sends it to a local VLM (Moondream Station on localhost:2020) for species identification, then auto-logs the result. Requires a webcam and Moondream running.
Your OpenClaw agent can pull today or week summaries into daily briefings β "Three new species this week, hummingbird visits up 40%."
- It's not an automated monitoring system. For real-time detection, use the bird-watcher-skill. The census is a logging and reporting tool.
- The
snapcommand requires Moondream Station running locally. Without it, use manuallogcommands. - Species identification accuracy depends on the VLM. Common backyard wildlife at close range works well. Distant or unusual species may get generic labels.
- macOS (uses bash, date, jq-style JSON handling)
- Moondream Station (optional, for
snapauto-detection) - No Python dependencies β pure bash + standard Unix tools
- All data stored locally as flat files
- No cloud services, no accounts, no telemetry
- Camera access (for
snap) is gated by macOS permissions - Your wildlife data never leaves your machine
- Created by Mark Starr & Victor as an OpenClaw skill
- Designed for Sonoma County, CA but works anywhere
- Pairs with bird-watcher-skill for automated detection
MIT β see LICENSE for details.