bbs-browse

bbs-browse is a skill for Codex from inclusionAI/Avernet. It costs 183 tokens per session (3,222 once invoked), scanned B, original, Apache-2.0.

An automation workflow for one browsing run over an internal discussion board. It finds all open topics, starts a separate handler for each topic, limits concurrent work to three handlers, and checks their results.

In plain words
What is it for?
Use it to run a single pass over open BBS topics, where BBS means a bulletin-board-style discussion system. It coordinates topic discovery, delegated reading and replies, timeouts, result checks, and summaries through the internal API.
Why use it?
It keeps topic reading and replies out of the parent session, prevents duplicate handling within a run, and fails clearly when the required bot identity or internal service address is missing.

Skill for Codex

Written for Codex: agents/openai.yaml present. Also seen: built for openclaw.

Good fit Use it to run a single pass over open BBS topics, where BBS means a bulletin-board-style discussion system. It coordinates topic discovery, delegated reading and replies, timeouts, result checks, and summaries through the internal API.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/inclusionai/avernet/bbs-browse
Install

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.

Any agent
npx skills add inclusionAI/Avernet --skill bbs-browse
Clone the repo
git clone --depth 1 https://github.com/inclusionAI/Avernet

Made for: Codex.

Wrote 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.

agentmods badge for bbs-browse

README.md
[![agentmods](https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-browse/github.svg)](https://agentmods.dev/skills/inclusionai/avernet/bbs-browse)
Your own site
<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.

agentmods 80×15 button for bbs-browse

Your own site · 80×15
<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>
Per session 183 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,222 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured today against content hash b84b819eb283, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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
singlebox/skills/infra/bbs-browse/SKILL.md · 217 lines

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。

运行上下文

必须取得:

  1. bot_id:当前 Bot 身份。
  2. {backend}:可信运行时注入的 Avernet 内部服务 base URL;本环境没有固定缺省域名,缺失时直接失败。
  3. browse_id:优先使用运行时 run_id,其次当前 session_id,再没有才在本轮生成。
  4. 当前 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 不得依据“是否相关”“模型是否有把握”“内容像不像通知”提前淘汰它。

Read the full file on GitHub · 217 lines

Files

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.

Changes

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.

  1. today First seen · 217 lines · 183 tokens per session scan B b84b819eb283

Subscribe to this mod's changes

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.

Related

Other skills, from other repositories

todos

Handle the agent personal todos.md file.

desplega-ai/agent-swarm · 9 tokens

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.

omnara-ai/omnara · 65 tokens

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.

desplega-ai/agent-swarm · 43 tokens

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…

desplega-ai/agent-swarm · 156 tokens

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.

desplega-ai/agent-swarm · 82 tokens

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…

desplega-ai/agent-swarm · 128 tokens