Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计提醒

farmos-observations法莫斯观察

Agent Skill

farmos-observations 用于处理图像、截图、视觉识别或图片素材相关工作,适合在 OpenClaw 中需要让 Agent 分析图片、整理视觉素材或辅助图像流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

18,181

周安装

773

GitHub Stars

公开资料未说明

下载量

6,370
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:farmos-observations(法莫斯观察)
来源仓库:https://github.com/brianppetty/farmos-observations
安装命令:
openclaw skills install farmos-observations
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install farmos-observations

简介

查询并创建现场观察结果和人工智能处理的捕获结果。现场的照片、语音注释和文本注释。

SKILL.md

name
farmos-observations
description
Query and create field observations and AI-processed captures. Photos, voice notes, and text notes from the field.
tags
[farming, observations, field-reports]

FarmOS Observations

AI-powered quick capture system — field observations, photos, voice notes, and issue reports.

When to Use This

What this skill handles: Field observations -- pest/disease/weed reports, crop condition notes, weather damage, soil issues, equipment problems spotted in the field, and photo-based scouting captures.

Trigger phrases: "found [pest/weed/disease] in field X", "beans look rough", "something is wrong with field 12", "create an observation", "log this problem", "any observations today?", "what has been reported in field X?"

What this does NOT handle: Equipment maintenance scheduling or fleet status (use farmos-equipment), task/work order creation (use farmos-tasks -- but the bot will offer to create a work order after logging an observation), weather forecasts or spray conditions (use farmos-weather).

Minimum viable input: Any mention of something observed in the field. "Beans look bad" is enough -- the bot will ask smart follow-ups.

Data Completeness

  1. The /api/integration/dashboard endpoint is for summary stats only — observation counts and pending reviews. Do NOT use it to list individual observations.
  2. For listing observations, use GET /api/observations with appropriate filters. This endpoint is paginated — use limit parameter and note the total.
  3. Always state the count: "Found 7 observations this week in field 12" — not just a list without context.
  4. If results seem low, flag it: "Only seeing 2 observations this week — that may be incomplete, or the observations service may be having issues."
  5. If the service is down, say so plainly. Don't present empty results as "no observations."

API Base

http://100.102.77.110:8008

Note: The observations backend may have stability issues (restart loops reported). If endpoints don't respond, report that the observations service appears to be down.

Integration Endpoints (No Auth)

Dashboard

GET /api/integration/dashboard

Returns: Observation counts, recent activity, pending reviews.

Authenticated Endpoints (JWT Required)

Authentication

This skill accesses protected FarmOS endpoints that require a JWT token.

To get a token:

TOKEN=$(~/clawd/scripts/farmos-auth.sh manager)

To use the token:

curl -H "Authorization: Bearer $TOKEN" http://100.102.77.110:8008/api/endpoint

Token expiry: Tokens last 15 minutes. If you get a 401 response, request a new token.

List Observations

GET /api/observations?limit=10&field_id=12 Authorization: Bearer {token}

Observation Detail

GET /api/observations/{id} Authorization: Bearer {token}

Returns: Full observation with AI analysis results, extracted entities, urgency score, and any created actions (tasks, maintenance records).

Create Observation

POST /api/observations Authorization: Bearer {token} Content-Type: multipart/form-data

Form fields:

  • observation_type (required) — pest, disease, weed, weather_damage, equipment_issue, soil, crop_condition, other
  • description (required) — Text description of what was observed
  • severity (optional) — low, medium, high (default: medium)
  • field_id (optional) — Numeric field ID
  • equipment_id (optional) — Numeric equipment ID
  • photo (optional) — Image file attachment

Example using curl:

curl -X POST http://100.102.77.110:8008/api/observations \
  -H "Authorization: Bearer $TOKEN" \
  -F "observation_type=weed" \
  -F "description=Found waterhemp in northeast corner near waterway" \
  -F "severity=high" \
  -F "field_id=22" \
  -F "photo=@/path/to/photo.jpg"

