skills-experimental/bash-tool/SKILL.md
# Bash Tool Skill Shell执行工具 - Search/Read分类 + Sandbox + Permission rules。 ## 功能概述 从Claude Code的BashTool.tsx提取的shell执行模式,用于OpenClaw的命令执行。 ## 核心机制 ### Command Classification ```typescript const BASH_SEARCH_COMMANDS = new Set(['find', 'grep', 'rg', 'ag', 'ack']) const BASH_READ_COMMANDS = new Set(['cat', 'head', 'tail', 'less', 'wc', 'jq']) const BASH_LIST_COMMANDS = new Set(['ls', 'tree', 'du']) const BASH_SILENT_COMMANDS = new Set(['mv', 'cp', 'rm', 'mkdir', 'chmod']) export function isSea
npx skillsauth add bianhaifeng789-hue/openclaw-config skills-experimental/bash-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.
Shell执行工具 - Search/Read分类 + Sandbox + Permission rules。
从Claude Code的BashTool.tsx提取的shell执行模式,用于OpenClaw的命令执行。
const BASH_SEARCH_COMMANDS = new Set(['find', 'grep', 'rg', 'ag', 'ack'])
const BASH_READ_COMMANDS = new Set(['cat', 'head', 'tail', 'less', 'wc', 'jq'])
const BASH_LIST_COMMANDS = new Set(['ls', 'tree', 'du'])
const BASH_SILENT_COMMANDS = new Set(['mv', 'cp', 'rm', 'mkdir', 'chmod'])
export function isSearchOrReadBashCommand(command): {
isSearch: boolean, isRead: boolean, isList: boolean
}
// 命令分类 → UI collapsing决策
// For pipelines, ALL parts must be search/read
// Semantic-neutral commands (echo, printf) skipped
partsWithOperators = splitCommandWithOperators(command)
// 分析compound和pipeline命令
bashToolHasPermission(command, permissionContext)
// Wildcard patterns: Bash(git:*), Bash(rm:*)
// Prefix matching
if (shouldUseSandbox(command, context)) {
const sandboxManager = new SandboxManager()
result = await exec(command, { sandbox: sandboxManager })
}
// 安全命令在sandbox中执行
const timeoutMs = getDefaultTimeoutMs(command) // 基于命令类型
const maxTimeoutMs = getMaxTimeoutMs() // 系统上限
// Assistant mode: auto-background after 15s
const ASSISTANT_BLOCKING_BUDGET_MS = 15_000
if (isBackground) {
const taskId = await spawnShellTask(command, context)
registerForeground(taskId)
// 长时间任务后台执行
}
{
"command": "git status",
"classification": { "isSearch": false, "isRead": true },
"sandbox": false,
"timeoutMs": 30000
}
Search → collapsible search section
Read → collapsible read section
List → collapsible list section
Silent → minimal display
// 分类决定UI显示
ALL parts must match classification
// cat file | grep → not collapsible (mixed)
// cat file | jq → collapsible (both read)
Simple commands: short timeout
Complex commands: longer timeout
// 基于命令类型调整
tools/BashTool/BashTool.tsx (50KB+)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