skills-experimental/collapse-utils/SKILL.md
Message collapsing utilities. collapseBackgroundBashNotifications + collapseHookSummaries + collapseTeammateShutdowns + N background commands completed + Parallel tool calls hook summary + Aggregation (hookCount/hookInfos/hookErrors). Use when [collapse utils] is needed.
npx skillsauth add bianhaifeng789-hue/openclaw-config collapse-utilsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Collapse Utils 消息折叠工具。
场景:
Claude Code 方案:collapseReadSearch.ts + 1100+ lines OpenClaw 飞书适配:Collapse utils + Message collapsing
function collapseBackgroundBashNotifications(
messages: RenderableMessage[],
verbose: boolean,
): RenderableMessage[] {
if (!isFullscreenEnvEnabled()) return messages
if (verbose) return messages
const result: RenderableMessage[] = []
let i = 0
while (i < messages.length) {
const msg = messages[i]!
if (isCompletedBackgroundBash(msg)) {
let count = 0
while (i < messages.length && isCompletedBackgroundBash(messages[i]!)) {
count++
i++
}
if (count === 1) {
result.push(msg)
} else {
// Synthesize task-notification
result.push({
...msg,
message: {
role: 'user',
content: [
{
type: 'text',
text: `<${TASK_NOTIFICATION_TAG}><${STATUS_TAG}>completed</${STATUS_TAG}><${SUMMARY_TAG}>${count} background commands completed</${SUMMARY_TAG}></${TASK_NOTIFICATION_TAG}>`,
},
],
},
})
}
} else {
result.push(msg)
i++
}
}
return result
}
function collapseHookSummaries(
messages: RenderableMessage[],
): RenderableMessage[] {
const result: RenderableMessage[] = []
let i = 0
while (i < messages.length) {
const msg = messages[i]!
if (isLabeledHookSummary(msg)) {
const label = msg.hookLabel
const group: SystemStopHookSummaryMessage[] = []
while (i < messages.length) {
const next = messages[i]!
if (!isLabeledHookSummary(next) || next.hookLabel !== label) break
group.push(next)
i++
}
if (group.length === 1) {
result.push(msg)
} else {
result.push({
...msg,
hookCount: group.reduce((sum, m) => sum + m.hookCount, 0),
hookInfos: group.flatMap(m => m.hookInfos),
hookErrors: group.flatMap(m => m.hookErrors),
preventedContinuation: group.some(m => m.preventedContinuation),
hasOutput: group.some(m => m.hasOutput),
totalDurationMs: Math.max(...group.map(m => m.totalDurationMs ?? 0)),
})
}
} else {
result.push(msg)
i++
}
}
return result
}
{
"config": {"wide_screen_mode": true},
"elements": [
{
"tag": "div",
"text": {
"tag": "lark_md",
"content": "**📦 Collapse Utils**\n\n---\n\n**Functions**:\n• collapseBackgroundBashNotifications() - Background bash\n• collapseHookSummaries() - Hook summaries\n• collapseTeammateShutdowns() - Teammate shutdowns\n\n---\n\n**Features**:\n• N background commands completed\n• Parallel tool calls grouping\n• Aggregation (hookCount/hookInfos/hookErrors)\n• Verbose mode pass-through"
}
}
]
}
// memory/collapse-utils-state.json
{
"stats": {
"totalCollapsed": 0,
"backgroundBashCollapsed": 0,
"hookSummariesCollapsed": 0
},
"lastUpdate": "2026-04-12T11:02:00Z",
"notes": "Collapse Utils Skill 创建完成。"
}
| Claude Code | OpenClaw 飞书场景 | |-------------|------------------| | collapseReadSearch.ts (1100+ lines) | Skill + Collapse | | collapseBackgroundBashNotifications() | Background bash | | collapseHookSummaries() | Hook summaries | | N completed | Aggregation |
此 Skill 在 message collapsing 时自动运行。
business
IAA 日报飞书输出能力。 支持把固定 CSV 模板一键转换成: - 中文运营结论 - 飞书卡片 JSON - 飞书发送载荷 Use when: - 需要把 IAA 日报直接发到飞书 - 需要从 CSV 一键生成运营日报
data-ai
IAA日报分析模型 功能: - 渠道日报自动分析 - 小时级+日级ROI联动判断 - 按地区输出加量/降量/停投建议 - 按产品类型输出阈值 - 自动识别利润区/观察区/止损区 Use when: - 分析每天投放数据 - 生成运营日报结论 - 判断是否加量/降量/停投 - 对比美加澳/日韩表现 Keywords: - 日报模型, 投放日报, 加量, 降量, 停投, ROI日报, 分地区分析
data-ai
IAA固定日报分析模板 功能: - 固定字段模板(可直接贴每天数据) - 自动输出总盘结论 - 自动输出美加澳/日韩结论 - 自动给出加量/降量/停投建议 - 适配文件修复/清理两类产品 Use when: - 需要固定日报格式 - 每天复盘渠道表现 - 给运营团队出统一结论 Keywords: - 固定模板, 日报模板, ROI模板, IAA日报, 运营模板
development
# HyperlinkPool Pattern Skill HyperlinkPool Pattern - HyperlinkPool class + strings array + stringMap + Index 0 no hyperlink + intern(hyperlink) + get(id) + undefined handling + 5-minute reset + OSC8 hyperlink interning。 ## 功能概述 从Claude Code的ink/screen.ts提取的HyperlinkPool模式,用于OpenClaw的OSC8超链接池管理。 ## 核心机制 ### HyperlinkPool Class ```typescript export class HyperlinkPool { private strings: string[] = [''] // Index 0 = no hyperlink private stringMap = new Map<string, number>() // strings