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

farmos-tasks农场任务

Agent Skill

farmos-tasks 用于辅助安全审计、权限检查和凭据风险排查,适合在 OpenClaw 中需要复核安全边界、认证流程或敏感配置时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

18,016

周安装

766

GitHub Stars

公开资料未说明

下载量

6,312
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install farmos-tasks

简介

FarmOS Tasks 查询与管理农业工单系统与任务分配状态。

  • 支持查看指派人员、创建时间线与进度更新记录追踪。farmos-tasks 属于效率类 Skill,可作为该场景下的辅助能力补充。
  • 可通过集成端点无认证读取基础信息无需额外鉴权配置。
  • 敏感操作如删除任务需重新验证操作者身份权限级别。
  • 数据接口变更前会提前通知确保客户端兼容性不受影响。

SKILL.md

name
farmos-tasks
description
Query and manage farm work orders and tasks. View assignments, create tasks, update status. Uses integration endpoints (no auth) for reads and authenticated endpoints for writes.
tags
[farming, tasks, work-orders]

FarmOS Task Manager

Work orders and task management — view assignments, check status, and manage the task workflow.

When to Use This

What this skill handles: Task creation, assignments, status updates, work orders, action items, follow-ups, and restock/procurement requests.

Trigger phrases: "remind me to...", "we need to...", "someone should...", "create a task", "what tasks are assigned to me?", "any overdue tasks?", "mark task X as complete", "we're low on...", "used the last...", "we need more..."

What this does NOT handle: Equipment maintenance tracking (use farmos-equipment), scheduling/time-off/availability (use farmos-workforce), field observations and scouting reports (use farmos-observations).

Minimum viable input: Any description of work that needs to happen. "We need to do something about field 12" is enough.

API Base

http://100.102.77.110:8007

Integration Endpoints (No Auth Required)

Dashboard Summary

GET /api/integration/dashboard

Returns: Task widget data — counts by status, priority breakdown, recent activity. Use for summary stats only — not for listing tasks.

Tasks Summary

GET /api/integration/tasks-summary

Returns: Aggregate counts:

{
  "total": 15,
  "pending": 3,
  "assigned": 5,
  "in_progress": 4,
  "completed": 3,
  "critical": 1,
  "high_priority": 2,
  "overdue": 1
}

Task List (Filtered)

GET /api/integration/tasks?limit=10&status=in_progress&priority=high

Query params: limit, status (pending|assigned|in_progress|completed|cancelled), priority (low|normal|high|critical)

Returns: Simplified task objects with id, title, status, priority, due_date, assignees.

Single Task

GET /api/integration/tasks/{id}

Returns: Full task detail for integration.

Authenticated Endpoints

These require JWT auth. See Authentication section below.

Authentication

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

To get a token: Run the auth helper with the appropriate role:

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

To use the token: Include it as a Bearer token:

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

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

Role mapping: Check the sender's role in ~/.clawdbot/farmos-users.json to determine which auth level to use. If the user's role doesn't have permission for the requested data, tell them they don't have access rather than trying with a higher-privilege token.

My Tasks (Employee View)

GET /api/tasks/mine Authorization: Bearer {token}

Returns: Tasks assigned to the authenticated user.

Create Task (Manager+)

POST /api/tasks Authorization: Bearer {token} Content-Type: application/json

Body:

{
  "title": "Spray north fields - Section 12",
  "description": "Apply pre-emerge herbicide per agronomy recommendation",
  "priority": "high",
  "due_date": "2026-02-20",
  "equipment_id": 5,
  "estimated_duration_minutes": 180
}

Update Task Status

POST /api/tasks/{id}/start — Mark as in_progress POST /api/tasks/{id}/complete — Mark as completed POST /api/tasks/{id}/cancel — Cancel task Authorization: Bearer {token}

Assign Task (Manager+)

POST /api/tasks/{id}/assign Authorization: Bearer {token} Content-Type: application/json

Body:

{
  "employee_ids": [3, 4]
}

Employee IDs come from the Workforce module integration endpoint.

Task Templates

List Templates

GET /api/templates Authorization: Bearer {token}

Create Task from Template

POST /api/templates/{id}/create-task Authorization: Bearer {token}

Creates a new task pre-filled from the template.

Status Workflow

pending → assigned → in_progress → completed
                                  → cancelled
  • Tasks start as "pending"
  • Assigning employees moves to "assigned"
  • Worker starting moves to "in_progress"
  • Worker finishing moves to "completed"

Conversational Task Creation

The bot should recognize when someone describes work that needs to happen and offer to create a task. Do NOT create tasks silently — always offer first.

Auto-Detect from Conversation

When someone describes actionable work, extract as much as you can:

SignalHow to DetectExample
Assignee"tell Jake to..." → Jake. "I need to..." → reporter. Otherwise → unassigned"Tell Jake to check the tile outlet" → assignee: Jake
Priority"ASAP" / "before it rains" / "right now" → high. "When you get a chance" / "sometime" → low. Default → normal"We need to spray before it rains" → priority: high
FieldField number, field name, landmark reference"field 14", "the Byrd farm", "that field by the elevator"
EquipmentMachine name, number, type"the 8370R", "the planter", "combine #2"
DeadlineTime references parsed to dates"by Thursday", "this week", "before planting", "end of month"

Natural Language Examples

