@namewta/speculo 2.0.6 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/README.md +3 -0
  2. package/THIRD-PARTY-NOTICES.md +4 -0
  3. package/dist/src/agent-skills.d.ts +5 -0
  4. package/dist/src/agent-skills.js +10 -7
  5. package/dist/src/agent-skills.js.map +1 -1
  6. package/dist/src/cli.js +25 -36
  7. package/dist/src/cli.js.map +1 -1
  8. package/dist/src/coordination.d.ts +3 -3
  9. package/dist/src/coordination.js +21 -4
  10. package/dist/src/coordination.js.map +1 -1
  11. package/dist/src/doctor.js +8 -1
  12. package/dist/src/doctor.js.map +1 -1
  13. package/dist/src/external-files.d.ts +4 -2
  14. package/dist/src/external-files.js +4 -4
  15. package/dist/src/external-files.js.map +1 -1
  16. package/dist/src/hub-catalog.d.ts +11 -0
  17. package/dist/src/hub-catalog.js +91 -0
  18. package/dist/src/hub-catalog.js.map +1 -0
  19. package/dist/src/hub-resources.json +1 -0
  20. package/dist/src/hub-skills.d.ts +53 -0
  21. package/dist/src/hub-skills.js +157 -0
  22. package/dist/src/hub-skills.js.map +1 -0
  23. package/dist/src/index.d.ts +6 -0
  24. package/dist/src/index.js +48 -47
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/install-ui.d.ts +16 -7
  27. package/dist/src/install-ui.js +143 -92
  28. package/dist/src/install-ui.js.map +1 -1
  29. package/dist/src/manifest.d.ts +2 -0
  30. package/dist/src/manifest.js +2 -0
  31. package/dist/src/manifest.js.map +1 -1
  32. package/dist/src/refresh.d.ts +1 -0
  33. package/dist/src/refresh.js +13 -10
  34. package/dist/src/refresh.js.map +1 -1
  35. package/dist/src/retained-workflows.d.ts +10 -0
  36. package/dist/src/retained-workflows.js +25 -0
  37. package/dist/src/retained-workflows.js.map +1 -0
  38. package/dist/src/runtime-entry.d.ts +1 -0
  39. package/dist/src/runtime-entry.js +1 -0
  40. package/dist/src/runtime-entry.js.map +1 -1
  41. package/dist/src/skill-trees.d.ts +27 -0
  42. package/dist/src/skill-trees.js +118 -0
  43. package/dist/src/skill-trees.js.map +1 -0
  44. package/dist/src/terminal-ui.d.ts +30 -0
  45. package/dist/src/terminal-ui.js +148 -0
  46. package/dist/src/terminal-ui.js.map +1 -0
  47. package/dist/src/transaction.d.ts +3 -14
  48. package/dist/src/transaction.js +20 -36
  49. package/dist/src/transaction.js.map +1 -1
  50. package/dist/src/workflow-install.d.ts +15 -0
  51. package/dist/src/workflow-install.js +104 -0
  52. package/dist/src/workflow-install.js.map +1 -0
  53. package/dist/src/workflows.js +1 -1
  54. package/dist/src/workflows.js.map +1 -1
  55. package/package.json +6 -2
  56. package/skills-hub/automation/grok-bot-team-steward/CHEATSHEET.md +17 -0
  57. package/skills-hub/automation/grok-bot-team-steward/INSTALL.md +23 -0
  58. package/skills-hub/automation/grok-bot-team-steward/LICENSE +21 -0
  59. package/skills-hub/automation/grok-bot-team-steward/README.md +9 -0
  60. package/skills-hub/automation/grok-bot-team-steward/SKILL.md +52 -0
  61. package/skills-hub/automation/grok-bot-team-steward/agents/openai.yaml +4 -0
  62. package/skills-hub/automation/grok-bot-team-steward/references/00-hard-rules.md +50 -0
  63. package/skills-hub/automation/grok-bot-team-steward/references/01-snapshot-schema.md +84 -0
  64. package/skills-hub/automation/grok-bot-team-steward/references/02-export-protocol.md +57 -0
  65. package/skills-hub/automation/grok-bot-team-steward/references/03-restore-protocol.md +64 -0
  66. package/skills-hub/automation/grok-bot-team-steward/references/04-inventory.md +37 -0
  67. package/skills-hub/automation/grok-bot-team-steward/references/05-conversations.md +71 -0
  68. package/skills-hub/automation/grok-bot-team-steward/references/06-sanitizer.md +39 -0
  69. package/skills-hub/automation/grok-bot-team-steward/references/07-prompts.md +87 -0
  70. package/skills-hub/automation/grok-bot-team-steward/references/08-verification.md +30 -0
  71. package/skills-hub/automation/grok-bot-team-steward/references/09-sources.md +31 -0
  72. package/skills-hub/automation/grok-bot-team-steward/scripts/scrub.sh +17 -0
  73. package/skills-hub/automation/grok-bot-team-steward/scripts/snapshot-name.sh +18 -0
  74. package/skills-hub/automation/grok-bot-team-steward/scripts/validate-snapshot.sh +62 -0
  75. package/skills-hub/automation/grok-bot-team-steward/steward/ACTIVATE.md +58 -0
  76. package/skills-hub/automation/grok-bot-team-steward/steward/SETUP-INSTRUCTIONS.md +33 -0
  77. package/skills-hub/automation/grok-bot-team-steward/steward/STEWARD-PROFILE.md +28 -0
  78. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/CHANGELOG.md +3 -0
  79. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/CHARTER.md +27 -0
  80. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/DROP-LIST.md +10 -0
  81. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/GAPS.md +6 -0
  82. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/INIT.md +14 -0
  83. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/MANIFEST.md +30 -0
  84. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/MANIFEST.yaml +20 -0
  85. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/ORG.md +15 -0
  86. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/README.md +8 -0
  87. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/RESTORE.md +13 -0
  88. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/ROSTER.md +11 -0
  89. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/GAPS.md +7 -0
  90. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/MEMORY.md +9 -0
  91. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/PROFILE.md +27 -0
  92. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/agent-spec.md +9 -0
  93. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/conversations/INDEX.md +5 -0
  94. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/conversations/main.md +9 -0
  95. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/routines.md +5 -0
  96. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/bots/_SLUG/skills.md +5 -0
  97. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/connectors.md +7 -0
  98. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/COMPLETED.md +6 -0
  99. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/CREATED.md +6 -0
  100. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/RESTORE-NOTES.md +13 -0
  101. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/SANITIZER.md +7 -0
  102. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/meta/SOURCE.md +8 -0
  103. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/rooms/_ROOM.md +8 -0
  104. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/routines/_ROUTINE.md +12 -0
  105. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/shared/shared-memory.md +5 -0
  106. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/shared/workspace-map.md +5 -0
  107. package/skills-hub/automation/grok-bot-team-steward/templates/snapshot/skills/_SKILL/SKILL.md +18 -0
  108. package/skills-hub/automation/herdr/SKILL.md +246 -0
  109. package/skills-hub/automation/orca/SKILL.md +328 -0
  110. package/skills-hub/coding/gitea-repo/LICENSE +21 -0
  111. package/skills-hub/coding/gitea-repo/SKILL.md +50 -0
  112. package/skills-hub/coding/gitea-repo/agents/openai.yaml +4 -0
  113. package/skills-hub/coding/gitea-repo/references/auth-and-scopes.md +58 -0
  114. package/skills-hub/coding/gitea-repo/references/endpoint-map.md +80 -0
  115. package/skills-hub/coding/gitea-repo/references/pagination-and-errors.md +34 -0
  116. package/skills-hub/coding/gitea-repo/scripts/gitea_api.py +814 -0
  117. package/skills-hub/coding/github-repo-steward/LICENSE +21 -0
  118. package/skills-hub/coding/github-repo-steward/SKILL.md +48 -0
  119. package/skills-hub/coding/github-repo-steward/agents/openai.yaml +4 -0
  120. package/skills-hub/coding/github-repo-steward/references/00-auth-and-tokens.md +73 -0
  121. package/skills-hub/coding/github-repo-steward/references/01-inventory.md +55 -0
  122. package/skills-hub/coding/github-repo-steward/references/02-lifecycle.md +57 -0
  123. package/skills-hub/coding/github-repo-steward/references/03-stars.md +42 -0
  124. package/skills-hub/coding/github-repo-steward/references/04-hygiene.md +40 -0
  125. package/skills-hub/coding/github-repo-steward/references/05-sources.md +42 -0
  126. package/skills-hub/coding/github-repo-steward/scripts/inventory.sh +64 -0
  127. package/skills-hub/coding/vscode-fullstack/LICENSE +21 -0
  128. package/skills-hub/coding/vscode-fullstack/SKILL.md +47 -0
  129. package/skills-hub/coding/vscode-fullstack/agents/openai.yaml +4 -0
  130. package/skills-hub/coding/vscode-fullstack/references/extensions-and-settings.md +181 -0
  131. package/skills-hub/coding/vscode-fullstack/references/profiles-and-validation.md +62 -0
  132. package/skills-hub/coding/vscode-fullstack/references/runtime-reuse.md +52 -0
  133. package/skills-hub/design/photo-retouch/LICENSE +21 -0
  134. package/skills-hub/design/photo-retouch/SKILL.md +50 -0
  135. package/skills-hub/design/photo-retouch/agents/openai.yaml +4 -0
  136. package/skills-hub/design/photo-retouch/references/basic-retouch.md +58 -0
  137. package/skills-hub/design/photo-retouch/references/formal-portrait.md +57 -0
  138. package/skills-hub/design/photo-retouch/references/object-and-canvas.md +82 -0
  139. package/skills-hub/design/photo-retouch/references/product-photo.md +41 -0
  140. package/skills-hub/design/photo-retouch/references/repair-and-look.md +61 -0
  141. package/skills-hub/design/photo-retouch/references/social-effects.md +55 -0
  142. package/skills-hub/design/photo-retouch/references/travel-creative.md +79 -0
  143. package/skills-hub/system/clash-client-profile/LICENSE +21 -0
  144. package/skills-hub/system/clash-client-profile/SKILL.md +79 -0
  145. package/skills-hub/system/clash-client-profile/agents/openai.yaml +4 -0
  146. package/skills-hub/system/clash-client-profile/references/acceptance.md +81 -0
  147. package/skills-hub/system/clash-client-profile/references/browser-privacy.md +35 -0
  148. package/skills-hub/system/clash-client-profile/references/clash-verge.md +40 -0
  149. package/skills-hub/system/clash-client-profile/references/dns-workflow.md +147 -0
  150. package/skills-hub/system/clash-client-profile/references/flclash.md +24 -0
  151. package/skills-hub/system/clash-client-profile/references/network-performance.md +25 -0
  152. package/skills-hub/system/clash-client-profile/references/platform-dns.md +109 -0
  153. package/skills-hub/system/clash-client-profile/references/sources.md +46 -0
  154. package/skills-hub/system/clash-client-profile/references/troubleshooting.md +82 -0
  155. package/skills-hub/system/clash-client-profile/scripts/dns_guard.py +650 -0
  156. package/skills-hub/system/clash-client-profile/scripts/proxy_doctor.py +213 -0
  157. package/skills-hub/system/clash-client-profile/scripts/render_rules.py +34 -0
  158. package/skills-hub/system/clash-client-profile/templates/ai-rules.yaml +18 -0
  159. package/skills-hub/system/clash-client-profile/templates/dns-request.example.json +9 -0
  160. package/skills-hub/system/clash-client-profile/templates/dns.yaml +8 -0
  161. package/skills-hub/system/linux-dev-disk-cleanup/LICENSE +21 -0
  162. package/skills-hub/system/linux-dev-disk-cleanup/SKILL.md +42 -0
  163. package/skills-hub/system/linux-dev-disk-cleanup/agents/openai.yaml +4 -0
  164. package/skills-hub/system/linux-dev-disk-cleanup/references/linux-cleanup-workflow.md +145 -0
  165. package/skills-hub/system/optimize-codex-config/LICENSE +21 -0
  166. package/skills-hub/system/optimize-codex-config/SKILL.md +101 -0
  167. package/skills-hub/system/optimize-codex-config/agents/openai.yaml +4 -0
  168. package/skills-hub/system/optimize-codex-config/assets/capabilities.example.json +22 -0
  169. package/skills-hub/system/optimize-codex-config/references/cli.md +35 -0
  170. package/skills-hub/system/optimize-codex-config/references/configuration-contract.md +33 -0
  171. package/skills-hub/system/optimize-codex-config/references/optimization-method.md +38 -0
  172. package/skills-hub/system/optimize-codex-config/references/privacy.md +41 -0
  173. package/skills-hub/system/optimize-codex-config/references/sources.md +24 -0
  174. package/skills-hub/system/optimize-codex-config/references/statusline.md +31 -0
  175. package/skills-hub/system/optimize-codex-config/references/transactions.md +32 -0
  176. package/skills-hub/system/optimize-codex-config/references/troubleshooting.md +95 -0
  177. package/skills-hub/system/optimize-codex-config/scripts/adapters/claude.mjs +24 -0
  178. package/skills-hub/system/optimize-codex-config/scripts/adapters/codex.mjs +10 -0
  179. package/skills-hub/system/optimize-codex-config/scripts/ai-cli-config.mjs +67 -0
  180. package/skills-hub/system/optimize-codex-config/scripts/audit-codex-config.mjs +762 -0
  181. package/skills-hub/system/optimize-codex-config/scripts/lib/document.mjs +166 -0
  182. package/skills-hub/system/optimize-codex-config/scripts/lib/inspect.mjs +211 -0
  183. package/skills-hub/system/optimize-codex-config/scripts/lib/io.mjs +104 -0
  184. package/skills-hub/system/optimize-codex-config/scripts/lib/plan.mjs +79 -0
  185. package/skills-hub/system/optimize-codex-config/scripts/lib/transaction.mjs +205 -0
  186. package/skills-hub/system/optimize-codex-config/scripts/lib/writers.mjs +46 -0
  187. package/skills-hub/system/optimize-codex-config/scripts/statusline/claude-statusline.mjs +94 -0
  188. package/skills-hub/system/optimize-codex-config/scripts/vendor/THIRD-PARTY-NOTICES.txt +250 -0
  189. package/skills-hub/system/optimize-codex-config/scripts/vendor/build-package-lock.json +488 -0
  190. package/skills-hub/system/optimize-codex-config/scripts/vendor/manifest.json +14 -0
  191. package/skills-hub/system/optimize-codex-config/scripts/vendor/parsers.mjs +16 -0
  192. package/skills-hub/system/proxy-region-locale/LICENSE +21 -0
  193. package/skills-hub/system/proxy-region-locale/SKILL.md +42 -0
  194. package/skills-hub/system/proxy-region-locale/agents/openai.yaml +4 -0
  195. package/skills-hub/system/proxy-region-locale/references/linux.md +35 -0
  196. package/skills-hub/system/proxy-region-locale/references/macos.md +31 -0
  197. package/skills-hub/system/proxy-region-locale/references/windows.md +45 -0
  198. package/skills-hub/system/system-health-audit/LICENSE +21 -0
  199. package/skills-hub/system/system-health-audit/SKILL.md +41 -0
  200. package/skills-hub/system/system-health-audit/agents/openai.yaml +4 -0
  201. package/skills-hub/system/system-health-audit/references/platforms.md +37 -0
  202. package/skills-hub/system/system-health-audit/scripts/system_audit.py +41 -0
  203. package/skills-hub/system/windows-dev-disk-cleanup/LICENSE +21 -0
  204. package/skills-hub/system/windows-dev-disk-cleanup/SKILL.md +40 -0
  205. package/skills-hub/system/windows-dev-disk-cleanup/agents/openai.yaml +4 -0
  206. package/skills-hub/system/windows-dev-disk-cleanup/references/windows-cleanup-workflow.md +121 -0
  207. package/skills-hub/writing/.gitkeep +0 -0
  208. package/skills-hub/writing/job-application/LICENSE +21 -0
  209. package/skills-hub/writing/job-application/SKILL.md +160 -0
  210. package/skills-hub/writing/job-application/agents/openai.yaml +4 -0
  211. package/skills-hub/writing/job-application/assets/resume.css +10 -0
  212. package/skills-hub/writing/job-application/config.example.json +9 -0
  213. package/skills-hub/writing/job-application/references/company-research.md +7 -0
  214. package/skills-hub/writing/job-application/references/corpus-schema.md +33 -0
  215. package/skills-hub/writing/job-application/references/honesty-gate.md +29 -0
  216. package/skills-hub/writing/job-application/references/improvement-plan.md +15 -0
  217. package/skills-hub/writing/job-application/references/ingest-protocol.md +18 -0
  218. package/skills-hub/writing/job-application/references/interview-speech.md +16 -0
  219. package/skills-hub/writing/job-application/references/jd-parse.md +18 -0
  220. package/skills-hub/writing/job-application/references/persist-paths.md +34 -0
  221. package/skills-hub/writing/job-application/references/question-bank.md +19 -0
  222. package/skills-hub/writing/job-application/references/rendering.md +9 -0
  223. package/skills-hub/writing/job-application/references/resume-playbook.md +30 -0
  224. package/skills-hub/writing/job-application/scripts/README.md +12 -0
  225. package/skills-hub/writing/job-application/scripts/ingest_kb.py +188 -0
  226. package/skills-hub/writing/job-application/scripts/render_resume.py +144 -0
  227. package/skills-hub/writing/job-application/scripts/validate_claims.py +52 -0
  228. package/skills-hub/writing/job-application/scripts/write_config.py +72 -0
  229. package/skills-hub/writing/job-application/templates/application-index.md +10 -0
  230. package/skills-hub/writing/job-application/templates/brief.md +16 -0
  231. package/skills-hub/writing/job-application/templates/changelog.md +6 -0
  232. package/skills-hub/writing/job-application/templates/company-research.md +15 -0
  233. package/skills-hub/writing/job-application/templates/corpus.md +11 -0
  234. package/skills-hub/writing/job-application/templates/evidence-map.md +5 -0
  235. package/skills-hub/writing/job-application/templates/framings.md +6 -0
  236. package/skills-hub/writing/job-application/templates/improvement-plan.md +16 -0
  237. package/skills-hub/writing/job-application/templates/ingest-log.md +4 -0
  238. package/skills-hub/writing/job-application/templates/known-gaps.md +4 -0
  239. package/skills-hub/writing/job-application/templates/match-report.md +21 -0
  240. package/skills-hub/writing/job-application/templates/methodology-cache.md +10 -0
  241. package/skills-hub/writing/job-application/templates/persist-index.md +11 -0
  242. package/skills-hub/writing/job-application/templates/profile.md +21 -0
  243. package/skills-hub/writing/job-application/templates/questions.md +22 -0
  244. package/skills-hub/writing/job-application/templates/resume-original.md +10 -0
  245. package/skills-hub/writing/job-application/templates/resume-tailored.md +21 -0
  246. package/skills-hub/writing/job-application/templates/sources-index.md +6 -0
  247. package/skills-hub/writing/job-application/templates/speech.md +19 -0
  248. package/skills-hub/writing/job-application/templates/stories.md +9 -0
  249. package/skills-hub/writing/job-application/templates/story-bank.md +11 -0
  250. package/skills-hub/writing/job-application/templates/strengths.md +4 -0
  251. package/skills-hub/writing/job-application/templates/style-memory.md +7 -0
  252. package/skills-hub/writing/ste-zh/LICENSE +21 -0
  253. package/skills-hub/writing/ste-zh/NOTICE.md +9 -0
  254. package/skills-hub/writing/ste-zh/SKILL.md +130 -0
  255. package/skills-hub/writing/ste-zh/agents/openai.yaml +6 -0
  256. package/skills-hub/writing/ste-zh/examples/zh-report.md +23 -0
  257. package/skills-hub/writing/ste-zh/references/english-modes.md +13 -0
  258. package/skills-hub/writing/ste-zh/references/terminology.md +13 -0
  259. package/skills-hub/writing/ste-zh/references/zh-rules.md +29 -0
  260. package/template/.speculo/refresh-contract.json +2 -0
  261. package/template/canonical/canonical-specdev-goal-plan.md +33 -25
  262. package/template/canonical/canonical-specdev-grill-with-docs.md +214 -206
  263. package/template/canonical/canonical-specdev-spec.md +214 -206
  264. package/template/canonical/canonical-specdev-tickets.md +214 -206
  265. package/template/canonical/canonical-specdev-wayfinder.md +214 -206
  266. package/template/lib/speculo-runtime.mjs +183 -8
  267. package/template/references/coordination/coordination-contract.md +11 -3
  268. package/template/references/coordination/modes/cli.md +2 -2
  269. package/template/references/coordination/modes/herdr.md +9 -9
  270. package/template/references/coordination/modes/orca.md +11 -11
  271. package/template/references/coordination/project-facts.schema.json +1 -0
  272. package/template/workflows/specdev/specdev-i-init-setup/SKILL.md +7 -6
  273. package/template/workflows/specdev/specdev-i-init-setup/references/first-setup.md +30 -1