When crew reports a problem in #field-support or #field-ops, offer to create an observation. Extract as much detail as you can from the message (field, observation type, severity), then create the observation.

Usage Notes

  • Observations include urgency scores (1-10). Flag anything 7+ immediately.
  • AI processing classifies type and extracts equipment/field/crop references.
  • Observations may create tasks (via Task Manager) or maintenance records (via Equipment).
  • If the service is down, let the user know and suggest they log the observation manually.
  • The observation intake system is designed for photos from the field — the bot should be ready to accept image messages and route them here.
  • Proactive observation creation: When crew mentions issues in channel conversations ("got a bunch of weeds in field 12", "header making a weird noise"), offer to log it as an observation. Don't create silently — ask first.
  • Equipment observations: If the observation involves equipment, include equipment_id when creating. This helps track equipment-specific recurring issues.

Smart Observation Detection

When a user reports something that sounds like a field observation, auto-detect as much as you can from the message before asking questions.

What to Detect

Field identification:

  • Explicit: "field 12", "F12", "the 12"
  • By name: "the Byrd farm", "Kruckeberg", "home place" -- match to known field names
  • From channel context: if the conversation was already about a specific field, carry that forward
  • From user location: if they mention "the field I am in" or "out here", check recent context

Observation type -- see the Observation Type Detection table below.

Severity -- see the Severity Detection table below.

Specific pest/disease/weed identification:

  • Common Indiana pests: western corn rootworm, Japanese beetle, corn earworm, soybean aphid, bean leaf beetle, armyworm, black cutworm, stink bug
  • Common diseases: tar spot, gray leaf spot, northern leaf blight, sudden death syndrome, white mold, frogeye leaf spot, Goss wilt, anthracnose
  • Common weeds: waterhemp, marestail (horseweed), giant ragweed, common ragweed, Palmer amaranth, lambsquarters, foxtail, velvetleaf, morningglory
  • If the reporter uses a colloquial name, map it: "buttonweed" -> common buttonweed, "volunteer corn" -> note as weed/volunteer

Equipment reference:

  • By name/number: "the 8250", "the Kinze", "the planter", "sprayer"
  • By implication: "header won't raise" implies the combine (likely 8250)

Location within field:

  • Cardinal directions: "northeast corner", "south end"
  • Landmarks: "near the waterway", "along the tree line", "by the road", "headlands", "terrace"
  • Coverage: "whole field", "scattered", "in patches", "one spot"

Observation Type Detection

Keywords / SignalsObservation Type
bug, insect, aphid, rootworm, armyworm, beetle, cutworm, earworm, stink bug, larva, grubpest
tar spot, gray leaf spot, northern leaf blight, rust, rot, blight, lesion, spots on leaves, mold, wilt, SDS, anthracnose, frogeyedisease
waterhemp, marestail, ragweed, foxtail, lambsquarters, Palmer, volunteer corn, weeds, escapes, resistanceweed
hail, wind damage, flood, frost, drought stress, storm, ice, lightning, washout, pondingweather_damage
broken, leaking, stuck, noise, won't start, overheating, vibration, warning light, hydraulic, flat tireequipment_issue
compaction, erosion, drainage, wet spots, tile, washout, ruts, soil test, pHsoil
stand count, emergence, color, lodging, population, uneven, stunted, yellowing, purpling, canopycrop_condition

If multiple types match (e.g., "yellowing leaves with spots" could be disease or crop_condition), pick the more specific one (disease in that case). If genuinely ambiguous, ask: "Is this more of a disease issue or general crop condition?"


Severity Detection

Language SignalsSeverity
"bad", "terrible", "everywhere", "whole field", "never seen this before", "worst I have seen", "out of control", "lost cause"high
"some", "moderate", "spreading", "getting worse", "more than last week", "quite a bit", "a lot of"medium
"a few", "small patch", "just noticed", "isolated", "one spot", "not too bad", "just starting"low

Default to medium if the language is neutral or you cannot determine severity. Never guess high -- ask.


Follow-Up Questions (Smart)

