skills-experimental/ask-user-question/SKILL.md
Ask users multiple choice questions via Feishu interactive cards. Use when: gathering preferences, clarifying ambiguity, making decisions, offering choices.
npx skillsauth add bianhaifeng789-hue/openclaw-config ask-user-questionInstall 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.
飞书交互卡片多选题,收集用户偏好、澄清模糊、提供选择。
场景:
Claude Code 方案:AskUserQuestionTool + Ink 终端 UI OpenClaw 飞书适配:飞书交互卡片 + 按钮回调
{
"config": {"wide_screen_mode": true},
"elements": [
{
"tag": "div",
"text": {
"tag": "lark_md",
"content": "**❓ 请选择**\n\n**问题**:你想要哪种认证方案?\n\n**选项**:"
}
},
{
"tag": "action",
"actions": [
{
"tag": "button",
"text": {"tag": "plain_text", "content": "JWT(推荐)"},
"type": "primary",
"value": {"option": "jwt", "questionId": "auth-method"}
},
{
"tag": "button",
"text": {"tag": "plain_text", "content": "Session"},
"type": "default",
"value": {"option": "session", "questionId": "auth-method"}
},
{
"tag": "button",
"text": {"tag": "plain_text", "content": "OAuth"},
"type": "default",
"value": {"option": "oauth", "questionId": "auth-method"}
}
]
},
{
"tag": "note",
"elements": [
{"tag": "plain_text", "content": "点击按钮选择,或回复其他方案"}
]
}
]
}
{
"config": {"wide_screen_mode": true},
"elements": [
{
"tag": "div",
"text": {
"tag": "lark_md",
"content": "**❓ 请选择(可多选)**\n\n**问题**:你希望包含哪些功能?\n\n**选项**:"
}
},
{
"tag": "action",
"actions": [
{
"tag": "button",
"text": {"tag": "plain_text", "content": "✓ 登录"},
"type": "primary",
"value": {"option": "login", "multi": true, "questionId": "features"}
},
{
"tag": "button",
"text": {"tag": "plain_text", "content": "✓ 注册"},
"type": "primary",
"value": {"option": "register", "multi": true, "questionId": "features"}
},
{
"tag": "button",
"text": {"tag": "plain_text", "content": "✓ 密码重置"},
"type": "default",
"value": {"option": "reset", "multi": true, "questionId": "features"}
}
]
},
{
"tag": "action",
"actions": [
{
"tag": "button",
"text": {"tag": "plain_text", "content": "确认选择"},
"type": "primary",
"value": {"action": "confirm_multi", "questionId": "features"}
}
]
}
]
}
用户:帮我实现认证系统
Agent:
→ 发现多种方案可选
→ 发送飞书卡片:
❓ 请选择认证方案
JWT(推荐)- 无状态,适合分布式
Session - 传统,适合单体
OAuth - 第三方登录
[JWT] [Session] [OAuth]
→ 等待用户点击
→ 根据选择执行
用户:帮我优化这个函数
Agent:
→ 不清楚优化目标(性能?可读性?安全性?)
→ 发送飞书卡片:
❓ 你想优化什么方面?
性能(推荐)- 提升执行速度
可读性 - 改善代码结构
安全性 - 增强防护
全部 - 综合优化
→ 用户选择"性能"
→ 执行性能优化
Agent:
→ 发现用户偏好未记录
→ 发送飞书卡片:
❓ 你喜欢什么样的回复风格?
简洁(推荐)- 直接给出结果
详细 - 包含分析和过程
互动 - 询问确认后再执行
→ 用户选择"简洁"
→ 更新 MEMORY.md User Profile
触发条件:
Agent:
1. 分析可用选项
2. 推荐最佳选项(标记"推荐")
3. 生成飞书卡片 JSON
4. 发送卡片
5. 等待用户响应
飞书按钮回调:
用户点击按钮 → 飞书发送回调 → Agent 解析 → 执行对应操作
用户文字回复:
用户回复文字 → Agent 解析意图 → 作为"Other"选项处理
// memory/question-state.json
{
"pendingQuestions": [
{
"id": "auth-method",
"question": "选择认证方案",
"options": ["jwt", "session", "oauth"],
"multiSelect": false,
"createdAt": "2026-04-11T23:00:00Z",
"expiresAt": "2026-04-11T23:30:00Z"
}
],
"answeredQuestions": [
{
"id": "features",
"question": "包含哪些功能",
"selected": ["login", "register"],
"answeredAt": "2026-04-11T22:00:00Z"
}
],
"stats": {
"questionsAsked": 0,
"questionsAnswered": 0
}
}
| Claude Code | OpenClaw 飞书场景 | |-------------|------------------| | AskUserQuestionTool | message tool + card | | Ink 终端 UI | 飞书交互卡片 | | 键盘输入选择 | 按钮点击 | | preview 字段(ASCII mockup) | 飞书卡片预览 | | 单选/多选 | 飞书按钮组 |
此 Skill 在检测到多种方案可选或模糊指令时自动触发。
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