skills-experimental/argument-substitution/SKILL.md
Argument substitution for skill/command prompts. substituteArguments + parseArguments + parseArgumentNames + $ARGUMENTS/$ARGUMENTS[0]/$0/$foo named args + generateProgressiveArgumentHint + shell-quote parsing. Use when substituting arguments, binding parameters, or resolving placeholders.
npx skillsauth add bianhaifeng789-hue/openclaw-config argument-substitutionInstall 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.
Argument Substitution 参数替换工具。
场景:
Claude Code 方案:argumentSubstitution.ts + 180+ lines OpenClaw 飞书适配:Argument substitution + $ARGUMENTS
function parseArguments(args: string): string[] {
if (!args || !args.trim()) {
return []
}
// Use shell-quote for proper parsing
const result = tryParseShellCommand(args, key => `$${key}`)
if (!result.success) {
// Fall back to simple whitespace split
return args.split(/\s+/).filter(Boolean)
}
// Filter to only string tokens
return result.tokens.filter(
(token): token is string => typeof token === 'string',
)
}
function substituteArguments(
content: string,
args: string | undefined,
appendIfNoPlaceholder = true,
argumentNames: string[] = [],
): string {
if (args === undefined || args === null) {
return content
}
const parsedArgs = parseArguments(args)
const originalContent = content
// Replace named arguments ($foo, $bar)
for (let i = 0; i < argumentNames.length; i++) {
const name = argumentNames[i]
if (!name) continue
content = content.replace(
new RegExp(`\\$${name}(?![\\[\\w])`, 'g'),
parsedArgs[i] ?? '',
)
}
// Replace indexed arguments ($ARGUMENTS[0], $ARGUMENTS[1])
content = content.replace(/\$ARGUMENTS\[(\d+)\]/g, (_, indexStr: string) => {
const index = parseInt(indexStr, 10)
return parsedArgs[index] ?? ''
})
// Replace shorthand ($0, $1)
content = content.replace(/\$(\d+)(?!\w)/g, (_, indexStr: string) => {
const index = parseInt(indexStr, 10)
return parsedArgs[index] ?? ''
})
// Replace $ARGUMENTS
content = content.replaceAll('$ARGUMENTS', args)
// Append if no placeholder found
if (content === originalContent && appendIfNoPlaceholder && args) {
content = content + `\n\nARGUMENTS: ${args}`
}
return content
}
function generateProgressiveArgumentHint(
argNames: string[],
typedArgs: string[],
): string | undefined {
const remaining = argNames.slice(typedArgs.length)
if (remaining.length === 0) return undefined
return remaining.map(name => `[${name}]`).join(' ')
}
| Placeholder | Description | |-------------|-------------| | $ARGUMENTS | Full arguments string | | $ARGUMENTS[0] | First argument | | $ARGUMENTS[1] | Second argument | | $0 | Shorthand for $ARGUMENTS[0] | | $1 | Shorthand for $ARGUMENTS[1] | | $foo | Named argument |
{
"config": {"wide_screen_mode": true},
"elements": [
{
"tag": "div",
"text": {
"tag": "lark_md",
"content": "**💬 Argument Substitution**\n\n---\n\n**Functions**:\n• parseArguments() - Shell-quote parsing\n• substituteArguments() - Substitute placeholders\n• generateProgressiveArgumentHint() - Hint\n\n---\n\n**Placeholders**:\n• $ARGUMENTS - Full string\n• $ARGUMENTS[0] - Indexed\n• $0 - Shorthand\n• $foo - Named\n\n---\n\n**Features**:\n• Shell-quote parsing\n• Named argument support\n• Progressive hints"
}
}
]
}
// memory/argument-substitution-state.json
{
"stats": {
"totalSubstitutions": 0,
"totalParsed": 0
},
"lastUpdate": "2026-04-12T10:52:00Z",
"notes": "Argument Substitution Skill 创建完成。"
}
| Claude Code | OpenClaw 飞书场景 | |-------------|------------------| | argumentSubstitution.ts (180+ lines) | Skill + Arguments | | substituteArguments() | Substitution | | $ARGUMENTS[0] | Indexed | | Named args | $foo |
此 Skill 在 argument substitution 时自动运行。
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