When the report is sparse, ask targeted follow-up questions. Maximum 2-3 questions per interaction -- do not interrogate.

Question Bank (pick the most useful ones)

  • Scope: "How widespread is it? Just that spot or across the field?"
  • Adjacent fields: "Have you seen this in adjacent fields?"
  • Percentage: "Roughly what percentage of the field is affected?"
  • Photos: "Any photos? A picture would help me nail down exactly what this is."
  • Treatment history: "Was this field treated with anything recently?"
  • Recurrence: "Is this the same issue you reported on [date]?" (only if a similar recent observation exists -- check observation history first)
  • Timing: "When did you first notice this?"
  • Trend: "Is it getting worse or holding steady?"

Which Questions to Ask

Missing InfoAsk
No field identified"Which field are you in?" (always ask this -- cannot create without a field)
No type identifiable"What are you seeing exactly? Weeds? Bugs? Crop damage? Equipment problem?"
Has type but no scope"How widespread is it?"
Weed/pest report"Any photos?" (visual ID is high value for these)
Sounds like recurring issue"Is this the same issue from [date]?"

Reporter-Adaptive Behavior

Detailed Reporters (agronomists, Brian, experienced crew)

  • They will say things like "Found western corn rootworm beetle damage in field 22, northeast corner, about 15% of the rows affected, adult count was 8 per plant"
  • Auto-detect everything. Confirm the details. Create the observation.
  • Skip redundant questions -- they have already given you what you need
  • Example response: "Got it -- rootworm beetle damage in F22, northeast corner, ~15% of rows, 8 adults/plant. Severity: high. Creating the observation now."

Sparse Reporters (field crew, seasonal workers)

  • They will say things like "something's wrong with field 12" or "beans look bad"
  • Ask 2-3 targeted follow-up questions. Do NOT interrogate.
  • Pick the highest-value questions for the situation
  • After 2-3 questions, create the observation with whatever you have
  • Example exchange:

- Crew: "Beans look rough in 12" - Bot: "What are you seeing -- weeds, bugs, disease, or just the crop looking off? And is it the whole field or just a section?" - Crew: "Weeds. Northeast side mostly." - Bot: "Got it. Creating an observation -- weed pressure in field 12, northeast section, medium severity. Want me to create a scouting work order for it too?"

Key Rules

  • Always offer before creating: "Want me to create an observation for this?" Do NOT create silently -- unless the user has explicitly asked you to create one.
  • Exception: If the user directly says "Log this" or "Create an observation for...", that IS explicit permission -- go ahead and create.
  • Never ask more than 3 follow-up questions. After 3, create with what you have and note what was unknown.

Post-Creation Actions

After successfully creating an observation, offer related actions:

  • Work order: "Want me to create a work order for this?" (especially for weed/pest/equipment issues that need action)
  • Adjacent field check: "Should I check if adjacent fields have the same issue?" (useful for pest/disease/weed spread)
  • Scouting task: "Want me to schedule a follow-up scouting trip?" (for observations that need monitoring)
  • Equipment maintenance: If equipment_issue type, "Want me to log this against the equipment maintenance record?"

Only offer 1-2 of the most relevant follow-up actions. Do not overwhelm the reporter with options.


Urgency Escalation

Flag the operator immediately (in addition to creating the observation) for:

  • Crop damage at high severity -- potential yield loss, Brian needs to know
  • Equipment safety -- hydraulic leak, structural failure, anything that could injure someone
  • Chemical exposure -- drift, spill, re-entry violation, any chemical safety concern
  • Pest/disease outbreak -- high severity pest or disease that could spread rapidly (tar spot, sudden death syndrome, heavy rootworm pressure)
  • Weather damage at high severity -- hail, flood, significant storm damage

When escalating, send a concise alert: "URGENT: [type] reported in field [X] -- [one-line summary]. Severity: high. Observation #[id] created."

Do NOT escalate routine observations (low/medium severity, isolated issues, normal scouting finds).


Cross-Module Context

After creating or reviewing observations, connect to other modules:

