skills-experimental/clustered-char-precompute/SKILL.md
# ClusteredChar Precompute Skill ClusteredChar Precompute - ClusteredChar type + precomputed width + styleId cached + hyperlink string + charCache session-lived + setCellAt hot loop optimization + StylePool interning。 ## 功能概述 从Claude Code的ink/output.ts提取的预计算优化模式,用于OpenClaw的终端渲染性能优化。 ## 核心机制 ### ClusteredChar Type ```typescript /** * A grapheme cluster with precomputed terminal width, styleId, and hyperlink. * Built once per unique line (cached via charCache), so the per-char hot loop *
npx skillsauth add bianhaifeng789-hue/openclaw-config skills-experimental/clustered-char-precomputeInstall 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.
ClusteredChar Precompute - ClusteredChar type + precomputed width + styleId cached + hyperlink string + charCache session-lived + setCellAt hot loop optimization + StylePool interning。
从Claude Code的ink/output.ts提取的预计算优化模式,用于OpenClaw的终端渲染性能优化。
/**
* A grapheme cluster with precomputed terminal width, styleId, and hyperlink.
* Built once per unique line (cached via charCache), so the per-char hot loop
* is just property reads + setCellAt — no stringWidth, no style interning,
* no hyperlink extraction per frame.
*/
type ClusteredChar = {
value: string
width: number // Precomputed terminal width
styleId: number // Cached style ID (StylePool session-lived)
hyperlink: string | undefined // OSC8 hyperlink URI
}
// Precomputed: width + styleId + hyperlink
// Cached per unique line
// Hot loop: property reads + setCellAt
width: number // Precomputed terminal width
// stringWidth computed once
// No per-frame stringWidth call
# Hot loop uses cached width
styleId: number // Cached style ID
// StylePool is session-lived (never reset)
// styleId safe to cache
# No per-frame style interning
hyperlink: string | undefined
// hyperlinkPool resets every 5 min
// Store as string (not interned ID)
// setCellAt interns per-frame (cheap Map.get)
// Hyperlink stored as string
// Per-frame intern by setCellAt
# 5-minute pool reset handled
// Built once per unique line (cached via charCache)
// charCache is session-lived
// Unique line: build once, reuse
# Per-line caching
// Per-char hot loop is just property reads + setCellAt
// No stringWidth, no style interning, no hyperlink extraction per frame
for (const char of clusteredChars) {
setCellAt(screen, x, y, char)
}
// Property reads only
// setCellAt call
# Zero extra computation
// StylePool is session-lived (never reset)
// styleId safe to cache: never invalidated
// Interning happens once
// Reuse across frames
// Session-lived StylePool
// styleId stable
# Safe to cache
{
"clusteredCharsCached": 150,
"uniqueLines": 50,
"stylePoolSize": 200
}
width + styleId + hyperlink → precompute → property reads → setCellAt
# 预计算hot loop所需数据
# 只读取property
# 调用setCellAt
# 无额外计算
StylePool session-lived → styleId stable → cache safe → never reset
# StylePool会话生命周期
# styleId稳定不变
# 可安全cache
# 从不reset
hyperlinkPool resets 5min → store string → per-frame intern → cheap Map.get
# hyperlinkPool每5分钟reset
# 存储string而非ID
# 每帧intern
# Map.get开销小
unique line → charCache → build once → reuse across frames
# 每unique line一次build
# charCache缓存
# 跨frame复用
ink/output.ts (797 lines)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