@redigg/redigg 0.1.0

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 (322) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/agent/ResearchAgent.d.ts +35 -0
  4. package/dist/agent/ResearchAgent.js +818 -0
  5. package/dist/agent/ResearchAgent.js.map +1 -0
  6. package/dist/agent/subagent/SubAgent.d.ts +23 -0
  7. package/dist/agent/subagent/SubAgent.js +87 -0
  8. package/dist/agent/subagent/SubAgent.js.map +1 -0
  9. package/dist/agent/subagent/SubAgentManager.d.ts +19 -0
  10. package/dist/agent/subagent/SubAgentManager.js +40 -0
  11. package/dist/agent/subagent/SubAgentManager.js.map +1 -0
  12. package/dist/bin.d.ts +2 -0
  13. package/dist/bin.js +34 -0
  14. package/dist/bin.js.map +1 -0
  15. package/dist/cli.d.ts +1 -0
  16. package/dist/cli.js +179 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/events/EventManager.d.ts +39 -0
  19. package/dist/events/EventManager.js +20 -0
  20. package/dist/events/EventManager.js.map +1 -0
  21. package/dist/gateway/index.d.ts +9 -0
  22. package/dist/gateway/index.js +474 -0
  23. package/dist/gateway/index.js.map +1 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.js +97 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/llm/LLMClient.d.ts +30 -0
  28. package/dist/llm/LLMClient.js +21 -0
  29. package/dist/llm/LLMClient.js.map +1 -0
  30. package/dist/llm/OpenAIClient.d.ts +16 -0
  31. package/dist/llm/OpenAIClient.js +58 -0
  32. package/dist/llm/OpenAIClient.js.map +1 -0
  33. package/dist/memory/MemoryManager.d.ts +41 -0
  34. package/dist/memory/MemoryManager.js +221 -0
  35. package/dist/memory/MemoryManager.js.map +1 -0
  36. package/dist/memory/evolution/MemoryEvolutionSystem.d.ts +17 -0
  37. package/dist/memory/evolution/MemoryEvolutionSystem.js +71 -0
  38. package/dist/memory/evolution/MemoryEvolutionSystem.js.map +1 -0
  39. package/dist/memory/search/BM25Search.d.ts +22 -0
  40. package/dist/memory/search/BM25Search.js +61 -0
  41. package/dist/memory/search/BM25Search.js.map +1 -0
  42. package/dist/memory/structure/PageIndex.d.ts +26 -0
  43. package/dist/memory/structure/PageIndex.js +156 -0
  44. package/dist/memory/structure/PageIndex.js.map +1 -0
  45. package/dist/quality/QualityManager.d.ts +12 -0
  46. package/dist/quality/QualityManager.js +61 -0
  47. package/dist/quality/QualityManager.js.map +1 -0
  48. package/dist/scheduling/CronManager.d.ts +21 -0
  49. package/dist/scheduling/CronManager.js +66 -0
  50. package/dist/scheduling/CronManager.js.map +1 -0
  51. package/dist/session/SessionManager.d.ts +37 -0
  52. package/dist/session/SessionManager.js +238 -0
  53. package/dist/session/SessionManager.js.map +1 -0
  54. package/dist/skills/SkillManager.d.ts +31 -0
  55. package/dist/skills/SkillManager.js +254 -0
  56. package/dist/skills/SkillManager.js.map +1 -0
  57. package/dist/skills/agent/PACK.md +13 -0
  58. package/dist/skills/agent/agent-orchestration/SKILL.md +37 -0
  59. package/dist/skills/agent/agent-orchestration/index.d.ts +9 -0
  60. package/dist/skills/agent/agent-orchestration/index.js +70 -0
  61. package/dist/skills/agent/agent-orchestration/index.js.map +1 -0
  62. package/dist/skills/agent/evolution/SKILL.md +25 -0
  63. package/dist/skills/agent/evolution/index.d.ts +9 -0
  64. package/dist/skills/agent/evolution/index.js +57 -0
  65. package/dist/skills/agent/evolution/index.js.map +1 -0
  66. package/dist/skills/agent/heartbeat/index.d.ts +8 -0
  67. package/dist/skills/agent/heartbeat/index.js +44 -0
  68. package/dist/skills/agent/heartbeat/index.js.map +1 -0
  69. package/dist/skills/agent/memory-management/SKILL.md +40 -0
  70. package/dist/skills/agent/memory-management/index.d.ts +8 -0
  71. package/dist/skills/agent/memory-management/index.js +44 -0
  72. package/dist/skills/agent/memory-management/index.js.map +1 -0
  73. package/dist/skills/agent/scheduling/SKILL.md +33 -0
  74. package/dist/skills/agent/scheduling/index.d.ts +13 -0
  75. package/dist/skills/agent/scheduling/index.js +80 -0
  76. package/dist/skills/agent/scheduling/index.js.map +1 -0
  77. package/dist/skills/agent/session-management/SKILL.md +35 -0
  78. package/dist/skills/agent/session-management/index.d.ts +11 -0
  79. package/dist/skills/agent/session-management/index.js +54 -0
  80. package/dist/skills/agent/session-management/index.js.map +1 -0
  81. package/dist/skills/agent/skill-management/SKILL.md +31 -0
  82. package/dist/skills/agent/skill-management/index.d.ts +8 -0
  83. package/dist/skills/agent/skill-management/index.js +25 -0
  84. package/dist/skills/agent/skill-management/index.js.map +1 -0
  85. package/dist/skills/evolution/SkillEvolutionSystem.d.ts +12 -0
  86. package/dist/skills/evolution/SkillEvolutionSystem.js +157 -0
  87. package/dist/skills/evolution/SkillEvolutionSystem.js.map +1 -0
  88. package/dist/skills/lib/ScholarTool.d.ts +14 -0
  89. package/dist/skills/lib/ScholarTool.js +71 -0
  90. package/dist/skills/lib/ScholarTool.js.map +1 -0
  91. package/dist/skills/research/PACK.md +7 -0
  92. package/dist/skills/research/academic-survey-self-improve/SKILL.md +17 -0
  93. package/dist/skills/research/academic-survey-self-improve/index.d.ts +10 -0
  94. package/dist/skills/research/academic-survey-self-improve/index.js +75 -0
  95. package/dist/skills/research/academic-survey-self-improve/index.js.map +1 -0
  96. package/dist/skills/research/concept-explainer/SKILL.md +3 -0
  97. package/dist/skills/research/concept-explainer/index.d.ts +8 -0
  98. package/dist/skills/research/concept-explainer/index.js +37 -0
  99. package/dist/skills/research/concept-explainer/index.js.map +1 -0
  100. package/dist/skills/research/literature-review/SKILL.md +25 -0
  101. package/dist/skills/research/literature-review/index.d.ts +9 -0
  102. package/dist/skills/research/literature-review/index.js +132 -0
  103. package/dist/skills/research/literature-review/index.js.map +1 -0
  104. package/dist/skills/research/paper-analysis/SKILL.md +3 -0
  105. package/dist/skills/research/paper-analysis/index.d.ts +9 -0
  106. package/dist/skills/research/paper-analysis/index.js +64 -0
  107. package/dist/skills/research/paper-analysis/index.js.map +1 -0
  108. package/dist/skills/research/pdf-generator/SKILL.md +16 -0
  109. package/dist/skills/research/pdf-generator/index.d.ts +10 -0
  110. package/dist/skills/research/pdf-generator/index.js +88 -0
  111. package/dist/skills/research/pdf-generator/index.js.map +1 -0
  112. package/dist/skills/system/PACK.md +8 -0
  113. package/dist/skills/system/code-analysis/SKILL.md +43 -0
  114. package/dist/skills/system/code-analysis/index.d.ts +12 -0
  115. package/dist/skills/system/code-analysis/index.js +172 -0
  116. package/dist/skills/system/code-analysis/index.js.map +1 -0
  117. package/dist/skills/system/local-file-ops/SKILL.md +55 -0
  118. package/dist/skills/system/local-file-ops/index.d.ts +9 -0
  119. package/dist/skills/system/local-file-ops/index.js +111 -0
  120. package/dist/skills/system/local-file-ops/index.js.map +1 -0
  121. package/dist/skills/types.d.ts +41 -0
  122. package/dist/skills/types.js +2 -0
  123. package/dist/skills/types.js.map +1 -0
  124. package/dist/skills/vendor/PACK.md +11 -0
  125. package/dist/skills/vendor/agent-browser/CONTRIBUTING.md +63 -0
  126. package/dist/skills/vendor/agent-browser/SKILL.md +328 -0
  127. package/dist/skills/vendor/find-skills/SKILL.md +133 -0
  128. package/dist/skills/vendor/proactive-agent/SKILL-v2.3-backup.md +554 -0
  129. package/dist/skills/vendor/proactive-agent/SKILL-v3-draft.md +499 -0
  130. package/dist/skills/vendor/proactive-agent/SKILL.md +632 -0
  131. package/dist/skills/vendor/proactive-agent/assets/AGENTS.md +155 -0
  132. package/dist/skills/vendor/proactive-agent/assets/HEARTBEAT.md +128 -0
  133. package/dist/skills/vendor/proactive-agent/assets/MEMORY.md +47 -0
  134. package/dist/skills/vendor/proactive-agent/assets/ONBOARDING.md +103 -0
  135. package/dist/skills/vendor/proactive-agent/assets/SOUL.md +40 -0
  136. package/dist/skills/vendor/proactive-agent/assets/TOOLS.md +55 -0
  137. package/dist/skills/vendor/proactive-agent/assets/USER.md +36 -0
  138. package/dist/skills/vendor/proactive-agent/references/onboarding-flow.md +158 -0
  139. package/dist/skills/vendor/proactive-agent/references/security-patterns.md +109 -0
  140. package/dist/skills/vendor/searxng/CHANGELOG.md +38 -0
  141. package/dist/skills/vendor/searxng/PUBLISH.md +147 -0
  142. package/dist/skills/vendor/searxng/PUBLISHING_CHECKLIST.md +111 -0
  143. package/dist/skills/vendor/searxng/README.md +168 -0
  144. package/dist/skills/vendor/searxng/SKILL.md +69 -0
  145. package/dist/skills/vendor/self-improving-agent/.learnings/ERRORS.md +5 -0
  146. package/dist/skills/vendor/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
  147. package/dist/skills/vendor/self-improving-agent/.learnings/LEARNINGS.md +5 -0
  148. package/dist/skills/vendor/self-improving-agent/SKILL.md +647 -0
  149. package/dist/skills/vendor/self-improving-agent/assets/LEARNINGS.md +45 -0
  150. package/dist/skills/vendor/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
  151. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
  152. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/handler.d.ts +9 -0
  153. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/handler.js +54 -0
  154. package/dist/skills/vendor/self-improving-agent/hooks/openclaw/handler.js.map +1 -0
  155. package/dist/skills/vendor/self-improving-agent/references/examples.md +374 -0
  156. package/dist/skills/vendor/self-improving-agent/references/hooks-setup.md +223 -0
  157. package/dist/skills/vendor/self-improving-agent/references/openclaw-integration.md +248 -0
  158. package/dist/skills/vendor/skill-vetter/SKILL.md +138 -0
  159. package/dist/src/agent/ResearchAgent.d.ts +35 -0
  160. package/dist/src/agent/ResearchAgent.js +818 -0
  161. package/dist/src/agent/ResearchAgent.js.map +1 -0
  162. package/dist/src/agent/subagent/SubAgent.d.ts +23 -0
  163. package/dist/src/agent/subagent/SubAgent.js +87 -0
  164. package/dist/src/agent/subagent/SubAgent.js.map +1 -0
  165. package/dist/src/agent/subagent/SubAgentManager.d.ts +19 -0
  166. package/dist/src/agent/subagent/SubAgentManager.js +40 -0
  167. package/dist/src/agent/subagent/SubAgentManager.js.map +1 -0
  168. package/dist/src/bin.d.ts +2 -0
  169. package/dist/src/bin.js +34 -0
  170. package/dist/src/bin.js.map +1 -0
  171. package/dist/src/cli.d.ts +1 -0
  172. package/dist/src/cli.js +179 -0
  173. package/dist/src/cli.js.map +1 -0
  174. package/dist/src/events/EventManager.d.ts +39 -0
  175. package/dist/src/events/EventManager.js +20 -0
  176. package/dist/src/events/EventManager.js.map +1 -0
  177. package/dist/src/gateway/index.d.ts +9 -0
  178. package/dist/src/gateway/index.js +474 -0
  179. package/dist/src/gateway/index.js.map +1 -0
  180. package/dist/src/index.d.ts +3 -0
  181. package/dist/src/index.js +105 -0
  182. package/dist/src/index.js.map +1 -0
  183. package/dist/src/llm/LLMClient.d.ts +30 -0
  184. package/dist/src/llm/LLMClient.js +21 -0
  185. package/dist/src/llm/LLMClient.js.map +1 -0
  186. package/dist/src/llm/OpenAIClient.d.ts +16 -0
  187. package/dist/src/llm/OpenAIClient.js +58 -0
  188. package/dist/src/llm/OpenAIClient.js.map +1 -0
  189. package/dist/src/memory/MemoryManager.d.ts +41 -0
  190. package/dist/src/memory/MemoryManager.js +221 -0
  191. package/dist/src/memory/MemoryManager.js.map +1 -0
  192. package/dist/src/memory/evolution/MemoryEvolutionSystem.d.ts +17 -0
  193. package/dist/src/memory/evolution/MemoryEvolutionSystem.js +71 -0
  194. package/dist/src/memory/evolution/MemoryEvolutionSystem.js.map +1 -0
  195. package/dist/src/memory/search/BM25Search.d.ts +22 -0
  196. package/dist/src/memory/search/BM25Search.js +61 -0
  197. package/dist/src/memory/search/BM25Search.js.map +1 -0
  198. package/dist/src/memory/structure/PageIndex.d.ts +26 -0
  199. package/dist/src/memory/structure/PageIndex.js +156 -0
  200. package/dist/src/memory/structure/PageIndex.js.map +1 -0
  201. package/dist/src/quality/QualityManager.d.ts +12 -0
  202. package/dist/src/quality/QualityManager.js +61 -0
  203. package/dist/src/quality/QualityManager.js.map +1 -0
  204. package/dist/src/scheduling/CronManager.d.ts +21 -0
  205. package/dist/src/scheduling/CronManager.js +66 -0
  206. package/dist/src/scheduling/CronManager.js.map +1 -0
  207. package/dist/src/session/SessionManager.d.ts +37 -0
  208. package/dist/src/session/SessionManager.js +238 -0
  209. package/dist/src/session/SessionManager.js.map +1 -0
  210. package/dist/src/skills/SkillManager.d.ts +33 -0
  211. package/dist/src/skills/SkillManager.js +260 -0
  212. package/dist/src/skills/SkillManager.js.map +1 -0
  213. package/dist/src/skills/evolution/SkillEvolutionSystem.d.ts +12 -0
  214. package/dist/src/skills/evolution/SkillEvolutionSystem.js +157 -0
  215. package/dist/src/skills/evolution/SkillEvolutionSystem.js.map +1 -0
  216. package/dist/src/skills/lib/ScholarTool.d.ts +14 -0
  217. package/dist/src/skills/lib/ScholarTool.js +71 -0
  218. package/dist/src/skills/lib/ScholarTool.js.map +1 -0
  219. package/dist/src/skills/types.d.ts +41 -0
  220. package/dist/src/skills/types.js +2 -0
  221. package/dist/src/skills/types.js.map +1 -0
  222. package/dist/src/storage/sqlite.d.ts +8 -0
  223. package/dist/src/storage/sqlite.js +73 -0
  224. package/dist/src/storage/sqlite.js.map +1 -0
  225. package/dist/src/utils/logger.d.ts +12 -0
  226. package/dist/src/utils/logger.js +53 -0
  227. package/dist/src/utils/logger.js.map +1 -0
  228. package/dist/storage/sqlite.d.ts +8 -0
  229. package/dist/storage/sqlite.js +73 -0
  230. package/dist/storage/sqlite.js.map +1 -0
  231. package/dist/utils/logger.d.ts +12 -0
  232. package/dist/utils/logger.js +53 -0
  233. package/dist/utils/logger.js.map +1 -0
  234. package/package.json +71 -0
  235. package/skills/agent/PACK.md +13 -0
  236. package/skills/agent/agent-orchestration/SKILL.md +37 -0
  237. package/skills/agent/agent-orchestration/index.ts +84 -0
  238. package/skills/agent/evolution/SKILL.md +25 -0
  239. package/skills/agent/evolution/index.ts +67 -0
  240. package/skills/agent/heartbeat/index.ts +48 -0
  241. package/skills/agent/memory-management/SKILL.md +40 -0
  242. package/skills/agent/memory-management/index.ts +48 -0
  243. package/skills/agent/scheduling/SKILL.md +33 -0
  244. package/skills/agent/scheduling/index.ts +97 -0
  245. package/skills/agent/session-management/SKILL.md +35 -0
  246. package/skills/agent/session-management/index.ts +65 -0
  247. package/skills/agent/skill-management/SKILL.md +31 -0
  248. package/skills/agent/skill-management/index.ts +32 -0
  249. package/skills/research/PACK.md +7 -0
  250. package/skills/research/academic-survey-self-improve/SKILL.md +17 -0
  251. package/skills/research/academic-survey-self-improve/index.ts +87 -0
  252. package/skills/research/concept-explainer/SKILL.md +3 -0
  253. package/skills/research/concept-explainer/index.ts +42 -0
  254. package/skills/research/literature-review/SKILL.md +25 -0
  255. package/skills/research/literature-review/index.ts +168 -0
  256. package/skills/research/paper-analysis/SKILL.md +3 -0
  257. package/skills/research/paper-analysis/index.ts +73 -0
  258. package/skills/research/pdf-generator/SKILL.md +16 -0
  259. package/skills/research/pdf-generator/index.d.ts +10 -0
  260. package/skills/research/pdf-generator/index.js +114 -0
  261. package/skills/research/pdf-generator/index.js.map +1 -0
  262. package/skills/research/pdf-generator/index.ts +97 -0
  263. package/skills/system/PACK.md +8 -0
  264. package/skills/system/code-analysis/SKILL.md +43 -0
  265. package/skills/system/code-analysis/index.ts +180 -0
  266. package/skills/system/local-file-ops/SKILL.md +55 -0
  267. package/skills/system/local-file-ops/index.ts +123 -0
  268. package/skills/vendor/PACK.md +11 -0
  269. package/skills/vendor/agent-browser/.clawhub/origin.json +7 -0
  270. package/skills/vendor/agent-browser/CONTRIBUTING.md +63 -0
  271. package/skills/vendor/agent-browser/SKILL.md +328 -0
  272. package/skills/vendor/agent-browser/_meta.json +6 -0
  273. package/skills/vendor/find-skills/.clawhub/origin.json +7 -0
  274. package/skills/vendor/find-skills/SKILL.md +133 -0
  275. package/skills/vendor/find-skills/_meta.json +6 -0
  276. package/skills/vendor/proactive-agent/.clawhub/origin.json +7 -0
  277. package/skills/vendor/proactive-agent/SKILL-v2.3-backup.md +554 -0
  278. package/skills/vendor/proactive-agent/SKILL-v3-draft.md +499 -0
  279. package/skills/vendor/proactive-agent/SKILL.md +632 -0
  280. package/skills/vendor/proactive-agent/_meta.json +6 -0
  281. package/skills/vendor/proactive-agent/assets/AGENTS.md +155 -0
  282. package/skills/vendor/proactive-agent/assets/HEARTBEAT.md +128 -0
  283. package/skills/vendor/proactive-agent/assets/MEMORY.md +47 -0
  284. package/skills/vendor/proactive-agent/assets/ONBOARDING.md +103 -0
  285. package/skills/vendor/proactive-agent/assets/SOUL.md +40 -0
  286. package/skills/vendor/proactive-agent/assets/TOOLS.md +55 -0
  287. package/skills/vendor/proactive-agent/assets/USER.md +36 -0
  288. package/skills/vendor/proactive-agent/references/onboarding-flow.md +158 -0
  289. package/skills/vendor/proactive-agent/references/security-patterns.md +109 -0
  290. package/skills/vendor/proactive-agent/scripts/security-audit.sh +149 -0
  291. package/skills/vendor/searxng/.clawdhub/origin.json +7 -0
  292. package/skills/vendor/searxng/CHANGELOG.md +38 -0
  293. package/skills/vendor/searxng/PUBLISH.md +147 -0
  294. package/skills/vendor/searxng/PUBLISHING_CHECKLIST.md +111 -0
  295. package/skills/vendor/searxng/README.md +168 -0
  296. package/skills/vendor/searxng/SKILL.md +69 -0
  297. package/skills/vendor/searxng/_meta.json +6 -0
  298. package/skills/vendor/searxng/config/settings.yml +36 -0
  299. package/skills/vendor/searxng/run-searxng.sh +48 -0
  300. package/skills/vendor/searxng/scripts/searxng.py +211 -0
  301. package/skills/vendor/self-improving-agent/.clawhub/origin.json +7 -0
  302. package/skills/vendor/self-improving-agent/.learnings/ERRORS.md +5 -0
  303. package/skills/vendor/self-improving-agent/.learnings/FEATURE_REQUESTS.md +5 -0
  304. package/skills/vendor/self-improving-agent/.learnings/LEARNINGS.md +5 -0
  305. package/skills/vendor/self-improving-agent/SKILL.md +647 -0
  306. package/skills/vendor/self-improving-agent/_meta.json +6 -0
  307. package/skills/vendor/self-improving-agent/assets/LEARNINGS.md +45 -0
  308. package/skills/vendor/self-improving-agent/assets/SKILL-TEMPLATE.md +177 -0
  309. package/skills/vendor/self-improving-agent/hooks/openclaw/HOOK.md +23 -0
  310. package/skills/vendor/self-improving-agent/hooks/openclaw/handler.js +56 -0
  311. package/skills/vendor/self-improving-agent/hooks/openclaw/handler.ts +62 -0
  312. package/skills/vendor/self-improving-agent/references/examples.md +374 -0
  313. package/skills/vendor/self-improving-agent/references/hooks-setup.md +223 -0
  314. package/skills/vendor/self-improving-agent/references/openclaw-integration.md +248 -0
  315. package/skills/vendor/self-improving-agent/scripts/activator.sh +20 -0
  316. package/skills/vendor/self-improving-agent/scripts/error-detector.sh +55 -0
  317. package/skills/vendor/self-improving-agent/scripts/extract-skill.sh +221 -0
  318. package/skills/vendor/skill-vetter/.clawhub/origin.json +7 -0
  319. package/skills/vendor/skill-vetter/SKILL.md +138 -0
  320. package/skills/vendor/skill-vetter/_meta.json +6 -0
  321. package/web/README.md +73 -0
  322. package/web/package.json +65 -0
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: memory-management
3
+ description: Manage and consolidate agent memories (Working, Short-term, Long-term)
4
+ tags: [memory, system, consolidation]
5
+ ---
6
+
7
+ # Memory Management
8
+
9
+ This skill allows the agent to actively manage its own memory system.
10
+
11
+ ## Actions
12
+
13
+ ### consolidate
14
+ Triggers the memory consolidation process.
15
+ - Moves old working memories to short-term.
16
+ - Promotes high-value short-term memories to long-term.
17
+ - Prunes low-value, old memories.
18
+
19
+ **Parameters:**
20
+ - `userId` (optional): The user ID to consolidate memories for. Defaults to current user.
21
+
22
+ ### search
23
+ Search through the agent's memories.
24
+
25
+ **Parameters:**
26
+ - `query` (required): The search term.
27
+ - `limit` (optional): Max results (default 5).
28
+ - `type` (optional): Filter by type (preference, fact, context, paper, experiment).
29
+ - `tier` (optional): Filter by tier (working, short_term, long_term).
30
+
31
+ ### retrieve
32
+ Retrieve all memories of a specific tier (e.g. "show me long term memories").
33
+
34
+ **Parameters:**
35
+ - `tier` (required): working, short_term, or long_term.
36
+
37
+
38
+ ## Examples
39
+
40
+ - "Consolidate my memories" -> `consolidate`
@@ -0,0 +1,48 @@
1
+ import { Skill, SkillContext, SkillParams, SkillResult } from '../../../src/skills/types.js';
2
+
3
+ export default class MemoryManagementSkill implements Skill {
4
+ id = 'memory_management';
5
+ name = 'Memory Management';
6
+ description = 'Manage and consolidate agent memories';
7
+ tags = ['memory', 'system', 'consolidation'];
8
+
9
+ async execute(ctx: SkillContext, params: SkillParams): Promise<SkillResult> {
10
+ const operation = params.operation || 'consolidate';
11
+ const userId = params.userId || ctx.userId;
12
+
13
+ ctx.log('thinking', `Performing memory operation: ${operation} for user ${userId}`);
14
+
15
+ try {
16
+ switch (operation) {
17
+ case 'consolidate':
18
+ await ctx.memory.consolidateMemories(userId);
19
+ ctx.log('tool_result', 'Memory consolidation completed.');
20
+ return { success: true, message: 'Memories consolidated.' };
21
+
22
+ case 'search':
23
+ const query = params.query;
24
+ if (!query) throw new Error('Search query is required');
25
+ const results = await ctx.memory.searchMemories(userId, query, {
26
+ limit: params.limit,
27
+ type: params.type,
28
+ tier: params.tier
29
+ });
30
+ ctx.log('tool_result', `Found ${results.length} memories matching "${query}"`);
31
+ return { results };
32
+
33
+ case 'retrieve':
34
+ const tier = params.tier;
35
+ if (!tier) throw new Error('Tier is required for retrieval');
36
+ const memories = await ctx.memory.getMemoriesByTier(userId, tier);
37
+ ctx.log('tool_result', `Retrieved ${memories.length} ${tier} memories`);
38
+ return { memories };
39
+
40
+ default:
41
+ throw new Error(`Unknown operation: ${operation}`);
42
+ }
43
+ } catch (error) {
44
+ ctx.log('error', `Memory operation failed: ${error}`);
45
+ throw error;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: scheduling
3
+ description: Schedule and manage automated tasks (cron)
4
+ tags: [system, cron, tasks]
5
+ ---
6
+
7
+ # Scheduling
8
+
9
+ This skill allows the agent to schedule tasks to run automatically at specified times.
10
+
11
+ ## Actions
12
+
13
+ ### schedule_task
14
+ Schedule a new recurring task.
15
+
16
+ **Parameters:**
17
+ - `name` (required): Name of the task.
18
+ - `cron` (required): Cron expression (e.g. "0 * * * *").
19
+ - `skill` (required): The ID of the skill to execute.
20
+ - `params` (optional): JSON object of parameters for the skill.
21
+
22
+ ### list_tasks
23
+ List all scheduled tasks.
24
+
25
+ ### remove_task
26
+ Stop and remove a scheduled task.
27
+
28
+ **Parameters:**
29
+ - `taskId` (required): The ID of the task to remove.
30
+
31
+ ## Examples
32
+
33
+ - "Check weather every hour" -> `schedule_task(name="Check Weather", cron="0 * * * *", skill="weather_skill", params={})`
@@ -0,0 +1,97 @@
1
+ import { Skill, SkillContext, SkillParams, SkillResult } from '../../../src/skills/types.js';
2
+ import { CronManager } from '../../../src/scheduling/CronManager.js';
3
+ import { SkillManager } from '../../../src/skills/SkillManager.js';
4
+
5
+ export default class SchedulingSkill implements Skill {
6
+ id = 'scheduling';
7
+ name = 'Scheduling';
8
+ description = 'Schedule and manage automated tasks (cron)';
9
+ tags = ['system', 'cron', 'tasks'];
10
+
11
+ private static cronManager: CronManager | null = null;
12
+ private static skillManager: SkillManager | null = null;
13
+
14
+ async execute(ctx: SkillContext, params: SkillParams): Promise<SkillResult> {
15
+ const operation = params.operation || 'list_tasks';
16
+
17
+ // Prioritize context-injected managers, fallback to static (legacy support)
18
+ const cron = ctx.managers?.cron || SchedulingSkill.cronManager;
19
+ const skillMgr = ctx.managers?.skill || SchedulingSkill.skillManager;
20
+
21
+ if (!cron) {
22
+ // Last resort fallback
23
+ if (!SchedulingSkill.cronManager) {
24
+ SchedulingSkill.cronManager = new CronManager();
25
+ }
26
+ // return this.execute(ctx, params); // Recursion risk if logic fails
27
+ }
28
+ const finalCron = cron || SchedulingSkill.cronManager; // Should be set by now
29
+
30
+ ctx.log('thinking', `Performing scheduling operation: ${operation}`);
31
+
32
+ try {
33
+ switch (operation) {
34
+ case 'list_tasks':
35
+ const tasks = finalCron.getAllTasks();
36
+ return {
37
+ tasks: tasks.map((t: any) => ({
38
+ id: t.id,
39
+ name: t.name,
40
+ cron: t.cronExpression,
41
+ enabled: t.enabled,
42
+ lastRun: t.lastRun
43
+ }))
44
+ };
45
+
46
+ case 'schedule_task':
47
+ const name = params.name;
48
+ const cronExp = params.cron;
49
+ const skillId = params.skill;
50
+ const skillParams = params.params || {};
51
+
52
+ if (!name || !cronExp || !skillId) throw new Error('Name, cron, and skill are required');
53
+
54
+ if (!skillMgr) {
55
+ throw new Error('SkillManager not available. Cannot execute scheduled tasks.');
56
+ }
57
+
58
+ const task = finalCron.scheduleTask(name, cronExp, async () => {
59
+ console.log(`[ScheduledTask:${name}] Executing skill ${skillId}...`);
60
+ try {
61
+ await skillMgr.executeSkill(
62
+ skillId,
63
+ 'scheduled-task', // generic user id for system tasks
64
+ skillParams,
65
+ (type: any, content: any) => console.log(`[ScheduledTask:${name}] [${type}] ${content}`)
66
+ );
67
+ } catch (e) {
68
+ console.error(`[ScheduledTask:${name}] Failed:`, e);
69
+ }
70
+ });
71
+
72
+ finalCron.startTask(task.id);
73
+
74
+ ctx.log('tool_result', `Scheduled task '${name}' (${task.id})`);
75
+ return { success: true, taskId: task.id, message: 'Task scheduled and started.' };
76
+
77
+ case 'remove_task':
78
+ const taskId = params.taskId;
79
+ if (!taskId) throw new Error('TaskId is required');
80
+ finalCron.removeTask(taskId);
81
+ ctx.log('tool_result', `Removed task ${taskId}`);
82
+ return { success: true, message: 'Task removed.' };
83
+
84
+ default:
85
+ throw new Error(`Unknown operation: ${operation}`);
86
+ }
87
+ } catch (error) {
88
+ ctx.log('error', `Scheduling operation failed: ${error}`);
89
+ throw error;
90
+ }
91
+ }
92
+
93
+ public static setManagers(cron: CronManager, skill: SkillManager) {
94
+ SchedulingSkill.cronManager = cron;
95
+ SchedulingSkill.skillManager = skill;
96
+ }
97
+ }
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: session-management
3
+ description: Manage chat sessions and history
4
+ tags: [system, session, history]
5
+ ---
6
+
7
+ # Session Management
8
+
9
+ This skill allows the agent to manage user sessions and chat history.
10
+
11
+ ## Actions
12
+
13
+ ### list_sessions
14
+ List all active sessions for the current user.
15
+
16
+ ### get_history
17
+ Retrieve message history for a session.
18
+
19
+ **Parameters:**
20
+ - `sessionId` (optional): If not provided, uses current active session.
21
+ - `limit` (optional): Number of messages to retrieve (default 10).
22
+
23
+ ### clear_history
24
+ Clear message history for a session.
25
+
26
+ **Parameters:**
27
+ - `sessionId` (optional): If not provided, uses current active session.
28
+
29
+ ### summarize_session
30
+ Generate a summary of the current session. (Future)
31
+
32
+ ## Examples
33
+
34
+ - "Show my chat history" -> `get_history`
35
+ - "Clear this session" -> `clear_history`
@@ -0,0 +1,65 @@
1
+ import { Skill, SkillContext, SkillParams, SkillResult } from '../../../src/skills/types.js';
2
+ import { SessionManager } from '../../../src/session/SessionManager.js';
3
+
4
+ export default class SessionSkill implements Skill {
5
+ id = 'session_management';
6
+ name = 'Session Management';
7
+ description = 'Manage chat sessions and history';
8
+ tags = ['system', 'session', 'history'];
9
+
10
+ private static manager: SessionManager | null = null;
11
+
12
+ async execute(ctx: SkillContext, params: SkillParams): Promise<SkillResult> {
13
+ const operation = params.operation || 'get_history';
14
+
15
+ // Prioritize context-injected manager, fallback to static (legacy support)
16
+ const manager = ctx.managers?.session || SessionSkill.manager || new SessionManager();
17
+
18
+ // We need to know the current session context.
19
+ const userId = ctx.userId;
20
+ let sessionId = params.sessionId;
21
+
22
+ // Resolve session
23
+ if (!sessionId) {
24
+ // Use the manager instance we resolved
25
+ const session = manager.getOrCreateActiveSession(userId);
26
+ sessionId = session.id;
27
+ }
28
+
29
+ ctx.log('thinking', `Performing session operation: ${operation} for session ${sessionId}`);
30
+
31
+ try {
32
+ switch (operation) {
33
+ case 'list_sessions':
34
+ const activeSession = manager.getActiveSession(userId);
35
+ return {
36
+ sessions: activeSession ? [{ id: activeSession.id, created: activeSession.created_at }] : []
37
+ };
38
+
39
+ case 'get_history':
40
+ const limit = params.limit || 10;
41
+ const history = manager.getHistory(sessionId, limit);
42
+ return {
43
+ sessionId,
44
+ history: history.map((m: any) => ({ role: m.role, content: m.content, time: m.timestamp }))
45
+ };
46
+
47
+ case 'clear_history':
48
+ manager.clearHistory(sessionId);
49
+ ctx.log('tool_result', `Cleared history for session ${sessionId}`);
50
+ return { success: true, message: 'Session history cleared.' };
51
+
52
+ default:
53
+ throw new Error(`Unknown operation: ${operation}`);
54
+ }
55
+ } catch (error) {
56
+ ctx.log('error', `Session operation failed: ${error}`);
57
+ throw error;
58
+ }
59
+ }
60
+
61
+ // Helper to inject manager (called by Agent)
62
+ public static setManager(manager: SessionManager) {
63
+ SessionSkill.manager = manager;
64
+ }
65
+ }
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: skill-management
3
+ description: Manage skill packs (load, unload, list)
4
+ tags: [system, management, packs]
5
+ ---
6
+
7
+ # Skill Management
8
+
9
+ This skill allows the agent to manage its own skill sets (packs).
10
+
11
+ ## Actions
12
+
13
+ ### list_packs
14
+ List all loaded skill packs.
15
+
16
+ ### unload_pack
17
+ Unload a specific skill pack.
18
+
19
+ **Parameters:**
20
+ - `packId` (required): The ID of the pack to unload.
21
+
22
+ ### load_pack
23
+ Load a skill pack from disk (if not already loaded, or to reload).
24
+
25
+ **Parameters:**
26
+ - `packId` (required): The folder name of the pack in `skills/`.
27
+
28
+ ## Examples
29
+
30
+ - "List loaded skill packs" -> `list_packs`
31
+ - "Unload the dev-tools pack" -> `unload_pack(packId="dev-tools")`
@@ -0,0 +1,32 @@
1
+ import { Skill, SkillContext, SkillParams, SkillResult } from '../../../src/skills/types.js';
2
+
3
+ export default class SkillManagementSkill implements Skill {
4
+ id = 'skill_management';
5
+ name = 'Skill Management';
6
+ description = 'Manage skill packs (load, unload, list)';
7
+ tags = ['system', 'management', 'packs'];
8
+
9
+ async execute(ctx: SkillContext, params: SkillParams): Promise<SkillResult> {
10
+ const operation = params.operation || 'list_packs';
11
+
12
+ // We need access to the SkillManager.
13
+ // In our architecture, the agent has it. But here we are inside a skill execution.
14
+ // For now, we assume we can't easily get the parent SkillManager instance directly from context unless we injected it.
15
+ // However, since we are moving towards a more dynamic system, we might need to expose it.
16
+ // Let's assume we can't do real loading/unloading in this MVP without refactoring Context.
17
+
18
+ // BUT, we can inspect the file system which reflects the 'potential' state.
19
+ // AND, if we had the instance, we could call methods.
20
+
21
+ // For this MVP, let's just implement 'list_packs' by reading the file system or if we can hack access.
22
+ // Real implementation requires Context refactoring.
23
+
24
+ // TODO: Refactor SkillContext to include skillManager
25
+ // For now, let's return a message saying this is a placeholder for the architecture.
26
+
27
+ return {
28
+ success: true,
29
+ message: `Operation '${operation}' processed. (Note: Runtime pack management requires Context injection update).`
30
+ };
31
+ }
32
+ }
@@ -0,0 +1,7 @@
1
+ # Research Skills Pack
2
+
3
+ Academic and scientific research capabilities.
4
+
5
+ ## Skills
6
+
7
+ - `literature-review`: Literature review and academic search
@@ -0,0 +1,17 @@
1
+ # Academic Survey Self-Improve
2
+
3
+ ## Description
4
+ Conducts a comprehensive academic survey on a given topic using arXiv and LLM-based analysis. It iteratively refines the search based on initial findings to improve the quality of the survey.
5
+
6
+ ## Author
7
+ vixuowis
8
+
9
+ ## Version
10
+ 0.1.0
11
+
12
+ ## Usage
13
+ - `topic`: The research topic to survey.
14
+ - `depth`: (Optional) Depth of the survey (default: "brief").
15
+
16
+ ## Tags
17
+ research, survey, academic, self-improve
@@ -0,0 +1,87 @@
1
+ import { Skill, SkillContext, SkillParams, SkillResult } from '../../../src/skills/types.js';
2
+ import { ScholarTool } from '../../../src/skills/lib/ScholarTool.js';
3
+
4
+ export default class AcademicSurveySelfImproveSkill implements Skill {
5
+ id = 'academic_survey_self_improve';
6
+ name = 'Academic Survey (Self-Improve)';
7
+ description = 'Conducts an academic survey and iteratively refines it.';
8
+ tags = ['research', 'survey', 'academic'];
9
+
10
+ async execute(context: SkillContext, params: SkillParams): Promise<SkillResult> {
11
+ const { topic, depth = 'brief' } = params;
12
+ context.log('thinking', `Starting academic survey on: ${topic}`);
13
+ if (context.updateProgress) {
14
+ await context.updateProgress(10, 'Initializing search', { topic });
15
+ }
16
+
17
+ const scholar = new ScholarTool();
18
+ let papers = await scholar.searchPapers(topic, 5);
19
+
20
+ if (papers.length === 0) {
21
+ context.log('thinking', 'No papers found. Attempting to broaden search...');
22
+ if (context.updateProgress) {
23
+ await context.updateProgress(30, 'No results found, refining query...', { originalTopic: topic });
24
+ }
25
+ const betterQuery = await this.refineQuery(context, topic);
26
+ if (betterQuery !== topic) {
27
+ context.log('thinking', `Refined query to: ${betterQuery}`);
28
+ if (context.updateProgress) {
29
+ await context.updateProgress(40, `Searching with refined query: ${betterQuery}`);
30
+ }
31
+ papers = await scholar.searchPapers(betterQuery, 5);
32
+ }
33
+ }
34
+
35
+ if (papers.length === 0) {
36
+ if (context.updateProgress) {
37
+ await context.updateProgress(100, 'Survey failed: No papers found');
38
+ }
39
+ return {
40
+ success: false,
41
+ message: 'No papers found even after refinement.',
42
+ papers: []
43
+ };
44
+ }
45
+
46
+ context.log('thinking', `Found ${papers.length} papers. Analyzing...`);
47
+ if (context.updateProgress) {
48
+ await context.updateProgress(60, `Analyzing ${papers.length} papers`, { papers });
49
+ }
50
+
51
+ // Summarize
52
+ const summary = await this.summarizePapers(context, topic, papers);
53
+
54
+ if (context.updateProgress) {
55
+ await context.updateProgress(100, 'Survey complete');
56
+ }
57
+
58
+ return {
59
+ success: true,
60
+ summary,
61
+ papers,
62
+ formatted_output: summary
63
+ };
64
+ }
65
+
66
+ private async refineQuery(context: SkillContext, originalQuery: string): Promise<string> {
67
+ const prompt = `The user searched for "${originalQuery}" on arXiv but found no results. Suggest a broader or more effective search query for the same intent. Return ONLY the new query string.`;
68
+ const response = await context.llm.chat([{ role: 'user', content: prompt }]);
69
+ return response.content.trim().replace(/^"|"$/g, '');
70
+ }
71
+
72
+ private async summarizePapers(context: SkillContext, topic: string, papers: any[]): Promise<string> {
73
+ const papersText = papers.map((p, i) => `[${i+1}] ${p.title} (${p.year})\nSummary: ${p.summary}`).join('\n\n');
74
+ const prompt = `
75
+ Perform a literature survey on the topic: "${topic}".
76
+ Based on the following papers found:
77
+
78
+ ${papersText}
79
+
80
+ Synthesize a coherent summary of the state of research. Highlight key trends, methodologies, and findings.
81
+ Format as Markdown.
82
+ `;
83
+
84
+ const response = await context.llm.chat([{ role: 'user', content: prompt }]);
85
+ return response.content;
86
+ }
87
+ }
@@ -0,0 +1,3 @@
1
+ # Concept Explainer
2
+
3
+ Explain a complex scientific or technical concept in simple terms, with examples and historical context.
@@ -0,0 +1,42 @@
1
+ import { Skill, SkillContext, SkillParams, SkillResult } from '../../../src/skills/types.js';
2
+
3
+ export default class ConceptExplainerSkill implements Skill {
4
+ id = 'concept_explainer';
5
+ name = 'Concept Explainer';
6
+ description = 'Explain a complex scientific concept';
7
+ tags = ['research', 'education', 'explanation'];
8
+
9
+ async execute(ctx: SkillContext, params: SkillParams): Promise<SkillResult> {
10
+ const concept = params.concept || params.topic || params.query;
11
+ if (!concept) {
12
+ throw new Error('Concept is required');
13
+ }
14
+
15
+ ctx.log('thinking', `Explaining concept: ${concept}`);
16
+ if (ctx.updateProgress) await ctx.updateProgress(10, `Researching concept: ${concept}`);
17
+
18
+ const prompt = `
19
+ You are an expert science communicator (like Feynman).
20
+ Explain the following concept in a clear, engaging, and depth-first manner: "${concept}"
21
+
22
+ Structure:
23
+ 1. **Definition**: Simple, one-sentence definition.
24
+ 2. **The "Why"**: Why is this concept important?
25
+ 3. **Deep Dive**: How does it work? (Use analogies).
26
+ 4. **History**: Who discovered it and when?
27
+ 5. **Applications**: Real-world examples.
28
+ 6. **Related Concepts**: What else should I know?
29
+ `;
30
+
31
+ const response = await ctx.llm.complete(prompt);
32
+ const explanation = response.content;
33
+
34
+ if (ctx.updateProgress) await ctx.updateProgress(100, `Explanation ready.`);
35
+
36
+ return {
37
+ concept,
38
+ explanation,
39
+ formatted_output: `### Concept: ${concept}\n\n${explanation}`
40
+ };
41
+ }
42
+ }
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: literature-review
3
+ description: Search for papers and generate a literature review
4
+ tags: [research, literature, review]
5
+ ---
6
+
7
+ # Literature Review
8
+
9
+ This skill performs an automated literature review on a given topic.
10
+
11
+ ## Instructions
12
+
13
+ 1. **Search**: Queries academic databases (e.g. arXiv, Semantic Scholar) for relevant papers.
14
+ 2. **Filter**: Selects the most relevant papers based on the topic.
15
+ 3. **Analyze**: Extracts key insights, methodologies, and findings.
16
+ 4. **Synthesize**: Generates a comprehensive review summary.
17
+
18
+ ## Parameters
19
+
20
+ - `topic` (required): The research topic or question.
21
+
22
+ ## Examples
23
+
24
+ - "Do a literature review on Large Language Model reasoning"
25
+ - "Survey recent advances in multimodal agents"