Observations → Pattern Detection:

  • When a new observation is created, check for similar recent observations (same type, nearby fields, same week): "This is the third waterhemp observation this week across three different fields. Might be time for a blanket spray program rather than spot treatments."
  • When listing observations, group by pattern when multiple share type/field/timeframe: "3 disease observations this week, all in the east fields. Could be spreading."
  • Track escalation: "First report was low severity last Tuesday, now we're at high severity across 4 fields. This is moving fast."

Observations → Tasks:

  • After creating an observation, check farmos-tasks for existing work orders related to this field or issue: "There's already a scouting task open for field 22 from yesterday — want me to add this observation to it?"
  • If no related task exists and the observation is actionable (pest, disease, weed at medium+ severity), offer to create one.
  • Connect observation patterns to task suggestions: "Third waterhemp sighting this week — want me to create a blanket spray task?"

Observations → Weather:

  • Connect recent weather to observation context: "3 disease observations after last week's rain — moisture likely drove this."
  • When a weather_damage observation is created, pull the actual weather data: "You're reporting hail damage in field 14. Records show we got 1.2 inches with possible hail Tuesday evening."
  • Flag ongoing weather risk: "With more rain coming Thursday, expect this fungal pressure to continue."

Observations → Equipment:

  • If an observation leads to a task that requires specific equipment, check equipment availability: "If you're going to spray for this waterhemp, the sprayer is available — 153 hours, no maintenance due."
  • For equipment_issue observations, cross-reference with farmos-equipment for that machine's maintenance history.

Cross-reference when it adds context. A simple "log this observation" doesn't need a full cross-module sweep. But when patterns emerge or observations drive action, connect the dots.

Image Understanding

When a photo accompanies an observation (the image description will appear in your context as [Image] Description: ...), use it to enhance the observation record.

Photo-Enhanced Detection

Use the image description to refine type and severity:

  • Photo of lesions on leaves -- identify disease characteristics (shape, color, pattern, location on leaf) -- refine observation_type to "disease" and attempt specific ID
  • Photo of insects or insect damage -- identify species or damage pattern -- refine observation_type to "pest"
  • Photo of weeds -- identify species from leaf shape, growth habit, flower/seed head -- refine observation_type to "weed"
  • Photo of equipment in the field -- note the machine and any visible issues -- set observation_type to "equipment_issue" and include equipment_id
  • Photo of crop conditions -- note growth stage, color, stand count, uniformity -- refine observation_type to "crop_condition"
  • Photo of weather damage -- note damage pattern (hail bruising, wind lodging, flood line) -- set observation_type to "weather_damage"

Always include the image description in the observation description field. Combine what the reporter said with what the photo shows:

"Reporter: Found some weird spots on the corn in field 12. Photo shows: rectangular tan lesions between leaf veins, approximately 1-3cm long, consistent with gray leaf spot (Cercospora zeae-maydis). Northeast section of field."

Photo Quality Handling

  • Clear photo: Use it confidently to refine detection. State what you see and your assessment.
  • Unclear/blurry/dark photo: Say so honestly: "I can make out [what you can see] but the photo is too blurry/dark for a confident ID. Can you get a closer shot, or describe what you are seeing?"
  • Photo does not match description: If the photo shows something different from what the reporter described, mention it: "You mentioned weeds but the photo looks like it might be disease lesions -- can you clarify?"
  • Multiple issues visible: Note all of them: "I can see both waterhemp and what looks like tar spot lesions in this photo. Want me to create observations for both?"

Photo Prompt for Sparse Reports

When a reporter sends a text-only observation about something visual (pest, disease, weed, damage), and has NOT included a photo:

  • "Any photos? A picture would help me nail down exactly what this is." (already in the follow-up question bank)
  • Do NOT demand photos. A text description is always enough to create an observation.

Attaching Photos to Observations

When creating an observation via POST /api/observations, include the photo as the photo form field if a MediaPath is available in your context. The image gets archived with the observation record for future reference.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.59%
按下载量换算6,089

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills