@geminilight/mindos 0.6.57 → 0.6.59

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 (293) hide show
  1. package/_standalone/.mindos-build-version +1 -1
  2. package/_standalone/.next/BUILD_ID +1 -1
  3. package/_standalone/.next/app-path-routes-manifest.json +24 -24
  4. package/_standalone/.next/build-manifest.json +3 -3
  5. package/_standalone/.next/cache/.previewinfo +1 -1
  6. package/_standalone/.next/cache/.rscinfo +1 -1
  7. package/_standalone/.next/cache/config.json +3 -3
  8. package/_standalone/.next/prerender-manifest.json +3 -3
  9. package/_standalone/.next/react-loadable-manifest.json +1 -1
  10. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  11. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/_standalone/.next/server/app/_global-error.html +2 -2
  13. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  14. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  16. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  21. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/_standalone/.next/server/app/agents/[agentKey]/page.js +2 -2
  24. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  25. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  26. package/_standalone/.next/server/app/agents/page.js +2 -2
  27. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  28. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  29. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  31. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/acp/config/route.js +1 -1
  34. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/acp/detect/route.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  40. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  41. package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -1
  42. package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -1
  43. package/_standalone/.next/server/app/api/agents/custom/route.js +1 -1
  44. package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -1
  45. package/_standalone/.next/server/app/api/ask/route.js +5 -5
  46. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  47. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  48. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  49. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  51. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  52. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  53. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  54. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  55. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  56. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  57. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  58. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  59. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  60. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  61. package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -1
  62. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  64. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  68. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  70. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  72. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  73. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  75. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  77. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  78. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  79. package/_standalone/.next/server/app/api/mcp/install/route.js +1 -1
  80. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/mcp/status/route.js +1 -1
  84. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  85. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  87. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  89. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  94. package/_standalone/.next/server/app/api/settings/reset-token/route.js +1 -1
  95. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  96. package/_standalone/.next/server/app/api/settings/route.js +1 -1
  97. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  98. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  99. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  100. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  105. package/_standalone/.next/server/app/api/setup/route.js +1 -1
  106. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/api/skills/route.js +1 -1
  108. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  109. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  111. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  114. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  115. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  116. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  117. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  118. package/_standalone/.next/server/app/changes/page.js +2 -2
  119. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  120. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  121. package/_standalone/.next/server/app/echo/[segment]/page.js +3 -3
  122. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  123. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/echo/page.js +1 -1
  125. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  126. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/explore/page.js +3 -3
  128. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app/help/page.js +2 -2
  131. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  132. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  133. package/_standalone/.next/server/app/inbox/history/page.js +1 -1
  134. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
  135. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  136. package/_standalone/.next/server/app/login/page.js +2 -2
  137. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  138. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  139. package/_standalone/.next/server/app/page.js +2 -8
  140. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  141. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  142. package/_standalone/.next/server/app/setup/page.js +2 -2
  143. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  144. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  145. package/_standalone/.next/server/app/trash/page.js +3 -3
  146. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  147. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  148. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  149. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  150. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  151. package/_standalone/.next/server/app/wiki/page.js +2 -2
  152. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
  153. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  154. package/_standalone/.next/server/app-paths-manifest.json +24 -24
  155. package/_standalone/.next/server/chunks/1550.js +1 -1
  156. package/_standalone/.next/server/chunks/1750.js +1 -1
  157. package/_standalone/.next/server/chunks/3484.js +1 -1
  158. package/_standalone/.next/server/chunks/530.js +61 -62
  159. package/_standalone/.next/server/chunks/6539.js +1 -1
  160. package/_standalone/.next/server/chunks/{2159.js → 8343.js} +2 -2
  161. package/_standalone/.next/server/chunks/9787.js +2 -0
  162. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  163. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  164. package/_standalone/.next/server/pages/500.html +2 -2
  165. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  166. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  167. package/_standalone/.next/static/chunks/{1814.a7c127b2c73d1f70.js → 1814.a79b84d37df75c43.js} +1 -1
  168. package/_standalone/.next/static/chunks/3427-2e61a5df1f5e55fb.js +1 -0
  169. package/_standalone/.next/static/chunks/5581-dac72e9f16e5ea29.js +29 -0
  170. package/_standalone/.next/static/chunks/6297-085daa21037d5f81.js +1 -0
  171. package/_standalone/.next/static/chunks/7249-6cf8f2b78718c59e.js +11 -0
  172. package/_standalone/.next/static/chunks/8520-56ec9ff087c15204.js +22 -0
  173. package/_standalone/.next/static/chunks/9905-a19d379cb225246e.js +1 -0
  174. package/_standalone/.next/static/chunks/app/agents/[agentKey]/{page-7bdeab5af8e4f5f2.js → page-35ea6de1af2be3b5.js} +1 -1
  175. package/_standalone/.next/static/chunks/app/agents/page-b172ea3743adb047.js +1 -0
  176. package/_standalone/.next/static/chunks/app/changes/{page-5a72144d1080a699.js → page-6d2f49651c0061f7.js} +1 -1
  177. package/_standalone/.next/static/chunks/app/echo/[segment]/page-84b95256f6e38aae.js +11 -0
  178. package/_standalone/.next/static/chunks/app/explore/{page-d3d99308146c2240.js → page-d9f58000bc445360.js} +2 -2
  179. package/_standalone/.next/static/chunks/app/help/{page-222df603080b5fab.js → page-f8cb806371b3175f.js} +1 -1
  180. package/_standalone/.next/static/chunks/app/inbox/history/{page-07819cf95cb0805f.js → page-26e71fb6f716a4c4.js} +1 -1
  181. package/_standalone/.next/static/chunks/app/layout-b89b0d955f39a753.js +164 -0
  182. package/_standalone/.next/static/chunks/app/login/{page-0eeef685052869a6.js → page-18fb00d568cd1f0e.js} +1 -1
  183. package/_standalone/.next/static/chunks/app/page-a8e6f085f38388bf.js +1 -0
  184. package/_standalone/.next/static/chunks/app/setup/{page-99fcfc460fa29733.js → page-821714e7477be46c.js} +1 -1
  185. package/_standalone/.next/static/chunks/app/trash/page-f92b728b78ac0f7e.js +1 -0
  186. package/_standalone/.next/static/chunks/app/view/[...path]/{not-found-fc04c2bd4f35bc6f.js → not-found-6e0c75ad26ce8572.js} +1 -1
  187. package/_standalone/.next/static/chunks/app/view/[...path]/page-f87f4901b5e1a88f.js +12 -0
  188. package/_standalone/.next/static/chunks/app/wiki/page-641edb1f3cff2f93.js +1 -0
  189. package/_standalone/.next/static/chunks/{webpack-2c19436659aa657b.js → webpack-72e8d9e9073fd1f9.js} +1 -1
  190. package/_standalone/.next/static/css/6c104b118d3bc9b7.css +1 -0
  191. package/_standalone/.next/trace +64 -64
  192. package/_standalone/__tests__/api/mcp-install.test.ts +3 -2
  193. package/_standalone/__tests__/ask/non-streaming-api.test.ts +281 -0
  194. package/_standalone/__tests__/core/skill-install-logic.test.ts +1 -0
  195. package/_standalone/app/globals.css +2 -1
  196. package/_standalone/components/AskFab.tsx +4 -4
  197. package/_standalone/components/AskModal.tsx +1 -1
  198. package/_standalone/components/GuideCard.tsx +101 -152
  199. package/_standalone/components/RightAskPanel.tsx +2 -2
  200. package/_standalone/components/agents/CustomAgentModal.tsx +32 -8
  201. package/_standalone/components/ask/AskContent.tsx +90 -51
  202. package/_standalone/components/ask/AskHeader.tsx +218 -18
  203. package/_standalone/components/ask/MessageList.tsx +66 -47
  204. package/_standalone/components/ask/SessionHistory.tsx +86 -60
  205. package/_standalone/components/ask/SessionTabBar.tsx +29 -21
  206. package/_standalone/components/ask/ThinkingBlock.tsx +6 -5
  207. package/_standalone/components/ask/ToolCallBlock.tsx +10 -9
  208. package/_standalone/components/settings/SettingsContent.tsx +1 -1
  209. package/_standalone/data/skills/mindos/SKILL.md +72 -15
  210. package/_standalone/data/skills/mindos-zh/SKILL.md +73 -8
  211. package/_standalone/hooks/useAskSession.ts +23 -1
  212. package/_standalone/lib/stores/locale-store.ts +20 -6
  213. package/_standalone/tsconfig.tsbuildinfo +1 -1
  214. package/app/app/api/agents/custom/route.ts +8 -0
  215. package/app/app/api/ask/route.ts +171 -10
  216. package/app/app/api/mcp/agents/route.ts +5 -3
  217. package/app/app/api/settings/route.ts +9 -0
  218. package/app/app/api/settings/test-key/route.ts +13 -1
  219. package/app/app/globals.css +2 -1
  220. package/app/app/layout.tsx +16 -4
  221. package/app/components/AskFab.tsx +4 -4
  222. package/app/components/AskModal.tsx +1 -1
  223. package/app/components/GuideCard.tsx +101 -152
  224. package/app/components/HomeContent.tsx +116 -575
  225. package/app/components/RightAskPanel.tsx +2 -2
  226. package/app/components/WikiHomeContent.tsx +151 -3
  227. package/app/components/agents/CustomAgentModal.tsx +32 -8
  228. package/app/components/ask/AskContent.tsx +90 -51
  229. package/app/components/ask/AskHeader.tsx +218 -18
  230. package/app/components/ask/MessageList.tsx +66 -47
  231. package/app/components/ask/SessionHistory.tsx +86 -60
  232. package/app/components/ask/SessionTabBar.tsx +29 -21
  233. package/app/components/ask/ThinkingBlock.tsx +6 -5
  234. package/app/components/ask/ToolCallBlock.tsx +10 -9
  235. package/app/components/settings/SettingsContent.tsx +1 -1
  236. package/app/data/skills/mindos/SKILL.md +72 -15
  237. package/app/data/skills/mindos-zh/SKILL.md +73 -8
  238. package/app/hooks/useAskSession.ts +23 -1
  239. package/app/lib/custom-agents.ts +45 -2
  240. package/app/lib/i18n/modules/ai-chat.ts +97 -10
  241. package/app/lib/i18n/modules/onboarding.ts +12 -12
  242. package/app/lib/i18n/modules/panels.ts +10 -2
  243. package/app/lib/mcp-agents.ts +10 -0
  244. package/app/lib/stores/LocaleStoreInit.tsx +24 -1
  245. package/app/lib/stores/locale-store.ts +20 -6
  246. package/app/lib/types.ts +1 -0
  247. package/bin/lib/mcp-agents.js +10 -0
  248. package/package.json +1 -1
  249. package/skills/mindos/SKILL.md +69 -11
  250. package/skills/mindos/references/knowledge-health.md +120 -0
  251. package/skills/mindos-max/SKILL.md +238 -0
  252. package/skills/mindos-max-workspace/evals/evals.json +23 -0
  253. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/eval_metadata.json +11 -0
  254. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/old_skill/grading.json +28 -0
  255. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/old_skill/outputs/transcript.md +203 -0
  256. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/with_skill/grading.json +28 -0
  257. package/skills/mindos-max-workspace/iteration-1/capture-debugging-experience-en/with_skill/outputs/transcript.md +271 -0
  258. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/eval_metadata.json +11 -0
  259. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/old_skill/grading.json +28 -0
  260. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/old_skill/outputs/transcript.md +121 -0
  261. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/with_skill/grading.json +28 -0
  262. package/skills/mindos-max-workspace/iteration-1/save-meeting-decision-zh/with_skill/outputs/transcript.md +168 -0
  263. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/eval_metadata.json +11 -0
  264. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/old_skill/grading.json +28 -0
  265. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/old_skill/outputs/transcript.md +143 -0
  266. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/grading.json +28 -0
  267. package/skills/mindos-max-workspace/iteration-1/search-past-decision-zh/with_skill/outputs/transcript.md +233 -0
  268. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/SKILL.md +165 -0
  269. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/README.md +12 -0
  270. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/post-task-hooks.md +27 -0
  271. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/preference-capture.md +41 -0
  272. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/sop-template.md +74 -0
  273. package/skills/mindos-max-workspace/skill-snapshot/mindos-original/references/write-supplement.md +119 -0
  274. package/skills/mindos-max-zh/SKILL.md +241 -0
  275. package/skills/mindos-zh/SKILL.md +72 -8
  276. package/_standalone/.next/server/chunks/2364.js +0 -2
  277. package/_standalone/.next/server/chunks/357.js +0 -1
  278. package/_standalone/.next/static/chunks/1053-5cb008a24930e271.js +0 -29
  279. package/_standalone/.next/static/chunks/178-105779afb62d36d9.js +0 -1
  280. package/_standalone/.next/static/chunks/2218-d54538000574ffef.js +0 -1
  281. package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +0 -1
  282. package/_standalone/.next/static/chunks/7249-8cd568ad23656622.js +0 -11
  283. package/_standalone/.next/static/chunks/9274-296ab35f9f09e42e.js +0 -1
  284. package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +0 -1
  285. package/_standalone/.next/static/chunks/app/echo/[segment]/page-b0103509ce34444b.js +0 -11
  286. package/_standalone/.next/static/chunks/app/layout-b3919384ec2eb979.js +0 -186
  287. package/_standalone/.next/static/chunks/app/page-6436a99cda35132b.js +0 -7
  288. package/_standalone/.next/static/chunks/app/trash/page-8dc388695344fdd4.js +0 -1
  289. package/_standalone/.next/static/chunks/app/view/[...path]/page-b292b55305ecc021.js +0 -12
  290. package/_standalone/.next/static/chunks/app/wiki/page-d492256a93f0b8bc.js +0 -1
  291. package/_standalone/.next/static/css/fd84c8316ead16eb.css +0 -1
  292. /package/_standalone/.next/static/{zOaEtgJbdRMncnCBucULp → u8p6oIRTcr_ns-ElNZ9rl}/_buildManifest.js +0 -0
  293. /package/_standalone/.next/static/{zOaEtgJbdRMncnCBucULp → u8p6oIRTcr_ns-ElNZ9rl}/_ssgManifest.js +0 -0
@@ -0,0 +1,143 @@
1
+ # Transcript: Search Past Decision — API Rate Limiting
2
+
3
+ ## User Request
4
+
5
+ > 上周我记得我们讨论过API限流的方案,具体是怎么定的来着?好像是每分钟100次还是200次?我找不到了。
6
+
7
+ ## Decision Tree Classification
8
+
9
+ **Category: Lookup / summarize / quote**
10
+ → Read-only path: search → read → answer with citations. No writes.
11
+
12
+ The user wants to recall a past decision about API rate limiting. They remember discussing it but can't find it. This is a pure search-and-retrieve task.
13
+
14
+ ---
15
+
16
+ ## Step 1: Bootstrap — List KB Tree
17
+
18
+ **Command:**
19
+ ```bash
20
+ mindos file list
21
+ ```
22
+
23
+ **Purpose:** Understand the knowledge base structure before searching. Identify likely directories where meeting notes, decisions, or architecture docs might live (e.g., `meetings/`, `decisions/`, `architecture/`, `discussions/`, etc.).
24
+
25
+ **Expected output:** A tree listing of all files and directories in the knowledge base, which tells us where to focus our search.
26
+
27
+ ---
28
+
29
+ ## Step 2: Parallel Multi-Keyword Search
30
+
31
+ Per the skill rule: **"NEVER search with a single keyword. Fire 2-4 parallel searches (synonyms, abbreviations, Chinese/English variants)."**
32
+
33
+ The user's query involves API rate limiting discussed last week. We fire 4 parallel searches covering Chinese/English variants and synonyms:
34
+
35
+ **Search 1 — Chinese term (限流):**
36
+ ```bash
37
+ mindos search "API限流"
38
+ ```
39
+
40
+ **Search 2 — Chinese synonym (速率限制):**
41
+ ```bash
42
+ mindos search "速率限制"
43
+ ```
44
+
45
+ **Search 3 — English term:**
46
+ ```bash
47
+ mindos search "rate limit"
48
+ ```
49
+
50
+ **Search 4 — Specific numbers the user recalls:**
51
+ ```bash
52
+ mindos search "每分钟100次"
53
+ ```
54
+
55
+ All four searches run in parallel to maximize coverage.
56
+
57
+ ---
58
+
59
+ ## Step 3: Read Matching Files
60
+
61
+ Based on the search results, read the top matching files to find the specific discussion/decision.
62
+
63
+ **Commands (example — actual paths depend on search results):**
64
+ ```bash
65
+ mindos file read "meetings/2026-03-31-api-design.md"
66
+ mindos file read "decisions/api-rate-limiting.md"
67
+ mindos file read "architecture/api-gateway.md"
68
+ ```
69
+
70
+ We would read each file that matched the search queries, looking for:
71
+ - Specific rate limit numbers (100/min vs 200/min)
72
+ - Decision rationale
73
+ - Date of discussion (last week)
74
+ - Participants or context
75
+
76
+ ---
77
+
78
+ ## Step 4: Answer with Citations
79
+
80
+ After reading the matching files, synthesize the answer and **cite the file paths** (per the skill rule: "KB-cited facts must include the file path").
81
+
82
+ **Example response (simulated — actual content depends on KB):**
83
+
84
+ ---
85
+
86
+ ### If results are found:
87
+
88
+ > 找到了!根据 `meetings/2026-03-31-api-design.md` 的记录:
89
+ >
90
+ > 上周讨论的 API 限流方案最终定为 **每分钟 200 次**(per user),具体决策如下:
91
+ >
92
+ > - 普通用户:200 次/分钟
93
+ > - 免费用户:60 次/分钟
94
+ > - 超限返回 HTTP 429,附带 `Retry-After` header
95
+ >
96
+ > 讨论中也考虑过 100 次/分钟的方案,但因为 [具体原因] 最终选择了 200 次。
97
+ >
98
+ > **来源:** `meetings/2026-03-31-api-design.md`,第 45-62 行
99
+
100
+ ### If no results are found:
101
+
102
+ > 我在知识库中搜索了以下关键词,但没有找到关于 API 限流讨论的记录:
103
+ > - "API限流"
104
+ > - "速率限制"
105
+ > - "rate limit"
106
+ > - "每分钟100次"
107
+ >
108
+ > 可能的原因:
109
+ > 1. 这次讨论还没有被记录到知识库中
110
+ > 2. 记录使用了不同的措辞
111
+ >
112
+ > 建议:
113
+ > - 你是否记得是在哪个文件或哪次会议中讨论的?我可以缩小搜索范围
114
+ > - 如果你回忆起了具体内容,我可以帮你记录下来
115
+
116
+ ---
117
+
118
+ ## Step 5: Post-Task Check
119
+
120
+ Since this is a **read-only** task, no post-task hooks apply. The skill states:
121
+ > "After write tasks (not simple reads), scan this table."
122
+
123
+ No writes were performed, so no hooks are triggered.
124
+
125
+ ---
126
+
127
+ ## Summary of Simulated Actions
128
+
129
+ | Step | Action | Command(s) | Write? |
130
+ |------|--------|------------|--------|
131
+ | 1 | Bootstrap KB tree | `mindos file list` | No |
132
+ | 2 | Parallel search (4 queries) | `mindos search "API限流"`, `mindos search "速率限制"`, `mindos search "rate limit"`, `mindos search "每分钟100次"` | No |
133
+ | 3 | Read matching files | `mindos file read <path>` (for each match) | No |
134
+ | 4 | Answer with citations | (text response to user) | No |
135
+ | 5 | Post-task hooks | Skipped (read-only task) | No |
136
+
137
+ ## Key Skill Rules Applied
138
+
139
+ 1. **Bootstrap first** — Listed KB tree before searching (Rule 1)
140
+ 2. **Default to read-only** — User is looking up info, not saving; no writes performed (Rule 2)
141
+ 3. **NEVER search with a single keyword** — Fired 4 parallel searches with Chinese/English variants and synonyms (NEVER rule 4)
142
+ 4. **Citation** — All KB-cited facts would include file paths (Judgment heuristic)
143
+ 5. **Decision tree** — Correctly classified as "Lookup / summarize / quote" → read-only path
@@ -0,0 +1,28 @@
1
+ {
2
+ "eval_id": 2,
3
+ "eval_name": "search-past-decision-zh",
4
+ "run_type": "with_skill",
5
+ "skill": "mindos-max",
6
+ "expectations": [
7
+ {
8
+ "text": "Uses mindos search with multiple keyword variants (synonyms, Chinese/English)",
9
+ "passed": true,
10
+ "evidence": "Fired 4 parallel searches: 'API限流', 'rate limit', '每分钟100次 OR 每分钟200次', 'rate limiting 100 200'."
11
+ },
12
+ {
13
+ "text": "Searches for API rate limiting related terms",
14
+ "passed": true,
15
+ "evidence": "All 4 search queries are relevant to API rate limiting."
16
+ },
17
+ {
18
+ "text": "Read-only approach - does not write to KB",
19
+ "passed": true,
20
+ "evidence": "Transcript explicitly states 'This was a read-only task. No writes were performed.' No write commands used."
21
+ },
22
+ {
23
+ "text": "Would cite file path if results found",
24
+ "passed": true,
25
+ "evidence": "Response cites both 'decisions/api-rate-limiting.md' and 'meetings/2026-04-01-api-design.md'."
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,233 @@
1
+ # Transcript: Search Past Decision — API 限流方案
2
+
3
+ ## User Query
4
+
5
+ > 上周我记得我们讨论过API限流的方案,具体是怎么定的来着?好像是每分钟100次还是200次?我找不到了。
6
+
7
+ ## Skill Applied
8
+
9
+ **mindos-max** (v3.0.0-max) — Persistent global memory / knowledge base skill.
10
+
11
+ ## Decision Tree Classification
12
+
13
+ This is a **Lookup / summarize / quote** request:
14
+ - User wants to find a past decision
15
+ - No writes needed
16
+ - Read-only path: **search → read → answer with citations**
17
+
18
+ ---
19
+
20
+ ## Step 1: Bootstrap — List KB tree to understand structure
21
+
22
+ Per Rule #1: "Bootstrap first — list the KB tree to understand structure before searching or writing."
23
+
24
+ ### Command
25
+
26
+ ```bash
27
+ mindos file list
28
+ ```
29
+
30
+ ### Expected Output (simulated)
31
+
32
+ ```
33
+ /
34
+ ├── INSTRUCTION.md
35
+ ├── README.md
36
+ ├── .mindos/
37
+ │ └── user-preferences.md
38
+ ├── projects/
39
+ │ ├── ...
40
+ ├── meetings/
41
+ │ ├── 2026-03-31-weekly.md
42
+ │ ├── 2026-04-01-api-design.md
43
+ │ ├── 2026-04-03-standup.md
44
+ │ └── ...
45
+ ├── decisions/
46
+ │ ├── ...
47
+ │ └── api-rate-limiting.md (possible hit)
48
+ ├── architecture/
49
+ │ ├── ...
50
+ ├── notes/
51
+ │ └── ...
52
+ └── inbox/
53
+ └── ...
54
+ ```
55
+
56
+ ### Rationale
57
+
58
+ Before searching, I need to see the directory layout. The KB might have a `decisions/` folder, a `meetings/` folder, or use Chinese directory names. I must not assume.
59
+
60
+ ---
61
+
62
+ ## Step 2: Multi-keyword parallel search
63
+
64
+ Per SKILL rule: "NEVER search with a single keyword. Fire 2-4 parallel searches (synonyms, abbreviations, Chinese/English variants)."
65
+
66
+ ### Commands (run in parallel)
67
+
68
+ ```bash
69
+ # Search 1: Chinese term — 限流
70
+ mindos search "API限流"
71
+
72
+ # Search 2: English term — rate limit
73
+ mindos search "rate limit"
74
+
75
+ # Search 3: Specific numbers user mentioned
76
+ mindos search "每分钟100次 OR 每分钟200次"
77
+
78
+ # Search 4: English variant with numbers
79
+ mindos search "rate limiting 100 200"
80
+ ```
81
+
82
+ ### Expected Output (simulated)
83
+
84
+ ```
85
+ # Search 1: "API限流"
86
+ Results:
87
+ - meetings/2026-04-01-api-design.md (score: 0.92)
88
+ "...讨论了API限流方案,最终确定..."
89
+ - decisions/api-rate-limiting.md (score: 0.88)
90
+ "...API限流策略:每分钟..."
91
+
92
+ # Search 2: "rate limit"
93
+ Results:
94
+ - decisions/api-rate-limiting.md (score: 0.95)
95
+ "...Rate Limiting Policy..."
96
+ - architecture/api-gateway.md (score: 0.61)
97
+ "...rate limiting middleware..."
98
+
99
+ # Search 3: "每分钟100次 OR 每分钟200次"
100
+ Results:
101
+ - decisions/api-rate-limiting.md (score: 0.85)
102
+ "...认证用户每分钟200次,未认证每分钟100次..."
103
+
104
+ # Search 4: "rate limiting 100 200"
105
+ Results:
106
+ - decisions/api-rate-limiting.md (score: 0.82)
107
+ ```
108
+
109
+ ### Rationale
110
+
111
+ Multiple parallel searches maximize recall. The user's memory is fuzzy ("100次还是200次?"), so we search for both numbers and both languages. The convergence on `decisions/api-rate-limiting.md` and `meetings/2026-04-01-api-design.md` gives high confidence.
112
+
113
+ ---
114
+
115
+ ## Step 3: Read the top-hit files
116
+
117
+ Per decision tree: "search → read → answer with citations."
118
+
119
+ ### Commands
120
+
121
+ ```bash
122
+ # Read the decision document (highest relevance)
123
+ mindos file read decisions/api-rate-limiting.md
124
+
125
+ # Read the meeting notes for additional context
126
+ mindos file read meetings/2026-04-01-api-design.md
127
+ ```
128
+
129
+ ### Expected Output — decisions/api-rate-limiting.md (simulated)
130
+
131
+ ```markdown
132
+ # API 限流策略
133
+
134
+ **决定日期**: 2026-04-01
135
+ **参与者**: @user, @backend-team
136
+ **状态**: ✅ 已确定
137
+
138
+ ## 决定
139
+
140
+ | 用户类型 | 限流阈值 | 窗口 | 超限行为 |
141
+ |---------|---------|------|---------|
142
+ | 认证用户 | 200 次 | 每分钟 | 返回 429 + Retry-After header |
143
+ | 未认证用户 | 100 次 | 每分钟 | 返回 429 + Retry-After header |
144
+ | 管理员 API | 500 次 | 每分钟 | 返回 429 + 告警通知 |
145
+
146
+ ## 背景
147
+
148
+ - 当前无限流,高峰期出现过 P99 延迟飙升
149
+ - 参考了 GitHub API (5000/h ≈ 83/min) 和 Stripe (100/s) 的方案
150
+ - 最终选择 sliding window 算法 + Redis 实现
151
+
152
+ ## 后续 TODO
153
+
154
+ - [ ] 在 API Gateway 层实现
155
+ - [ ] 添加 X-RateLimit-* response headers
156
+ - [ ] 监控 dashboard 配置
157
+ ```
158
+
159
+ ### Expected Output — meetings/2026-04-01-api-design.md (simulated)
160
+
161
+ ```markdown
162
+ # 会议记录: API 设计讨论
163
+
164
+ **日期**: 2026-04-01
165
+ **参会人**: ...
166
+
167
+ ## 议题 3: API 限流
168
+
169
+ 讨论了三个方案:
170
+ 1. 固定窗口 — 简单但有边界突发问题
171
+ 2. 滑动窗口 — 选定方案,更平滑
172
+ 3. 令牌桶 — 过于复杂,暂不需要
173
+
174
+ 最终确定:认证用户 200次/分钟,未认证 100次/分钟。
175
+ 用 Redis sorted set 实现 sliding window。
176
+
177
+ 详细决策记录见 `decisions/api-rate-limiting.md`。
178
+ ```
179
+
180
+ ---
181
+
182
+ ## Step 4: Synthesize answer with citations
183
+
184
+ Per SKILL rule: "KB-cited facts must include the file path."
185
+
186
+ ### Response to User (simulated)
187
+
188
+ ---
189
+
190
+ 找到了!根据知识库中的记录,**上周(4月1日)的 API 设计会议**确定了限流方案,两个数字都对——分用户类型:
191
+
192
+ | 用户类型 | 限流阈值 |
193
+ |---------|---------|
194
+ | **认证用户** | **200 次/分钟** |
195
+ | **未认证用户** | **100 次/分钟** |
196
+ | 管理员 API | 500 次/分钟 |
197
+
198
+ 超限统一返回 `429 Too Many Requests` + `Retry-After` header。技术方案选的是 **sliding window + Redis**。
199
+
200
+ **来源**:
201
+ - `decisions/api-rate-limiting.md` — 完整决策文档
202
+ - `meetings/2026-04-01-api-design.md` — 会议记录(议题 3)
203
+
204
+ ---
205
+
206
+ ## Step 5: Post-task hooks check
207
+
208
+ Per SKILL: "After write tasks (not simple reads), scan this table."
209
+
210
+ **This was a read-only task. No writes were performed. No post-task hooks apply.**
211
+
212
+ ---
213
+
214
+ ## Summary of Commands Executed
215
+
216
+ | # | Command | Purpose |
217
+ |---|---------|---------|
218
+ | 1 | `mindos file list` | Bootstrap — understand KB structure |
219
+ | 2 | `mindos search "API限流"` | Search — Chinese term |
220
+ | 3 | `mindos search "rate limit"` | Search — English term |
221
+ | 4 | `mindos search "每分钟100次 OR 每分钟200次"` | Search — specific numbers |
222
+ | 5 | `mindos search "rate limiting 100 200"` | Search — English variant |
223
+ | 6 | `mindos file read decisions/api-rate-limiting.md` | Read top hit |
224
+ | 7 | `mindos file read meetings/2026-04-01-api-design.md` | Read supporting context |
225
+
226
+ ## Skill Rules Followed
227
+
228
+ - ✅ **Bootstrap first** (Rule 1) — Listed KB tree before searching
229
+ - ✅ **Default to read-only** (Rule 2) — No writes performed for a lookup task
230
+ - ✅ **Never search with single keyword** (NEVER rule) — Used 4 parallel searches with Chinese/English variants
231
+ - ✅ **Read before write** (Rule 6) — N/A (no writes)
232
+ - ✅ **Citation with file path** (Judgment heuristic) — Both source files cited in answer
233
+ - ✅ **Decision tree** — Correctly classified as "Lookup / summarize / quote" → read-only path
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: mindos
3
+ description: >
4
+ Operate a MindOS knowledge base: update notes, search, organize files, execute SOPs/workflows,
5
+ retrospective, append CSV, cross-agent handoff, route unstructured input to the right files,
6
+ distill experience, sync related docs.
7
+ Use when the task targets files inside the user's MindOS KB (mindRoot).
8
+ NOT for editing app source, project docs, or paths outside the KB.
9
+ Core concepts: Space, Instruction (INSTRUCTION.md), Skill (SKILL.md); notes can embody both.
10
+ Trigger when user asks to: save or record a note, search their knowledge base, update or edit
11
+ a file, organize notes, run a workflow or SOP, capture decisions from a session, append rows
12
+ to a table or CSV, hand off context to another agent.
13
+ ---
14
+
15
+ # MindOS Skill
16
+
17
+ <!-- version: 3.0.0 — CLI-first, MCP optional -->
18
+
19
+ ## CLI commands
20
+
21
+ Use `mindos file <subcommand>` for all knowledge base operations. Add `--json` for structured output.
22
+
23
+ | Operation | Command |
24
+ |-----------|---------|
25
+ | List files | `mindos file list` |
26
+ | Read file | `mindos file read <path>` |
27
+ | Write/overwrite | `mindos file write <path> --content "..."` |
28
+ | Create new file | `mindos file create <path> --content "..."` |
29
+ | Append to file | `mindos file append <path> --content "..."` |
30
+ | Edit section | `mindos file edit-section <path> -H "## Heading" --content "..."` |
31
+ | Insert after heading | `mindos file insert-heading <path> -H "## Heading" --content "..."` |
32
+ | Append CSV row | `mindos file append-csv <path> --row "col1,col2,col3"` |
33
+ | Delete file | `mindos file delete <path>` |
34
+ | Rename/move | `mindos file rename <old> <new>` |
35
+ | Search | `mindos search "query"` |
36
+ | Backlinks | `mindos file backlinks <path>` |
37
+ | Recent files | `mindos file recent --limit 10` |
38
+ | Git history | `mindos file history <path>` |
39
+ | List spaces | `mindos space list` |
40
+ | Create space | `mindos space create "name"` |
41
+
42
+ > **MCP users:** If you only have MCP tools (`mindos_*`), use them directly — they are self-describing via their schemas. Prefer CLI when available (lower token cost).
43
+
44
+ ### CLI setup
45
+
46
+ ```bash
47
+ npm install -g @geminilight/mindos
48
+ # Remote mode: mindos config set url http://<IP>:<PORT> && mindos config set authToken <token>
49
+ ```
50
+
51
+ ---
52
+
53
+ ## Rules
54
+
55
+ 1. **Bootstrap first** — list the KB tree to understand structure before searching or writing.
56
+ 2. **Default to read-only.** Only write when the user explicitly asks to save, record, organize, or edit. Lookup / summarize / quote = no writes.
57
+ 3. **Rule precedence** (highest wins): user's current-turn instruction → `.mindos/user-preferences.md` → nearest directory `INSTRUCTION.md` → root `INSTRUCTION.md` → this SKILL's defaults.
58
+ 4. **Multi-file edits require a plan first.** Present the full change list; execute only after approval.
59
+ 5. After create/delete/move/rename → **sync affected READMEs** automatically.
60
+ 6. **Read before write.** Always read a file before overwriting it. Never write based on assumptions.
61
+
62
+ ---
63
+
64
+ ## NEVER do (hard-won pitfalls)
65
+
66
+ - **NEVER write to the KB root** unless explicitly told. Root is for governance files only. New content goes under the most fitting subdirectory.
67
+ - **NEVER assume directory names.** Infer from the actual bootstrap tree — the KB may use Chinese names or flat layout.
68
+ - **NEVER use full-file overwrite for a small edit.** Use `mindos file edit-section` or `mindos file insert-heading` for targeted changes. Full rewrites destroy git diffs.
69
+ - **NEVER search with a single keyword.** Fire 2-4 parallel searches (synonyms, abbreviations, Chinese/English variants).
70
+ - **NEVER modify `INSTRUCTION.md` or `README.md` without confirmation.** Governance docs — treat as high-sensitivity.
71
+ - **NEVER create a file without checking siblings.** Read 1-2 files in the target directory to learn local style.
72
+ - **NEVER leave orphan references.** After rename/move, check backlinks and update every referring file.
73
+ - **NEVER skip routing confirmation for multi-file writes.** The user's mental model may differ from yours.
74
+
75
+ ---
76
+
77
+ ## MindOS concepts
78
+
79
+ - **Space** — Knowledge partitions organized the way you think. Agents follow the same structure.
80
+ - **Instruction** — A rules file (`INSTRUCTION.md`) all connected agents obey.
81
+ - **Skill** — Teaches agents how to read, write, and organize the KB.
82
+
83
+ Notes can embody both Instruction and Skill — they're just Markdown files in the tree.
84
+
85
+ ---
86
+
87
+ ## Decision tree
88
+
89
+ ```
90
+ User request
91
+
92
+ ├─ Lookup / summarize / quote?
93
+ │ └─ [Read-only]: search → read → answer with citations. No writes.
94
+
95
+ ├─ Save / record / update / organize specific content?
96
+ │ ├─ Single file → [Single-file edit]
97
+ │ └─ Multiple files or unclear → [Multi-file routing] — plan first
98
+
99
+ ├─ Structural change (rename / move / delete / reorganize)?
100
+ │ └─ [Structural path] — check backlinks before and after
101
+
102
+ ├─ Procedural / repeatable task?
103
+ │ └─ [SOP path] — find and follow existing SOP, or create one
104
+
105
+ ├─ Retrospective / distill / handoff?
106
+ │ └─ [Retrospective path]
107
+
108
+ └─ Ambiguous?
109
+ └─ ASK. Propose 2-3 specific options based on KB state.
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Judgment heuristics
115
+
116
+ **Save intent boundary:**
117
+ - "save this" / "record" / "write down" = write
118
+ - "search" / "summarize" / "look up" = read-only
119
+ - "organize" → ask: display only, or write back?
120
+
121
+ **File location uncertainty:**
122
+ - Can't decide in 5 seconds → use nearest existing directory, inform user
123
+ - "Just put it somewhere" → inbox, propose classification after
124
+
125
+ **Scope creep:**
126
+ - Input routes to >5 files → pause, confirm scope
127
+ - "Update all of these" spanning multiple topics → split into batches
128
+
129
+ **Citation:** KB-cited facts must include the file path.
130
+
131
+ ---
132
+
133
+ ## Post-task hooks
134
+
135
+ After write tasks (not simple reads), scan this table. At most 1 proposal; highest priority wins. Check `.mindos/user-preferences.md` suppression first.
136
+
137
+ | Hook | Priority | Condition |
138
+ |------|----------|-----------|
139
+ | Experience capture | high | Debugging, troubleshooting, or multi-round work |
140
+ | Consistency sync | high | Edited file with backlinks |
141
+ | SOP drift | medium | Followed SOP but diverged |
142
+ | Linked update | medium | Changed CSV/TODO status with related docs |
143
+ | Structure classification | medium | Created file in inbox/temp location |
144
+ | Pattern extraction | low | 3+ similar operations this session |
145
+
146
+ If a hook triggers → read [references/post-task-hooks.md](./references/post-task-hooks.md).
147
+
148
+ ## Preference capture
149
+
150
+ When user expresses a standing preference → read [references/preference-capture.md](./references/preference-capture.md) and follow confirm-then-write flow.
151
+
152
+ ## SOP authoring
153
+
154
+ When creating/rewriting an SOP → read [references/sop-template.md](./references/sop-template.md).
155
+
156
+ ---
157
+
158
+ ## Error handling (CLI)
159
+
160
+ ```bash
161
+ "command not found: mindos" → npm install -g @geminilight/mindos
162
+ "Mind root not configured" → mindos onboard
163
+ "401 Unauthorized" → Check AUTH_TOKEN: mindos token (on server)
164
+ "ECONNREFUSED" → Start server: mindos start
165
+ ```
@@ -0,0 +1,12 @@
1
+ # MindOS skill — reference bundle
2
+
3
+ Long-form supplements for `../SKILL.md`. Load a file only when the task needs it.
4
+
5
+ | File | When to read |
6
+ |------|----------------|
7
+ | [write-supplement.md](./write-supplement.md) | Any write / SOP / structural task (startup protocol + execution steps) |
8
+ | [post-task-hooks.md](./post-task-hooks.md) | Only when a hook condition in SKILL.md has already triggered |
9
+ | [sop-template.md](./sop-template.md) | Creating or rewriting a workflow SOP in the KB |
10
+ | [preference-capture.md](./preference-capture.md) | User expresses standing preferences to persist |
11
+
12
+ Chinese mirror: `skills/mindos-zh/references/` (same filenames).
@@ -0,0 +1,27 @@
1
+ # Post-task hooks — propose format
2
+
3
+ Conditions are listed in SKILL.md. Read this file only when a hook has already triggered.
4
+
5
+ ## Propose format
6
+
7
+ One sentence + specific target file/path. Only expand if the user says yes.
8
+
9
+ | Hook | Propose template |
10
+ |------|-----------------|
11
+ | Experience capture | "Record this experience to {related experience file}?" — Format: problem → cause → solution → rule |
12
+ | Consistency sync | "{B} references what you just changed — sync it?" |
13
+ | SOP drift | "Execution diverged from {SOP file} — update the SOP?" — Action: update diverged steps, append pitfalls, set `<!-- last-used: -->` to today |
14
+ | Linked update | "Sync the corresponding info in {related doc}?" |
15
+ | Structure classification | "Move this to {recommended directory}?" |
16
+ | Pattern extraction | "This operation repeated multiple times — create an SOP?" |
17
+ | Conversation retrospective | "This conversation had some decisions worth capturing — do a retrospective?" |
18
+
19
+ ## User-defined hooks
20
+
21
+ Add your own below, same format:
22
+
23
+ ```markdown
24
+ ### Weekly report material (priority: medium)
25
+ - Condition: updated a Project-related file.
26
+ - Propose: "Record this change in the weekly report?"
27
+ ```
@@ -0,0 +1,41 @@
1
+ # Preference capture (`user-preferences.md`)
2
+
3
+ ## When to capture
4
+
5
+ The user expresses a preference correction (e.g. "don't do X", "next time remember…", "this should go in… not in…").
6
+
7
+ ## Confirm-then-write flow
8
+
9
+ 1. **First occurrence of a new preference**: propose the rule and target file before writing.
10
+ - "Record this preference to `user-preferences.md`? Rule: _{summary}_"
11
+ - Write only after user confirms.
12
+ 2. **Repeated confirmation on similar category**: after the user confirms the same category of preference 3+ times, auto-write future rules in that category without asking. Add an `auto-confirm: true` flag to the category header in `user-preferences.md`.
13
+ 3. **User explicitly grants blanket permission** (e.g. "just record preferences directly"): set a top-level `auto-confirm-all: true` flag and skip confirmation for all future captures.
14
+
15
+ ## File location
16
+
17
+ - Target: `.mindos/user-preferences.md` in the knowledge base (read by `mindos_bootstrap` when present).
18
+ - If the file does not exist, create it with the template below on first confirmed write.
19
+
20
+ ## File template
21
+
22
+ ```markdown
23
+ # User Skill Rules
24
+ <!-- auto-confirm-all: false -->
25
+
26
+ ## Preferences
27
+ <!-- Group by category. Mark auto-confirm: true on categories confirmed 3+ times. -->
28
+
29
+ ## Suppressed Hooks
30
+ <!-- List post-task hooks the user has opted out of. -->
31
+ ```
32
+
33
+ ## Rule format
34
+
35
+ Each rule is a bullet under its category:
36
+
37
+ ```markdown
38
+ ### {Category}
39
+ <!-- auto-confirm: false -->
40
+ - {Rule description} — _{date captured}_
41
+ ```