@agentmemory/agentmemory 0.9.30 → 0.9.32

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 (334) hide show
  1. package/.env.example +57 -48
  2. package/AGENTS.md +8 -8
  3. package/README.md +256 -819
  4. package/dist/.env.example +57 -48
  5. package/dist/cli.d.mts.map +1 -1
  6. package/dist/cli.mjs +2257 -1027
  7. package/dist/cli.mjs.map +1 -1
  8. package/dist/compression-recovery-CZh63Jmz.mjs +5997 -0
  9. package/dist/compression-recovery-CZh63Jmz.mjs.map +1 -0
  10. package/dist/{connect-B4_ca6BD.mjs → connect-BX3njQ3Y.mjs} +897 -276
  11. package/dist/connect-BX3njQ3Y.mjs.map +1 -0
  12. package/dist/hooks/_capture.d.mts +5 -1
  13. package/dist/hooks/_capture.d.mts.map +1 -1
  14. package/dist/hooks/_capture.mjs +141 -26
  15. package/dist/hooks/_capture.mjs.map +1 -1
  16. package/dist/hooks/notification.mjs +20 -6
  17. package/dist/hooks/notification.mjs.map +1 -1
  18. package/dist/hooks/post-commit.mjs +83 -10
  19. package/dist/hooks/post-commit.mjs.map +1 -1
  20. package/dist/hooks/post-tool-failure.mjs +19 -6
  21. package/dist/hooks/post-tool-failure.mjs.map +1 -1
  22. package/dist/hooks/post-tool-use.mjs +19 -6
  23. package/dist/hooks/post-tool-use.mjs.map +1 -1
  24. package/dist/hooks/pre-compact.mjs +104 -22
  25. package/dist/hooks/pre-compact.mjs.map +1 -1
  26. package/dist/hooks/pre-tool-use.mjs +83 -10
  27. package/dist/hooks/pre-tool-use.mjs.map +1 -1
  28. package/dist/hooks/prompt-submit.mjs +12 -4
  29. package/dist/hooks/prompt-submit.mjs.map +1 -1
  30. package/dist/hooks/session-end.mjs +59 -17
  31. package/dist/hooks/session-end.mjs.map +1 -1
  32. package/dist/hooks/session-start.mjs +95 -15
  33. package/dist/hooks/session-start.mjs.map +1 -1
  34. package/dist/hooks/stop.mjs +75 -72
  35. package/dist/hooks/stop.mjs.map +1 -1
  36. package/dist/hooks/subagent-start.mjs +13 -5
  37. package/dist/hooks/subagent-start.mjs.map +1 -1
  38. package/dist/hooks/subagent-stop.mjs +32 -10
  39. package/dist/hooks/subagent-stop.mjs.map +1 -1
  40. package/dist/hooks/task-completed.mjs +21 -6
  41. package/dist/hooks/task-completed.mjs.map +1 -1
  42. package/dist/{image-refs-T_urbwHM.mjs → image-refs-Cyta4Lf9.mjs} +2 -2
  43. package/dist/{image-refs-T_urbwHM.mjs.map → image-refs-Cyta4Lf9.mjs.map} +1 -1
  44. package/dist/index.mjs +16390 -11530
  45. package/dist/index.mjs.map +1 -1
  46. package/dist/integrations/dsh.d.mts +55 -0
  47. package/dist/integrations/dsh.d.mts.map +1 -0
  48. package/dist/integrations/dsh.mjs +1172 -0
  49. package/dist/integrations/dsh.mjs.map +1 -0
  50. package/dist/{keyed-mutex-DchXsyfP.mjs → keyed-mutex-DCUh7PG-.mjs} +58 -9
  51. package/dist/keyed-mutex-DCUh7PG-.mjs.map +1 -0
  52. package/dist/{secret-store-BnY3A50C.mjs → secret-store-iYXRcrO8.mjs} +717 -474
  53. package/dist/secret-store-iYXRcrO8.mjs.map +1 -0
  54. package/dist/session-arguments-zxsbbd8y.mjs +113 -0
  55. package/dist/session-arguments-zxsbbd8y.mjs.map +1 -0
  56. package/dist/{src-Jsq9LCeH.mjs → src-C23nMpda.mjs} +5263 -4667
  57. package/dist/src-C23nMpda.mjs.map +1 -0
  58. package/dist/{standalone-DKCdrf1d.mjs → standalone-BYo5USDb.mjs} +379 -63
  59. package/dist/standalone-BYo5USDb.mjs.map +1 -0
  60. package/dist/standalone.d.mts +1 -1
  61. package/dist/standalone.d.mts.map +1 -1
  62. package/dist/standalone.mjs +864 -81
  63. package/dist/standalone.mjs.map +1 -1
  64. package/dist/viewer/index.html +337 -168
  65. package/integrations/hermes/README.md +94 -0
  66. package/integrations/hermes/__init__.py +670 -0
  67. package/integrations/hermes/plugin.yaml +27 -0
  68. package/integrations/omp/LICENSE +190 -0
  69. package/integrations/omp/README.md +76 -0
  70. package/integrations/omp/capture.ts +1 -0
  71. package/integrations/omp/dist/index.mjs +1477 -0
  72. package/integrations/omp/index.ts +488 -0
  73. package/integrations/omp/package.json +13 -0
  74. package/integrations/omp/security.ts +67 -0
  75. package/integrations/omp/skills/agentmemory-agents/REFERENCE.md +32 -0
  76. package/integrations/omp/skills/agentmemory-agents/SKILL.md +48 -0
  77. package/integrations/omp/skills/agentmemory-agents/TROUBLESHOOTING.md +70 -0
  78. package/integrations/omp/skills/agentmemory-architecture/SKILL.md +37 -0
  79. package/integrations/omp/skills/agentmemory-architecture/TROUBLESHOOTING.md +70 -0
  80. package/integrations/omp/skills/agentmemory-config/REFERENCE.md +91 -0
  81. package/integrations/omp/skills/agentmemory-config/SKILL.md +98 -0
  82. package/integrations/omp/skills/agentmemory-config/TROUBLESHOOTING.md +70 -0
  83. package/integrations/omp/skills/agentmemory-hooks/REFERENCE.md +20 -0
  84. package/integrations/omp/skills/agentmemory-hooks/SKILL.md +60 -0
  85. package/integrations/omp/skills/agentmemory-hooks/TROUBLESHOOTING.md +70 -0
  86. package/integrations/omp/skills/agentmemory-mcp-tools/REFERENCE.md +66 -0
  87. package/integrations/omp/skills/agentmemory-mcp-tools/SKILL.md +52 -0
  88. package/integrations/omp/skills/agentmemory-mcp-tools/TROUBLESHOOTING.md +70 -0
  89. package/integrations/omp/skills/agentmemory-rest-api/REFERENCE.md +159 -0
  90. package/integrations/omp/skills/agentmemory-rest-api/SKILL.md +49 -0
  91. package/integrations/omp/skills/agentmemory-rest-api/TROUBLESHOOTING.md +70 -0
  92. package/integrations/omp/skills/commit-context/EXAMPLES.md +71 -0
  93. package/integrations/omp/skills/commit-context/SKILL.md +64 -0
  94. package/integrations/omp/skills/commit-context/TROUBLESHOOTING.md +70 -0
  95. package/integrations/omp/skills/commit-history/EXAMPLES.md +71 -0
  96. package/integrations/omp/skills/commit-history/SKILL.md +62 -0
  97. package/integrations/omp/skills/commit-history/TROUBLESHOOTING.md +70 -0
  98. package/integrations/omp/skills/forget/EXAMPLES.md +40 -0
  99. package/integrations/omp/skills/forget/SKILL.md +73 -0
  100. package/integrations/omp/skills/forget/TROUBLESHOOTING.md +70 -0
  101. package/integrations/omp/skills/handoff/EXAMPLES.md +57 -0
  102. package/integrations/omp/skills/handoff/SKILL.md +75 -0
  103. package/integrations/omp/skills/handoff/TROUBLESHOOTING.md +70 -0
  104. package/integrations/omp/skills/lesson/SKILL.md +64 -0
  105. package/integrations/omp/skills/lesson/TROUBLESHOOTING.md +70 -0
  106. package/integrations/omp/skills/memory-discipline/SKILL.md +65 -0
  107. package/integrations/omp/skills/memory-discipline/TROUBLESHOOTING.md +70 -0
  108. package/integrations/omp/skills/recall/EXAMPLES.md +74 -0
  109. package/integrations/omp/skills/recall/SKILL.md +74 -0
  110. package/integrations/omp/skills/recall/TROUBLESHOOTING.md +70 -0
  111. package/integrations/omp/skills/recap/EXAMPLES.md +62 -0
  112. package/integrations/omp/skills/recap/SKILL.md +68 -0
  113. package/integrations/omp/skills/recap/TROUBLESHOOTING.md +70 -0
  114. package/integrations/omp/skills/remember/EXAMPLES.md +67 -0
  115. package/integrations/omp/skills/remember/SKILL.md +66 -0
  116. package/integrations/omp/skills/remember/TROUBLESHOOTING.md +70 -0
  117. package/integrations/omp/skills/session-history/EXAMPLES.md +59 -0
  118. package/integrations/omp/skills/session-history/SKILL.md +67 -0
  119. package/integrations/omp/skills/session-history/TROUBLESHOOTING.md +70 -0
  120. package/integrations/omp/skills/write-agentmemory-skill/SKILL.md +41 -0
  121. package/integrations/omp/skills/write-agentmemory-skill/TROUBLESHOOTING.md +70 -0
  122. package/integrations/openclaw/LICENSE +190 -0
  123. package/integrations/openclaw/README.md +98 -0
  124. package/integrations/openclaw/openclaw.plugin.json +71 -0
  125. package/integrations/openclaw/package.json +38 -0
  126. package/integrations/openclaw/plugin.mjs +425 -0
  127. package/integrations/openclaw/plugin.yaml +26 -0
  128. package/integrations/openclaw/skills/agentmemory-agents/REFERENCE.md +32 -0
  129. package/integrations/openclaw/skills/agentmemory-agents/SKILL.md +48 -0
  130. package/integrations/openclaw/skills/agentmemory-agents/TROUBLESHOOTING.md +70 -0
  131. package/integrations/openclaw/skills/agentmemory-architecture/SKILL.md +37 -0
  132. package/integrations/openclaw/skills/agentmemory-architecture/TROUBLESHOOTING.md +70 -0
  133. package/integrations/openclaw/skills/agentmemory-config/REFERENCE.md +91 -0
  134. package/integrations/openclaw/skills/agentmemory-config/SKILL.md +98 -0
  135. package/integrations/openclaw/skills/agentmemory-config/TROUBLESHOOTING.md +70 -0
  136. package/integrations/openclaw/skills/agentmemory-hooks/REFERENCE.md +20 -0
  137. package/integrations/openclaw/skills/agentmemory-hooks/SKILL.md +60 -0
  138. package/integrations/openclaw/skills/agentmemory-hooks/TROUBLESHOOTING.md +70 -0
  139. package/integrations/openclaw/skills/agentmemory-mcp-tools/REFERENCE.md +66 -0
  140. package/integrations/openclaw/skills/agentmemory-mcp-tools/SKILL.md +52 -0
  141. package/integrations/openclaw/skills/agentmemory-mcp-tools/TROUBLESHOOTING.md +70 -0
  142. package/integrations/openclaw/skills/agentmemory-rest-api/REFERENCE.md +159 -0
  143. package/integrations/openclaw/skills/agentmemory-rest-api/SKILL.md +49 -0
  144. package/integrations/openclaw/skills/agentmemory-rest-api/TROUBLESHOOTING.md +70 -0
  145. package/integrations/openclaw/skills/commit-context/EXAMPLES.md +71 -0
  146. package/integrations/openclaw/skills/commit-context/SKILL.md +64 -0
  147. package/integrations/openclaw/skills/commit-context/TROUBLESHOOTING.md +70 -0
  148. package/integrations/openclaw/skills/commit-history/EXAMPLES.md +71 -0
  149. package/integrations/openclaw/skills/commit-history/SKILL.md +62 -0
  150. package/integrations/openclaw/skills/commit-history/TROUBLESHOOTING.md +70 -0
  151. package/integrations/openclaw/skills/forget/EXAMPLES.md +40 -0
  152. package/integrations/openclaw/skills/forget/SKILL.md +73 -0
  153. package/integrations/openclaw/skills/forget/TROUBLESHOOTING.md +70 -0
  154. package/integrations/openclaw/skills/handoff/EXAMPLES.md +57 -0
  155. package/integrations/openclaw/skills/handoff/SKILL.md +75 -0
  156. package/integrations/openclaw/skills/handoff/TROUBLESHOOTING.md +70 -0
  157. package/integrations/openclaw/skills/lesson/SKILL.md +64 -0
  158. package/integrations/openclaw/skills/lesson/TROUBLESHOOTING.md +70 -0
  159. package/integrations/openclaw/skills/memory-discipline/SKILL.md +65 -0
  160. package/integrations/openclaw/skills/memory-discipline/TROUBLESHOOTING.md +70 -0
  161. package/integrations/openclaw/skills/recall/EXAMPLES.md +74 -0
  162. package/integrations/openclaw/skills/recall/SKILL.md +74 -0
  163. package/integrations/openclaw/skills/recall/TROUBLESHOOTING.md +70 -0
  164. package/integrations/openclaw/skills/recap/EXAMPLES.md +62 -0
  165. package/integrations/openclaw/skills/recap/SKILL.md +68 -0
  166. package/integrations/openclaw/skills/recap/TROUBLESHOOTING.md +70 -0
  167. package/integrations/openclaw/skills/remember/EXAMPLES.md +67 -0
  168. package/integrations/openclaw/skills/remember/SKILL.md +66 -0
  169. package/integrations/openclaw/skills/remember/TROUBLESHOOTING.md +70 -0
  170. package/integrations/openclaw/skills/session-history/EXAMPLES.md +59 -0
  171. package/integrations/openclaw/skills/session-history/SKILL.md +67 -0
  172. package/integrations/openclaw/skills/session-history/TROUBLESHOOTING.md +70 -0
  173. package/integrations/openclaw/skills/write-agentmemory-skill/SKILL.md +41 -0
  174. package/integrations/openclaw/skills/write-agentmemory-skill/TROUBLESHOOTING.md +70 -0
  175. package/integrations/pi/LICENSE +190 -0
  176. package/integrations/pi/README.md +46 -51
  177. package/integrations/pi/dist/index.mjs +1460 -0
  178. package/integrations/pi/index.ts +192 -175
  179. package/integrations/pi/package.json +17 -7
  180. package/integrations/pi/security.ts +6 -26
  181. package/integrations/pi/skills/agentmemory-agents/REFERENCE.md +32 -0
  182. package/integrations/pi/skills/agentmemory-agents/SKILL.md +48 -0
  183. package/integrations/pi/skills/agentmemory-agents/TROUBLESHOOTING.md +70 -0
  184. package/integrations/pi/skills/agentmemory-architecture/SKILL.md +37 -0
  185. package/integrations/pi/skills/agentmemory-architecture/TROUBLESHOOTING.md +70 -0
  186. package/integrations/pi/skills/agentmemory-config/REFERENCE.md +91 -0
  187. package/integrations/pi/skills/agentmemory-config/SKILL.md +98 -0
  188. package/integrations/pi/skills/agentmemory-config/TROUBLESHOOTING.md +70 -0
  189. package/integrations/pi/skills/agentmemory-hooks/REFERENCE.md +20 -0
  190. package/integrations/pi/skills/agentmemory-hooks/SKILL.md +60 -0
  191. package/integrations/pi/skills/agentmemory-hooks/TROUBLESHOOTING.md +70 -0
  192. package/integrations/pi/skills/agentmemory-mcp-tools/REFERENCE.md +66 -0
  193. package/integrations/pi/skills/agentmemory-mcp-tools/SKILL.md +52 -0
  194. package/integrations/pi/skills/agentmemory-mcp-tools/TROUBLESHOOTING.md +70 -0
  195. package/integrations/pi/skills/agentmemory-rest-api/REFERENCE.md +159 -0
  196. package/integrations/pi/skills/agentmemory-rest-api/SKILL.md +49 -0
  197. package/integrations/pi/skills/agentmemory-rest-api/TROUBLESHOOTING.md +70 -0
  198. package/integrations/pi/skills/commit-context/EXAMPLES.md +71 -0
  199. package/integrations/pi/skills/commit-context/SKILL.md +64 -0
  200. package/integrations/pi/skills/commit-context/TROUBLESHOOTING.md +70 -0
  201. package/integrations/pi/skills/commit-history/EXAMPLES.md +71 -0
  202. package/integrations/pi/skills/commit-history/SKILL.md +62 -0
  203. package/integrations/pi/skills/commit-history/TROUBLESHOOTING.md +70 -0
  204. package/integrations/pi/skills/forget/EXAMPLES.md +40 -0
  205. package/integrations/pi/skills/forget/SKILL.md +73 -0
  206. package/integrations/pi/skills/forget/TROUBLESHOOTING.md +70 -0
  207. package/integrations/pi/skills/handoff/EXAMPLES.md +57 -0
  208. package/integrations/pi/skills/handoff/SKILL.md +75 -0
  209. package/integrations/pi/skills/handoff/TROUBLESHOOTING.md +70 -0
  210. package/integrations/pi/skills/lesson/SKILL.md +64 -0
  211. package/integrations/pi/skills/lesson/TROUBLESHOOTING.md +70 -0
  212. package/integrations/pi/skills/memory-discipline/SKILL.md +65 -0
  213. package/integrations/pi/skills/memory-discipline/TROUBLESHOOTING.md +70 -0
  214. package/integrations/pi/skills/recall/EXAMPLES.md +74 -0
  215. package/integrations/pi/skills/recall/SKILL.md +74 -0
  216. package/integrations/pi/skills/recall/TROUBLESHOOTING.md +70 -0
  217. package/integrations/pi/skills/recap/EXAMPLES.md +62 -0
  218. package/integrations/pi/skills/recap/SKILL.md +68 -0
  219. package/integrations/pi/skills/recap/TROUBLESHOOTING.md +70 -0
  220. package/integrations/pi/skills/remember/EXAMPLES.md +67 -0
  221. package/integrations/pi/skills/remember/SKILL.md +66 -0
  222. package/integrations/pi/skills/remember/TROUBLESHOOTING.md +70 -0
  223. package/integrations/pi/skills/session-history/EXAMPLES.md +59 -0
  224. package/integrations/pi/skills/session-history/SKILL.md +67 -0
  225. package/integrations/pi/skills/session-history/TROUBLESHOOTING.md +70 -0
  226. package/integrations/pi/skills/write-agentmemory-skill/SKILL.md +41 -0
  227. package/integrations/pi/skills/write-agentmemory-skill/TROUBLESHOOTING.md +70 -0
  228. package/package.json +33 -11
  229. package/plugin/.claude-plugin/plugin.json +16 -3
  230. package/plugin/.codex-plugin/plugin.json +4 -3
  231. package/plugin/.devin-plugin/plugin.json +6 -5
  232. package/plugin/.mcp.json +5 -1
  233. package/plugin/README.md +71 -0
  234. package/plugin/cursor/hooks.json +23 -8
  235. package/plugin/hooks/hooks.json +24 -12
  236. package/plugin/hooks.json +67 -0
  237. package/plugin/opencode/README.md +1 -1
  238. package/plugin/opencode/agentmemory-capture.ts +25 -11
  239. package/plugin/opencode/plugin.json +1 -1
  240. package/plugin/plugin.json +1 -1
  241. package/plugin/scripts/_capture.d.mts +5 -1
  242. package/plugin/scripts/_capture.d.mts.map +1 -1
  243. package/plugin/scripts/_capture.mjs +141 -26
  244. package/plugin/scripts/_capture.mjs.map +1 -1
  245. package/plugin/scripts/cursor/run-detached.mjs +786 -0
  246. package/plugin/scripts/cursor/run-detached.mjs.map +1 -0
  247. package/plugin/scripts/cursor/run-hook.d.mts +1 -0
  248. package/plugin/scripts/cursor/run-hook.mjs +704 -0
  249. package/plugin/scripts/cursor/run-hook.mjs.map +1 -0
  250. package/plugin/scripts/notification.mjs +20 -6
  251. package/plugin/scripts/notification.mjs.map +1 -1
  252. package/plugin/scripts/plugin-bridge.mjs +61 -11
  253. package/plugin/scripts/post-tool-failure.mjs +19 -6
  254. package/plugin/scripts/post-tool-failure.mjs.map +1 -1
  255. package/plugin/scripts/post-tool-use.mjs +19 -6
  256. package/plugin/scripts/post-tool-use.mjs.map +1 -1
  257. package/plugin/scripts/pre-compact.mjs +104 -22
  258. package/plugin/scripts/pre-compact.mjs.map +1 -1
  259. package/plugin/scripts/pre-tool-use.mjs +83 -10
  260. package/plugin/scripts/pre-tool-use.mjs.map +1 -1
  261. package/plugin/scripts/prompt-submit.mjs +12 -4
  262. package/plugin/scripts/prompt-submit.mjs.map +1 -1
  263. package/plugin/scripts/session-end.mjs +59 -17
  264. package/plugin/scripts/session-end.mjs.map +1 -1
  265. package/plugin/scripts/session-start.mjs +95 -15
  266. package/plugin/scripts/session-start.mjs.map +1 -1
  267. package/plugin/scripts/stop.mjs +75 -72
  268. package/plugin/scripts/stop.mjs.map +1 -1
  269. package/plugin/scripts/subagent-start.mjs +13 -5
  270. package/plugin/scripts/subagent-start.mjs.map +1 -1
  271. package/plugin/scripts/subagent-stop.mjs +32 -10
  272. package/plugin/scripts/subagent-stop.mjs.map +1 -1
  273. package/plugin/scripts/task-completed.mjs +21 -6
  274. package/plugin/scripts/task-completed.mjs.map +1 -1
  275. package/plugin/skills/_shared/TROUBLESHOOTING.md +21 -7
  276. package/plugin/skills/agentmemory-agents/REFERENCE.md +8 -7
  277. package/plugin/skills/agentmemory-agents/SKILL.md +19 -5
  278. package/plugin/skills/agentmemory-agents/TROUBLESHOOTING.md +70 -0
  279. package/plugin/skills/agentmemory-architecture/SKILL.md +8 -4
  280. package/plugin/skills/agentmemory-architecture/TROUBLESHOOTING.md +70 -0
  281. package/plugin/skills/agentmemory-config/REFERENCE.md +13 -15
  282. package/plugin/skills/agentmemory-config/SKILL.md +34 -10
  283. package/plugin/skills/agentmemory-config/TROUBLESHOOTING.md +70 -0
  284. package/plugin/skills/agentmemory-hooks/SKILL.md +31 -10
  285. package/plugin/skills/agentmemory-hooks/TROUBLESHOOTING.md +70 -0
  286. package/plugin/skills/agentmemory-mcp-tools/REFERENCE.md +5 -5
  287. package/plugin/skills/agentmemory-mcp-tools/SKILL.md +16 -3
  288. package/plugin/skills/agentmemory-mcp-tools/TROUBLESHOOTING.md +70 -0
  289. package/plugin/skills/agentmemory-rest-api/REFERENCE.md +10 -1
  290. package/plugin/skills/agentmemory-rest-api/SKILL.md +12 -6
  291. package/plugin/skills/agentmemory-rest-api/TROUBLESHOOTING.md +70 -0
  292. package/plugin/skills/commit-context/SKILL.md +1 -1
  293. package/plugin/skills/commit-context/TROUBLESHOOTING.md +70 -0
  294. package/plugin/skills/commit-history/SKILL.md +1 -1
  295. package/plugin/skills/commit-history/TROUBLESHOOTING.md +70 -0
  296. package/plugin/skills/forget/EXAMPLES.md +19 -54
  297. package/plugin/skills/forget/SKILL.md +16 -12
  298. package/plugin/skills/forget/TROUBLESHOOTING.md +70 -0
  299. package/plugin/skills/handoff/EXAMPLES.md +5 -4
  300. package/plugin/skills/handoff/SKILL.md +10 -5
  301. package/plugin/skills/handoff/TROUBLESHOOTING.md +70 -0
  302. package/plugin/skills/lesson/SKILL.md +1 -1
  303. package/plugin/skills/lesson/TROUBLESHOOTING.md +70 -0
  304. package/plugin/skills/memory-discipline/SKILL.md +1 -1
  305. package/plugin/skills/memory-discipline/TROUBLESHOOTING.md +70 -0
  306. package/plugin/skills/recall/SKILL.md +18 -7
  307. package/plugin/skills/recall/TROUBLESHOOTING.md +70 -0
  308. package/plugin/skills/recap/EXAMPLES.md +5 -3
  309. package/plugin/skills/recap/SKILL.md +11 -6
  310. package/plugin/skills/recap/TROUBLESHOOTING.md +70 -0
  311. package/plugin/skills/remember/EXAMPLES.md +3 -3
  312. package/plugin/skills/remember/SKILL.md +1 -1
  313. package/plugin/skills/remember/TROUBLESHOOTING.md +70 -0
  314. package/plugin/skills/session-history/EXAMPLES.md +2 -2
  315. package/plugin/skills/session-history/SKILL.md +10 -4
  316. package/plugin/skills/session-history/TROUBLESHOOTING.md +70 -0
  317. package/plugin/skills/write-agentmemory-skill/SKILL.md +2 -1
  318. package/plugin/skills/write-agentmemory-skill/TROUBLESHOOTING.md +70 -0
  319. package/dist/connect-B4_ca6BD.mjs.map +0 -1
  320. package/dist/docker-compose.yml +0 -73
  321. package/dist/iii-config.docker.yaml +0 -53
  322. package/dist/iii-config.yaml +0 -63
  323. package/dist/keyed-mutex-DchXsyfP.mjs.map +0 -1
  324. package/dist/secret-store-BnY3A50C.mjs.map +0 -1
  325. package/dist/src-Jsq9LCeH.mjs.map +0 -1
  326. package/dist/standalone-DKCdrf1d.mjs.map +0 -1
  327. package/dist/status-IRz7ta8-.mjs +0 -2344
  328. package/dist/status-IRz7ta8-.mjs.map +0 -1
  329. package/docker-compose.yml +0 -73
  330. package/iii-config.docker.yaml +0 -53
  331. package/iii-config.yaml +0 -63
  332. package/plugin/scripts/post-commit.mjs +0 -184
  333. package/plugin/scripts/post-commit.mjs.map +0 -1
  334. /package/plugin/scripts/{post-commit.d.mts → cursor/run-detached.d.mts} +0 -0
@@ -5,7 +5,7 @@ Generated from `src/triggers/api.ts`. Do not edit the block below by hand; run `
5
5
  <!-- AUTOGEN:rest START - generated by scripts/skills/generate.ts, do not edit by hand -->
6
6
  The REST API is the primary surface. All paths are under `http://localhost:3111` (override with `--port`). Send `Authorization: Bearer <secret>`: the value of `AGENTMEMORY_SECRET`, or the one generated into `~/.agentmemory/secret` on first start when it is unset. Writes must use `Content-Type: application/json`.
7
7
 
8
- 138 registered endpoints:
8
+ 147 registered endpoints:
9
9
 
10
10
  | Method | Path |
11
11
  | --- | --- |
@@ -30,11 +30,14 @@ The REST API is the primary surface. All paths are under `http://localhost:3111`
30
30
  | POST | `/agentmemory/claude-bridge/sync` |
31
31
  | GET | `/agentmemory/commits` |
32
32
  | POST | `/agentmemory/compress-file` |
33
+ | GET | `/agentmemory/compression` |
34
+ | POST | `/agentmemory/compression/retry` |
33
35
  | GET | `/agentmemory/config/flags` |
34
36
  | POST | `/agentmemory/consolidate` |
35
37
  | POST | `/agentmemory/consolidate-pipeline` |
36
38
  | GET | `/agentmemory/consolidation/status` |
37
39
  | POST | `/agentmemory/context` |
40
+ | GET | `/agentmemory/counts` |
38
41
  | GET | `/agentmemory/crystals` |
39
42
  | POST | `/agentmemory/crystals/auto` |
40
43
  | POST | `/agentmemory/crystals/create` |
@@ -61,6 +64,9 @@ The REST API is the primary surface. All paths are under `http://localhost:3111`
61
64
  | POST | `/agentmemory/graph/compact` |
62
65
  | POST | `/agentmemory/graph/extract` |
63
66
  | POST | `/agentmemory/graph/import-graphify` |
67
+ | GET | `/agentmemory/graph/index` |
68
+ | POST | `/agentmemory/graph/index/migrate` |
69
+ | POST | `/agentmemory/graph/index/resume` |
64
70
  | GET | `/agentmemory/graph/node` |
65
71
  | POST | `/agentmemory/graph/query` |
66
72
  | POST | `/agentmemory/graph/reset` |
@@ -76,6 +82,7 @@ The REST API is the primary surface. All paths are under `http://localhost:3111`
76
82
  | GET | `/agentmemory/lessons` |
77
83
  | POST | `/agentmemory/lessons` |
78
84
  | POST | `/agentmemory/lessons/delete` |
