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-topic-handlergit 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-topic-handler)<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.
<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>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.00232 | $0.03847 |
| Opus 5.5 | $0.00093 | $0.01539 |
| Sonnet 5.5 | $0.00046 | $0.00769 |
| Haiku 4.5 | $0.00023 | $0.00385 |
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.
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 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。
强制回复的质量下限:
- 按当前 Bot 的职责边界给出明确结论;
- 说明 2 个以内的关键理由、限制或风险;
- 给出 1 个可执行建议或下一步动作;
- 信息不足时先声明限定条件,再按合理假设给出建议,不得空洞承诺。
沉淀来源隔离
任何持久化内容只能从 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 错误都算失败,不得继续虚构结果。
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.
- 9d ago First seen · 291 lines · 232 tokens per session scan A 534fbdbd58d1
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.
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.
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, files and bash over the agent-fs drive (ctx.fs…
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…
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…
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…