ipm-advisor
Analyze pest pressure trends, identify fields needing intervention, evaluate spray effectiveness, and provide IPM recommendations. Use when asked which fields need spraying, whether a spray worked for a specific pest, how pressure has changed over time, which pest is worst this season, the cost-effectiveness of spray programs, or any analytical question about integrated pest management strategy. Triggers include "IPM summary", "spray effectiveness", "pressure trend", "which fields to spray", "worst pest", "season analysis", "spray program", "intervention needed", or any strategic pest management question.
Best use case
ipm-advisor is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Analyze pest pressure trends, identify fields needing intervention, evaluate spray effectiveness, and provide IPM recommendations. Use when asked which fields need spraying, whether a spray worked for a specific pest, how pressure has changed over time, which pest is worst this season, the cost-effectiveness of spray programs, or any analytical question about integrated pest management strategy. Triggers include "IPM summary", "spray effectiveness", "pressure trend", "which fields to spray", "worst pest", "season analysis", "spray program", "intervention needed", or any strategic pest management question.
Teams using ipm-advisor 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/ipm-advisor/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ipm-advisor Compares
| Feature / Agent | ipm-advisor | 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?
Analyze pest pressure trends, identify fields needing intervention, evaluate spray effectiveness, and provide IPM recommendations. Use when asked which fields need spraying, whether a spray worked for a specific pest, how pressure has changed over time, which pest is worst this season, the cost-effectiveness of spray programs, or any analytical question about integrated pest management strategy. Triggers include "IPM summary", "spray effectiveness", "pressure trend", "which fields to spray", "worst pest", "season analysis", "spray program", "intervention needed", or any strategic pest management question.
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
# ipm-advisor
Analyze pest pressure data from pest-disease-log to identify intervention needs, evaluate spray effectiveness, and guide IPM strategy decisions.
## When to Use
- Identifying which fields have pressure above action thresholds
- Comparing pressure before and after a spray application
- Ranking pests by frequency and severity across the season
- Estimating whether spray programs are cost-effective
- Finding fields where pressure is increasing (trend analysis)
## Action Threshold Logic
The pest_library table stores an `action_threshold` integer (0-10) per pest. When a field's current severity for a pest exceeds this threshold, intervention is recommended.
```bash
# Get pest library with action thresholds
curl http://localhost:3006/api/pest-library
# Example: Aphids action threshold = 6
# If current observation severity = 8, action is overdue
```
## Identifying Fields Needing Intervention
```bash
# Get field summary (latest severity per field)
curl http://localhost:3006/api/analytics/field-summary
# Response includes per-field max_severity and latest pest observations
# Filter for fields where max_severity >= action threshold for any active pest
```
Fields with `max_severity >= 7` (High or Critical) generally require immediate action.
## Evaluating Spray Effectiveness
To compare pressure before and after a spray:
```bash
# 1. Get the spray record date
curl "http://localhost:3006/api/sprays?field_id={id}"
# 2. Get observations before the spray (last 2 weeks prior)
curl "http://localhost:3006/api/observations?field_id={id}&to={spray_date}&pest_type=Aphids"
# 3. Get observations after the spray (next 2 weeks)
curl "http://localhost:3006/api/observations?field_id={id}&from={spray_date}&pest_type=Aphids"
# Compare average severity before vs. after
# Effective spray: post-spray avg severity < pre-spray avg severity by >= 2 points
```
## Pressure Trend Analysis
```bash
# Get severity trend over time for all pests in a field
curl "http://localhost:3006/api/analytics/pressure-trend?field_id={id}&from=2025-06-01"
# Response: [{ date, pest_type, avg_severity }]
# Increasing trend: last 3 observations each higher than previous
# Decreasing trend: last 3 observations each lower than previous
```
A pest is "trending up" if three consecutive observations show increasing severity. This is an early warning to act before reaching the action threshold.
## Season Ranking
```bash
# Most frequent pests this season
curl "http://localhost:3006/api/analytics/pest-frequency?from=2025-04-01"
# IPM summary: per-field obs count, avg severity, spray count, cost
curl http://localhost:3006/api/analytics/ipm-summary
```
From the IPM summary, calculate:
- **Spray efficiency**: `total_cost / observations_count` - lower is better
- **Pressure-to-spray ratio**: `avg_severity / spray_count` - high ratio means under-treated
- **Field priority**: sort fields by `max_severity DESC, last_scouted ASC`
## Spray Cost Analysis
```bash
# Spray cost by field and month
curl "http://localhost:3006/api/analytics/spray-cost?from=2025-04-01"
# Per-field cost breakdown
curl "http://localhost:3006/api/sprays?field_id={id}&from=2025-04-01"
```
## IPM Recommendations
| Situation | Recommendation |
|---|---|
| Severity >= action threshold | Apply targeted treatment |
| Severity trending up for 3+ observations | Scout more frequently, prepare treatment |
| High severity but spray applied recently | Wait for PHI to clear, re-scout |
| Low severity after spray | Treatment effective, continue monitoring |
| No spray applied but severity >= 7 | Immediate action needed |
| Severity 1-3, stable | Monitor weekly |
## Before/After Report Pattern
To generate a before/after report for an amendment:
1. Get all spray records for a field: `GET /api/sprays?field_id={id}`
2. For each spray, find observations in 14 days before: `GET /api/observations?field_id={id}&pest_type={pest}&to={spray_date}&limit=5`
3. Find observations in 14 days after: `GET /api/observations?field_id={id}&pest_type={pest}&from={spray_date}&limit=5`
4. Calculate: `before_avg = mean(pre_severities)`, `after_avg = mean(post_severities)`, `reduction = before_avg - after_avg`
5. If `reduction >= 2.0`: treatment was effective. If reduction < 1.0: treatment had minimal effect.
## Common IPM Questions
### Which field has the worst pressure right now?
```bash
curl http://localhost:3006/api/analytics/field-summary
# Sort by max_severity DESC, take the top result
```
### Which pest is hardest to control this season?
```bash
# Get observations where severity stayed >= 6 even after sprays
# Cross-reference pest_frequency with spray records per pest_type
```
### Is pressure increasing or decreasing on North Field?
```bash
curl "http://localhost:3006/api/analytics/pressure-trend?field_id={north_field_id}&from=2025-07-01"
# Look at the last 3 data points for each pest_type
# Compare first avg_severity to last avg_severity
```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