skills-experimental/glob-tool/SKILL.md
# Glob Tool Skill 文件查找工具 - Truncated flag + Duration tracking + Path relativize。 ## 功能概述 从Claude Code的GlobTool提取的glob模式,用于OpenClaw的文件查找。 ## 核心机制 ### Truncated Flag ```typescript const limit = globLimits?.maxResults ?? 100 const { files, truncated } = await glob(input.pattern, path, { limit, offset: 0 }) return { filenames, truncated, // true if > 100 ... } // 默认100结果限制 // truncated=true表示有更多 ``` ### Duration Tracking ```typescript const start = Date.now() const { files, truncated
npx skillsauth add bianhaifeng789-hue/openclaw-config skills-experimental/glob-toolInstall 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.
文件查找工具 - Truncated flag + Duration tracking + Path relativize。
从Claude Code的GlobTool提取的glob模式,用于OpenClaw的文件查找。
const limit = globLimits?.maxResults ?? 100
const { files, truncated } = await glob(input.pattern, path, { limit, offset: 0 })
return {
filenames,
truncated, // true if > 100
...
}
// 默认100结果限制
// truncated=true表示有更多
const start = Date.now()
const { files, truncated } = await glob(...)
const output: Output = {
filenames,
durationMs: Date.now() - start, // 执行时间
numFiles: filenames.length,
truncated
}
// 记录搜索耗时
// 用于性能分析
const filenames = files.map(toRelativePath)
// Absolute → Relative
// 节省tokens
// 与GrepTool一致
z.object({
durationMs: z.number().describe('Time in milliseconds'),
numFiles: z.number().describe('Total number of files'),
filenames: z.array(z.string()).describe('Matching file paths'),
truncated: z.boolean().describe('Whether limited to 100 files')
})
// 包含truncated flag
// 用户知道是否需要缩小pattern
if (output.filenames.length === 0) {
return { content: 'No files found' }
}
return {
content: [
...output.filenames,
...(output.truncated ? ['(Results are truncated. Consider using a more specific path or pattern.)'] : [])
].join('\n')
}
// 空结果友好提示
// truncated给出指导
if (path) {
const stats = await fs.stat(absolutePath)
if (!stats.isDirectory()) {
return { result: false, message: 'Path is not a directory', errorCode: 2 }
}
}
// 确保path是目录
// 防止错误glob
{
"pattern": "*.ts",
"numFiles": 15,
"durationMs": 12,
"truncated": false,
"relativized": true
}
limit=100 → truncated=true → "Consider more specific pattern"
// 用户知道有更多结果
// 提供改进建议
start → glob → Date.now() - start
// 简单耗时追踪
// 性能分析数据
Absolute paths → toRelativePath → save tokens
// 与GrepTool一致
// Context优化
tools/GlobTool/GlobTool.ts (4KB)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