Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add inclusionAI/Avernet --skill bbs-relay-pickupgit clone --depth 1 https://github.com/inclusionAI/AvernetWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/inclusionai/avernet/bbs-relay-pickup)<a href="https://agentmods.dev/skills/inclusionai/avernet/bbs-relay-pickup"><img src="https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-relay-pickup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/inclusionai/avernet/bbs-relay-pickup"><img src="https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-relay-pickup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.03616 |
| Opus 5.5 | $0.00017 | $0.01446 |
| Sonnet 5.5 | $0.00009 | $0.00723 |
| Haiku 4.5 | $0.00004 | $0.00362 |
Grade A, and why
bbs-relay-pickup scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **唯一工具是 `exec`**:所有 task API 经 `exec`+HTTP 直调(`/api/v1/collaboration/tasks/*` 与 `/api/v1/collaboration/tasks/bbs/*`),用 `curl ... --json` 发请求、`jq` 解析响应。**禁止引用 bcs-cli 或任何子命令**。 How it starts
The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
BBS 自主接力(bbs-relay-pickup)
被唤醒后按序执行。一次唤醒 = 一个 scoped 节点 = 一次 claim:发现 BBS 升级任务 → CAS 占根 → 自判"剩余里你能做的那部分" → 挂一个 run_mode="bbs" 节点 → 用原生能力执行 → 经 bbs/result 写回 → claim 自动释放。根目标未满足时,下个被唤醒的 bot 再 claim、读已 DONE 叶子 + 前序 scoped 节点 checkpoint,挂新节点续做 = 接力。全程只 exec HTTP 调 task API,不引任何 CLI(不调 bcs-cli)。
环境约束(必须遵守)
- 唯一工具是
exec:所有 task API 经exec+HTTP 直调(/api/v1/collaboration/tasks/*与/api/v1/collaboration/tasks/bbs/*),用curl ... --json发请求、jq解析响应。禁止引用 bcs-cli 或任何子命令。 - 本 skill 只编排"接力 loop":发现 / 占根 / 自判 / 挂节点 / 写回。"干活"本身是你(agent)的原生能力,skill 不演示怎么完成具体子任务。
- 状态写口只走三条
bbs/*路由(claim / attach / result);不得调/api/v1/collaboration/tasks/execute、/api/v1/collaboration/tasks/callback/report等 framework dispatch/callback 路由——那些是框架自驱路径,与接力冲突。 - 响应统一信封
Envelope:{"code": int, "message": str, "data": <载荷>, "request_id": str}(code=200000为成功)。读data;code != 200000或 4xx/5xx 按各步错误约定处理。
被唤醒后执行(6 步)
步① 发现 BBS 任务 + 取整图
GET /api/v1/collaboration/tasks/list→data为持久化TaskInfoRecord数组,从中枚举task_id。列表含完整task_spec/owner/execution_config,但不含运行图字段。- 对每个
task_id,GET /api/v1/collaboration/tasks/dashboard?task_id=<task_id>→data为整图TaskExecutionGraph;仅保留图extend_props.bbs_mode==true的候选。整图含根Goal/Acceptances、全tasks[](每节点node_id/status/task_spec/run_info)、图status、图extend_props。根节点node_id == task_id;节点run_info.output是 checkpoint;run_info.run_mode=="bbs"的是接力 scoped 节点;run_info.extend_props.bbs_owner(根上)指当前占根者;图extend_props.bbs_relay_count是已用接力深度。 - 预筛(避免空占根):只对满足下列全部条件的任务进入步②——
- 图
status非DONE/HUNG; - 根节点
status == PLANNING(可委托); - 图内无
RUNNING节点(图空闲); bbs_relay_count < BBS_MAX_DEPTH(默认 3,见references/idempotency.md);- 步③ 自判非
skip。 不满足 → 换任务。判据见references/judge-rubric.md。
- 图
步② CAS 占根
POST /api/v1/collaboration/tasks/bbs/claim,body {"task_id": <id>, "bot_id": <自己>}。
<自己>= 你的真实 bot_id(由唤醒方/触发上下文注入)。本 skill 步②/④/⑤ 所有bot_id字段都填它。不得用引擎账号名(如openclaw-agent)顶替——否则节点assignee与真实执行者不符、接力可追溯性丢失。若未注入,先向唤醒方索取,不要自行编造。- 200 = 占根成功,
data.root_node_id(= task_id)。进入步③。同 bot 重 claim 也是 200(幂等,视为已占有)。- recover 清理(服务端在 claim 成功时自动做):图中所有
HUNG子树(planner 规划不合理 / 派发全 MISS 的死分支)会被删掉,根回到干净委托点。你步③ 自判、步④ 挂节点基于清理后的图,不必管那些 HUNG 死分支。
- recover 清理(服务端在 claim 成功时自动做):图中所有
- 409 = 已被他 bot 占有 / 非 bbs_mode 任务 → 放弃此任务,回步① 取下一个候选,不重试同任务。
- claim 仅校验
bbs_mode==true,不判图空闲 / 根 PLANNING / 深度闸(那些由步④ attach 裁),故步① 预筛是必要的。
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 109 lines · 43 tokens per session scan A 8f743cf89020
bbs-relay-pickup is a skill published in the GitHub repository inclusionAI/Avernet (593 stars, last pushed today), licensed Apache-2.0. It adds 43 tokens to every session and 3,616 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
apps
Build and iterate on schema-backed Swarm Apps with live models, named queries, custom actions, and json-render interfaces using the app-upsert, app-get, app-list, and app-patch tools.
review-offered-task
Turn prompt for an offered swarm task: read the offer, accept with task-action and start work-on-task, or reject with a reason.
close-issue
Close a GitHub or GitLab issue with a summary comment.
implement-issue
Implement a GitHub issue or GitLab issue and create a PR/MR.
run-task
Execute a single Todo task through In Progress to Review, meeting every acceptance criterion with tests and vibe-lint checks. Refuses Planning-status tasks. Invoked as /agiflow:run-task . Uses gettask, updatetask, createtaskcomment.
kapso-whatsapp
How to interact with Kapso WhatsApp from the swarm — read inbound webhook payloads (text AND media), fetch message history, send free-form messages within the 24h session window (and template messages outside it), mark-as-read, show the typing indicator, send reactions, download media, verify webhook signatures, and…