@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,221 @@
1
+ #!/bin/bash
2
+ # Skill Extraction Helper
3
+ # Creates a new skill from a learning entry
4
+ # Usage: ./extract-skill.sh <skill-name> [--dry-run]
5
+
6
+ set -e
7
+
8
+ # Configuration
9
+ SKILLS_DIR="./skills"
10
+
11
+ # Colors for output
12
+ RED='\033[0;31m'
13
+ GREEN='\033[0;32m'
14
+ YELLOW='\033[1;33m'
15
+ NC='\033[0m' # No Color
16
+
17
+ usage() {
18
+ cat << EOF
19
+ Usage: $(basename "$0") <skill-name> [options]
20
+
21
+ Create a new skill from a learning entry.
22
+
23
+ Arguments:
24
+ skill-name Name of the skill (lowercase, hyphens for spaces)
25
+
26
+ Options:
27
+ --dry-run Show what would be created without creating files
28
+ --output-dir Relative output directory under current path (default: ./skills)
29
+ -h, --help Show this help message
30
+
31
+ Examples:
32
+ $(basename "$0") docker-m1-fixes
33
+ $(basename "$0") api-timeout-patterns --dry-run
34
+ $(basename "$0") pnpm-setup --output-dir ./skills/custom
35
+
36
+ The skill will be created in: \$SKILLS_DIR/<skill-name>/
37
+ EOF
38
+ }
39
+
40
+ log_info() {
41
+ echo -e "${GREEN}[INFO]${NC} $1"
42
+ }
43
+
44
+ log_warn() {
45
+ echo -e "${YELLOW}[WARN]${NC} $1"
46
+ }
47
+
48
+ log_error() {
49
+ echo -e "${RED}[ERROR]${NC} $1" >&2
50
+ }
51
+
52
+ # Parse arguments
53
+ SKILL_NAME=""
54
+ DRY_RUN=false
55
+
56
+ while [[ $# -gt 0 ]]; do
57
+ case $1 in
58
+ --dry-run)
59
+ DRY_RUN=true
60
+ shift
61
+ ;;
62
+ --output-dir)
63
+ if [ -z "${2:-}" ] || [[ "${2:-}" == -* ]]; then
64
+ log_error "--output-dir requires a relative path argument"
65
+ usage
66
+ exit 1
67
+ fi
68
+ SKILLS_DIR="$2"
69
+ shift 2
70
+ ;;
71
+ -h|--help)
72
+ usage
73
+ exit 0
74
+ ;;
75
+ -*)
76
+ log_error "Unknown option: $1"
77
+ usage
78
+ exit 1
79
+ ;;
80
+ *)
81
+ if [ -z "$SKILL_NAME" ]; then
82
+ SKILL_NAME="$1"
83
+ else
84
+ log_error "Unexpected argument: $1"
85
+ usage
86
+ exit 1
87
+ fi
88
+ shift
89
+ ;;
90
+ esac
91
+ done
92
+
93
+ # Validate skill name
94
+ if [ -z "$SKILL_NAME" ]; then
95
+ log_error "Skill name is required"
96
+ usage
97
+ exit 1
98
+ fi
99
+
100
+ # Validate skill name format (lowercase, hyphens, no spaces)
101
+ if ! [[ "$SKILL_NAME" =~ ^[a-z0-9]+(-[a-z0-9]+)*$ ]]; then
102
+ log_error "Invalid skill name format. Use lowercase letters, numbers, and hyphens only."
103
+ log_error "Examples: 'docker-fixes', 'api-patterns', 'pnpm-setup'"
104
+ exit 1
105
+ fi
106
+
107
+ # Validate output path to avoid writes outside current workspace.
108
+ if [[ "$SKILLS_DIR" = /* ]]; then
109
+ log_error "Output directory must be a relative path under the current directory."
110
+ exit 1
111
+ fi
112
+
113
+ if [[ "$SKILLS_DIR" =~ (^|/)\.\.(/|$) ]]; then
114
+ log_error "Output directory cannot include '..' path segments."
115
+ exit 1
116
+ fi
117
+
118
+ SKILLS_DIR="${SKILLS_DIR#./}"
119
+ SKILLS_DIR="./$SKILLS_DIR"
120
+
121
+ SKILL_PATH="$SKILLS_DIR/$SKILL_NAME"
122
+
123
+ # Check if skill already exists
124
+ if [ -d "$SKILL_PATH" ] && [ "$DRY_RUN" = false ]; then
125
+ log_error "Skill already exists: $SKILL_PATH"
126
+ log_error "Use a different name or remove the existing skill first."
127
+ exit 1
128
+ fi
129
+
130
+ # Dry run output
131
+ if [ "$DRY_RUN" = true ]; then
132
+ log_info "Dry run - would create:"
133
+ echo " $SKILL_PATH/"
134
+ echo " $SKILL_PATH/SKILL.md"
135
+ echo ""
136
+ echo "Template content would be:"
137
+ echo "---"
138
+ cat << TEMPLATE
139
+ name: $SKILL_NAME
140
+ description: "[TODO: Add a concise description of what this skill does and when to use it]"
141
+ ---
142
+
143
+ # $(echo "$SKILL_NAME" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) tolower(substr($i,2))}1')
144
+
145
+ [TODO: Brief introduction explaining the skill's purpose]
146
+
147
+ ## Quick Reference
148
+
149
+ | Situation | Action |
150
+ |-----------|--------|
151
+ | [Trigger condition] | [What to do] |
152
+
153
+ ## Usage
154
+
155
+ [TODO: Detailed usage instructions]
156
+
157
+ ## Examples
158
+
159
+ [TODO: Add concrete examples]
160
+
161
+ ## Source Learning
162
+
163
+ This skill was extracted from a learning entry.
164
+ - Learning ID: [TODO: Add original learning ID]
165
+ - Original File: .learnings/LEARNINGS.md
166
+ TEMPLATE
167
+ echo "---"
168
+ exit 0
169
+ fi
170
+
171
+ # Create skill directory structure
172
+ log_info "Creating skill: $SKILL_NAME"
173
+
174
+ mkdir -p "$SKILL_PATH"
175
+
176
+ # Create SKILL.md from template
177
+ cat > "$SKILL_PATH/SKILL.md" << TEMPLATE
178
+ ---
179
+ name: $SKILL_NAME
180
+ description: "[TODO: Add a concise description of what this skill does and when to use it]"
181
+ ---
182
+
183
+ # $(echo "$SKILL_NAME" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) tolower(substr($i,2))}1')
184
+
185
+ [TODO: Brief introduction explaining the skill's purpose]
186
+
187
+ ## Quick Reference
188
+
189
+ | Situation | Action |
190
+ |-----------|--------|
191
+ | [Trigger condition] | [What to do] |
192
+
193
+ ## Usage
194
+
195
+ [TODO: Detailed usage instructions]
196
+
197
+ ## Examples
198
+
199
+ [TODO: Add concrete examples]
200
+
201
+ ## Source Learning
202
+
203
+ This skill was extracted from a learning entry.
204
+ - Learning ID: [TODO: Add original learning ID]
205
+ - Original File: .learnings/LEARNINGS.md
206
+ TEMPLATE
207
+
208
+ log_info "Created: $SKILL_PATH/SKILL.md"
209
+
210
+ # Suggest next steps
211
+ echo ""
212
+ log_info "Skill scaffold created successfully!"
213
+ echo ""
214
+ echo "Next steps:"
215
+ echo " 1. Edit $SKILL_PATH/SKILL.md"
216
+ echo " 2. Fill in the TODO sections with content from your learning"
217
+ echo " 3. Add references/ folder if you have detailed documentation"
218
+ echo " 4. Add scripts/ folder if you have executable code"
219
+ echo " 5. Update the original learning entry with:"
220
+ echo " **Status**: promoted_to_skill"
221
+ echo " **Skill-Path**: skills/$SKILL_NAME"
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 1,
3
+ "registry": "https://clawhub.ai",
4
+ "slug": "skill-vetter",
5
+ "installedVersion": "1.0.0",
6
+ "installedAt": 1772701213428
7
+ }
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: skill-vetter
3
+ version: 1.0.0
4
+ description: Security-first skill vetting for AI agents. Use before installing any skill from ClawdHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.
5
+ ---
6
+
7
+ # Skill Vetter 🔒
8
+
9
+ Security-first vetting protocol for AI agent skills. **Never install a skill without vetting it first.**
10
+
11
+ ## When to Use
12
+
13
+ - Before installing any skill from ClawdHub
14
+ - Before running skills from GitHub repos
15
+ - When evaluating skills shared by other agents
16
+ - Anytime you're asked to install unknown code
17
+
18
+ ## Vetting Protocol
19
+
20
+ ### Step 1: Source Check
21
+
22
+ ```
23
+ Questions to answer:
24
+ - [ ] Where did this skill come from?
25
+ - [ ] Is the author known/reputable?
26
+ - [ ] How many downloads/stars does it have?
27
+ - [ ] When was it last updated?
28
+ - [ ] Are there reviews from other agents?
29
+ ```
30
+
31
+ ### Step 2: Code Review (MANDATORY)
32
+
33
+ Read ALL files in the skill. Check for these **RED FLAGS**:
34
+
35
+ ```
36
+ 🚨 REJECT IMMEDIATELY IF YOU SEE:
37
+ ─────────────────────────────────────────
38
+ • curl/wget to unknown URLs
39
+ • Sends data to external servers
40
+ • Requests credentials/tokens/API keys
41
+ • Reads ~/.ssh, ~/.aws, ~/.config without clear reason
42
+ • Accesses MEMORY.md, USER.md, SOUL.md, IDENTITY.md
43
+ • Uses base64 decode on anything
44
+ • Uses eval() or exec() with external input
45
+ • Modifies system files outside workspace
46
+ • Installs packages without listing them
47
+ • Network calls to IPs instead of domains
48
+ • Obfuscated code (compressed, encoded, minified)
49
+ • Requests elevated/sudo permissions
50
+ • Accesses browser cookies/sessions
51
+ • Touches credential files
52
+ ─────────────────────────────────────────
53
+ ```
54
+
55
+ ### Step 3: Permission Scope
56
+
57
+ ```
58
+ Evaluate:
59
+ - [ ] What files does it need to read?
60
+ - [ ] What files does it need to write?
61
+ - [ ] What commands does it run?
62
+ - [ ] Does it need network access? To where?
63
+ - [ ] Is the scope minimal for its stated purpose?
64
+ ```
65
+
66
+ ### Step 4: Risk Classification
67
+
68
+ | Risk Level | Examples | Action |
69
+ |------------|----------|--------|
70
+ | 🟢 LOW | Notes, weather, formatting | Basic review, install OK |
71
+ | 🟡 MEDIUM | File ops, browser, APIs | Full code review required |
72
+ | 🔴 HIGH | Credentials, trading, system | Human approval required |
73
+ | ⛔ EXTREME | Security configs, root access | Do NOT install |
74
+
75
+ ## Output Format
76
+
77
+ After vetting, produce this report:
78
+
79
+ ```
80
+ SKILL VETTING REPORT
81
+ ═══════════════════════════════════════
82
+ Skill: [name]
83
+ Source: [ClawdHub / GitHub / other]
84
+ Author: [username]
85
+ Version: [version]
86
+ ───────────────────────────────────────
87
+ METRICS:
88
+ • Downloads/Stars: [count]
89
+ • Last Updated: [date]
90
+ • Files Reviewed: [count]
91
+ ───────────────────────────────────────
92
+ RED FLAGS: [None / List them]
93
+
94
+ PERMISSIONS NEEDED:
95
+ • Files: [list or "None"]
96
+ • Network: [list or "None"]
97
+ • Commands: [list or "None"]
98
+ ───────────────────────────────────────
99
+ RISK LEVEL: [🟢 LOW / 🟡 MEDIUM / 🔴 HIGH / ⛔ EXTREME]
100
+
101
+ VERDICT: [✅ SAFE TO INSTALL / ⚠️ INSTALL WITH CAUTION / ❌ DO NOT INSTALL]
102
+
103
+ NOTES: [Any observations]
104
+ ═══════════════════════════════════════
105
+ ```
106
+
107
+ ## Quick Vet Commands
108
+
109
+ For GitHub-hosted skills:
110
+ ```bash
111
+ # Check repo stats
112
+ curl -s "https://api.github.com/repos/OWNER/REPO" | jq '{stars: .stargazers_count, forks: .forks_count, updated: .updated_at}'
113
+
114
+ # List skill files
115
+ curl -s "https://api.github.com/repos/OWNER/REPO/contents/skills/SKILL_NAME" | jq '.[].name'
116
+
117
+ # Fetch and review SKILL.md
118
+ curl -s "https://raw.githubusercontent.com/OWNER/REPO/main/skills/SKILL_NAME/SKILL.md"
119
+ ```
120
+
121
+ ## Trust Hierarchy
122
+
123
+ 1. **Official OpenClaw skills** → Lower scrutiny (still review)
124
+ 2. **High-star repos (1000+)** → Moderate scrutiny
125
+ 3. **Known authors** → Moderate scrutiny
126
+ 4. **New/unknown sources** → Maximum scrutiny
127
+ 5. **Skills requesting credentials** → Human approval always
128
+
129
+ ## Remember
130
+
131
+ - No skill is worth compromising security
132
+ - When in doubt, don't install
133
+ - Ask your human for high-risk decisions
134
+ - Document what you vet for future reference
135
+
136
+ ---
137
+
138
+ *Paranoia is a feature.* 🔒🦀
@@ -0,0 +1,6 @@
1
+ {
2
+ "ownerId": "kn71j6xbmpwfvx4c6y1ez8cd718081mg",
3
+ "slug": "skill-vetter",
4
+ "version": "1.0.0",
5
+ "publishedAt": 1769863429632
6
+ }
package/web/README.md ADDED
@@ -0,0 +1,73 @@
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## React Compiler
11
+
12
+ The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
13
+
14
+ ## Expanding the ESLint configuration
15
+
16
+ If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
17
+
18
+ ```js
19
+ export default defineConfig([
20
+ globalIgnores(['dist']),
21
+ {
22
+ files: ['**/*.{ts,tsx}'],
23
+ extends: [
24
+ // Other configs...
25
+
26
+ // Remove tseslint.configs.recommended and replace with this
27
+ tseslint.configs.recommendedTypeChecked,
28
+ // Alternatively, use this for stricter rules
29
+ tseslint.configs.strictTypeChecked,
30
+ // Optionally, add this for stylistic rules
31
+ tseslint.configs.stylisticTypeChecked,
32
+
33
+ // Other configs...
34
+ ],
35
+ languageOptions: {
36
+ parserOptions: {
37
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
38
+ tsconfigRootDir: import.meta.dirname,
39
+ },
40
+ // other options...
41
+ },
42
+ },
43
+ ])
44
+ ```
45
+
46
+ You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
47
+
48
+ ```js
49
+ // eslint.config.js
50
+ import reactX from 'eslint-plugin-react-x'
51
+ import reactDom from 'eslint-plugin-react-dom'
52
+
53
+ export default defineConfig([
54
+ globalIgnores(['dist']),
55
+ {
56
+ files: ['**/*.{ts,tsx}'],
57
+ extends: [
58
+ // Other configs...
59
+ // Enable lint rules for React
60
+ reactX.configs['recommended-typescript'],
61
+ // Enable lint rules for React DOM
62
+ reactDom.configs.recommended,
63
+ ],
64
+ languageOptions: {
65
+ parserOptions: {
66
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
67
+ tsconfigRootDir: import.meta.dirname,
68
+ },
69
+ // other options...
70
+ },
71
+ },
72
+ ])
73
+ ```
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "web",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc -b && vite build",
9
+ "lint": "eslint .",
10
+ "preview": "vite preview"
11
+ },
12
+ "dependencies": {
13
+ "@a2a-js/sdk": "^0.3.10",
14
+ "@fontsource-variable/geist": "^5.2.8",
15
+ "@radix-ui/react-alert-dialog": "^1.1.15",
16
+ "@radix-ui/react-hover-card": "^1.1.15",
17
+ "@radix-ui/react-label": "^2.1.8",
18
+ "@radix-ui/react-progress": "^1.1.8",
19
+ "@radix-ui/react-slot": "^1.2.4",
20
+ "@radix-ui/react-switch": "^1.2.6",
21
+ "@radix-ui/react-use-controllable-state": "^1.2.2",
22
+ "@tailwindcss/vite": "^4.2.1",
23
+ "@types/uuid": "^10.0.0",
24
+ "ai": "^6.0.116",
25
+ "class-variance-authority": "^0.7.1",
26
+ "clsx": "^2.1.1",
27
+ "embla-carousel-react": "^8.6.0",
28
+ "lucide-react": "^0.577.0",
29
+ "ora": "^9.3.0",
30
+ "radix-ui": "^1.4.3",
31
+ "react": "^19.2.0",
32
+ "react-dom": "^19.2.0",
33
+ "react-markdown": "^10.1.0",
34
+ "rehype-katex": "^7.0.1",
35
+ "remark-breaks": "^4.0.0",
36
+ "remark-gfm": "^4.0.1",
37
+ "remark-math": "^6.0.0",
38
+ "shadcn": "^4.0.2",
39
+ "shiki": "^4.0.1",
40
+ "streamdown": "^2.4.0",
41
+ "tailwind-merge": "^3.5.0",
42
+ "tailwindcss-animate": "^1.0.7",
43
+ "tokenlens": "^1.3.1",
44
+ "tw-animate-css": "^1.4.0",
45
+ "uuid": "^13.0.0"
46
+ },
47
+ "devDependencies": {
48
+ "@eslint/js": "^9.39.1",
49
+ "@tailwindcss/typography": "^0.5.19",
50
+ "@types/node": "^24.12.0",
51
+ "@types/react": "^19.2.7",
52
+ "@types/react-dom": "^19.2.3",
53
+ "@vitejs/plugin-react": "^5.1.1",
54
+ "autoprefixer": "^10.4.27",
55
+ "eslint": "^9.39.1",
56
+ "eslint-plugin-react-hooks": "^7.0.1",
57
+ "eslint-plugin-react-refresh": "^0.4.24",
58
+ "globals": "^16.5.0",
59
+ "postcss": "^8.5.8",
60
+ "tailwindcss": "^4.2.1",
61
+ "typescript": "~5.9.3",
62
+ "typescript-eslint": "^8.48.0",
63
+ "vite": "^7.3.1"
64
+ }
65
+ }