@@ -0,0 +1,84 @@
1
+ # 快照目录规范
2
+
3
+ 路径约定:执行或转发示例前,将 `/workspace` 替换为本轮已确认工作区、技能路径替换为实际 SKILL.md 所在目录。未完成替换就不发送命令;不得新建根目录来迎合模板。
4
+ 以下 `/workspace` 为默认工作区示例,用户明确指定其他工作区时替换前缀。重复到同分钟时使用命名脚本增加序号,不覆盖已有目录。
5
+
6
+ 目标路径:
7
+
8
+ ```
9
+ /workspace/grok-bot-team-YYYY-MM-DD/
10
+ ```
11
+
12
+ 同日第二次:
13
+
14
+ ```
15
+ /workspace/grok-bot-team-YYYY-MM-DD-HHMM/
16
+ ```
17
+
18
+ YYYY-MM-DD 用导出开始时用户本地日期。HHMM 用 24 小时制。
19
+
20
+ ## 完整树
21
+
22
+ ```
23
+ grok-bot-team-YYYY-MM-DD/
24
+ ├── README.md 给下一台机器上的管家读的入口
25
+ ├── INIT.md 无技能包时也能开工的恢复口令
26
+ ├── RESTORE.md 本快照自带验收
27
+ ├── MANIFEST.md 文件清单 + 完整性
28
+ ├── MANIFEST.yaml 机读清单
29
+ ├── CHANGELOG.md
30
+ ├── CHARTER.md 团队宪章
31
+ ├── ROSTER.md 花名册
32
+ ├── ORG.md 组织与交接
33
+ ├── connectors.md 连接器(无密钥)
34
+ ├── GAPS.md 全队级缺失
35
+ ├── DROP-LIST.md 明确带不走的东西
36
+ ├── meta/
37
+ │ ├── CREATED.md
38
+ │ ├── COMPLETED.md
39
+ │ ├── SOURCE.md
40
+ │ ├── SANITIZER.md
41
+ │ └── RESTORE-NOTES.md 仅恢复时写
42
+ ├── bots/
43
+ │ └── <slug>/
44
+ │ ├── PROFILE.md
45
+ │ ├── agent-spec.md
46
+ │ ├── MEMORY.md
47
+ │ ├── routines.md
48
+ │ ├── skills.md
49
+ │ ├── GAPS.md
50
+ │ ├── conversations/
51
+ │ │ ├── INDEX.md
52
+ │ │ ├── main.md
53
+ │ │ └── YYYY-MM-DD-<topic>.md
54
+ │ └── attachments/ 可选
55
+ ├── rooms/
56
+ │ └── <room-slug>.md
57
+ ├── skills/
58
+ │ └── <skill-id>/
59
+ │ └── SKILL.md
60
+ ├── routines/
61
+ │ └── <routine-id>.md
62
+ └── shared/
63
+ ├── shared-memory.md
64
+ └── workspace-map.md
65
+ ```
66
+
67
+ ## slug 规则
68
+
69
+ - Bot / room / skill / routine 的目录名:`[a-z0-9]+(-[a-z0-9]+)*`
70
+ - 中文显示名放在对应 md 的 `name` 字段
71
+ - 同一快照内 slug 唯一
72
+
73
+ ## 每个文件最低字段
74
+
75
+ 见技能包 `templates/snapshot/`。缺字段时写 `Unknown`,不要编造。
76
+
77
+ ## MANIFEST.md 必含
78
+
79
+ - snapshot_id(目录名)
80
+ - created_at / completed_at
81
+ - steward_name
82
+ - bots_count / rooms_count / skills_count / routines_count
83
+ - 文件表:path、role、source(bot-self | steward | user)、complete(yes | partial | missing)
84
+ - gaps_summary
@@ -0,0 +1,57 @@
1
+ # 导出协议(snapshot)
2
+
3
+ ## 阶段
4
+
5
+ ```
6
+ 盘点 → 命名目录 → 建骨架 → 逐 Bot 自述 → 对话落盘 → 共享层 → 脱敏 → MANIFEST → 汇报
7
+ ```
8
+
9
+ 中途崩溃:保留 `meta/IN_PROGRESS.md`,下一轮从该文件记录的「已完成 slug」续跑,不另开日期目录,除非用户要求新快照。
10
+
11
+ ## 盘点
12
+
13
+ 1. 列出本账号全部可见 Bot(含隐藏的,如果能看到)
14
+ 2. 列出群聊与成员
15
+ 3. 列出 Settings → Plugins → Yours 里能枚举的技能
16
+ 4. 只列出本次已确认工作区的必要顶层目录
17
+ 5. 写成 ROSTER 草稿给用户看一眼——用户说「漏了 X / 不要 Y」以用户为准
18
+
19
+ ## 让 Bot 自述(用户授权团队联络时)
20
+
21
+ 若只允许文件导出,从现有可读材料收集并记录缺口,不因加载本技能自动联系其他 Bot。
22
+
23
+ 对每个 slug 发送 `references/07-prompts.md` 里的「单 Bot 自述导出」,并把目标绝对路径写进提示词。
24
+
25
+ 超时或拒绝:
26
+
27
+ - 先检查是否已经回复或写入目标文件;确认未完成且允许再次联系时再催一次,缩短为只要 PROFILE + routines 名称
28
+ - 仍失败则 steward 代写能看到的部分,GAPS.md 标记
29
+
30
+ 不要让两个 Bot 同时写同一个文件。
31
+
32
+ ## 管家自己写的部分
33
+
34
+ - CHARTER / ORG / rooms / connectors / workspace-map / MANIFEST / 根 GAPS / DROP-LIST
35
+ - 某个 Bot 确认无法访问自己的 memory-log 时,管家能读到什么就写什么
36
+
37
+ ## 工作区文件
38
+
39
+ `shared/workspace-map.md` 记录路径、是否已复制进快照、体积。
40
+
41
+ 仅在本次导出范围内、完成所有者与敏感性审阅后复制:
42
+
43
+ - 具名 Bot 所需的已审阅文件,不递归复制整份家目录
44
+ - 实际技能目录内获准携带的技能包
45
+ - 用户点名的项目目录
46
+
47
+ 默认不复制:
48
+
49
+ - `node_modules`、浏览器 profile、`.git` 对象过大时只记 remote URL
50
+ - 任何匹配脱敏规则的文件
51
+
52
+ ## 结束
53
+
54
+ 1. 脱敏扫描
55
+ 2. 写 MANIFEST
56
+ 3. 运行结构校验并核对覆盖。成功才删 IN_PROGRESS、写真实 completed_at 的 COMPLETED;失败保留 IN_PROGRESS 与 GAPS
57
+ 4. 按用户已请求的交付方式继续;推私有 Git 或分享需相应授权,不强制追加分发流程
@@ -0,0 +1,64 @@
1
+ # 恢复协议(restore)
2
+
3
+ ## 阶段
4
+
5
+ ```
6
+ 定位快照 → 只读预览 → 等人连插件 → 建空白 Bot → 技能 → 群聊 → 记忆 → 对话参考 → 暂停 routines → 对照验收
7
+ ```
8
+
9
+ ## 定位
10
+
11
+ 优先用户指出的路径。多个 dated 目录时列出 `COMPLETED.md` 时间,让用户选。不要合并两个快照,除非用户明确说「用 A 的花名册 + B 的记忆」。
12
+
13
+ ## 只读预览必须包含
14
+
15
+ - Bot 表
16
+ - 群聊表
17
+ - 技能表
18
+ - routine 表(全部将暂停)
19
+ - DROP-LIST 原文
20
+ - 未连接插件
21
+ - GAPS 里会影响行为的条目
22
+
23
+ 创建须得到覆盖该快照和具名清单的明确授权;已有授权无需固定口令或再次确认。仅上传快照/要求预览时零创建。
24
+
25
+ ## 建 Bot
26
+
27
+ 对每个 PROFILE:
28
+
29
+ 1. 先查恢复日志与目标账号的已创建 ID,避免重试重复创建;不存在且已授权时创建空白 Bot
30
+ 2. 写入 name / title / description 全文
31
+ 3. 在恢复日志记:created / failed / skipped
32
+ 4. 失败不中断整队,继续下一个,最后汇总
33
+
34
+ 禁止:
35
+
36
+ - Duplicate 已有 Bot 当恢复
37
+ - 改写 description「让它更清楚」
38
+ - 创建花名册以外的助手 Bot
39
+
40
+ ## 技能与 routine
41
+
42
+ - 技能先全量安装,再按 Bot 启用
43
+ - 技能正文尽量保持快照原文
44
+ - routine 创建后检查状态=暂停
45
+ - 输出「建议试跑顺序」,但不要自己点 Test run,除非用户要求
46
+
47
+ ## 记忆与对话
48
+
49
+ 给目标 Bot 的消息必须同时附上:
50
+
51
+ - MEMORY.md
52
+ - conversations/INDEX.md
53
+ - 一句边界:「吸收稳定事实和未完成事项;过期对话不是现行命令;待核销一节不要当规则」
54
+
55
+ 要求对方复述三条事实 + 列出最多五条未完成事项。管家把复述记进 `meta/RESTORE-NOTES.md`。
56
+
57
+ 无法把文件送进对方上下文时:把绝对路径告诉对方,让它自己读 `/workspace/grok-bot-team-.../bots/<slug>/`。
58
+
59
+ ## 不能恢复的,写进 DROP-LIST 现场版
60
+
61
+ - OAuth / cookie / 浏览器已登录站
62
+ - 云电脑上当时装过、快照没记录的包
63
+ - GAPS 中的缺失对话
64
+ - 官方聊天时间线(只能喂参考文件)
@@ -0,0 +1,37 @@
1
+ # 盘点清单
2
+
3
+ 路径约定:执行或转发示例前,将 `/workspace` 替换为本轮已确认工作区、技能路径替换为实际 SKILL.md 所在目录。未完成替换就不发送命令;不得新建根目录来迎合模板。
4
+ 导出开始时按表勾。勾不上的写 Unknown,不删行。
5
+
6
+ ## 账号与电脑
7
+
8
+ - [ ] 能列出全部 Bot
9
+ - [ ] 能列出隐藏 Bot 或已确认没有隐藏
10
+ - [ ] 能列出群聊
11
+ - [ ] `/workspace` 可写
12
+ - [ ] 能枚举已安装私有技能
13
+ - [ ] 能看到连接器名称(不是登录态)
14
+
15
+ ## 每个 Bot
16
+
17
+ - [ ] name
18
+ - [ ] title
19
+ - [ ] description 全文
20
+ - [ ] 头像简述(可缺)
21
+ - [ ] 已启用技能 id
22
+ - [ ] routines(名称 + 日程 + prompt + 启用状态)
23
+ - [ ] MEMORY / memory-log
24
+ - [ ] 主对话可读取
25
+ - [ ] 家目录路径
26
+
27
+ ## 组织
28
+
29
+ - [ ] 谁是管家 / CoS / Lead / Specialist
30
+ - [ ] 每条稳定交接:从谁 → 到谁 → 交什么
31
+ - [ ] 每个群的成员与用途
32
+
33
+ ## 工作区
34
+
35
+ - [ ] 应带走的项目目录
36
+ - [ ] 技能库路径
37
+ - [ ] 明显的密钥文件(只记路径,不复制)
@@ -0,0 +1,71 @@
1
+ # 对话持久化
2
+
3
+ 官方 Duplicate / Share 不复制对话。换机后官方聊天记录也不会出现。本技能能做的是:**把对话写成 Markdown,作为下一台机器上的参考工作记忆。**
4
+
5
+ ## 覆盖级别
6
+
7
+ 每个 Bot 必须在 INDEX 与 MANIFEST.yaml 填写 `conversations_coverage`:
8
+
9
+ | 级别 | 含义 | 写入 |
10
+ |---|---|---|
11
+ | full | 取到带时间戳和角色的原文 | `conversations/*.md` |
12
+ | partial | 只有最近 N 条或切片不齐 | 能写的原文 + GAPS |
13
+ | unavailable | 读不到 | 只写 GAPS,main.md 保持占位,禁止伪造 |
14
+
15
+ 降级:自己导出原文 → 若有 transcript CLI 则用它(禁止把 token 写入快照)→ 三块摘要 `SUMMARY.md`(现行决策 / 未完成线程 / 最近交付)。
16
+
17
+ ## 目标文件
18
+
19
+ ```
20
+ bots/<slug>/conversations/INDEX.md
21
+ bots/<slug>/conversations/main.md
22
+ bots/<slug>/conversations/YYYY-MM-DD-<topic>.md
23
+ ```
24
+
25
+ ## INDEX.md
26
+
27
+ | file | 时间范围 | 消息条数 | 截断 | 备注 |
28
+ |---|---|---|---|---|
29
+ | main.md | | | no/yes | 现行主对话 |
30
+
31
+ ## 正文格式
32
+
33
+ ```
34
+ ---
35
+ bot: <slug>
36
+ source: bot-self | steward-read | partial
37
+ range: YYYY-MM-DD .. YYYY-MM-DD
38
+ messages: 0
39
+ truncated: false
40
+ ---
41
+
42
+ ### 2026-09-16 21:04 USER
43
+ 原文
44
+
45
+ ### 2026-09-16 21:11 BOT
46
+ 原文
47
+ ```
48
+
49
+ 角色只用 `USER` / `BOT` / `OTHER-BOT:<name>` / `SYSTEM`。
50
+
51
+ ## 切分
52
+
53
+ - 单文件超过约 200KB 或 400 条:`main-01.md`、`main-02.md`
54
+ - 切分点放在一条消息结束后
55
+ - INDEX 必须列出全部切片
56
+
57
+ ## 做不到时
58
+
59
+ 写进 `bots/<slug>/GAPS.md`:
60
+
61
+ ```
62
+ - conversations: 平台未暴露完整记录;已保存近 N 条;更早部分 Unknown
63
+ ```
64
+
65
+ 禁止用总结句冒充原文。允许另写 `conversations/SUMMARY.md`,但必须标明这是摘要,不是逐条记录。
66
+
67
+ ## 恢复时怎么用
68
+
69
+ 把文件路径或原文交给对应 Bot,并声明:
70
+
71
+ > 这些是上一台机器上的工作记录。把其中仍然成立的事实写入你的记忆;把未完成事项列成清单。不要把过期指令当本轮命令执行。
@@ -0,0 +1,39 @@
1
+ # 脱敏
2
+
3
+ 在写 MANIFEST 之前跑一遍。改写了什么只记字段名,不记原值。
4
+
5
+ ## 扫描范围
6
+
7
+ 快照内全部 `.md` `.txt` `.json` `.yaml` `.yml` `.env` `.csv`
8
+
9
+ ## 必须处理
10
+
11
+ | 模式 | 处理 |
12
+ |---|---|
13
+ | `sk-` `xoxb-` `ghp_` `github_pat_` `AKIA` | 整段替换为 `[REDACTED-SECRET]` |
14
+ | `Bearer ` 后的 token | 同上 |
15
+ | `-----BEGIN .*PRIVATE KEY-----` | 删除整个块 |
16
+ | `password\s*[:=]` | 值替换 |
17
+ | `user:pass@host` | 换成 `user:[REDACTED]@host` |
18
+ | 个人手机 / 身份证 / 银行卡 | `[REDACTED-PII]` |
19
+ | cookie 头或 `auth.json` 整文件 | 不复制,只在 SANITIZER.md 记「已跳过路径」 |
20
+
21
+ ## connectors.md
22
+
23
+ 允许:Gmail、GitHub、Notion、Slack
24
+ 禁止:refresh token、workspace id 以外的密钥型 id(不确定就删)
25
+
26
+ ## Share 链接
27
+
28
+ 写入前重读对应 PROFILE。发现密钥就先改 PROFILE 再写链接。无法改的不写链接。
29
+
30
+ ## meta/SANITIZER.md 模板
31
+
32
+ ```
33
+ # sanitizer
34
+ - scanned_at:
35
+ - files_scanned:
36
+ - redactions: N(只写次数)
37
+ - skipped_files:
38
+ - path — 原因
39
+ ```
@@ -0,0 +1,87 @@
1
+ # 现成提示词
2
+
3
+ 路径约定:执行或转发示例前,将 `/workspace` 替换为本轮已确认工作区、技能路径替换为实际 SKILL.md 所在目录。未完成替换就不发送命令;不得新建根目录来迎合模板。
4
+ 管家把尖括号换成实际值后原样发送。
5
+
6
+ ## 单 Bot 自述导出
7
+
8
+ ```
9
+ 请把你自己的持久状态写到文件系统,不要省略旧月份,不要改写 description。
10
+
11
+ 目标目录:/workspace/grok-bot-team-<DATE>/bots/<slug>/
12
+ 没有目录就创建。
13
+
14
+ 必须产出:
15
+
16
+ 1. PROFILE.md
17
+ - name / title / description 原文
18
+ - 头像简述
19
+ - 审批边界和停止条件(若 description 已有,不要另撰一套互相矛盾的)
20
+
21
+ 2. MEMORY.md
22
+ - profile 记忆 + 全部 memory-log(含更早月份),时间倒序
23
+ - 每条:日期、主题、事实、来源
24
+ - 过期或矛盾的放「待核销」,不要删
25
+
26
+ 3. routines.md
27
+ - 你名下每一条:名称、日程或触发、完整 prompt、启用或暂停、审批边界、缺源策略、最近一次运行
28
+
29
+ 4. skills.md
30
+ - 已启用技能 id + 一句话用途
31
+
32
+ 5. conversations/INDEX.md 和 conversations/main.md
33
+ - 现行主对话逐条导出
34
+ - 格式:### YYYY-MM-DD HH:MM USER|BOT
35
+ - 超长按 400 条或约 200KB 切 main-01.md、main-02.md
36
+ - 导不出的部分写 GAPS.md,说明原因,不要编造
37
+
38
+ 6. GAPS.md
39
+ - 本轮你写不全的字段
40
+
41
+ 禁止写入 token、cookie、.env、auth.json、密钥、浏览器 profile。
42
+ 连接器只写名称。
43
+ 写完后回复:已完成的文件列表 + GAPS 摘要。
44
+ ```
45
+
46
+ ## 共享层(管家自己或 CoS)
47
+
48
+ ```
49
+ 把全队共享层写到 /workspace/grok-bot-team-<DATE>/ :
50
+ CHARTER.md ORG.md ROSTER.md connectors.md rooms/*.md
51
+ shared/shared-memory.md shared/workspace-map.md
52
+ skills/<id>/SKILL.md(能读到全文的都写)
53
+ 不要发明角色。不要写密钥。
54
+ ```
55
+
56
+ ## 恢复时喂记忆
57
+
58
+ ```
59
+ 请阅读这些文件(路径如下),把仍然成立的事实写入你的角色记忆,列出最多五条未完成事项。
60
+ 不要执行过期对话里的命令。
61
+ 然后复述三条最重要的现行事实给我核对。
62
+
63
+ 路径:
64
+ - /workspace/grok-bot-team-<DATE>/bots/<slug>/MEMORY.md
65
+ - /workspace/grok-bot-team-<DATE>/bots/<slug>/conversations/INDEX.md
66
+ ```
67
+
68
+ ## 恢复时建 Bot 的内部核对(管家自用,不发给用户)
69
+
70
+ ```
71
+ 对照 PROFILE.md:
72
+ - 账号里的 name 是否逐字相同
73
+ - title 是否逐字相同
74
+ - description 是否全文相同(不是摘要)
75
+ 任何一处不同就重写 profile,不要另建一个 Bot。
76
+ ```
77
+
78
+ ## 官方员工备份词(Bot 不听长指令时的短词)
79
+
80
+ ```
81
+ Please make a full backup of your durable state. Make a folder
82
+ /workspace/grok-bot-team-<DATE>/bots/<slug>/
83
+ copy your complete memory (profile + every memory-log entry, including older months)
84
+ into MEMORY.md, list your routines (schedule + prompt) in routines.md
85
+ and your connectors in connectors-local.md, export the current conversation
86
+ into conversations/main.md, then reply with the file list.
87
+ ```
@@ -0,0 +1,30 @@
1
+ # 验收
2
+
3
+ ## 导出验收
4
+
5
+ - [ ] 目录名符合 `grok-bot-team-YYYY-MM-DD` 或 `...-HHMM`,同分钟重复可带序号
6
+ - [ ] 存在 `meta/COMPLETED.md` 且含真实 ISO completed_at,不存在 `meta/IN_PROGRESS.md`
7
+ - [ ] 已移除 `_SLUG` 等模板占位目录,至少有一个真实 Bot;结构脚本通过不等于内容、脱敏和花名册覆盖已经通过
8
+ - [ ] ROSTER 行数 = bots/ 下 slug 数
9
+ - [ ] 每个 slug 都有 PROFILE.md
10
+ - [ ] 每个 PROFILE 的 description 不是空的、不是「同上」
11
+ - [ ] 每个 slug 都有 GAPS.md(可以为「无」)
12
+ - [ ] 根目录有 DROP-LIST.md
13
+ - [ ] SANITIZER 已跑
14
+ - [ ] MANIFEST 的 complete=missing 项都能在 GAPS 找到解释
15
+
16
+ ## 恢复验收
17
+
18
+ | slug | PROFILE 逐字 | skills 已启用 | 已进群 | 记忆三条复述 | 对话已喂 | routine 暂停 | 备注 |
19
+ |---|---|---|---|---|---|---|---|
20
+ | | | | | | | | |
21
+
22
+ 全表填完且无 UNVERIFIED,才能对用户说「重建完成,等待你决定是否启用 routine」。
23
+
24
+ ## DROP LIST 固定五条(恢复结束必须再输出一次)
25
+
26
+ 1. 插件登录态需要人在 Settings → Plugins 重连
27
+ 2. 浏览器 cookie / 已登录网站不会回来
28
+ 3. 官方聊天时间线不会回来,只有 conversations/*.md 参考件
29
+ 4. 快照 GAPS 里写明缺失的记忆或对话不会凭空出现
30
+ 5. 云电脑上当时临时安装、未写入 workspace-map 的软件不会回来
@@ -0,0 +1,31 @@
1
+ # 本技能吸收的来源
2
+
3
+ ## 官方
4
+
5
+ - https://docs.x.ai/grok-bot/bots — Duplicate / Share 复制范围
6
+ - https://docs.x.ai/grok-bot/overview — 共享电脑、记忆边界
7
+ - https://docs.x.ai/grok-bot/skills-routines-and-automations — 任务 → 技能 → routine,六段技能
8
+ - https://docs.x.ai/grok-bot/computers — 重建电脑保留已同步文件与登录,不保留自装包
9
+ - Cursor 论坛员工回复(无官方一键导出,让 Bot zip 纯文本):https://forum.cursor.com/t/best-way-to-export-memory/170714
10
+
11
+ ## 现成「已有团队 → 文件 → 恢复」
12
+
13
+ - 记忆管家 https://x.ai/bot/9Tq1f0aSurCP7UJHm98zy
14
+ - Memory Steward https://www.grokhub.io/use-cases/memory-steward-bot
15
+ - Ship Steward https://github.com/douglasjarquin/grok-ship-steward
16
+ - Overwatch VM Steward https://botdir.dev/grok-bot/recipes/overwatch-vm-steward-bc73a892
17
+
18
+ ## 花名册即安装器
19
+
20
+ - https://github.com/ellelion/botteams
21
+ - https://github.com/cobusgreyling/grok-bot-templates
22
+ - https://github.com/MrBekoX/root-agent-skill-framework
23
+ - https://github.com/mKay00/grok-bot-second-brain
24
+ - https://github.com/sanyoii/grok-bot-team-design
25
+ - https://github.com/lsj210001/crew-contract
26
+
27
+ ## 提示词
28
+
29
+ - Miles Deutscher 迁移整理词(X)
30
+ - 官方员工 per-bot zip 备份词
31
+ - Hermes `migrate grokbot export`(迁出到 Hermes,不是本技能的目标,只借鉴「花名册 + 对话应落盘」)
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ # Print paths that look like they contain secrets. Does not print the secrets.
3
+ set -euo pipefail
4
+ ROOT="${1:-.}"
5
+ if [[ ! -d "$ROOT" ]]; then
6
+ echo "usage: scrub.sh /workspace/grok-bot-team-YYYY-MM-DD" >&2
7
+ exit 2
8
+ fi
9
+ rg_bin="$(command -v rg || true)"
10
+ pattern='(sk-[A-Za-z0-9_-]{10,}|xoxb-|ghp_|github_pat_|AKIA[0-9A-Z]{8,}|Bearer [A-Za-z0-9._-]{12,}|BEGIN [A-Z ]*PRIVATE KEY|refresh_token|api[_-]?key\s*[:=])'
11
+ if [[ -n "$rg_bin" ]]; then
12
+ "$rg_bin" -l -I -n --hidden -g '!.git' -e "$pattern" "$ROOT" || true
13
+ else
14
+ grep -RIl -E "$pattern" "$ROOT" || true
15
+ fi
16
+ echo "# also skip these filenames if present"
17
+ find "$ROOT" \( -name '.env' -o -name 'auth.json' -o -name '*cookie*' -o -name 'credentials.json' \) -print
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env bash
2
+ # Print the next snapshot directory name under /workspace.
3
+ set -euo pipefail
4
+ BASE="${1:-/workspace}"
5
+ DAY="$(date +%F)"
6
+ CAND="${BASE}/grok-bot-team-${DAY}"
7
+ if [[ ! -e "$CAND" ]]; then
8
+ printf '%s\n' "$CAND"
9
+ exit 0
10
+ fi
11
+ HM="$(date +%H%M)"
12
+ CAND="${BASE}/grok-bot-team-${DAY}-${HM}"
13
+ n=2
14
+ while [[ -e "$CAND" ]]; do
15
+ CAND="${BASE}/grok-bot-team-${DAY}-${HM}-${n}"
16
+ n=$((n + 1))
17
+ done
18
+ printf '%s\n' "$CAND"
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env bash
2
+ # Check minimum structure. Content, roster coverage and redaction need review.
3
+ set -euo pipefail
4
+ ROOT="${1:-}"
5
+ if [[ -z "$ROOT" || ! -d "$ROOT" ]]; then
6
+ echo "usage: validate-snapshot.sh /workspace/grok-bot-team-YYYY-MM-DD" >&2
7
+ exit 2
8
+ fi
9
+ base="$(basename "$ROOT")"
10
+ if [[ ! "$base" =~ ^grok-bot-team-[0-9]{4}-[0-9]{2}-[0-9]{2}(-[0-9]{4}(-[0-9]+)?)?$ ]]; then
11
+ echo "FAIL name: $base" >&2
12
+ exit 1
13
+ fi
14
+ fail=0
15
+ for f in README.md MANIFEST.md ROSTER.md CHARTER.md DROP-LIST.md GAPS.md connectors.md; do
16
+ if [[ ! -f "$ROOT/$f" ]]; then
17
+ echo "FAIL missing $f"
18
+ fail=1
19
+ fi
20
+ done
21
+ if [[ ! -s "$ROOT/meta/COMPLETED.md" ]]; then
22
+ echo "FAIL missing meta/COMPLETED.md"
23
+ fail=1
24
+ elif ! grep -Eq '^[- ]*completed_at: *[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})[[:space:]]*$' "$ROOT/meta/COMPLETED.md"; then
25
+ echo "FAIL completed_at must contain a real ISO timestamp"
26
+ fail=1
27
+ fi
28
+ if [[ ! -d "$ROOT/bots" ]]; then
29
+ echo "FAIL missing bots/"
30
+ fail=1
31
+ fi
32
+ shopt -s nullglob
33
+ bots=("$ROOT"/bots/*)
34
+ real_bots=0
35
+ for d in "${bots[@]}"; do
36
+ [[ -d "$d" ]] || continue
37
+ slug="$(basename "$d")"
38
+ if [[ "$slug" == _* ]]; then
39
+ echo "FAIL placeholder bot $slug"
40
+ fail=1
41
+ continue
42
+ fi
43
+ real_bots=$((real_bots + 1))
44
+ for f in PROFILE.md MEMORY.md routines.md skills.md GAPS.md; do
45
+ if [[ ! -f "$d/$f" ]]; then
46
+ echo "FAIL $slug missing $f"
47
+ fail=1
48
+ fi
49
+ done
50
+ done
51
+ if [[ "$real_bots" -eq 0 ]]; then
52
+ echo "FAIL no real bot slugs"
53
+ fail=1
54
+ fi
55
+ if [[ -f "$ROOT/meta/IN_PROGRESS.md" ]]; then
56
+ echo "FAIL export still in progress"
57
+ fail=1
58
+ fi
59
+ if [[ "$fail" -ne 0 ]]; then
60
+ exit 1
61
+ fi
62
+ echo "OK structure $ROOT (content, roster coverage and redaction still require review)"
@@ -0,0 +1,58 @@
1
+ # 激活管家
2
+
3
+ 路径约定:执行或转发示例前,将 `/workspace` 替换为本轮已确认工作区、技能路径替换为实际 SKILL.md 所在目录。未完成替换就不发送命令;不得新建根目录来迎合模板。
4
+ 仅在用户明确要求创建或配置管家时执行本文件。仅加载技能、比较快照不创建 Bot、不修改 profile、不联系其他 Bot。已有管家先复用,不创建第二个管家。下列 `/workspace/grok-bot-team-steward/` 是部署示例,实际技能路径以本轮 SKILL.md 所在目录为准。
5
+
6
+ 当前机器和新机器走同一套。差别只是激活之后那句话。
7
+
8
+ 本技能夹的标准位置:
9
+
10
+ ```
11
+ /workspace/grok-bot-team-steward/SKILL.md
12
+ ```
13
+
14
+ ## 当前机器(第一次快照)
15
+
16
+ 1. 新建 Bot。Bot actions → Edit Profile。Name=`管家`,Title=`Grok Bot 团队管家`。Description 贴同目录 `STEWARD-PROFILE.md` 里 Description 那一整段。
17
+ 2. 把本技能夹放到 `/workspace/grok-bot-team-steward/`。
18
+ 3. 对管家说:
19
+
20
+ ```
21
+ 读取 /workspace/grok-bot-team-steward/SKILL.md
22
+ 以及同目录 references/、templates/、steward/。
23
+ 把这份技能保存为名为 grok-bot-team-steward 的私有技能并启用给自己。
24
+ 然后按 snapshot 模式,把当前账号全部 Bot、组织架构、技能、例行任务、记忆和对话
25
+ 持久化到 /workspace/grok-bot-team-YYYY-MM-DD/ 。
26
+ 先盘点花名册给我确认,再写文件。不要发明角色,不要写密钥。
27
+ ```
28
+
29
+ 4. 确认花名册后让它跑完。下载或推送 dated 目录。
30
+
31
+ ## 新机器(按快照初始化)
32
+
33
+ 1. 安装并登录 Grok Bot。
34
+ 2. 把 dated 目录放到 `/workspace/grok-bot-team-YYYY-MM-DD/`。不要改名。
35
+ 3. 把本技能夹放到 `/workspace/grok-bot-team-steward/`。
36
+ 4. 同样新建「管家」,贴同一段 Description。
37
+ 5. 按快照 `connectors.md` 在 Settings → Plugins 连接插件。
38
+ 6. 对管家说:
39
+
40
+ ```
41
+ 读取 /workspace/grok-bot-team-steward/SKILL.md
42
+ 以及同目录 references/、templates/、steward/。
43
+ 保存并启用技能 grok-bot-team-steward。
44
+ 然后按 restore 模式读取 /workspace/grok-bot-team-YYYY-MM-DD/ 。
45
+ 先只读预览花名册、GAPS、DROP-LIST 和未连接插件。
46
+ 我确认「按这份建」之后再创建空白 Bot。
47
+ PROFILE 逐字粘贴。不要 Duplicate。routine 一律暂停。
48
+ 不要宣称官方聊天记录已经恢复。
49
+ ```
50
+
51
+ 7. 按对照表验收。两次成功试跑后再启用指定 routine。
52
+
53
+ ## 不要做的事
54
+
55
+ - 不要把本技能夹当成快照
56
+ - 不要把两天的快照解压进同一个文件夹
57
+ - 不要跳过预览直接说「你看着办」
58
+ - 不要指望登录态和官方聊天时间线一起回来