85
+ | POST | `/agentmemory/lessons/get` |
79
86
  | POST | `/agentmemory/lessons/search` |
80
87
  | POST | `/agentmemory/lessons/strengthen` |
81
88
  | GET | `/agentmemory/livez` |
@@ -145,6 +152,8 @@ The REST API is the primary surface. All paths are under `http://localhost:3111`
145
152
  | POST | `/agentmemory/timeline` |
146
153
  | POST | `/agentmemory/verify` |
147
154
  | GET | `/agentmemory/viewer` |
155
+ | GET | `/agentmemory/viewer/events` |
156
+ | GET | `/agentmemory/viewer/snapshot` |
148
157
  | POST | `/agentmemory/vision-embed` |
149
158
  | POST | `/agentmemory/vision-search` |
150
159
  <!-- AUTOGEN:rest END -->
@@ -12,31 +12,37 @@ REST is agentmemory's primary surface. MCP is a bridge on top of it. Every memor
12
12
  # liveness
13
13
  curl -fsS http://localhost:3111/agentmemory/livez
14
14
 
15
+ # For this fixed loopback URL only. Do not print the value or enable shell tracing.
16
+ agentmemory_secret="${AGENTMEMORY_SECRET:-$(cat "$HOME/.agentmemory/secret")}"
17
+ test -n "$agentmemory_secret" || exit 1
18
+
15
19
  # save
