Install
openclaw skills install @voronindenis5/lawn-calendar-chemistUse when planning lawn care timing and products: soil-temperature windows for pre-emergent crabgrass control, N-P-K fertilizer math from bag guarantees, seeding vs pre-emergent conflicts, and a region-adjusted annual calendar. Prevents the two classic mistakes — applying too late and over-fertilizing.
openclaw skills install @voronindenis5/lawn-calendar-chemistLawn care fails on timing and dose, not effort. Pre-emergent crabgrass control works only before germination — which is driven by soil temperature (4 consecutive days ≥55°F at 2" depth), not by calendar dates or forsythia bloom. And fertilizer burn/waste comes from ignoring what the bag guarantee actually contains per bag and per 1000 sq ft. This skill converts your location, grass type, and soil-temp observations (or seasonal estimates) into a dated application calendar, computes exact product dose from bag guarantees, and catches the fatal conflicts (pre-emergent kills new seed; urea + temperature >85°F burns cool-season grass).
Don't use for: irrigation design, soil-test interpretation beyond N-P-K basics (send to extension service — the skill tells you when), or pesticide selection beyond pre/post emergent herbicide classes.
N-P-K 20-0-8 means: 20% N, 0% P₂O₅, 8% K₂O by weight
A 50-lb bag of 20-0-8 = 10 lb N, 4 lb K₂O
1 lb N / 1000 ft² → 50-lb bag covers 10,000 ft² at that rate
cost per lb N = bag price / lb N in bag (the honest comparison between products)
Slow-release fraction matters: >30% coated/urea-form N allows higher single doses (1.25-1.5 lb N/1000) without burn; all-soluble stays ≤1 lb/1000 per application.
scripts/lawn_plan.py soil-temp --air-mean 52 --date 2026-04-10 → estimated soil
temp + pre-emergent window verdict (GO / WATCH / TOO LATE — with post-emergent route).scripts/lawn_plan.py calendar --grass cool --region transition → dated annual plan
(pre-emergent windows, N rounds in lb N/1000, seeding windows, aeration).scripts/lawn_plan.py fert --npk 20-0-8 --bag-lbs 50 --price 32 --area 6000 --n-rate 1.0
→ lb/bag needed, coverage, cost per lb N, burn-risk flag by date/temperature.$ python3 scripts/lawn_plan.py soil-temp --air-mean 54 --date 2026-04-10 --region transition
Estimated 2" soil temp: ~52°F (lag model; verify with $10 thermometer)
Crabgrass gate: germination starts at 55°F × 4 days
VERDICT: WATCH/APPLY — in the 50-55°F pre-window; apply NOW so the barrier activates first.
Too late already (soil 70°F)? → switch to post-emergent: quinclorac on 1-3-leaf crabgrass.
$ python3 scripts/lawn_plan.py fert --npk 20-0-8 --bag-lbs 50 --price 32 --area 6000 --n-rate 0.75
Bag: 10.0 lb N | need 4.5 lb N for 6000 ft² @ 0.75 → 22.5 lb product (0.45 bag)
Cost: $3.20 per lb N ($14.40 this application). Coverage check: bag covers 13,333 ft².
DATE FLAG: if applying after mid-May on cool-season grass, use ≤0.5 lb N/1000 + water in.
$ python3 scripts/lawn_plan.py calendar --grass cool --region transition
... Sep 01 fall N 1.0 lb/1000 (feed-height of fall)
... Sep 15 AERATE + overseed KBG/fescue @ soil 60-75°F falling (NO pre-emergent since spring)
... Oct 15 fall N 1.0 → root season; Nov 15 final N 0.75 ("winterizer" while still green)
... Feb 20* soil 50-55°F rising: pre-emergent #1 (prodiamine 0.37-0.65 lb ai/1000)
... Apr 25* pre-emergent #2 (8-10 wk after #1) *dates shift with soil temp — use the gate