用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dvcrn/openclaw-skills-marketplace --skill jobtread-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your agent a soul.
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
基于 SOC 职业分类
正在显示 SKILL.md
| name | jobtread-api |
| description | JobTread Agent |
This skill lets you operate JobTread entirely through openclaw using the Pave-based API at https://api.jobtread.com/pave. Every request is a single POST with a query object that mirrors GraphQL-style expressions, and you decide which fields you want back. With the right grant key, you can create and manage accounts (customers/vendors), jobs, documents, tasks, locations, custom fields, documents, and even subscribe to webhooks for live updates.
grantKey (it begins with grant_ and will only show once).~/.config/jobtread/grant_key. Example:
mkdir -p ~/.config/jobtread
echo "grant_xxx" > ~/.config/jobtread/grant_key
chmod 600 ~/.config/jobtread/grant_key
/pave must include the grant key under query.$.grantKey. Example payload:
{
"query": {
"$": { "grantKey": "grant_xxx" },
"currentGrant": { "id": {}, "user": { "name": {} } }
}
}
notify, timeZone, or viaUserId inside $ when you need to suppress notifications or scope results.pdfToken: { _: signQuery, $: { query: {...} } } and append the token to https://api.jobtread.com/t/.POST https://api.jobtread.com/pave with Content-Type: application/json.{
"query": {
"$": { "grantKey": "grant_xxx" },
"operation": {
"$": { ...inputs... },
"field": { ...fields... }
}
}
}
id, name, etc.) determine what JobTread returns. Always include id when you plan to reference the object later._type in responses tells you the schema for that node.currentGrant:
user:
memberships:
nodes:
organization:
id: {}
name: {}
Use the returned organization.id in any following query.
createAccount:
$:
name: "Test Customer"
type: customer
organizationId: "ORG_ID"
createdAccount:
id: {}
name: {}
type: {}
type: vendor).id and requesting fields:account:
$:
id: "ACCOUNT_ID"
id: {}
name: {}
isTaxable: {}
customFieldValues if needed:updateAccount:
$:
id: "ACCOUNT_ID"
isTaxable: false
account:
id: {}
isTaxable: {}
organization:
$: {}
id: {}
accounts:
$:
size: 5
page: "1"
sortBy:
- field: type
order: desc
where:
and:
- - type
- =
- customer
- - name
- =
- "Sebas Clients"
nextPage: {}
nodes:
id: {}
name: {}
type: {}
where with or, nested fields, or custom fieldsorganization:
$: {}
id: {}
contacts:
$:
with:
cf:
_: customFieldValues
$:
where:
- - customField
- name
- "VIP"
values:
$:
field: value
where:
- - cf
- values
- =
- "Yes"
nodes:
id: {}
name: {}
Create location and find others tied to the same account:
createLocation:
$:
accountId: "ACCOUNT_ID"
name: Test Location
address: "123 Main St"
createdLocation:
id: {}
name: {}
organization:
$: {}
id: {}
locations:
$:
where:
- - account
- name
- Test Name
nodes:
id: {}
name: {}
account:
id: {}
name: {}
job:
$:
id: "JOB_ID"
documents:
$:
where:
- - type
- in
- - customerInvoice
- customerOrder
group:
by:
- type
- status
aggs:
amountPaid:
sum: amountPaid
priceWithTax:
sum: priceWithTax
withValues: {}
https://api.jobtread.com/t/{{token}}):pdfToken:
_: signQuery
$:
query:
pdf:
$:
id: "DOCUMENT_ID"
account:
$:
id: "ACCOUNT_ID"
customFieldValues:
$:
size: 25
nodes:
id: {}
value: {}
customField:
id: {}
customFieldValues map:updateAccount:
$:
id: "ACCOUNT_ID"
customFieldValues:
"CUSTOM_FIELD_ID": "New value"
account:
id: {}
webhook(id: "ID") or deleteWebhook to cancel.createWebhook:
$:
organizationId: "ORG_ID"
url: "https://your-endpoint/hooks/jobtread"
eventTypes:
- jobCreated
- documentUploaded
createdWebhook:
id: {}
url: {}
curl or your preferred HTTP client from OpenClaw's exec tool.$).createAccount for each with the same grant key.status: pending and send you a summary each morning.time.sleep between requests or batch fewer objects.id field required when you forget to request id. Always include it when you plan to mutate the record later.invalid key, rotate the grant and update ~/.config/jobtread/grant_key.signQuery when you need temporary access to document PDFs without storing raw document IDs.