16
- curl -X POST http://localhost:3111/agentmemory/remember \
20
+ curl -fsS -X POST http://localhost:3111/agentmemory/remember \
21
+ -H "Authorization: Bearer $agentmemory_secret" \
17
22
  -H "Content-Type: application/json" \
18
23
  -d '{"content":"chose JWT refresh rotation","concepts":["jwt-refresh-rotation"]}'
19
24
 
20
25
  # recall
21
- curl -X POST http://localhost:3111/agentmemory/smart-search \
26
+ curl -fsS -X POST http://localhost:3111/agentmemory/smart-search \
27
+ -H "Authorization: Bearer $agentmemory_secret" \
22
28
  -H "Content-Type: application/json" \
23
29
  -d '{"query":"auth token strategy","limit":5}'
24
30
  ```
25
31
 
26
32
  ## Auth
27
33
 
28
- By default localhost is open and no auth is needed. When `AGENTMEMORY_SECRET` is set, every request needs `Authorization: Bearer $AGENTMEMORY_SECRET`. See agentmemory-config.
34
+ Every endpoint except liveness requires `Authorization: Bearer <secret>`, including on localhost. The server always has a secret: `AGENTMEMORY_SECRET` when you set one, otherwise one it generates at first start. Requests without the header get `401`. Liveness is public. The example uses an explicit environment secret or the generated local secret file; if the daemon uses a secret from its `.env`, load that value locally without displaying it. For a remote daemon, require an explicit credential for that endpoint and HTTPS. Never forward a local-file secret or follow an authenticated redirect to another host. See [TROUBLESHOOTING.md](TROUBLESHOOTING.md).
29
35
 
30
36
  ## Conventions
31
37
 
32
38
  - Save returns `201`, reads return `200`, validation errors return `400`.
33
- - Handlers whitelist body fields and drop unknown ones, so passing extra keys is safe but ignored.
34
- - The port is configurable with `--port` or `--instance`; streams, viewer, and engine derive from it.
39
+ - Use documented fields only. A successful response does not prove an unsupported field was applied.
40
+ - The REST port defaults to `3111` and is configurable with `--port` or `--instance`. The viewer defaults to `3113`; the internal engine WebSocket defaults to `49134`.
35
41
 
36
42
  ## See also
37
43
 
38
44
  - agentmemory-mcp-tools for the MCP equivalents.
39
- - agentmemory-config for the port quartet and the secret.
45
+ - agentmemory-config for local configuration and the secret.
40
46
 
41
47
  ## Reference
42
48
 
@@ -0,0 +1,70 @@
1
+ <!-- AUTOGEN:troubleshooting START - generated by scripts/skills/generate.ts, do not edit by hand -->
2
+ # Troubleshooting agentmemory skills
3
+
4
+ Recovery steps for separately installed skills. This document is generated into
5
+ each skill directory so native skill readers can open it without parent traversal.
6
+
7
+ ## "MCP tool not available"
8
+
9
+ Missing tools can mean a stopped MCP process, a disconnected daemon, or an
10
+ explicitly reduced tool surface. Walk these in order:
11
+
12
+ 1. Identify the host. In Claude Code, inspect `/plugin list` and `/mcp`.
13
+ In Hermes, inspect the configured memory provider and `mcp_servers` separately.
14
+ In OpenClaw, validate the host configuration and inspect its MCP servers and
15
+ native plugins separately. In Pi or OMP, inspect `/agentmemory-status` and the
16
+ MCP inventory separately; native save/search does not prove the broader tools
17
+ are connected. Do not run another host's setup commands.
18
+ 2. Restart or reload the affected host connection after configuration changes.
19
+ 3. Inspect the connected tool inventory. Hermes may namespace MCP tools; invoke
20
+ the actual advertised names and schemas. A native memory provider is not
21
+ proof that every MCP tool or shared skill is available.
22
+ 4. Check `agentmemory status` and the daemon's `AGENTMEMORY_TOOLS` setting.
23
+ Codex's bundled bridge lists the daemon's enabled tools. The standalone shim
24
+ used by other hosts can fall back to seven basic tools with a separate store.
25
+ Do not claim full daemon functionality based on those seven tools.
26
+ 5. If `agentmemory connect codex` and the Codex plugin are both enabled, choose
27
+ one MCP connection. Check `/hooks` before adding global hook fallbacks.
28
+
29
+ Hermes, OpenClaw, Pi and OMP connector installations bundle skills; other hosts
30
+ may install them separately. Check the host's skill inventory and open this file
31
+ from the installed skill directory. Test automatic capture with a real turn and
32
+ a recorded observation; tool connectivity alone does not establish lifecycle
33
+ capture.
34
+
35
+ An outage or timeout is not an empty search result. Report the failure. A write
36
+ may have committed before the response was lost; inspect state before retrying.
37
+
38
+ ## REST fallback
39
+
40
+ When the MCP tools stay unavailable but the daemon is running, call the REST
41
+ API directly:
42
+
43
+ 1. Set `AGENTMEMORY_URL` to the daemon base URL (default `http://localhost:3111`).
44
+ 2. The REST API requires a bearer credential by default. Use the host's explicit
45
+ `AGENTMEMORY_SECRET`; for loopback URLs only, fall back to the secret in
46
+ `~/.agentmemory/.env` and then `~/.agentmemory/secret`. Load the value locally
47
+ without displaying it. Never send a local-file secret to a remote URL.
48
+ If `AGENTMEMORY_CREDENTIAL_MODE=explicit`, require the explicit host credential
49
+ and do not read local credential files.
50
+ Authenticated REST fallback requests require HTTPS for non-loopback
51
+ URLs; HTTP is allowed for loopback URLs (`localhost`, `127.0.0.0/8`, or `[::1]`).
52
+ Reject redirects on authenticated requests. Do not print or save the secret.
53
+
54
+ Endpoint map by skill:
55
+
56
+ | Skill | REST call |
57
+ | --------------- | --------------------------------------------------------------- |
58
+ | remember | `POST /agentmemory/remember` |
59
+ | recall | `POST /agentmemory/smart-search` |
60
+ | recap | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
61
+ | handoff | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
62
+ | session-history | `GET /agentmemory/sessions` |
63
+ | commit-context | `GET /agentmemory/session/by-commit?sha=<sha>` |
64
+ | commit-history | `GET /agentmemory/commits` (URL-encode every query param) |
65
+
66
+ The MCP host reads the plugin MCP configuration. Restart the daemon after
67
+ changing its configuration, then restart or reconnect the host MCP process after
68
+ changing its URL or explicit secret. The local bridge reads the credential files
69
+ for each request; it does not inherit other daemon `.env` settings.
70
+ <!-- AUTOGEN:troubleshooting END -->
@@ -61,4 +61,4 @@ session. From `git show`: it changed token rotation in refresh.ts."
61
61
 
62
62
  ## Troubleshooting
63
63
 
