harvest-logger

Log crop harvests with yield quantity, quality grade, field, and storage destination. Use when asked to record a harvest, check total yield for a crop or field, filter harvest history by date or grade, view analytics charts, or export harvest data. Triggers include "log harvest", "record yield", "harvest entry", "crop yield", "grade breakdown", "field yield", "harvest history", or any task involving tracking what was picked and where it went.

7 stars

Best use case

harvest-logger is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Log crop harvests with yield quantity, quality grade, field, and storage destination. Use when asked to record a harvest, check total yield for a crop or field, filter harvest history by date or grade, view analytics charts, or export harvest data. Triggers include "log harvest", "record yield", "harvest entry", "crop yield", "grade breakdown", "field yield", "harvest history", or any task involving tracking what was picked and where it went.

Teams using harvest-logger 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

$curl -o ~/.claude/skills/harvest-logger/SKILL.md --create-dirs "https://raw.githubusercontent.com/heldernoid/agentic-build-templates/main/projects/agriculture-farming/harvest-logger/skills/harvest-logger/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/harvest-logger/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How harvest-logger Compares

Feature / Agentharvest-loggerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Log crop harvests with yield quantity, quality grade, field, and storage destination. Use when asked to record a harvest, check total yield for a crop or field, filter harvest history by date or grade, view analytics charts, or export harvest data. Triggers include "log harvest", "record yield", "harvest entry", "crop yield", "grade breakdown", "field yield", "harvest history", or any task involving tracking what was picked and where it went.

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

# harvest-logger

Record and analyze crop harvest yields with quality grading, field tracking, and storage destination logging.

## When to Use

- Recording a new harvest entry (crop, field, date, quantity, grade, storage)
- Checking total yield for a specific crop over a date range
- Filtering harvest history by grade (Grade A only, reject entries)
- Viewing yield trend charts in the Analytics page
- Comparing season-over-season performance
- Exporting harvest data to CSV

## Key Concepts

### Harvest Entry

Each entry records:
- **Crop**: what was picked (Tomatoes, Beans, Lettuce, etc.)
- **Field**: where it came from (North Field, Greenhouse 1, etc.)
- **Date**: harvest date
- **Quantity + Unit**: amount in kg, lb, bushel, lug, or count
- **Grade**: A (premium), B (standard), C (substandard), Reject, Ungraded
- **Storage**: where it was taken (Cooler 1, Barn Storage, Farmers Market, etc.)
- **Labor hours**: optional time tracking
- **Notes**: optional observations

### Grade Scale

| Grade | Meaning |
|---|---|
| A | Premium - meets full market standards |
| B | Standard - minor defects, still marketable |
| C | Substandard - significant defects, reduced price |
| Reject | Not marketable, discarded or composted |
| Ungraded | No quality assessment performed |

### Analytics

The Analytics page uses Chart.js to show:
- Yield trend (daily or weekly totals per crop)
- Grade breakdown per crop (stacked bar chart)
- Field performance comparison (horizontal bar chart)
- Top crops by total volume

All analytics support date range filtering.

## API Quick Reference

```bash
# Log a harvest
curl -X POST http://localhost:3003/api/harvests \
  -H "Content-Type: application/json" \
  -d '{
    "crop_id": "...",
    "field_id": "...",
    "harvest_date": "2025-04-18",
    "quantity": 142,
    "unit": "kg",
    "grade": "A",
    "storage_id": "...",
    "labor_hours": 2.5,
    "notes": "Good color, early morning harvest"
  }'

# List harvests (filtered)
curl "http://localhost:3003/api/harvests?crop_id=...&from=2025-04-01&to=2025-04-30"

# Filter by grade
curl "http://localhost:3003/api/harvests?grade=reject"

# Get yield by crop (analytics)
curl "http://localhost:3003/api/analytics/yield-by-crop?from=2025-04-01&to=2025-04-30"

# Get yield trend for a crop
curl "http://localhost:3003/api/analytics/yield-trend?crop_id=...&granularity=week"

# Get grade breakdown
curl "http://localhost:3003/api/analytics/grade-breakdown?from=2025-04-01"

# List crops
curl http://localhost:3003/api/crops

# List fields
curl http://localhost:3003/api/fields

# List storage locations
curl http://localhost:3003/api/storage
```

## Environment Variables

| Variable | Description | Default |
|---|---|---|
| PORT | HTTP port | 3003 |
| DATA_DIR | SQLite directory | ./data |
| AUTH_PASSWORD | Optional login password | (empty) |
| NODE_ENV | development or production | development |
| SESSION_SECRET | Required in production | (required) |
| DEFAULT_TIMEZONE | Initial timezone for settings | America/Chicago |

## Troubleshooting

### Analytics shows 0 for a crop

Verify harvests exist for the date range and crop: `GET /api/harvests?crop_id=...`. Analytics endpoints require at least one harvest record within the requested date range.

### Grade breakdown percentages do not add up

Ungraded entries are included in the total but shown separately. If you want 100% from A/B/C/Reject only, filter out ungraded entries in the frontend or exclude `grade=ungraded` from your query.

### Export CSV returns wrong date range

The CSV export on the Harvests page respects the active filters. Set the date range filter before clicking Export CSV.

Related Skills

Skill: Uptime Monitoring

7
from heldernoid/agentic-build-templates

## Overview

Skill: Status Page

7
from heldernoid/agentic-build-templates

## Overview

Skill: unit-conversion

7
from heldernoid/agentic-build-templates

## Overview

Skill: recipe-scaler

7
from heldernoid/agentic-build-templates

## Overview

reading-list

7
from heldernoid/agentic-build-templates

Operate the reading-list API to save, manage, tag, search, and export articles.

email-digest

7
from heldernoid/agentic-build-templates

Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.

websocket-realtime

7
from heldernoid/agentic-build-templates

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

7
from heldernoid/agentic-build-templates

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

7
from heldernoid/agentic-build-templates

## Overview

Skill: csv-import

7
from heldernoid/agentic-build-templates

## Overview

Skill: Syntax Highlighting

7
from heldernoid/agentic-build-templates

## Purpose

Skill: Pastebin Core

7
from heldernoid/agentic-build-templates

## Purpose