Author: @skills-il
Guide developers in integrating Israeli agritech tools and precision agriculture platforms including CropX (soil monitoring), Netafim GrowSphere (IoT irrigation), Taranis (crop intelligence), and 750+ Israeli agritech companies. Use when user asks about agritech APIs, precision agriculture, smart irrigation, "hashkaya cham", crop monitoring, pest detection, Israeli agriculture tech, or needs to build farm management software. Covers irrigation optimization, pest detection, climate data integration, and Israeli agricultural context. Do NOT use for general gardening advice or non-agricultural IoT projects.
npx skills-il add skills-il/developer-tools --skill israeli-agritech-advisor| Use Case | Key Platforms | Data Types | Goal |
|---|---|---|---|
| Irrigation optimization | CropX, Netafim, Manna | Soil moisture, weather, ET0 | Reduce water use 20-40% |
| Pest/disease detection | Taranis, AgroScout | Aerial imagery, NDVI | Early detection, targeted treatment |
| Greenhouse monitoring | Prospera/Valmont | Climate, imagery | Optimal growing conditions |
| Pollination management | BeeHero | Hive sensors, GPS | Maximize pollination efficiency |
| Farm data platform | Multiple | All sensor data | Unified decision dashboard |
| Water compliance | Mekorot data, sensors | Water flow, quotas | Meet Water Authority regulations |
CropX -- Soil Monitoring Integration:
import requests
class CropXClient:
"""Client for CropX soil monitoring API."""
BASE_URL = "https://api.cropx.com/v2"
def __init__(self, client_id, client_secret):
self.token = self._authenticate(client_id, client_secret)
self.headers = {"Authorization": f"Bearer {self.token}"}
def _authenticate(self, client_id, client_secret):
response = requests.post(f"{self.BASE_URL}/auth/token", json={
"client_id": client_id,
"client_secret": client_secret,
"grant_type": "client_credentials"
})
return response.json()["access_token"]
def get_sites(self):
"""List all monitored field sites."""
return requests.get(f"{self.BASE_URL}/sites", headers=self.headers).json()
def get_soil_readings(self, device_id, start_date, end_date):
"""Get soil sensor readings for a device."""
return requests.get(
f"{self.BASE_URL}/devices/{device_id}/measurements",
headers=self.headers,
params={"from": start_date.isoformat(), "to": end_date.isoformat(),
"metrics": "moisture,temperature,ec"}
).json()
def get_irrigation_recommendation(self, site_id):
"""Get AI-driven irrigation recommendation for a site."""
return requests.get(
f"{self.BASE_URL}/sites/{site_id}/recommendations",
headers=self.headers
).json()Netafim GrowSphere -- Irrigation Control Integration:
class GrowSphereClient:
"""Client for Netafim GrowSphere irrigation platform."""
BASE_URL = "https://api.growsphere.netafim.com/v1"
def __init__(self, api_key):
self.headers = {"X-API-Key": api_key, "Content-Type": "application/json"}
def get_controllers(self):
"""List all irrigation controllers."""
return requests.get(f"{self.BASE_URL}/controllers", headers=self.headers).json()
def create_irrigation_schedule(self, controller_id, zone_id, schedule):
"""Set irrigation schedule for a zone."""
return requests.post(
f"{self.BASE_URL}/controllers/{controller_id}/zones/{zone_id}/schedules",
headers=self.headers, json=schedule
).json()
def get_flow_data(self, controller_id, start_date, end_date):
"""Get water flow data for compliance tracking."""
return requests.get(
f"{self.BASE_URL}/controllers/{controller_id}/flow",
headers=self.headers,
params={"from": start_date.isoformat(), "to": end_date.isoformat()}
).json()Taranis -- Crop Intelligence Integration:
class TaranisClient:
"""Client for Taranis crop intelligence platform."""
BASE_URL = "https://api.taranis.com/v1"
def __init__(self, api_key):
self.headers = {"Authorization": f"Bearer {api_key}"}
def get_fields(self):
"""List monitored fields."""
return requests.get(f"{self.BASE_URL}/fields", headers=self.headers).json()
def get_detections(self, field_id, scan_id=None):
"""Get pest/disease detections for a field."""
params = {}
if scan_id:
params["scan_id"] = scan_id
return requests.get(
f"{self.BASE_URL}/fields/{field_id}/detections",
headers=self.headers, params=params
).json()
def request_scan(self, field_id, scan_type="full"):
"""Request a new aerial scan of a field."""
return requests.post(
f"{self.BASE_URL}/fields/{field_id}/scans",
headers=self.headers, json={"type": scan_type}
).json()def calculate_irrigation_need(soil_data, crop_type, weather_data):
"""Calculate irrigation need based on soil, crop, and weather data.
Uses water balance approach common in Israeli precision agriculture.
"""
# Crop coefficients (Kc) -- Israeli Volcani Institute values
CROP_KC = {
"citrus": {"initial": 0.65, "mid": 0.70, "late": 0.65},
"avocado": {"initial": 0.60, "mid": 0.85, "late": 0.75},
"tomato": {"initial": 0.60, "mid": 1.15, "late": 0.80},
"pepper": {"initial": 0.60, "mid": 1.05, "late": 0.90},
"date_palm": {"initial": 0.90, "mid": 0.95, "late": 0.95},
"table_grape": {"initial": 0.30, "mid": 0.85, "late": 0.45},
}
kc = CROP_KC.get(crop_type, {"initial": 0.6, "mid": 1.0, "late": 0.8})
et_crop = weather_data["et0"] * kc["mid"]
effective_rain = max(0, weather_data.get("precipitation", 0) * 0.8)
net_need = max(0, et_crop - effective_rain)
current_moisture = soil_data["moisture_percent"]
field_capacity = soil_data.get("field_capacity", 35)
wilting_point = soil_data.get("wilting_point", 15)
mad = 0.50
threshold = field_capacity - (field_capacity - wilting_point) * mad
if current_moisture > threshold:
return {"irrigate": False, "reason": "Soil moisture adequate",
"current": current_moisture, "threshold": threshold}
efficiency = 0.92 # Drip irrigation: 90-95% in Israel
gross_need = net_need / efficiency
return {
"irrigate": True,
"net_need_mm": round(net_need, 1),
"gross_need_mm": round(gross_need, 1),
"current_moisture": current_moisture,
"threshold": threshold,
"et_crop": round(et_crop, 1)
}| Zone | Region | Avg Rainfall (mm/yr) | Key Crops | Irrigation Need |
|---|---|---|---|---|
| Mediterranean | Coastal plain, Galilee | 500-700 | Citrus, avocado, vegetables | Moderate (summer) |
| Semi-arid | Northern Negev, Shephelah | 250-400 | Wheat, olives, grapes | High |
| Arid | Central Negev | 50-200 | Limited rainfed | Very high (full irrigation) |
| Hyper-arid | Arava Valley | less than 50 | Dates, peppers, tomatoes | Full irrigation year-round |
| Subtropical | Jordan Valley, Beit Shean | 300-400 | Dates, bananas, fish ponds | High (extreme heat) |
Key companies beyond the main platforms:
Israel-specific agricultural context:
User says: "I need to set up smart irrigation for an avocado orchard in the Galilee" Result: Guide CropX sensor placement (2 per management zone), connect to Netafim controller, configure Kc values for avocado, set MAD at 50%, implement weather-adjusted scheduling.
User says: "How do I integrate Taranis for pest detection in our pepper fields?" Result: Set up Taranis field boundaries, configure scan schedule (weekly during growing season), implement detection webhook handler, create alert pipeline for high-severity threats.
User says: "Build a dashboard tracking water usage against our Water Authority quota" Result: Connect flow meters via GrowSphere API, aggregate daily/weekly/monthly usage, compare against quota allocation, generate compliance reports, alert at 80% and 95% thresholds.
references/agritech-ecosystem.md ā Directory of Israeli agritech platforms and APIs (CropX, Netafim GrowSphere, Taranis) with endpoint details, plus a company directory covering irrigation, crop monitoring, pollination, and biological sectors. Includes standard data formats (GeoJSON, GeoTIFF, CSV/JSON), agricultural zone rainfall and water source data, and Volcani Institute crop coefficients (Kc) for Israeli conditions. Consult when selecting platforms, configuring API integrations, or looking up crop-specific irrigation parameters.Cause: Soil sensor calibration issue or installation depth mismatch Solution: CropX sensors need soil-specific calibration. Verify installation depth matches crop root zone. Israeli soils vary dramatically -- coastal sand vs. Negev loess vs. basalt in Golan.
Cause: ET0 calculation using wrong climate zone or outdated Kc values Solution: Verify weather station is local (Israel's microclimates vary over short distances). Use Volcani Institute Kc values for Israeli conditions. Check soil type matches sensor calibration.
Supported Agents
Trust Score
This skill can execute scripts and commands on your system.
1 occurrences found in code
This skill can access environment variables which may contain secrets.
6 occurrences found in code
Validate and format Israeli identification numbers including Teudat Zehut (personal ID), company numbers, amuta (non-profit) numbers, and partnership numbers. Use when user asks to validate Israeli ID, "teudat zehut", "mispar zehut", company number validation, or needs to implement Israeli ID validation in code. Includes check digit algorithm and test ID generation. Do NOT use for non-Israeli identification systems.
Guide Israeli startup operations including company formation, Innovation Authority grants, investment agreements, R&D tax benefits, and employee stock options (Option 102). Use when user asks about starting a company in Israel, IIA grants, "Innovation Authority", SAFE agreements (Israeli), convertible notes, Option 102, employee stock options in Israel, R&D tax benefits, preferred enterprise, or Israeli startup legal/financial setup. Do NOT use for non-Israeli company formation or international tax advice. Always recommend consulting with Israeli lawyer and accountant for binding decisions.
Interactive workflow for creating new skills for the skills-il organization -- guides through category selection, use case definition, folder scaffolding, YAML frontmatter generation with bilingual metadata, instruction writing, Hebrew companion creation, and validation. Use when user asks to "create a new skill", "scaffold a skill for skills-il", "write a SKILL.md", "contribute a skill", "new skill template", or "liztor skill chadash". Do NOT use for editing existing skills or creating skills for non-skills-il platforms.
Want to build your own skill? Try the Skill Creator Ā· Submit a Skill