64
- See ../_shared/TROUBLESHOOTING.md if `memory_commit_lookup` is not available.
64
+ See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) if `memory_commit_lookup` is not available.
@@ -0,0 +1,70 @@
1
+ <!-- AUTOGEN:troubleshooting START - generated by scripts/skills/generate.ts, do not edit by hand -->
2
+ # Troubleshooting agentmemory skills
3
+
4
+ Recovery steps for separately installed skills. This document is generated into
5
+ each skill directory so native skill readers can open it without parent traversal.
6
+
7
+ ## "MCP tool not available"
8
+
9
+ Missing tools can mean a stopped MCP process, a disconnected daemon, or an
10
+ explicitly reduced tool surface. Walk these in order:
11
+
12
+ 1. Identify the host. In Claude Code, inspect `/plugin list` and `/mcp`.
13
+ In Hermes, inspect the configured memory provider and `mcp_servers` separately.
14
+ In OpenClaw, validate the host configuration and inspect its MCP servers and
15
+ native plugins separately. In Pi or OMP, inspect `/agentmemory-status` and the
16
+ MCP inventory separately; native save/search does not prove the broader tools
17
+ are connected. Do not run another host's setup commands.
18
+ 2. Restart or reload the affected host connection after configuration changes.
19
+ 3. Inspect the connected tool inventory. Hermes may namespace MCP tools; invoke
20
+ the actual advertised names and schemas. A native memory provider is not
21
+ proof that every MCP tool or shared skill is available.
22
+ 4. Check `agentmemory status` and the daemon's `AGENTMEMORY_TOOLS` setting.
23
+ Codex's bundled bridge lists the daemon's enabled tools. The standalone shim
24
+ used by other hosts can fall back to seven basic tools with a separate store.
25
+ Do not claim full daemon functionality based on those seven tools.
26
+ 5. If `agentmemory connect codex` and the Codex plugin are both enabled, choose
27
+ one MCP connection. Check `/hooks` before adding global hook fallbacks.
28
+
29
+ Hermes, OpenClaw, Pi and OMP connector installations bundle skills; other hosts
30
+ may install them separately. Check the host's skill inventory and open this file
31
+ from the installed skill directory. Test automatic capture with a real turn and
32
+ a recorded observation; tool connectivity alone does not establish lifecycle
33
+ capture.
34
+
35
+ An outage or timeout is not an empty search result. Report the failure. A write
36
+ may have committed before the response was lost; inspect state before retrying.
37
+
38
+ ## REST fallback
39
+
40
+ When the MCP tools stay unavailable but the daemon is running, call the REST
41
+ API directly:
42
+
43
+ 1. Set `AGENTMEMORY_URL` to the daemon base URL (default `http://localhost:3111`).
44
+ 2. The REST API requires a bearer credential by default. Use the host's explicit
45
+ `AGENTMEMORY_SECRET`; for loopback URLs only, fall back to the secret in
46
+ `~/.agentmemory/.env` and then `~/.agentmemory/secret`. Load the value locally
47
+ without displaying it. Never send a local-file secret to a remote URL.
48
+ If `AGENTMEMORY_CREDENTIAL_MODE=explicit`, require the explicit host credential
49
+ and do not read local credential files.
50
+ Authenticated REST fallback requests require HTTPS for non-loopback
51
+ URLs; HTTP is allowed for loopback URLs (`localhost`, `127.0.0.0/8`, or `[::1]`).
52
+ Reject redirects on authenticated requests. Do not print or save the secret.
53
+
54
+ Endpoint map by skill:
55
+
56
+ | Skill | REST call |
57
+ | --------------- | --------------------------------------------------------------- |
58
+ | remember | `POST /agentmemory/remember` |
59
+ | recall | `POST /agentmemory/smart-search` |
60
+ | recap | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
61
+ | handoff | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
62
+ | session-history | `GET /agentmemory/sessions` |
63
+ | commit-context | `GET /agentmemory/session/by-commit?sha=<sha>` |
64
+ | commit-history | `GET /agentmemory/commits` (URL-encode every query param) |
65
+
66
+ The MCP host reads the plugin MCP configuration. Restart the daemon after
67
+ changing its configuration, then restart or reconnect the host MCP process after
68
+ changing its URL or explicit secret. The local bridge reads the credential files
69
+ for each request; it does not inherit other daemon `.env` settings.
70
+ <!-- AUTOGEN:troubleshooting END -->
@@ -59,4 +59,4 @@ appending to `GET /agentmemory/commits`.
59
59
 
60
60
  ## Troubleshooting
61
61
 
62
- See ../_shared/TROUBLESHOOTING.md if `memory_commits` is not available.
62
+ See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) if `memory_commits` is not available.
@@ -0,0 +1,70 @@
1
+ <!-- AUTOGEN:troubleshooting START - generated by scripts/skills/generate.ts, do not edit by hand -->
2
+ # Troubleshooting agentmemory skills
3
+
4
+ Recovery steps for separately installed skills. This document is generated into
5
+ each skill directory so native skill readers can open it without parent traversal.
6
+
7
+ ## "MCP tool not available"
8
+
9
+ Missing tools can mean a stopped MCP process, a disconnected daemon, or an
10
+ explicitly reduced tool surface. Walk these in order:
11
+
12
+ 1. Identify the host. In Claude Code, inspect `/plugin list` and `/mcp`.
13
+ In Hermes, inspect the configured memory provider and `mcp_servers` separately.
14
+ In OpenClaw, validate the host configuration and inspect its MCP servers and
15
+ native plugins separately. In Pi or OMP, inspect `/agentmemory-status` and the
16
+ MCP inventory separately; native save/search does not prove the broader tools
17
+ are connected. Do not run another host's setup commands.
18
+ 2. Restart or reload the affected host connection after configuration changes.
19
+ 3. Inspect the connected tool inventory. Hermes may namespace MCP tools; invoke
20
+ the actual advertised names and schemas. A native memory provider is not
21
+ proof that every MCP tool or shared skill is available.
22
+ 4. Check `agentmemory status` and the daemon's `AGENTMEMORY_TOOLS` setting.
23
+ Codex's bundled bridge lists the daemon's enabled tools. The standalone shim
24
+ used by other hosts can fall back to seven basic tools with a separate store.
25
+ Do not claim full daemon functionality based on those seven tools.
26
+ 5. If `agentmemory connect codex` and the Codex plugin are both enabled, choose
27
+ one MCP connection. Check `/hooks` before adding global hook fallbacks.
28
+
29
+ Hermes, OpenClaw, Pi and OMP connector installations bundle skills; other hosts
30
+ may install them separately. Check the host's skill inventory and open this file
31
+ from the installed skill directory. Test automatic capture with a real turn and
32
+ a recorded observation; tool connectivity alone does not establish lifecycle
33
+ capture.
34
+
35
+ An outage or timeout is not an empty search result. Report the failure. A write
36
+ may have committed before the response was lost; inspect state before retrying.
37
+
38
+ ## REST fallback
39
+
40
+ When the MCP tools stay unavailable but the daemon is running, call the REST
41
+ API directly:
42
+
43
+ 1. Set `AGENTMEMORY_URL` to the daemon base URL (default `http://localhost:3111`).
44
+ 2. The REST API requires a bearer credential by default. Use the host's explicit
45
+ `AGENTMEMORY_SECRET`; for loopback URLs only, fall back to the secret in
46
+ `~/.agentmemory/.env` and then `~/.agentmemory/secret`. Load the value locally
47
+ without displaying it. Never send a local-file secret to a remote URL.
48
+ If `AGENTMEMORY_CREDENTIAL_MODE=explicit`, require the explicit host credential
49
+ and do not read local credential files.
50
+ Authenticated REST fallback requests require HTTPS for non-loopback
51
+ URLs; HTTP is allowed for loopback URLs (`localhost`, `127.0.0.0/8`, or `[::1]`).
52
+ Reject redirects on authenticated requests. Do not print or save the secret.
53
+
54
+ Endpoint map by skill:
55
+
56
+ | Skill | REST call |
57
+ | --------------- | --------------------------------------------------------------- |
58
+ | remember | `POST /agentmemory/remember` |
59
+ | recall | `POST /agentmemory/smart-search` |
60
+ | recap | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
61
+ | handoff | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
62
+ | session-history | `GET /agentmemory/sessions` |
63
+ | commit-context | `GET /agentmemory/session/by-commit?sha=<sha>` |
64
+ | commit-history | `GET /agentmemory/commits` (URL-encode every query param) |
65
+
66
+ The MCP host reads the plugin MCP configuration. Restart the daemon after
67
+ changing its configuration, then restart or reconnect the host MCP process after
68
+ changing its URL or explicit secret. The local bridge reads the credential files
69
+ for each request; it does not inherit other daemon `.env` settings.
70
+ <!-- AUTOGEN:troubleshooting END -->
@@ -1,75 +1,40 @@
1
1
  # forget worked examples
