pest-disease-log
Record field scouting observations, track pest and disease pressure, and manage spray application records. Use when asked to log a new pest sighting, check which fields have high pressure, find all codling moth observations, view spray history for a field, or check if a pre-harvest interval has cleared. Triggers include "log observation", "scouting report", "pest pressure", "disease found", "field scouting", "spray record", "PHI", "pre-harvest interval", "observation history", "high pressure fields", or any task involving pest or disease tracking.
Best use case
pest-disease-log is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Record field scouting observations, track pest and disease pressure, and manage spray application records. Use when asked to log a new pest sighting, check which fields have high pressure, find all codling moth observations, view spray history for a field, or check if a pre-harvest interval has cleared. Triggers include "log observation", "scouting report", "pest pressure", "disease found", "field scouting", "spray record", "PHI", "pre-harvest interval", "observation history", "high pressure fields", or any task involving pest or disease tracking.
Teams using pest-disease-log should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/pest-disease-log/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How pest-disease-log Compares
| Feature / Agent | pest-disease-log | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Record field scouting observations, track pest and disease pressure, and manage spray application records. Use when asked to log a new pest sighting, check which fields have high pressure, find all codling moth observations, view spray history for a field, or check if a pre-harvest interval has cleared. Triggers include "log observation", "scouting report", "pest pressure", "disease found", "field scouting", "spray record", "PHI", "pre-harvest interval", "observation history", "high pressure fields", or any task involving pest or disease tracking.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# pest-disease-log
Record and query field scouting observations for pests, diseases, and weeds. Track spray application records with pre-harvest interval (PHI) awareness.
## When to Use
- Logging a new scouting observation (pest type, severity 0-10, affected area)
- Checking which fields currently have high or critical pressure
- Finding all observations of a specific pest across fields
- Viewing spray records for a field and checking PHI status
- Querying pressure trends over time for a specific pest and field
## Pressure Severity Scale
| Level | Severity | Meaning | Action |
|---|---|---|---|
| None | 0 | Clean - no pest present | No action |
| Low | 1-3 | Minor presence | Monitor only |
| Moderate | 4-6 | Notable presence | Consider action |
| High | 7-8 | Significant pressure | Action recommended |
| Critical | 9-10 | Severe infestation | Immediate action required |
## Observation Categories
- `pest` - insects, mites, worms, etc.
- `disease` - fungal, bacterial, viral diseases
- `weed` - weed pressure
- `other` - other observations
## API Quick Reference
```bash
# Log a new observation
curl -X POST http://localhost:3006/api/observations \
-H "Content-Type: application/json" \
-d '{
"field_id": "your-field-id",
"crop_id": "your-crop-id",
"observed_at": "2025-07-20T10:30:00Z",
"pest_type": "Aphids",
"category": "pest",
"severity": 8,
"affected_area_pct": 60,
"growth_stage": "Flowering",
"notes": "Heavy colonies on new growth",
"scouted_by": "J. Martinez"
}'
# List observations with filters
curl "http://localhost:3006/api/observations?field_id={id}&min_severity=7&from=2025-07-01"
# Get field pressure summary (all fields)
curl http://localhost:3006/api/analytics/field-summary
# Pressure trend for a field (by pest type over time)
curl "http://localhost:3006/api/analytics/pressure-trend?field_id={id}&from=2025-06-01"
# Pest frequency report
curl "http://localhost:3006/api/analytics/pest-frequency?from=2025-07-01"
# IPM summary per field
curl http://localhost:3006/api/analytics/ipm-summary
# List fields
curl http://localhost:3006/api/fields
# List crops
curl http://localhost:3006/api/crops
```
## Spray Records
```bash
# Log a spray application
curl -X POST http://localhost:3006/api/sprays \
-H "Content-Type: application/json" \
-d '{
"field_id": "your-field-id",
"observation_id": "obs-id-that-prompted-this",
"applied_at": "2025-07-20",
"product_name": "Spinosad SC",
"active_ingredient": "Spinosad",
"rate_per_acre": 0.75,
"unit": "L",
"area_acres": 8.1,
"total_cost": 148,
"re_entry_hours": 4,
"phi_days": 7,
"notes": "Applied morning, good coverage"
}'
# List spray records for a field
curl "http://localhost:3006/api/sprays?field_id={id}"
# Check spray cost by field
curl "http://localhost:3006/api/analytics/spray-cost?from=2025-07-01"
```
## PHI Calculation
A PHI (Pre-Harvest Interval) restriction is active when:
`applied_at + phi_days > today`
If a spray was applied on Jul 20 with phi_days=7, the PHI clears on Jul 27.
## Environment Variables
| Variable | Description | Default |
|---|---|---|
| PORT | HTTP port | 3006 |
| DATA_DIR | SQLite + uploads directory | ./data |
| AUTH_PASSWORD | Optional login password | (empty) |
| NODE_ENV | development or production | development |
| SESSION_SECRET | Required in production | (required) |
## Troubleshooting
### Observation not appearing in field summary
The field summary shows the latest observation per field. If you just created the observation, refresh with `GET /api/analytics/field-summary`.
### PHI indicator not showing
The PHI is calculated at query time from `applied_at + phi_days`. Ensure `phi_days` was set when logging the spray. A value of 0 means no PHI restriction.
### Photo upload failing
Photos must be JPEG, PNG, or WebP format, max 5MB. Upload via `POST /api/observations/{id}/photo` as multipart/form-data with field name `photo`.Related Skills
Skill: Uptime Monitoring
## Overview
Skill: Status Page
## Overview
Skill: unit-conversion
## Overview
Skill: recipe-scaler
## Overview
reading-list
Operate the reading-list API to save, manage, tag, search, and export articles.
email-digest
Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.
websocket-realtime
Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".
poll-builder
Self-hosted poll creation tool with real-time results. Use when you need to create a poll, check vote counts, close a poll, export results, or get the shareable link for a poll. Triggers include "create poll", "vote", "poll results", "survey", "collect votes", "share poll", or any task involving polling or voting.
Skill: personal-finance
## Overview
Skill: csv-import
## Overview
Skill: Syntax Highlighting
## Purpose
Skill: Pastebin Core
## Purpose