Install
openclaw skills install discord-thread-naming-backstop-workflow用于执行 Discord 线程命名兜底(backstop)巡检与改名,专门处理某个 guild 下指定 parent channel 中“最近新建但未命名规范”的线程,补上 prehook 漏网,而不是批量回扫历史。遇到“线程重命名兜底”“dispatch 线程命名规范”“只检查最近 20 分钟线程”“JSON 污染标题”“长标题截断”“按规则静默改名或告警”“Discord thread-list / channel-edit / channel-info 重试与一致性检查”等场景时就应触发。即使用户没说 backstop,只要意图是低扰动修正新线程标题,也应使用此技能。
openclaw skills install discord-thread-naming-backstop-workflow这个技能帮助你在严格范围内为 Discord 新线程做命名兜底,避免误扫历史线程、误改旧标题,且在失败时有一致的告警与回补闭环。
【类型】目标 - YYYYMMDD 自动推断新名,并在失败时做重试、一致性校验、P2/RESOLVED 通知。锁定执行范围
guildId="1478785964896817267"channelId="1478785965580357754"(🎛️丨dispatch)按指定接口读取线程列表
message(action="thread-list", guildId="1478785964896817267", channelId="1478785965580357754", includeArchived=false, limit=50)
thread-list 成功读取,且后续复核时也再次成功。用 Asia/Shanghai 时区判定候选线程
Asia/Shanghai,本次记录中的执行时点为:
2026-03-14 10:352026-03-14 10:382026-03-14 10:402026-03-14 10:42thread_metadata.create_timestamp 在最近 20 分钟内;> 60{ } [ ] \"先检查是否已经合规
^【[^】]+】.+ - \d{8}$
限制处理数量
3 个线程。为每个待修正线程生成操作 ID
rename-<threadId>-<YYYYMMDDHHmmss>
推断新线程名
【{类型}】{目标} - {YYYYMMDD}
Asia/Shanghai<= 100任务 / 分析 / 阅读 / 修复 / 运维 / 文档 / 复盘 / 审查 / 复核 / 评估
配置/部署/环境/服务/监控/cron/openclaw.json/模型切换/供应商接入/密钥/代理 → 优先 【运维】规则/规范/SOP/制度/约定/命名/模板/文档/说明/公告 → 优先 【文档】报错/异常/失败/修复/故障/bug → 优先 【修复】8~28 字的“动作 + 对象”核心短语;未命名任务。执行重命名,并做容错
message(action="channel-edit", target="<threadId>", name="<newName>")
channel-edit。message(action="channel-info", target="<threadId>")
newName → 视为成功,不报 P2;按结果决定是否静默
000仅在需要时发送 P2 或 RESOLVED
threadId=listopId 里若先失败、后经重试或一致性检查判定成功,发送 1 条 RESOLVED 到 1478996389727043584。0 或 1 条消息,禁止重复刷屏。❌ 把“今天但超过 20 分钟、只是普通旧标题不规范”的线程也纳入改名 → 这会把兜底任务变成历史修复任务,违背范围约束 → ✅ 只处理最近 20 分钟,或“今天且明显是截断/JSON 污染”的异常标题。
❌ 看到标题不规范就直接改名 → 可能误改本来已经符合 ^【[^】]+】.+ - \d{8}$ 的线程,或者误动历史线程 → ✅ 先做正则校验,再结合创建时间和异常特征筛选。
❌ channel-edit 一次失败就直接报 P2 → Discord 瞬时失败并不少见,直接告警会制造误报 → ✅ 先重试一次,再用 channel-info 做最终一致性检查。
❌ 成功时也发通知 → 高频巡检会刷屏,掩盖真正异常 → ✅ 正常成功与“无候选线程”都保持静默。
❌ 列表失败时用 threadId=0、n/a 之类占位值告警 → 不利于排查,也违背约束 → ✅ 只有列表失败场景可使用 threadId=list。
❌ 扫描 archived 或更大范围线程 → 会把任务从“backstop”变成“回扫历史” → ✅ 严格使用 includeArchived=false 且固定 channelId。
message(action="thread-list", guildId="1478785964896817267", channelId="1478785965580357754", includeArchived=false, limit=50)
^【[^】]+】.+ - \d{8}$
【{类型}】{目标} - {YYYYMMDD}
任务
分析
阅读
修复
运维
文档
复盘
审查
复核
评估
message(action="channel-edit", target="<threadId>", name="<newName>")
message(action="channel-info", target="<threadId>")
1478996389727043584,纯文本)━━━━━━━━━━━━━━
🚨 任务告警 · dispatch-thread-rename-backstop
等级:P2
状态:🔴 失败
日期:YYYY-MM-DD (Asia/Shanghai)
对象:threadId=<id> opId=<opId>
原因:<最终失败摘要,不超过60字>
影响:线程命名规范可能未及时生效
动作:请人工介入排查并重试
追踪:#cron #dispatch #naming #incident
━━━━━━━━━━━━━━
1478996389727043584,纯文本)━━━━━━━━━━━━━━
✅ 任务回补 · dispatch-thread-rename-backstop
状态:🟢 RESOLVED
日期:YYYY-MM-DD (Asia/Shanghai)
对象:threadId=<id> opId=<opId>
说明:重命名过程中出现瞬时失败,已自动恢复并满足命名规范
结果:<最终名称>
追踪:#cron #dispatch #naming #resolved
━━━━━━━━━━━━━━
thread-list succeeded on first attempt. Filtering only parent channel 1478785965580357754 entries: all visible threads under target parent already match ^【[^】]+】.+ - \d{8}$, or are historical. Recent-today threads (within 20 min from 10:40 Asia/Shanghai means since 10:20) under target parent: 1482198526019764467 created 10:07 CST, 1482185516668424355 created 09:16 CST, both older than 20 min and already compliant. No today abnormal long/JSON-polluted noncompliant titles found. No rename actions needed; remain silent.
thread-listchannel-editchannel-infoAsia/Shanghai 为基准做日期与“最近 20 分钟”判断。guildId="1478785964896817267"channelId="1478785965580357754"14789963897270435843 个线程。references/dispatch-thread-rename-notification-templates.md — reference documentation