2
2
 
3
- ## 1. Delete a leaked secret
3
+ ## Delete a selected durable memory
4
4
 
5
5
  User: "Forget that note where I pasted the API key."
6
6
 
7
- Search:
8
-
9
- ```json
10
- memory_smart_search { "query": "api key", "limit": 20 }
11
- ```
12
-
13
- Response:
14
-
15
7
  ```json
16
- {
17
- "results": [
18
- { "id": "abc12345", "sessionId": "7f3a9c21", "title": "Pasted staging API key",
19
- "narrative": "STAGING_KEY=sk-live-..." }
20
- ]
21
- }
8
+ memory_smart_search { "query": "api key", "targetLayer": "memory", "project": "app", "limit": 20 }
22
9
  ```
23
10
 
24
- Present and gate:
11
+ Show the returned memory ID and title without displaying the secret value:
25
12
 
26
- > Found 1 match:
27
- > - `abc12345` (session `7f3a9c2`) "Pasted staging API key"
28
- >
29
- > Delete this memory? (yes/no)
13
+ > Found memory `abc12345` in project `app`: "Staging API configuration".
14
+ > Delete this memory?
30
15
 
31
- After the user says yes:
16
+ After explicit confirmation:
32
17
 
33
18
  ```json
34
- memory_governance_delete { "memoryIds": ["abc12345"], "reason": "user privacy request" }
19
+ memory_governance_delete { "memoryIds": "abc12345", "reason": "user privacy request" }
35
20
  ```
36
21
 
37
- Response:
38
-
39
- ```json
40
- { "deleted": 1 }
41
- ```
42
-
43
- Present:
44
-
45
- > Deleted 1 memory (`abc12345`).
22
+ If the response reports `deleted: 1`, report one deletion. If it reports
23
+ `deleted: 0` and `notFound: ["abc12345"]`, report that the memory was not found.
24
+ For mixed results, state the actual count and any failed or missing IDs.
46
25
 
47
- ## 2. Drop a whole session's observations
26
+ ## A request to erase a whole session
48
27
 
49
28
  User: "Delete everything from the throwaway spike session."
50
29
 
51
- Search, identify the session, then collect every memory id in it:
52
-
53
- ```json
54
- memory_smart_search { "query": "spike prototype throwaway", "limit": 20 }
55
- ```
56
-
57
- Response has 4 results all with `sessionId: c98f1100`. Show all four, get a yes,
58
- then pass every id:
59
-
60
- ```json
61
- memory_governance_delete {
62
- "memoryIds": ["m1", "m2", "m3", "m4"],
63
- "reason": "drop throwaway spike session"
64
- }
65
- ```
66
-
67
- Never send `{ "sessionId": "c98f1100" }`; the MCP deletes by memory id only.
68
-
69
- ## 3. User declines
30
+ Explain that this tool deletes selected durable memories only. A relevance
31
+ search limited to 20 results cannot enumerate all session data, and observation
32
+ IDs are not accepted as durable-memory IDs. Do not claim complete erasure.
33
+ Offer a review of matching durable memories with the scope clearly stated.
34
+ Lessons have a separate `memory_lesson_delete` operation.
70
35
 
71
- User: "Actually, on second thought, keep them."
36
+ ## User declines
72
37
 
73
- Do not call delete. Confirm:
38
+ User: "Actually, keep them."
74
39
 
75
- > Understood, nothing deleted. The 4 memories from session `c98f110` are intact.
40
+ Do not call delete. Report that nothing was deleted.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: forget
3
- description: Delete specific observations from agentmemory after showing them and getting explicit confirmation. Use when the user says "forget this", "delete memory", "remove that note", or wants to scrub specific data for privacy.
3
+ description: Delete selected durable memories from agentmemory after showing them and getting explicit confirmation. Use when the user says "forget this", "delete memory", "remove that note", or wants to scrub specific data for privacy.
4
4
  argument-hint: "[what to forget - session ID, file path, or search term]"
5
5
  user-invocable: true
6
6
  ---
@@ -10,13 +10,13 @@ The user wants to remove data from agentmemory: $ARGUMENTS
10
10
  ## Quick start
11
11
 
12
12
  ```json
13
- memory_smart_search { "query": "old api key in config", "limit": 20 }
13
+ memory_smart_search { "query": "old api key in config", "targetLayer": "memory", "limit": 20 }
14
14
  ```
15
15
 
16
16
  Show the matches, get a yes, then:
17
17
 
18
18
  ```json
19
- memory_governance_delete { "memoryIds": ["abc12345", "def67890"], "reason": "user privacy request" }
19
+ memory_governance_delete { "memoryIds": "abc12345,def67890", "reason": "user privacy request" }
20
20
  ```
21
21
 
22
22
  Expected output:
@@ -32,17 +32,21 @@ an explicit yes before calling delete. Delete by memory ID, never a bare session
32
32
 
33
33
  ## Workflow
34
34
 
35
- 1. Search with `memory_smart_search`, the user's text as `query`, `limit: 20`.
36
- 2. Show what matched: session ids, memory ids, titles. Ask for explicit
35
+ 1. Search with `memory_smart_search`, the user's text as `query`,
36
+ `targetLayer: "memory"`, `limit: 20`, and the requested project/agent scope.
37
+ These are selected relevance matches, not an exhaustive inventory.
38
+ 2. Show what matched: memory ids, titles, and scope. Redact secret values. Ask for explicit
37
39
  confirmation. Do not proceed on silence or a vague "sure, whatever".
38
- 3. On confirmation, call `memory_governance_delete` with `memoryIds` (array or
39
- comma-separated string) and optional `reason` (default `plugin skill request`).
40
- 4. To drop a whole session, collect every memory id in that session from the
41
- search results and pass them all. The MCP does not accept a bare `sessionId`.
40
+ 3. On confirmation, call `memory_governance_delete` with `memoryIds` as a
41
+ comma-separated string and optional `reason` (default `plugin skill request`).
42
+ 4. Observation or whole-session erasure is not supported by this operation.
43
+ Explain that limit before proceeding; never label selected memory deletion
44
+ as a complete session wipe. Do not pass observation IDs or a `sessionId`.
42
45
  5. Lessons are separate: delete one with `memory_lesson_delete` and its
43
46
  `lessonId`; `memory_governance_delete` does not touch lessons.
44
- 6. Report the deletion count back. A count of 0 means the ids did not exist;
45
- say so instead of claiming a delete.
47
+ 6. Check `deleted`, `notFound`, and `failed` in the response. Report actual
48
+ deletions and unresolved IDs separately. Recheck the selected IDs before
49
+ retrying a failed request; an interrupted response may hide a completed write.
46
50
 
47
51
  ## Anti-patterns
48
52
 
@@ -66,4 +70,4 @@ an explicit yes.
66
70
 
67
71
  ## Troubleshooting
68
72
 