What They SayAuto-Detect
"We need to spray field 14 before Thursday"Field: 14, action: spray, deadline: Thursday
"Remind me to call the seed rep"Assignee: reporter, action: call seed rep
"Someone should check the tile outlet in field 8"Field: 8, action: check tile outlet, unassigned
"The north fence needs fixed before we turn cows out"Location: north fence, context: cattle, deadline: before turnout
"Jake needs to grease the planter before we start"Assignee: Jake, equipment: planter, action: grease
"We should probably get the combine serviced this month"Equipment: combine, action: service, deadline: end of month, priority: normal

Confirmation Before Creating (ALWAYS)

Never create a task without confirming. Pattern:

"Creating: 'Spray field 14' — due Thursday, unassigned. Sound right?"

If they say yes, confirm details and POST. If they tweak something ("actually make it high priority"), adjust and confirm again.

When NOT to Offer a Task

  • Message is clearly just conversation, not actionable ("Man, that field looks rough")
  • Someone is asking a question, not requesting work ("When was field 14 last sprayed?")
  • The work is already being done right now ("I'm spraying field 14")
  • It's a status update, not a new request ("Field 14 is done")

Guidance

  • "Want me to make that a task?" is the right prompt when it sounds like work
  • If vague, create the task with what you have — a vague task is better than no task
  • For recurring needs ("we always need to do X before Y"), mention templates: "Want me to create a template for this so it auto-generates next time?"
  • After creating, offer related actions: "Want me to assign someone?" "Should I set a reminder?"

Parts & Supplies Intake

Any mention of supply levels should be treated as actionable. The bot captures supply intel that would otherwise be lost.

Detection Patterns

What They SayActionPriority
"We're low on hydraulic filters"Offer restock task (tag: procurement)normal
"Used the last box of seed treatment"Create restock task (tag: procurement)high — last one is urgent
"We're gonna need more twine before we're done"Offer restock task (tag: procurement)normal
"Down to 2 hydraulic filters for the planters"Offer restock task with quantity contextnormal
"I ordered 5 gallons of Roundup"Acknowledge — no task needed (already ordered)
"Where do we keep the grease cartridges?"Answer question — no task
"We're out of DEF"Create restock task (tag: procurement)high — completely out

Response Patterns

  • Low supply: "Good to know — logged it. Want me to create a restock task or just flag it for Brian?"
  • Last one / completely out: "Noted — that sounds urgent. Creating a restock task now." (still confirm, but signal urgency)
  • Already ordered: "Got it, thanks for the heads up." (no task, just acknowledge)
  • Question about supplies: Answer the question, no task creation

Restock Task Format

When creating a procurement task:

{
  "title": "Restock: hydraulic filters (planters)",
  "description": "Crew reports low supply — down to 2 remaining",
  "priority": "normal",
  "tags": ["procurement"]
}

Tag ALL supply/restock tasks with procurement so they can be filtered and batched for ordering.

For "used the last" or "completely out" situations, set priority to "high".

Data Completeness

  • Always report the total count of records returned
  • If a query returns suspiciously few results, say so: "I'm only seeing X results — that may be incomplete"
  • Use integration /tasks endpoint with appropriate filters for listing, not /api/integration/dashboard (which truncates)
  • For paginated results, note the total and offer to fetch more

Cross-Module Context

When working with tasks, connect the dots to other modules:

Tasks → Weather:

  • When listing today's tasks or the week's schedule, check farmos-weather. Flag conflicts: "You've got spray tasks on the board for Thursday, but rain is coming Thursday afternoon. Might want to move those up."
  • For any field operation task (spraying, planting, harvesting, tillage), the weather matters. Check spray conditions for spray tasks, check precipitation forecast for fieldwork.
  • Don't check weather for shop tasks, office tasks, or supply runs — only field work.

Tasks → Equipment:

  • When listing tasks, check farmos-equipment for machine availability. If a task requires specific equipment, verify it's not down or due for maintenance: "The sprayer has 3 tasks this week, but it's at 197 hours and service is due at 200. Might want to get that done first."
  • When a task is created for a specific machine, check that machine's status. If it's in maintenance or has an open issue, flag it.
  • When equipment is reported as down, check for tasks assigned to that machine and offer to flag them as blocked.

Tasks → Observations:

  • When a task relates to a field, check farmos-observations for recent observations on that field. "There's a waterhemp observation from yesterday in field 14 — might be related to the scouting task."
  • After a task is created from an observation (e.g., "spray field 14 for waterhemp"), link back to the observation context.

Tasks → Marketing (delivery deadlines):

  • During harvest season, check farmos-marketing delivery schedules. Delivery commitments affect which fields get priority: "You've got a 5,000-bu bean delivery to ADM due next week — priority on the bean fields."
  • This only matters during harvest and delivery windows. Don't cross-reference marketing for routine maintenance or spray tasks.

Cross-reference when it adds value. Not every "mark task complete" needs a weather check. Use judgment — the goal is connecting dots the crew might miss, not adding noise to simple operations.

Usage Notes

  • Use integration endpoints for read queries (no auth needed).
  • Use authenticated endpoints for creating/updating tasks (manager+ role).
  • Priority levels: low, normal, high, critical.
  • Always check for overdue tasks in summaries.
  • Equipment IDs link to the Equipment module — use farmos-equipment skill to look up names.
  • Employee IDs for assignments come from farmos-workforce skill.
  • When creating tasks, suggest appropriate priority based on context.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

85.83%
按下载量换算5,418

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

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

安装前确认

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

来源信息

继续浏览同类 Skills