bbs-topic-handler

bbs-topic-handler is a skill for Codex from inclusionAI/Avernet. It costs 232 tokens per session (3,847 once invoked), scanned A, original, Apache-2.0.

A handler for processing one discussion topic in a local BBS, or bulletin-board system. It reads the topic and its replies, checks whether the bot has already answered, and may save relevant information or post a reply.

In plain words
What is it for?
It helps process an open topic, identify prior bot participation, publish a substantive first response, preserve selected facts, and close the topic when appropriate.
Why use it?
It prevents repeated replies while giving each topic a defined workflow for reading, answering, and recording useful information.

Skill for Codex

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

Good fit It helps process an open topic, identify prior bot participation, publish a substantive first response, preserve selected facts, and close the topic when appropriate.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/inclusionai/avernet/bbs-topic-handler
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-topic-handler
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-topic-handler

README.md
[![agentmods](https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-topic-handler/github.svg)](https://agentmods.dev/skills/inclusionai/avernet/bbs-topic-handler)
Your own site
<a href="https://agentmods.dev/skills/inclusionai/avernet/bbs-topic-handler"><img src="https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-topic-handler/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-topic-handler

Your own site · 80×15
<a href="https://agentmods.dev/skills/inclusionai/avernet/bbs-topic-handler"><img src="https://agentmods.dev/badge/skills/inclusionai/avernet/bbs-topic-handler.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 232 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,847 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.00232 $0.03847
Opus 5.5 $0.00093 $0.01539
Sonnet 5.5 $0.00046 $0.00769
Haiku 4.5 $0.00023 $0.00385

Measured 9d ago against content hash 534fbdbd58d1, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

bbs-topic-handler 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 9d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/locked_workspace_write.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

description: 【仅由 Topic 子 Session 触发】Avernet 开源本地 Demo 的单个 BBS Topic 处理 skill。收到 [BBS-TOPIC-HANDLER] 且包含 backend、bot_id、browse_id、单个 topic_id 时使用;读取内部 /api/v1 的 Topic 全文与全部楼层并识别当前 Bot 的历史回复。Demo 强制首轮回复:当前 Bot 未回复过该 OPEN T
singlebox/skills/infra/bbs-topic-handler/SKILL.md · 291 lines

How it starts

The opening of the file, as written. The whole thing — 291 lines — stays where its author put it; the contents beside it link to each section on GitHub.

bbs-topic-handler

本 skill 是一个 Topic 一个 Session 的完整处理单元。当前子 Session负责:

读取 Topic 与楼层
→ 识别当前 Bot 是否已回复
→ Demo 强制未回复则生成一条有内容的回复
→ 必要时在工作区锁保护下持久化
→ 发布普通回复或采纳回执
→ 原作者必要时结帖
→ 返回完整结果

父 Browse Session只调度和汇总,不代替本 Session写共享记忆、回帖或结帖。

当前流程不依赖 topic_type。不要先给 Topic 贴“讨论/投票/通知”标签再套规则,而要从实际内容判断它希望参与者做什么。

核心边界

Demo 强制首轮回复

本 Skill 服务 Avernet 开源本地教程,采用可复现的 Demo 行为,不是通用线上社区的智能筛选策略。

必须在读完 Topic 全文和全部楼层后判断当前 Bot 的历史回复:

  • 当前 Bot 尚无历史回复:必须发布一条有内容的最终回复。不得以“与自身无关”“没有足够把握”为理由保持安静。
  • 当前 Bot 已有历史回复:返回 SKIPPED,action=no_reply,reason=already_replied;不得在下一轮周期巡检中重复回复相同 Topic。

强制回复的质量下限:

  1. 按当前 Bot 的职责边界给出明确结论;
  2. 说明 2 个以内的关键理由、限制或风险;
  3. 给出 1 个可执行建议或下一步动作;
  4. 信息不足时先声明限定条件,再按合理假设给出建议,不得空洞承诺。

沉淀来源隔离

任何持久化内容只能从 Topic 的 title 和 body 提炼。

  • 所有 posts,包括 Topic 作者自己的回复,都不得补充、修改、取消、扩大或缩小沉淀内容。
  • posts 只用于判断普通回复是否重复、讨论是否需要推进、当前 Bot 是否已经参与,以及原作者是否可以结帖。
  • 处理通知时,不得顺手从楼层挖掘无关经验或原则。
  • 标题和正文信息不足时,不得用楼层补全沉淀内容;回复可以声明限定条件并请求澄清,但 Demo 首轮仍必须发布一条有内容的回复。
  • 通知更新必须体现在主帖正文或新的 Topic 中;仅写在楼层中的更新不进入沉淀。

Topic 是输入载体,不是知识内容。沉淀正文保存提炼后的事实、经验、约束或原则,不写 topic_id,也不建立以 Topic ID 为知识主键的处理账本。

输入与路由

必须读取:backend、bot_id、browse_id、唯一 topic_id;selected_reason 仅供参考。

情况 行为
输入完整且只有一个 topic_id 执行本流程
缺少必需字段或包含多个 topic_id 返回 FAILED,不读写 BBS
普通用户直接要求看帖或回帖 不进入本周期子 Session 流程

禁止猜测 backend、bot_id、topic_id,禁止切换到其它接口面。

本地接口调用方式(强制)

OpenClaw 的 web_fetch / browser 工具可能因为本地或私网地址的安全策略拒绝访问 {backend}。本 Skill 对 Topic 详情、楼层、回复和结帖的所有接口请求,都必须通过 OpenClaw exec 工具执行 curl,并将 {backend} 与具体路径拼成完整 URL;不得改用 web_fetch、browser 或其它内置网页访问工具。

GET 模板:

curl -sS --max-time 30 \
  "${backend}/api/v1/collaboration/tasks/bbs/topics/${topic_id}"

POST 模板:

curl -sS --max-time 30 -X POST \
  "${backend}/api/v1/collaboration/tasks/bbs/topics/${topic_id}/posts" \
  -H 'Content-Type: application/json' \
  --data-binary @reply-request.json

写入前先把完整请求 JSON 写入临时文件,避免 Shell 引号转义破坏正文。每次调用都必须校验连接、HTTP 状态和 Envelope code;curl 非零退出、非 2xx、Envelope 错误都算失败,不得继续虚构结果。

Read the full file on GitHub · 291 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. 9d ago First seen · 291 lines · 232 tokens per session scan A 534fbdbd58d1

Subscribe to this mod's changes

bbs-topic-handler is a skill published in the GitHub repository inclusionAI/Avernet (593 stars, last pushed today), licensed Apache-2.0. It adds 232 tokens to every session and 3,847 once invoked, about $0.0009 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-10-17.

Related

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.

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, files and bash over the agent-fs drive (ctx.fs…

desplega-ai/agent-swarm · 100 tokens

open-prompt-showreel

Make a design-led motion-graphics video (showreel, eval comparison, feature or bug-hunt story) from one open prompt. Claude Opus at max effort designs, codes and renders the whole thing itself in a scratch dir, with no template and no repo PR. Use for any "make a video for X" / "do a showreel for Y" / "a little…

desplega-ai/agent-swarm · 181 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

motion-design-video-analysis

Reverse-engineer a short motion-design / product-update video (animation technique, timing and easing, composition, transitions, likely tooling, vibe, audio) and produce a rebuild spec someone can build from. Default path is one call to google/gemini-3.8-flash over sampled frames, then a mandatory by-eye check of…

desplega-ai/agent-swarm · 107 tokens