Agent Skills
› ai-shifu/ai-shifu
› interaction-user-input-defaults
interaction-user-input-defaults
GitHub规范交互输入状态的持久化与传递,将解析逻辑下沉至markdown-flow-ui以统一默认值渲染,避免业务代码重复实现。
Trigger Scenarios
需要同步交互式Markdown状态
需统一处理按钮或输入框默认值
Install
npx skills add ai-shifu/ai-shifu --skill interaction-user-input-defaults -g -y
SKILL.md
Frontmatter
{
"name": "interaction-user-input-defaults",
"description": "当 ai-shifu 与 markdown-flow-ui 之间需要同步交互式 markdown 状态时使用本技能。将原始 `user_input` 持久化在应用状态中,把 `userInput` 传给 `ContentRender` 或 `MarkdownFlow`,并让 markdown-flow-ui 负责推导按钮、输入框和已选项默认值,避免在业务代码重复解析。"
}
交互输入默认值(user_input)
核心规则
在应用层模型中以原始 user_input 保存交互状态,并向下传递给 markdown-flow-ui。
不要在业务代码中重复实现 user_input -> defaultButtonText/defaultInputText/defaultSelectedValues 的解析逻辑。
“是否重新生成”的判定必须基于最后一个真实业务 element(如 content/interaction),不能直接使用列表尾项;需要排除 LIKE_STATUS、ASK、loading 等辅助项。
工作流
- 当交互状态来自
OnSendContentParams时,只做一次转换,得到稳定的user_input字符串。 - 将该
user_input保存到聊天项或预览项。 - 通过带
userInput的ContentRender或MarkdownFlow渲染交互内容。 - 将仅业务相关的解析独立处理,例如课程反馈的评分/评语提取。
- 如果相同交互序列化逻辑在多个文件出现,把它抽到共享工具函数。
备注
- 优先提供共享序列化器,统一处理
selectedValues、inputText、buttonText。 - 让 markdown-flow-ui 负责按钮默认值、自由文本默认值、多选默认值的还原。
- 对课程反馈这类结构化负载,持久化的
user_input要可序列化,以便 UI 默认值稳定恢复。
Version History
- e65aa77 Current 2026-08-20 15:14


