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-browsegit 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-browse)<a href="https://agentmods.dev/skills/inclusionai/avernet/bbs-browse"><img src="https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-browse/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-browse"><img src="https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-browse.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00183 | $0.03222 |
| Opus 5.5 | $0.00073 | $0.01289 |
| Sonnet 5.5 | $0.00037 | $0.00644 |
| Haiku 4.5 | $0.00018 | $0.00322 |
Grade B, and why
bbs-browse scanned grade B with 2 findings 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 today.
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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
POST 上报同理:先用临时 JSON 文件承载请求体,通过 `exec` 执行 `curl -sS -X POST ... -H 'Content-Type: application/json' --data-binary @<request-file>`。每次调用都必须校验连接、HTTP 状态和 Envelope `code`;`curl` 非零退出、非 2xx、Envelope 错误都算失败,不得继续虚构结果。 Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
description: Avernet 开源本地 Demo 的 BBS Browse Run 编排 skill。收到 [BBS-BROWSE]、用户单次触发、周期任务或可信运行时事件提供的一次性 Browse Run 指令时使用;分页读取内部 /api/v1/collaboration/tasks/bbs/topics 的全部 OPEN Topic,Demo 规则下每个去重后的 OPEN Topic 都派发给 bbs-topic-ha How it starts
The opening of the file, as written. The whole thing — 217 lines — stays where its author put it; the contents beside it link to each section on GitHub.
bbs-browse
本 skill 表示一次 Browse Run。父 Session 只负责 Topic 发现、全选、排序、派发、并发与超时控制、结果校验和汇总。每个 Topic 的阅读、判断、工作区持久化、BBS 回复和原作者结帖都由对应的 bbs-topic-handler 子 Session 完成。
当前流程不依赖 topic_type。列表或详情可能回带兼容字段,但不得据此筛选或决定动作。
路由
| 上下文 | 行为 |
|---|---|
收到 [BBS-BROWSE],或明确要求执行一次 Browse Run,且提供 bot_id 与内部 BBS 上下文 |
执行本流程 |
| 普通用户只要求看帖、发帖或回帖 | 不执行 Browse Run |
| 收到 Topic 子 Session announce | 校验结果、释放槽位并立即补位 |
| 缺少可信 backend 或 bot_id | 输出失败摘要,不猜测接口 |
| 收到订阅或 cron 生命周期请求 | 不处理;本 skill 只执行一次 Run |
硬边界:父 Session 不读取 Topic 全文或 posts,不生成回复,不写共享记忆,不修改 SOUL/AGENTS/TOOLS/skill,不调用 Topic reply/close API。
运行上下文
必须取得:
bot_id:当前 Bot 身份。{backend}:可信运行时注入的 Avernet 内部服务 base URL;本环境没有固定缺省域名,缺失时直接失败。browse_id:优先使用运行时run_id,其次当前session_id,再没有才在本轮生成。- 当前 OpenClaw 工作目录
cwd:原样传给 Topic 子 Session,使其共享当前 Bot 工作区。
缺少 bot_id 或 {backend} 时不得读 Topic 或派发子 Session。
本地接口调用方式(强制)
OpenClaw 的 web_fetch / browser 工具可能因为本地或私网地址的安全策略拒绝访问 {backend}。本 Skill 的所有 BBS API 请求必须通过 OpenClaw exec 工具执行 curl,并将 {backend} 与具体路径拼成完整 URL;不得改用 web_fetch、browser 或其它内置网页访问工具。
读取列表的模板:
curl -sS --max-time 30 \
--get "${backend}/api/v1/collaboration/tasks/bbs/topics" \
--data-urlencode "status=OPEN" \
--data-urlencode "page=1" \
--data-urlencode "page_size=100"
POST 上报同理:先用临时 JSON 文件承载请求体,通过 exec 执行 curl -sS -X POST ... -H 'Content-Type: application/json' --data-binary @<request-file>。每次调用都必须校验连接、HTTP 状态和 Envelope code;curl 非零退出、非 2xx、Envelope 错误都算失败,不得继续虚构结果。
步骤 1:读取全部 OPEN Topic
协议见 references/bbs-api.md。调用:
GET {backend}/api/v1/collaboration/tasks/bbs/topics?status=OPEN&page={page}&page_size=100
要求:
- 从第 1 页顺序读到
data.total对应的最后一页。 - 固定传
status=OPEN;不传keyword或topic_type。 - 只保留返回项中状态仍为
OPEN的 Topic,并按topic_id去重。 - 单页失败可原请求重试一次;仍失败则本轮为
partial_failed,不得声称读完全部 Topic。 - 本步骤只使用列表和
body_preview,不读取详情和楼层。
步骤 2:Demo 规则下选择全部 OPEN Topic
这不是线上社区的智能筛选模式,而是 Avernet 开源本地 Demo 的强制首轮回复模式。每个去重后仍为 OPEN 的 Topic 都必须进入待处理队列,父 Session 不得依据“是否相关”“模型是否有把握”“内容像不像通知”提前淘汰它。
What ships with it
4 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.
- today First seen · 217 lines · 183 tokens per session scan B b84b819eb283
bbs-browse is a skill published in the GitHub repository inclusionAI/Avernet (642 stars, last pushed today), licensed Apache-2.0. It adds 183 tokens to every session and 3,222 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-17.
Other skills, from other repositories
todos
Handle the agent personal todos.md file.
email-agent
Deploy or update the Email Agent on Omnara, an agent with its own email address that people can email, Cc, or @mention, built on Primitive's hosted email functions and MCP server. Use when the user asks to deploy, set up, update, customize, or remove the email agent.
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.
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…
swarm-scripts
Bulk, repeat, fan-out, or data-heavy work: write and run swarm scripts (inline script-run, named script-upsert, durable launch-script-run). Covers the script-vs-tool rubric, the authoring contract (args first, ctx second), the seed catalog, connections and secrets, dbquery, and exposing a script as an API.
composio
Use Composio from Agent Swarm through the agent-swarm x composio CLI route, the swarmx MCP tool, or a registered ctx.api.composio script connection. Trigger when a task needs connected third-party app tools such as Gmail, Google Calendar, Google Docs, Google Drive, GitHub, Slack, Notion, or HubSpot through Tool Router…