大模型应用
在技能工作流中声明自动触发钩子:让技能完成后按条件安全地串联…
当多个技能需要按完成、出错或会话起止等事件自动串联时,用声明式 hooks 元数据定义触发意图,并由宿主运行时按模式安全执行。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在技能工作流中声明自动触发钩子:让技能完通用
解决思路
- 在技能的 front matter 中添加 hooks 字段,支持 before_start、after_complete、on_error、on_progress 四类钩子。
- 每个钩子条目声明 trigger(目标技能名)、mode(auto/background/ask_first)、可选的 condition 和 context。
- 技能完成工作流后,先检查自身 front matter 中的 hooks 配置。
- 对每个钩子:若 mode: auto,仅在宿主运行时支持时记录或执行低风险后续动作。
- 若 mode: background,记录非阻塞的后续任务,不要静默修改持久化文件。
- 若 mode: ask_first,触发前先询问用户。
- 若存在 condition,先校验条件是否满足再触发。
- 触发时向目标技能传递相关 context(如 {feature_name}、{prd_file}、{pr_title}、{skill_name})。
- 在 PRD 创建链中:prd_complete 触发 self-improving-agent(background,条件为 PRD 文件存在且完整)和 session-logger(auto,context 为 "PRD created for {feature_name}");prd_implemented 触发 session-logger(auto,context 为 "Implemented PRD: {feature_name}")。
- 在实现链中:implementation_complete 触发 code-reviewer(ask_first,消息为 "Implementation complete. Run code review?")和 create-pr(ask_first,条件为 user_requested_submission)。
- 在会话管理中:session_start 自动触发 session-logger 的 create_session_file 动作;session_end 自动触发 session-logger 的 update_session_file 动作。
- 在错误纠正链中:on_error 触发 self-improving-agent(background,context 为 "Error occurred in {skill_name}")和 session-logger(auto,context 为 "Error captured for {skill_name}")。
- 为具体技能添加钩子示例:prd-planner 的 after_complete 触发 self-improving-agent(background,context 为 "PRD created at {prd_file}")和 session-logger(auto,context 为 "PRD creation complete");create-pr 的 after_complete 触发 session-logger(auto,context 为 "PR created: {pr_title}")。
- 注意 self-improving-agent 的 Claude failure hook 由 CLI adapter 安装,而非声明为可移植技能元数据;除非宿主适配器显式实现,hooks 示例仅为声明式意图,其他宿主应使用文档化适配器或手动捕获。
- 避免创建无限循环,确保触发链能够终止。
- 对 PR、部署和持久化文件变更等重大操作使用 mode: ask_first。
- 对非阻塞分析或提案产物使用 mode: background。
适用边界 · 注意事项
- 宿主运行时未显式支持 hooks 时,不要假设钩子会自动执行。
- 不要直接使用本技能本身,它只是触发意图的元数据文档。
- 不要在未校验 condition 或未询问用户的情况下触发重大操作(如 PR、部署、持久化文件修改)。