skills-experimental/advisor-command/SKILL.md
# Advisor Command Skill 顾问模型配置 - Feature-gated启用 + Model validation。 ## 功能概述 从Claude Code的advisor.ts提取的顾问模型模式,用于OpenClaw的辅助模型配置。 ## 核心机制 ### 命令结构 ```typescript { type: 'local', name: 'advisor', description: 'Configure the advisor model', argumentHint: '[<model>|off]', isEnabled: () => canUserConfigureAdvisor(), get isHidden() { return !canUserConfigureAdvisor() }, supportsNonInteractive: true, load: () => Promise.resolve({ call }) } ``` ### Feature-gated Visibility
npx skillsauth add bianhaifeng789-hue/openclaw-config skills-experimental/advisor-commandInstall 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.
顾问模型配置 - Feature-gated启用 + Model validation。
从Claude Code的advisor.ts提取的顾问模型模式,用于OpenClaw的辅助模型配置。
{
type: 'local',
name: 'advisor',
description: 'Configure the advisor model',
argumentHint: '[<model>|off]',
isEnabled: () => canUserConfigureAdvisor(),
get isHidden() {
return !canUserConfigureAdvisor()
},
supportsNonInteractive: true,
load: () => Promise.resolve({ call })
}
isEnabled: () => canUserConfigureAdvisor()
isHidden: !canUserConfigureAdvisor()
// 只在用户有权限时显示
// getter动态计算
const { valid, error } = await validateModel(resolvedModel)
if (!valid) {
return { type: 'text', value: `Invalid advisor model: ${error}` }
}
if (!isValidAdvisorModel(resolvedModel)) {
return { type: 'text', value: `${arg} cannot be used as an advisor` }
}
const baseModel = parseUserSpecifiedModel(context.getAppState().mainLoopModel)
if (!modelSupportsAdvisor(baseModel)) {
return `Advisor set to ${model}. Note: Current model (${baseModel}) does not support advisors.`
}
// 主模型不支持advisor时提示
context.setAppState(s => ({ ...s, advisorModel: normalizedModel }))
updateSettingsForSource('userSettings', { advisorModel: normalizedModel })
// 同时更新state和settings
if (arg === 'unset' || arg === 'off') {
const prev = context.getAppState().advisorModel
context.setAppState(s => ({ ...s, advisorModel: undefined }))
updateSettingsForSource('userSettings', { advisorModel: undefined })
return { type: 'text', value: `Advisor disabled (was ${prev}).` }
}
{
"advisorModel": "claude-opus-4-20250514",
"baseModel": "claude-sonnet-4-20250514",
"supportsAdvisor": true,
"isEnabled": true
}
context.setAppState(...)
updateSettingsForSource(...)
// state和settings同时更新
// 保证一致性
modelSupportsAdvisor(baseModel)
// 主模型支持检查
// 不支持时提示但允许设置
get isHidden() { return !canUserConfigureAdvisor() }
// getter动态计算
// 无权限时隐藏
commands/advisor.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