nutrient-analysis
Interpret soil test nutrient data, identify deficiencies, query trends, and generate comparison reports. Use when asked to identify which fields need lime, find all phosphorus-deficient fields, compare nutrient values between tests, generate a before/after amendment report, or explain what a nutrient status means for crop production. Triggers include "which fields are deficient", "nutrient trend", "before after comparison", "lime recommendation", "N P K status", "improvement report", or any analytical question about soil chemistry data.
Best use case
nutrient-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Interpret soil test nutrient data, identify deficiencies, query trends, and generate comparison reports. Use when asked to identify which fields need lime, find all phosphorus-deficient fields, compare nutrient values between tests, generate a before/after amendment report, or explain what a nutrient status means for crop production. Triggers include "which fields are deficient", "nutrient trend", "before after comparison", "lime recommendation", "N P K status", "improvement report", or any analytical question about soil chemistry data.
Teams using nutrient-analysis 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/nutrient-analysis/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How nutrient-analysis Compares
| Feature / Agent | nutrient-analysis | 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?
Interpret soil test nutrient data, identify deficiencies, query trends, and generate comparison reports. Use when asked to identify which fields need lime, find all phosphorus-deficient fields, compare nutrient values between tests, generate a before/after amendment report, or explain what a nutrient status means for crop production. Triggers include "which fields are deficient", "nutrient trend", "before after comparison", "lime recommendation", "N P K status", "improvement report", or any analytical question about soil chemistry data.
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
# nutrient-analysis
Query and interpret soil nutrient data from soil-test-tracker to identify deficiencies, track improvement, and guide amendment decisions.
## When to Use
- Finding all fields with a specific nutrient below optimal
- Comparing nutrient values between two different test dates
- Identifying which amendment corrected a deficiency
- Explaining what a status badge (low, deficient, high) means
- Querying trend data for a specific nutrient over time
## Nutrient Status Interpretation
### Deficient
Value is below 50% of the optimal low threshold. Immediate action is needed before planting. Crop yields will be significantly affected.
Examples: pH below 3.0, OM below 1.5%, P below 10 ppm
### Low
Value is between the deficient threshold and the optimal low. Action recommended before next growing season. Minor yield reduction likely.
### Optimal
Value falls within the low-high range. No amendment needed.
### High
Value exceeds the optimal high threshold. Excess may lock out other nutrients. Avoid applying more of this nutrient.
## Analytical Queries
### Find all deficient fields
```bash
curl http://localhost:3004/api/analytics/field-summary
```
Filter in the response where any nutrient has `status: "deficient"`.
### Get nutrient trend for a specific field
```bash
# All nutrients over time
curl "http://localhost:3004/api/analytics/trends?field_id=..."
# Response includes per-nutrient arrays:
# { ph: [{date, value}], nitrogen: [{date, value}], ... }
```
### Compare two specific tests
```bash
# Get both tests
curl http://localhost:3004/api/tests/{test_id_1}
curl http://localhost:3004/api/tests/{test_id_2}
# Calculate delta per nutrient
# delta_ph = test2.ph - test1.ph
```
### Before/after amendment report
```bash
curl "http://localhost:3004/api/analytics/improvement?field_id=..."
```
Returns per-nutrient comparison between the test that prompted the amendment and the most recent test after it.
## Nutrient Relationships
Understanding how nutrients interact helps interpret test results:
| Situation | Cause / Solution |
|---|---|
| Low pH locks out Phosphorus | Raise pH with lime before adding P |
| High K competes with Mg | Balance K and Mg applications |
| Low OM reduces N availability | Compost and cover crops build OM |
| High pH (alkaline) causes Fe, Mn deficiency | Lower pH with sulfur |
| Very low CEC means nutrients leach quickly | Build OM to increase CEC |
## Amendment Matching
To find what amendment was applied for a specific deficiency:
```bash
# List amendments for a field
curl "http://localhost:3004/api/amendments?field_id=..."
# Filter by date range (after the deficient test)
curl "http://localhost:3004/api/amendments?field_id=...&from=2024-04-01"
```
## Radar Chart Interpretation
The Analytics radar chart shows each nutrient as a percentage of the optimal midpoint:
- 100% = exactly at the optimal midpoint
- Below 100% = below midpoint (may be low or deficient depending on distance)
- Above 100% = above midpoint (may be high depending on distance)
A "balanced" radar shows all axes close to 100% with roughly equal extension.
## Troubleshooting
### Improvement report shows no change
The improvement report compares the test linked to an amendment (via `test_id`) against the most recent test after the amendment application date. If the most recent test predates the amendment, no comparison is possible. Add a new test after the amendment was applied.
### Field shows different status than expected
The status is calculated server-side against the current optimal ranges at query time. If you change optimal ranges, previous test statuses are re-evaluated on the next query.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