[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70FW82PMVFCE1EPJD4A949D":3,"skill-same:01M70FW82PMVFCE1EPJD4A949D":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M70FW82PMVFCE1EPJD4A949D","reaction-action-protocol",null,"Reaction quick-reply 信号统一协议——✅\u002F👉\u002F🚀\u002F🔄\u002F✋\u002F👀 六个 reaction（以及对应文字打「收工 \u002F 继续 \u002F 派吧 \u002F 换条思路 \u002F 先停一下 \u002F 展开看看」）触发后的语义解读 + 动作链。✅ 收工含完整 SOP（自测 → commit → 清过程产物 → 报告）。Use when reaction inject 触发 \u002F 用户文字命中其中关键词 \u002F 多步任务自评估走收尾 \u002F cron 自动 wrap-up。🔥 rerun 不在此 skill 范围（adapter 硬编码）。","KarryViber\u002FOrb","KarryViber","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F223777671?v=4","01M70FTGZ485AP97T3CJCYW1Z2","Karryz","01M70FTGZRWF3FEQBYZ3JWTSPR",66,"MIT","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Freaction-action-protocol\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"protocol","reaction action protocol","action","关键词","文字","wrap-up","sop","use","up","reply","wrap","adapter","评估","quick","cron","报告","rerun","when","commit","2026-11-10 10:12:30",false,"---\nname: reaction-action-protocol\ndescription: Reaction quick-reply 信号统一协议——✅\u002F👉\u002F🚀\u002F🔄\u002F✋\u002F👀 六个 reaction（以及对应文字打「收工 \u002F 继续 \u002F 派吧 \u002F 换条思路 \u002F 先停一下 \u002F 展开看看」）触发后的语义解读 + 动作链。✅ 收工含完整 SOP（自测 → commit → 清过程产物 → 报告）。Use when reaction inject 触发 \u002F 用户文字命中其中关键词 \u002F 多步任务自评估走收尾 \u002F cron 自动 wrap-up。🔥 rerun 不在此 skill 范围（adapter 硬编码）。\n---\n\n## 触发机制\n\n对 bot 消息（Orb 最后一条回复）打 reaction，等价于在 thread 发同名文字指令——adapter 自动转 inject 注入 worker：\n\n| Reaction | Slack name | 等价文字 |\n|---|---|---|\n| ✅ | `white_check_mark` | 收工 |\n| 👉 | `point_right` | 继续 |\n| 🚀 | `rocket` | 派吧，干 |\n| 🔄 | `arrows_counterclockwise` | 换条思路 |\n| ✋ | `hand` | 先停一下 |\n| 👀 | `eyes` | 展开看看 |\n| 🔥 | `fire` | rerun（effort:xhigh，单独路径） |\n\n对**非 bot 消息**的 reaction 被静默忽略；同一 reaction 30s 内去重。\n\n## 触发场景\n\n任意以下条件命中即召回：\n\n- ✅\u002F👉\u002F🚀\u002F🔄\u002F✋\u002F👀 reaction 触发的 inject 文本\n- 用户文字消息含「收工 \u002F 闭包 \u002F wrap up \u002F 继续 \u002F 派吧 \u002F 干 \u002F 全做 \u002F 换条思路 \u002F 换方向 \u002F 先停 \u002F 等等 \u002F 展开看看 \u002F 细看」\n- 多步任务自评估完成时主动确认走哪条信号\n- cron 自动 wrap-up 流程\n\n## 信号 → 动作\n\n### ✅ 「收工」— 完整 SOP\n\n**Step 1: 自测**\n- 改动涉及 src\u002F 或脚本：跑 `node -c \u003Cfile>` \u002F `python3 -c \"import \u003Cmodule>\"` 至少做语法校验\n- 涉及测试套件：跑 `npm test` 或对应 `pytest`，确认无 regression\n- 改动涉及 cron \u002F handler：smoke 跑一次 dry-run 验证不空跑、不报错\n- 改动涉及对客文档 \u002F 交付物：lint（jp-lint 等 skill）走一遍\n\n**Step 2: Commit**\n- `git status` + `git diff --cached --stat` 先审 staged 内容，**避免混 scope**\n- 只 `git add \u003C明确文件>`，不用 `git add -A` 或 `git add .`\n- 受保护路径（src\u002F** \u002F .claude\u002Fskills\u002F** \u002F package.json \u002F config.json \u002F start.sh）必须 `ORB_BOUNDARY_OVERRIDE=1 git commit ...`\n- commit message 走 commit-lineage 规范（带 spec \u002F lesson \u002F 决策原文锚点）\n- 不主动 push 到 remote\n\n**Step 3: 清过程产物**\n\n| 类别 | 典型路径 | 处理 |\n|---|---|---|\n| 临时 spec | `specs\u002F\u003Cname>.md` 已落地的 | mv 到 `specs\u002F_archive\u002F\u003CYYYY-MM>\u002F` |\n| Debug 输出 | `\u002Ftmp\u002F*.log`, console.log \u002F print 调试代码 | rm tmp 文件 \u002F git diff 检查未删 debug print |\n| Dry-run 输出 | `*-DRYRUN.md`, `*.dry-run.json` | 评估归档或 rm |\n| 中间 patch | `*.patch`, `*.diff`, `git stash` 残留 | rm \u002F `git stash drop` |\n| 测试报告 | `audit-reports\u002F`, `*.report.json` 临时态 | 评估归档或 rm |\n| 备份文件 | `*.bak`, `*.last`, `*.legacy` sibling | **先 grep 源码确认无运行时引用**再 rm |\n\n**Step 4: 报告**\n```\n✅ 收工\n- commits: \u003Chash1> \u003Chash2> ...\n- 自测: \u003C跑了什么 \u002F 结果>\n- 清理: \u003C清掉的文件清单 \u002F 归档路径>\n- 残留: \u003C主动留下的产物 + 原因>\n```\n\n### 👉 「继续」— 推进信号\n\n- 默认推进到 worker 上一句明示 \u002F 暗示的「下一步」\n- 上下文存在 ≥2 个候选下一步且无明显默认时，**简短一句**问清，不要列长选项\n- 不重新规划，不扩展任务范围\n\n### 🚀 「派吧 \u002F 干」— 批量放权信号\n\n- 命中 askuserquestion-triggers 的批量放权关键词，触发 done 标准前置 AUQ\n- done 标准已显式给出（包括上下文中已对齐）→ 直接派 codex \u002F 起 spec \u002F 批量执行\n- done 标准歧义 → 主动 AUQ 推 2-3 个候选 done 标准，等 Karry 一键点选再动\n- 派 codex 时 spec 必含 `## 执行` 段标 turn 预算（详见执行纪律）\n\n### 🔄 「换条思路」— 框架级重审\n\n- 不是调参——重新审框架\u002F方案\n- 先 SOTU 当前判断的 3 个隐含假设，再换思路\n- 给 ≥2 个新候选方向，不是只翻面一个\n\n### ✋ 「先停一下」— 暂停信号\n\n- 立刻停手，不再推进任何动作\n- 用 scratchpad-append.py 记当前状态：已做 \u002F 待做 \u002F 卡点 \u002F 关键中间结论\n- 等 Karry 指示，不主动猜下一步\n\n### 👀 「展开看看」— 细节展开\n\n- 出当前最近一段的细节 \u002F 证据 \u002F 反例\n- 聚焦 Karry 当前关注的 1-2 个点，不要把所有信息倾倒\n- 已展开过的内容不重复\n\n### 🔥 rerun — 不在此 skill 范围\n\n- 行为已硬编码在 adapter（强制 fork + effort:xhigh）\n- 不召回此 skill，纯 worker 复跑\n\n## Gotchas\n\n- **混 scope commit**：codex \u002F 外部 session 跑完后 `git diff --cached --stat` 必查，多文件 staged 时不要直接 commit\n- **备份文件别乱删**：`.bak \u002F .last \u002F .legacy \u002F .archive` 类 sibling 文件清理前必须 `grep -rn $(basename) src\u002F`，框架级 fallback 常用此命名\n- **受保护路径 commit 不要默认走 override**：先确认改动属于该 commit 合理 scope\n- **不主动 push**：收工 ≠ push，push 是用户显式动作\n- **真验证 vs `exit 0`**：脚本 exit 0 ≠ 事情做对了，视觉\u002F状态产物（pptx \u002F pdf \u002F UI）必须 thumbnail \u002F pdftotext \u002F 截图二次校验\n- **「派吧」不等于「不用确认」**：done 标准歧义时仍要 AUQ 前置，零打字 ack 不是绕过对齐\n\n## 失败处理\n\n- 自测失败 → 不 commit，把失败信息原样报，等指示\n- commit hook 拒绝 → 不要 `--no-verify` 绕过，看是不是 boundary guard，按规则补 override\n- 清理时不确定文件用途 → 跳过该项，列在残留里说明，等用户拍\n\n## 相关 skill\n\n- `commit-lineage`：commit message 锚点要求\n- `verification-before-completion`：completion 前的证据要求\n- `change-blast-radius-check`：删除 \u002F 重命名前的全维度 grep\n- `askuserquestion-triggers`：🚀 派吧的 done 标准 AUQ 触发条件\n","## 触发机制\n\n对 bot 消息（Orb 最后一条回复）打 reaction，等价于在 thread 发同名文字指令——adapter 自动转 inject 注入 worker：\n\n| Reaction | Slack name | 等价文字 |\n|---|---|---|\n| ✅ | `white_check_mark` | 收工 |\n| 👉 | `point_right` | 继续 |\n| 🚀 | `rocket` | 派吧，干 |\n| 🔄 | `arrows_counterclockwise` | 换条思路 |\n| ✋ | `hand` | 先停一下 |\n| 👀 | `eyes` | 展开看看 |\n| 🔥 | `fire` | rerun（effort:xhigh，单独路径） |\n\n对**非 bot 消息**的 reaction 被静默忽略；同一 reaction 30s 内去重。\n\n## 触发场景\n\n任意以下条件命中即召回：\n\n- ✅\u002F👉\u002F🚀\u002F🔄\u002F✋\u002F👀 reaction 触发的 inject 文本\n- 用户文字消息含「收工 \u002F 闭包 \u002F wrap up \u002F 继续 \u002F 派吧 \u002F 干 \u002F 全做 \u002F 换条思路 \u002F 换方向 \u002F 先停 \u002F 等等 \u002F 展开看看 \u002F 细看」\n- 多步任务自评估完成时主动确认走哪条信号\n- cron 自动 wrap-up 流程\n\n## 信号 → 动作\n\n### ✅ 「收工」— 完整 SOP\n\n**Step 1: 自测**\n- 改动涉及 src\u002F 或脚本：跑 `node -c \u003Cfile>` \u002F `python3 -c \"import \u003Cmodule>\"` 至少做语法校验\n- 涉及测试套件：跑 `npm test` 或对应 `pytest`，确认无 regression\n- 改动涉及 cron \u002F handler：smoke 跑一次 dry-run 验证不空跑、不报错\n- 改动涉及对客文档 \u002F 交付物：lint（jp-lint 等 skill）走一遍\n\n**Step 2: Commit**\n- `git status` + `git diff --cached --stat` 先审 staged 内容，**避免混 scope**\n- 只 `git add \u003C明确文件>`，不用 `git add -A` 或 `git add .`\n- 受保护路径（src\u002F** \u002F .claude\u002Fskills\u002F** \u002F package.json \u002F config.json \u002F start.sh）必须 `ORB_BOUNDARY_OVERRIDE=1 git commit ...`\n- commit message 走 commit-lineage 规范（带 spec \u002F lesson \u002F 决策原文锚点）\n- 不主动 push 到 remote\n\n**Step 3: 清过程产物**\n\n| 类别 | 典型路径 | 处理 |\n|---|---|---|\n| 临时 spec | `specs\u002F\u003Cname>.md` 已落地的 | mv 到 `specs\u002F_archive\u002F\u003CYYYY-MM>\u002F` |\n| Debug 输出 | `\u002Ftmp\u002F*.log`, console.log \u002F print 调试代码 | rm tmp 文件 \u002F git diff 检查未删 debug print |\n| Dry-run 输出 | `*-DRYRUN.md`, `*.dry-run.json` | 评估归档或 rm |\n| 中间 patch | `*.patch`, `*.diff`, `git stash` 残留 | rm \u002F `git stash drop` |\n| 测试报告 | `audit-reports\u002F`, `*.report.json` 临时态 | 评估归档或 rm |\n| 备份文件 | `*.bak`, `*.last`, `*.legacy` sibling | **先 grep 源码确认无运行时引用**再 rm |\n\n**Step 4: 报告**\n```\n✅ 收工\n- commits: \u003Chash1> \u003Chash2> ...\n- 自测: \u003C跑了什么 \u002F 结果>\n- 清理: \u003C清掉的文件清单 \u002F 归档路径>\n- 残留: \u003C主动留下的产物 + 原因>\n```\n\n### 👉 「继续」— 推进信号\n\n- 默认推进到 worker 上一句明示 \u002F 暗示的「下一步」\n- 上下文存在 ≥2 个候选下一步且无明显默认时，**简短一句**问清，不要列长选项\n- 不重新规划，不扩展任务范围\n\n### 🚀 「派吧 \u002F 干」— 批量放权信号\n\n- 命中 askuserquestion-triggers 的批量放权关键词，触发 done 标准前置 AUQ\n- done 标准已显式给出（包括上下文中已对齐）→ 直接派 codex \u002F 起 spec \u002F 批量执行\n- done 标准歧义 → 主动 AUQ 推 2-3 个候选 done 标准，等 Karry 一键点选再动\n- 派 codex 时 spec 必含 `## 执行` 段标 turn 预算（详见执行纪律）\n\n### 🔄 「换条思路」— 框架级重审\n\n- 不是调参——重新审框架\u002F方案\n- 先 SOTU 当前判断的 3 个隐含假设，再换思路\n- 给 ≥2 个新候选方向，不是只翻面一个\n\n### ✋ 「先停一下」— 暂停信号\n\n- 立刻停手，不再推进任何动作\n- 用 scratchpad-append.py 记当前状态：已做 \u002F 待做 \u002F 卡点 \u002F 关键中间结论\n- 等 Karry 指示，不主动猜下一步\n\n### 👀 「展开看看」— 细节展开\n\n- 出当前最近一段的细节 \u002F 证据 \u002F 反例\n- 聚焦 Karry 当前关注的 1-2 个点，不要把所有信息倾倒\n- 已展开过的内容不重复\n\n### 🔥 rerun — 不在此 skill 范围\n\n- 行为已硬编码在 adapter（强制 fork + effort:xhigh）\n- 不召回此 skill，纯 worker 复跑\n\n## Gotchas\n\n- **混 scope commit**：codex \u002F 外部 session 跑完后 `git diff --cached --stat` 必查，多文件 staged 时不要直接 commit\n- **备份文件别乱删**：`.bak \u002F .last \u002F .legacy \u002F .archive` 类 sibling 文件清理前必须 `grep -rn $(basename) src\u002F`，框架级 fallback 常用此命名\n- **受保护路径 commit 不要默认走 override**：先确认改动属于该 commit 合理 scope\n- **不主动 push**：收工 ≠ push，push 是用户显式动作\n- **真验证 vs `exit 0`**：脚本 exit 0 ≠ 事情做对了，视觉\u002F状态产物（pptx \u002F pdf \u002F UI）必须 thumbnail \u002F pdftotext \u002F 截图二次校验\n- **「派吧」不等于「不用确认」**：done 标准歧义时仍要 AUQ 前置，零打字 ack 不是绕过对齐\n\n## 失败处理\n\n- 自测失败 → 不 commit，把失败信息原样报，等指示\n- commit hook 拒绝 → 不要 `--no-verify` 绕过，看是不是 boundary guard，按规则补 override\n- 清理时不确定文件用途 → 跳过该项，列在残留里说明，等用户拍\n\n## 相关 skill\n\n- `commit-lineage`：commit message 锚点要求\n- `verification-before-completion`：completion 前的证据要求\n- `change-blast-radius-check`：删除 \u002F 重命名前的全维度 grep\n- `askuserquestion-triggers`：🚀 派吧的 done 标准 AUQ 触发条件\n",{"name":5,"description":7},"main","cb33813b8990e4602b7c2d501659f77ebba5999f","profiles\u002F.claude\u002Fskills\u002Freaction-action-protocol",8,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb","https:\u002F\u002Fgithub.com\u002FKarryViber","2026-05-14 18:44:03",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add KarryViber\u002FOrb --skill reaction-action-protocol",{"tool":61,"command":62},"bunx","bunx skills add KarryViber\u002FOrb --skill reaction-action-protocol",{"tool":64,"command":65},"pnpm","pnpm dlx skills add KarryViber\u002FOrb --skill reaction-action-protocol","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Freaction-action-protocol\u002FSKILL.md",true,[],[70,102,117,140,157,170],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":74,"licenseFileUrl":75,"sourceHtmlUrl":76,"categories":77,"keywords":84,"publishedAt":43},"01M70G0637CFCHAY3DYTMYS07K","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[78,81],{"categoryNo":79,"categoryName":80,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":82,"categoryName":83,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],"webapp","testing","webapp testing","playwright","screenshots","ui","behavior","web","for","with","browser","logs","toolkit","debugging","frontend","local","applications",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":43},"01M70FZXCJ5AHJ3JW2Q12F04TA","vendor-doc-actionability","对外合作文档（交付文档 \u002F POC 文档 \u002F Solution Doc \u002F 提案书）必须为每个「需对方执行」的动作写清具体操作入口（URL \u002F 工单系统 \u002F 脚本路径 \u002F 联系人 + 联系方式 \u002F 步骤编号）。Use when 给客户、vendor、合作方写交付文档、POC 文档、Solution Doc、提案书；或检视已有对外文档是否抽象到无法执行。","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fvendor-doc-actionability\u002FSKILL.md",[],[109,110,111,112,113,31,114,41,115,116],"vendor","doc","vendor doc actionability","poc","文档","提案","URL","user",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":131,"publishedAt":43},"01M70FZARY5P7VRJKVFATTCVX9","vendor-api-param-validation","第三方 API \u002F SDK 集成开工前，强制先列参数 checklist 并对照官方文档逐项验证（名称 \u002F 类型 \u002F 必填 \u002F 默认 \u002F 上限），通过后再编码——不是「写完再调通」。Use when 新接 vendor API\u002FSDK（Slack \u002F LongPort \u002F freee \u002F LLM API 等）、既有集成追加新 endpoint 或新字段、用户说「调通某接口」「接入 X」「集成 X」。","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fvendor-api-param-validation\u002FSKILL.md",[123,126],{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[132,133,109,134,135,136,137,113,138,31,41,116,139],"vendor api param validation","validation","api","slack","sdk","llm api","checklist","endpoint",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":43},"01M70FYW81TRN7VAS8WTN08STH","truth-ladder","状态放行三层阶梯（attempted \u002F observed \u002F confirmed）—— 汇报任务、API、命令、消息或外部动作状态时强制分层，避免把\"动作已发起\"误写成\"结果已达成\"。Use when 准备写「任务已完成」「API 返回成功」「exit code 0」「用户已收到」「ok:true」类状态汇报；或在 cron 报告 \u002F Slack 回报 \u002F project status \u002F receipt 中表达完成度时。","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Ftruth-ladder\u002FSKILL.md",[146],{"categoryNo":127,"categoryName":128,"taxonomyType":129,"taxonomyTypeDesc":130},[148,149,150,134,151,41,31,152,153,154,39,38,155,135,156],"ladder","truth ladder","ok","code","exit","true","status","project","project status",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":43},"01M70FYTESF5WQYBVRX8BXYJQF","thread-object-realignment","长 thread 切题后的对象重定协议——thread 历史 ≥5 条且检测到切题信号时，回复前必做「用户最后显式问题对象 vs 待发回复对象」一致性校验，不一致则改写或反问。Use when Slack thread 历史 ≥5 条且当前用户消息出现切题信号（主题词突变、问句指向新实体、时间线跳跃、出现「另外」「话说」「回到 X」「换个话题」等切题语，或 ≥3 turn 后用户显式问题对象与最近 assistant 回复对象不同）。","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fthread-object-realignment\u002FSKILL.md",[],[164,165,166,135,167,116,168,41,169,31],"object","thread","thread object realignment","校验","slack thread","assistant",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":74,"licenseFileUrl":174,"sourceHtmlUrl":175,"categories":176,"keywords":180,"publishedAt":43},"01M70FYFC1Y2J16FJFEFQ5WYRE","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Ftheme-factory\u002FSKILL.md",[177],{"categoryNo":178,"categoryName":179,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[181,182,183,184,185,186,187,188,94,189,190,97,191,192,193,194,195,93,196,197],"theme factory","factory","theme","apply","styling","fly","generate","artifact","fonts","can","artifacts","you","themes","pages","landing","slides","SET"]