skills-experimental/display-tags-stripper/SKILL.md
# Display Tags Stripper Skill **优先级**: P29 **来源**: Claude Code `displayTags.ts` **适用场景**: 飞书卡片标题、XML标签剥离 --- ## 概述 Display Tags Stripper从文本中剥离XML-like标签块,用于UI标题显示。只匹配小写标签名,大写标签(JSX/HTML)保留。可用于飞书卡片标题显示。 --- ## 核心功能 ### 1. XML标签剥离 ```typescript // 匹配任何XML-like <tag>...</tag>块 const XML_TAG_BLOCK_PATTERN = /<([a-z][\w-]*)(?:\s[^>]*)?>[\s\S]*?<\/\1>\n?/g export function stripDisplayTags(text: string): string { const result = text.replace(XML_TAG_BLOCK_PATTERN, '').trim() return result |
npx skillsauth add bianhaifeng789-hue/openclaw-config skills-experimental/display-tags-stripperInstall 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.
优先级: P29
来源: Claude Code displayTags.ts
适用场景: 飞书卡片标题、XML标签剥离
Display Tags Stripper从文本中剥离XML-like标签块,用于UI标题显示。只匹配小写标签名,大写标签(JSX/HTML)保留。可用于飞书卡片标题显示。
// 匹配任何XML-like <tag>...</tag>块
const XML_TAG_BLOCK_PATTERN = /<([a-z][\w-]*)(?:\s[^>]*)?>[\s\S]*?<\/\1>\n?/g
export function stripDisplayTags(text: string): string {
const result = text.replace(XML_TAG_BLOCK_PATTERN, '').trim()
return result || text // 如果剥离后为空,返回原文本
}
export function stripDisplayTagsAllowEmpty(text: string): string {
return text.replace(XML_TAG_BLOCK_PATTERN, '').trim()
}
const IDE_CONTEXT_TAGS_PATTERN =
/<(ide_opened_file|ide_selection)(?:\s[^>]*)?>[\s\S]*?<\/\1>\n?/g
export function stripIdeContextTags(text: string): string {
return text.replace(IDE_CONTEXT_TAGS_PATTERN, '').trim()
}
// 只匹配小写标签名 [a-z][\w-]*
// 大写标签(JSX/HTML)保留:
// - <Button>layout</Button> → 保留
// - <!DOCTYPE html> → 保留
// - <div>content</div> → 剥离(小写)
// 非贪婪body + backreference闭合标签
// 保持相邻块分离
// 未配对尖括号 ("x < y") 不匹配
// 飞书卡片标题显示
const rawTitle = message.content
const displayTitle = stripDisplayTags(rawTitle)
// 示例:
// 输入: "<ide_opened_file>/src/index.ts</ide_opened_file>Fix bug"
// 输出: "Fix bug"
// 飞书卡片标题配置
{
"header": {
"title": {
"tag": "plain_text",
"content": displayTitle
}
}
}
// OpenClaw扩展:飞书专用标签
const OPENCLAW_TAGS = [
'feishu_card',
'feishu_notification',
'feishu_progress',
'ide_opened_file',
'ide_selection'
]
export function stripOpenClawTags(text: string): string {
// 剥离飞书专用标签
return stripDisplayTags(text)
}
{
"skill": "display-tags-stripper",
"priority": "P29",
"source": "displayTags.ts",
"enabled": true,
"pattern": "<([a-z][\\w-]*)(?:\\s[^>]*)?>[\\s\\S]*?<\\/\\1>\\n?",
"strippedCount": 0,
"lastInput": null,
"createdAt": "2026-04-12T13:00:00Z"
}
displayTags.tsbusiness
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