69
- See ../_shared/TROUBLESHOOTING.md if `memory_smart_search` or `memory_governance_delete` is not available.
73
+ See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) if `memory_smart_search` or `memory_governance_delete` is not available.
@@ -0,0 +1,70 @@
1
+ <!-- AUTOGEN:troubleshooting START - generated by scripts/skills/generate.ts, do not edit by hand -->
2
+ # Troubleshooting agentmemory skills
3
+
4
+ Recovery steps for separately installed skills. This document is generated into
5
+ each skill directory so native skill readers can open it without parent traversal.
6
+
7
+ ## "MCP tool not available"
8
+
9
+ Missing tools can mean a stopped MCP process, a disconnected daemon, or an
10
+ explicitly reduced tool surface. Walk these in order:
11
+
12
+ 1. Identify the host. In Claude Code, inspect `/plugin list` and `/mcp`.
13
+ In Hermes, inspect the configured memory provider and `mcp_servers` separately.
14
+ In OpenClaw, validate the host configuration and inspect its MCP servers and
15
+ native plugins separately. In Pi or OMP, inspect `/agentmemory-status` and the
16
+ MCP inventory separately; native save/search does not prove the broader tools
17
+ are connected. Do not run another host's setup commands.
18
+ 2. Restart or reload the affected host connection after configuration changes.
19
+ 3. Inspect the connected tool inventory. Hermes may namespace MCP tools; invoke
20
+ the actual advertised names and schemas. A native memory provider is not
21
+ proof that every MCP tool or shared skill is available.
22
+ 4. Check `agentmemory status` and the daemon's `AGENTMEMORY_TOOLS` setting.
23
+ Codex's bundled bridge lists the daemon's enabled tools. The standalone shim
24
+ used by other hosts can fall back to seven basic tools with a separate store.
25
+ Do not claim full daemon functionality based on those seven tools.
26
+ 5. If `agentmemory connect codex` and the Codex plugin are both enabled, choose
27
+ one MCP connection. Check `/hooks` before adding global hook fallbacks.
28
+
29
+ Hermes, OpenClaw, Pi and OMP connector installations bundle skills; other hosts
30
+ may install them separately. Check the host's skill inventory and open this file
31
+ from the installed skill directory. Test automatic capture with a real turn and
32
+ a recorded observation; tool connectivity alone does not establish lifecycle
33
+ capture.
34
+
35
+ An outage or timeout is not an empty search result. Report the failure. A write
36
+ may have committed before the response was lost; inspect state before retrying.
37
+
38
+ ## REST fallback
39
+
40
+ When the MCP tools stay unavailable but the daemon is running, call the REST
41
+ API directly:
42
+
43
+ 1. Set `AGENTMEMORY_URL` to the daemon base URL (default `http://localhost:3111`).
44
+ 2. The REST API requires a bearer credential by default. Use the host's explicit
45
+ `AGENTMEMORY_SECRET`; for loopback URLs only, fall back to the secret in
46
+ `~/.agentmemory/.env` and then `~/.agentmemory/secret`. Load the value locally
47
+ without displaying it. Never send a local-file secret to a remote URL.
48
+ If `AGENTMEMORY_CREDENTIAL_MODE=explicit`, require the explicit host credential
49
+ and do not read local credential files.
50
+ Authenticated REST fallback requests require HTTPS for non-loopback
51
+ URLs; HTTP is allowed for loopback URLs (`localhost`, `127.0.0.0/8`, or `[::1]`).
52
+ Reject redirects on authenticated requests. Do not print or save the secret.
53
+
54
+ Endpoint map by skill:
55
+
56
+ | Skill | REST call |
57
+ | --------------- | --------------------------------------------------------------- |
58
+ | remember | `POST /agentmemory/remember` |
59
+ | recall | `POST /agentmemory/smart-search` |
60
+ | recap | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
61
+ | handoff | `GET /agentmemory/sessions` + `POST /agentmemory/smart-search` |
62
+ | session-history | `GET /agentmemory/sessions` |
63
+ | commit-context | `GET /agentmemory/session/by-commit?sha=<sha>` |
64
+ | commit-history | `GET /agentmemory/commits` (URL-encode every query param) |
65
+
66
+ The MCP host reads the plugin MCP configuration. Restart the daemon after
67
+ changing its configuration, then restart or reconnect the host MCP process after
68
+ changing its URL or explicit secret. The local bridge reads the credential files
69
+ for each request; it does not inherit other daemon `.env` settings.
70
+ <!-- AUTOGEN:troubleshooting END -->
@@ -7,7 +7,7 @@ User: "Where were we?"
7
7
  Project cwd: `/Users/dev/app`. Invocation:
8
8
 
9
9
  ```json
10
- memory_sessions { "limit": 20 }
10
+ memory_sessions { "project": "app", "limit": 20 }
11
11
  ```
12
12
 
13
13
  Response:
@@ -26,7 +26,7 @@ Response:
26
26
  Pull supporting context:
27
27
 
28
28
  ```json
29
- memory_recall { "query": "jwt-refresh-rotation logout", "limit": 10 }
29
+ memory_recall { "query": "jwt-refresh-rotation logout", "project": "app", "limit": 10 }
30
30
  ```
31
31
 
32
32
  Present:
@@ -43,8 +43,9 @@ Project cwd: `/Users/dev/repo-a`. Sessions include one with `cwd:
43
43
 
44
44
  A raw prefix would match `repo-a-staging`. The boundary check rejects it because
45
45
  `/Users/dev/repo-a-staging` does not equal `/Users/dev/repo-a` and does not start
46
- with `/Users/dev/repo-a/`. Pick the real `repo-a` session instead, or fall back
47
- to the most recent session overall if none matches.
46
+ with `/Users/dev/repo-a/`. Continue through `nextCursor` when another page is
47
+ available. If no matching session exists, report that this project has no
48
+ recorded session; do not substitute the most recent session from another repo.
48
49
 
49
50
  ## 3. Empty session
50
51
 
@@ -10,11 +10,12 @@ The user wants to resume work. Optional cwd override: $ARGUMENTS
10
10
  ## Quick start
11
11
 
12
12
  ```json
13
- memory_sessions { "limit": 20 }
13
+ memory_sessions { "project": "<current-project-id>", "limit": 20 }
14
14
  ```
15
15
 
16
16
  Pick the most recent session whose `cwd` matches this project, then:
17
- `memory_recall { "query": "<session top concepts>", "limit": 10 }`.
17
+ `memory_recall { "query": "<session top concepts>", "project": "<current-project-id>", "limit": 10 }`.
18
+ When an agent is requested, pass the same `agentId` to both calls.
18
19
 
19
20
  Expected output:
20
21
 
@@ -33,7 +34,10 @@ gets mistaken for this one. Never invent observations for an empty session.
33
34
 
34
35
  1. Resolve the project path: if `$ARGUMENTS` is given, normalize it to absolute
35
36
  (`path.resolve(process.cwd(), $ARGUMENTS)`); else use the cwd.
36
- 2. Call `memory_sessions`. Pick the most recent session whose normalized `cwd`
37
+ 2. Call `memory_sessions` with the exact project identifier when known, and
38
+ `agentId` when requested. Otherwise follow `nextCursor` until the matching
39
+ directory is found or pagination ends. Preserve filters between pages.
40
+ Pick the most recent session whose normalized `cwd`
37
41
  matches by directory boundary: equality, OR `cwd.startsWith(projectPath + sep)`,
38
42
  OR `projectPath.startsWith(cwd + sep)`. Prefer `completed` over `abandoned`.
39
43
  No match: report that this project has no matching session and stop. Do not
@@ -42,7 +46,8 @@ gets mistaken for this one. Never invent observations for an empty session.
42
46
  Look in `summary` or recent `conversation` observations whose `narrative`
43
47
  ends in `?`.
44
48
  4. Summarize: title/summary, key files, key decisions or errors, using
45
- `memory_recall` on the top concepts, limit 10. Check each result's session or
49
+ `memory_recall` on the top concepts, limit 10, preserving the chosen project
50
+ and agent scope. Check each result's session or
46
51
  project provenance before including it; a query alone does not enforce scope.
47
52
  5. End with one concrete "next step?" pointer.
48
53
 
@@ -67,4 +72,4 @@ a directory-boundary check that cannot cross sibling repos.
67
72
 
68
73
  ## Troubleshooting
69
74
 
70
- See ../_shared/TROUBLESHOOTING.md if `memory_sessions` or `memory_recall` is not available.
75
+ See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) if `memory_sessions` or `memory_recall` is not available.