skills-experimental/environment-utils/SKILL.md
Environment utilities. getClaudeConfigHomeDir memoize + isEnvTruthy 4 values (1/true/yes/on) + isEnvDefinedFalsy 4 values (0/false/no/off) + isBareMode + parseEnvVars KEY=VALUE + getAWSRegion. Use when [environment utils] is needed.
npx skillsauth add bianhaifeng789-hue/openclaw-config environment-utilsInstall 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.
Environment Utils 环境变量工具。
场景:
Claude Code 方案:envUtils.ts + 184+ lines OpenClaw 飞书适配:Environment utils + Truthy check
const getClaudeConfigHomeDir = memoize(
(): string => {
return (
process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), '.claude')
).normalize('NFC')
},
() => process.env.CLAUDE_CONFIG_DIR,
)
function isEnvTruthy(envVar: string | boolean | undefined): boolean {
if (!envVar) return false
if (typeof envVar === 'boolean') return envVar
const normalizedValue = envVar.toLowerCase().trim()
return ['1', 'true', 'yes', 'on'].includes(normalizedValue)
}
function isEnvDefinedFalsy(envVar: string | boolean | undefined): boolean {
if (envVar === undefined) return false
if (typeof envVar === 'boolean') return !envVar
if (!envVar) return false
const normalizedValue = envVar.toLowerCase().trim()
return ['0', 'false', 'no', 'off'].includes(normalizedValue)
}
function isBareMode(): boolean {
return (
isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE) ||
process.argv.includes('--bare')
)
}
function parseEnvVars(rawEnvArgs: string[]): Record<string, string> {
const parsedEnv: Record<string, string> = {}
for (const envStr of rawEnvArgs) {
const [key, ...valueParts] = envStr.split('=')
if (!key || valueParts.length === 0) {
throw new Error(`Invalid format: ${envStr}`)
}
parsedEnv[key] = valueParts.join('=')
}
return parsedEnv
}
| Truthy | Falsy | |--------|-------| | 1 | 0 | | true | false | | yes | no | | on | off |
{
"config": {"wide_screen_mode": true},
"elements": [
{
"tag": "div",
"text": {
"tag": "lark_md",
"content": "**🌐 Environment Utils**\n\n---\n\n**Truthy Values**:1/true/yes/on\n**Falsy Values**:0/false/no/off\n\n---\n\n**Functions**:\n• getClaudeConfigHomeDir() - Config home\n• isEnvTruthy() - Truthy check\n• isEnvDefinedFalsy() - Falsy check\n• isBareMode() - Bare mode\n• parseEnvVars() - Parse KEY=VALUE\n\n---\n\n**Bare Mode**:\n• --bare flag\n• CLAUDE_CODE_SIMPLE\n• 30+ gates"
}
}
]
}
// memory/environment-utils-state.json
{
"configHome": "~/.claude",
"truthyValues": ["1", "true", "yes", "on"],
"falsyValues": ["0", "false", "no", "off"],
"stats": {
"totalChecks": 0
},
"lastUpdate": "2026-04-12T02:00:00Z",
"notes": "Environment Utils Skill 创建完成。"
}
| Claude Code | OpenClaw 飞书场景 | |-------------|------------------| | envUtils.ts (184+ lines) | Skill + Env | | isEnvTruthy() | 4 truthy values | | isEnvDefinedFalsy() | 4 falsy values | | getClaudeConfigHomeDir() | Memoize |
此 Skill 在 env check 时自动运行。
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