Identify cannabis cultivation batches at risk of aging out, losing potency, or missing sell-through windows — producing a prioritized aging risk memo with recommended actions for each at-risk batch. Use when a grower needs to know which inventory is approaching its value cliff and what to do before it's too late. Trigger phrases: "aging inventory", "which batches are at risk", "inventory expiring", "slow-moving stock", "sell-through risk", "flower sitting too long", "batch review".
Give a grower a clear view of which batches are approaching their value cliff — where potency loss, COA expiry, or buyer resistance will start costing real money — with enough lead time to act before the window closes.
daily-dispensary-ops-review; this skill is grower-sideorg_id — requiredbatch_inventory — list of batches with: strain, form (flower/concentrate/pre-roll), harvest date, test date, units on hand, units ordered (pending), storage locationcoa_expiry_dates — certificate of analysis expiry per batchpartner_orders — pending purchase orders that will absorb some of this inventoryreview_date — default: todayCannabis inventory ages along two independent clocks. Both must be tracked:
Clock 1: Quality / Potency Flower: peak quality window is 0–90 days post-harvest. After 90 days, terpene degradation becomes buyer-detectable. After 180 days, significant potency loss likely. Concentrates and edibles have longer windows but are not immune.
Clock 2: Regulatory / COA A Certificate of Analysis has a validity window (typically 12 months in NY). Once expired, the product cannot legally be sold until retested. Retesting costs time and money. Getting ahead of COA expiry is mandatory, not optional.
Risk tiers — apply to each batch:
| Tier | Condition | Action |
|---|---|---|
| 🟢 Fresh | < 30 days post-harvest, COA valid 6+ months | Monitor only |
| 🟡 Watch | 31–60 days, or COA valid 3–6 months | Flag; track weekly; prepare partner outreach |
| 🟠 At Risk | 61–90 days, or COA valid 1–3 months | Priority outreach to partners; consider pricing flexibility |
| 🔴 Urgent | 90+ days flower / 180+ days concentrate, or COA < 30 days to expiry | Immediate action: discount, donation, disposal planning, or retest |
Batch scoring:
Units at risk calculation:
(units_on_hand − units_on_pending_PO) × estimated_wholesale_price = revenue at risk
## Inventory Aging Risk Review — [Grower/Org] — [Date]
BATCHES REVIEWED: N | TOTAL UNITS AT RISK: N | REVENUE AT RISK: $X,XXX
### Risk Summary
| Tier | Batches | Units | Revenue at Risk |
|------|---------|-------|----------------|
| 🔴 Urgent | N | N | $X,XXX |
| 🟠 At Risk | N | N | $X,XXX |
| 🟡 Watch | N | N | $X,XXX |
| 🟢 Fresh | N | — | — |
### Urgent Batches (Act This Week)
| Batch | Strain | Form | Harvest Age | COA Expires | Units Uncommitted | Action |
|-------|--------|------|-------------|-------------|------------------|--------|
| B-042 | Blue Dream | Flower | 94 days | 45 days | 12 lbs | Partner outreach + price flex |
### At-Risk Batches (Act This Month)
[Same table format — 2–4 week window to act]
### Watch Batches
[List — no immediate action, track weekly]
### Recommended Actions
| # | Batch | Action | Owner | Deadline |
|---|-------|--------|-------|----------|
| 1 | B-042 | Contact top 3 velocity partners with preferential pricing | Sales | 3 days |
| 2 | B-039 | Schedule COA retest — expires in 28 days | Compliance | This week |
### Revenue Protection Summary
[Total uncommitted revenue at risk + estimated recoverable % if actions taken]