crewly 1.0.7 → 1.0.10

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 (468) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +50 -3
  3. package/config/constants.ts +59 -0
  4. package/config/index.ts +2 -0
  5. package/config/roles/architect/prompt.md +17 -5
  6. package/config/roles/backend-developer/prompt.md +35 -5
  7. package/config/roles/designer/prompt.md +17 -5
  8. package/config/roles/developer/prompt.md +43 -9
  9. package/config/roles/frontend-developer/prompt.md +35 -5
  10. package/config/roles/fullstack-dev/prompt.md +35 -5
  11. package/config/roles/generalist/prompt.md +18 -5
  12. package/config/roles/orchestrator/prompt.md +126 -3
  13. package/config/roles/product-manager/prompt.md +24 -9
  14. package/config/roles/qa/prompt.md +35 -5
  15. package/config/roles/qa-engineer/prompt.md +35 -5
  16. package/config/roles/sales/prompt.md +17 -5
  17. package/config/roles/support/prompt.md +17 -5
  18. package/config/roles/tpm/prompt.md +17 -5
  19. package/config/skills/agent/_common/lib.sh +4 -0
  20. package/config/skills/agent/core/accept-task/execute.sh +21 -0
  21. package/config/skills/agent/core/accept-task/instructions.md +20 -0
  22. package/config/skills/agent/core/accept-task/skill.json +20 -0
  23. package/config/skills/agent/core/block-task/execute.sh +26 -0
  24. package/config/skills/agent/core/block-task/instructions.md +22 -0
  25. package/config/skills/agent/core/block-task/skill.json +20 -0
  26. package/config/skills/agent/core/check-quality-gates/execute.sh +20 -0
  27. package/config/skills/agent/core/check-quality-gates/instructions.md +23 -0
  28. package/config/skills/agent/core/check-quality-gates/skill.json +20 -0
  29. package/config/skills/agent/core/complete-task/execute.sh +29 -0
  30. package/config/skills/agent/core/complete-task/instructions.md +53 -0
  31. package/config/skills/agent/core/complete-task/skill.json +20 -0
  32. package/config/skills/agent/core/get-my-context/execute.sh +23 -0
  33. package/config/skills/agent/core/get-my-context/instructions.md +21 -0
  34. package/config/skills/agent/core/get-my-context/skill.json +20 -0
  35. package/config/skills/agent/core/get-sops/execute.sh +24 -0
  36. package/config/skills/agent/core/get-sops/instructions.md +21 -0
  37. package/config/skills/agent/core/get-sops/skill.json +20 -0
  38. package/config/skills/agent/core/get-team-status/execute.sh +8 -0
  39. package/config/skills/agent/core/get-team-status/instructions.md +17 -0
  40. package/config/skills/agent/core/get-team-status/skill.json +20 -0
  41. package/config/skills/agent/core/heartbeat/execute.sh +22 -0
  42. package/config/skills/agent/core/heartbeat/instructions.md +23 -0
  43. package/config/skills/agent/core/heartbeat/skill.json +20 -0
  44. package/config/skills/agent/core/manage-knowledge/execute.sh +60 -0
  45. package/config/skills/agent/core/manage-knowledge/instructions.md +46 -0
  46. package/config/skills/agent/core/marketplace-search/execute.sh +77 -0
  47. package/config/skills/agent/core/marketplace-search/instructions.md +59 -0
  48. package/config/skills/agent/core/marketplace-search/skill.json +20 -0
  49. package/config/skills/agent/core/query-knowledge/execute.sh +30 -0
  50. package/config/skills/agent/core/query-knowledge/instructions.md +47 -0
  51. package/config/skills/agent/core/query-knowledge/skill.json +20 -0
  52. package/config/skills/agent/core/read-task/execute.sh +15 -0
  53. package/config/skills/agent/core/read-task/instructions.md +19 -0
  54. package/config/skills/agent/core/read-task/skill.json +20 -0
  55. package/config/skills/agent/core/recall/execute.sh +24 -0
  56. package/config/skills/agent/core/recall/instructions.md +23 -0
  57. package/config/skills/agent/core/recall/skill.json +20 -0
  58. package/config/skills/agent/core/record-learning/execute.sh +29 -0
  59. package/config/skills/agent/core/record-learning/instructions.md +24 -0
  60. package/config/skills/agent/core/record-learning/skill.json +20 -0
  61. package/config/skills/agent/core/register-self/execute.sh +28 -0
  62. package/config/skills/agent/core/register-self/instructions.md +18 -0
  63. package/config/skills/agent/core/register-self/skill.json +20 -0
  64. package/config/skills/agent/core/remember/execute.sh +29 -0
  65. package/config/skills/agent/core/remember/instructions.md +24 -0
  66. package/config/skills/agent/core/remember/skill.json +20 -0
  67. package/config/skills/agent/core/report-progress/execute.sh +28 -0
  68. package/config/skills/agent/core/report-progress/instructions.md +25 -0
  69. package/config/skills/agent/core/report-progress/skill.json +20 -0
  70. package/config/skills/agent/core/report-status/execute.sh +35 -0
  71. package/config/skills/agent/core/report-status/instructions.md +36 -0
  72. package/config/skills/agent/core/report-status/skill.json +20 -0
  73. package/config/skills/agent/core/send-chat-response/execute.sh +26 -0
  74. package/config/skills/agent/core/send-chat-response/instructions.md +22 -0
  75. package/config/skills/agent/core/send-chat-response/skill.json +20 -0
  76. package/config/skills/agent/core/send-message/execute.sh +17 -0
  77. package/config/skills/agent/core/send-message/instructions.md +20 -0
  78. package/config/skills/agent/core/send-message/skill.json +20 -0
  79. package/config/skills/orchestrator/complete-task/execute.sh +1 -0
  80. package/config/skills/orchestrator/delegate-task/execute.sh +1 -1
  81. package/config/skills/registry.json +850 -0
  82. package/config/templates/agent-claude-md.md +16 -0
  83. package/config/templates/research-team.json +22 -0
  84. package/config/templates/startup-team.json +22 -0
  85. package/config/templates/web-dev-team.json +22 -0
  86. package/dist/backend/backend/src/constants.d.ts +127 -1
  87. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  88. package/dist/backend/backend/src/constants.js +119 -8
  89. package/dist/backend/backend/src/constants.js.map +1 -1
  90. package/dist/backend/backend/src/controllers/marketplace/index.d.ts +1 -1
  91. package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
  92. package/dist/backend/backend/src/controllers/marketplace/index.js +1 -1
  93. package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
  94. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +64 -8
  95. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
  96. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +194 -96
  97. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  98. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
  99. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +7 -2
  100. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
  101. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +7 -0
  102. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
  103. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +174 -4
  104. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
  105. package/dist/backend/backend/src/index.d.ts.map +1 -1
  106. package/dist/backend/backend/src/index.js +34 -0
  107. package/dist/backend/backend/src/index.js.map +1 -1
  108. package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
  109. package/dist/backend/backend/src/routes/modules/task-management.routes.js +2 -0
  110. package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
  111. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +8 -0
  112. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/agent/agent-registration.service.js +89 -17
  114. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  115. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +265 -0
  116. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -0
  117. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +811 -0
  118. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -0
  119. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/agent/idle-detection.service.js +11 -4
  121. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  122. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +11 -0
  123. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -1
  124. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +18 -0
  125. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -1
  126. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +12 -0
  127. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  128. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +51 -1
  129. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  130. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +6 -0
  131. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
  132. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +10 -0
  133. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
  134. package/dist/backend/backend/src/services/index.d.ts +3 -0
  135. package/dist/backend/backend/src/services/index.d.ts.map +1 -1
  136. package/dist/backend/backend/src/services/index.js +5 -0
  137. package/dist/backend/backend/src/services/index.js.map +1 -1
  138. package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -0
  139. package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
  140. package/dist/backend/backend/src/services/marketplace/index.js +2 -0
  141. package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
  142. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +10 -9
  143. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  144. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +262 -73
  145. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  146. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts +71 -0
  147. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts.map +1 -0
  148. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js +339 -0
  149. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js.map +1 -0
  150. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +4 -15
  151. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
  152. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +172 -27
  153. package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
  154. package/dist/backend/backend/src/services/mcp-client.d.ts +233 -0
  155. package/dist/backend/backend/src/services/mcp-client.d.ts.map +1 -0
  156. package/dist/backend/backend/src/services/mcp-client.js +297 -0
  157. package/dist/backend/backend/src/services/mcp-client.js.map +1 -0
  158. package/dist/backend/backend/src/services/mcp-server.d.ts +167 -0
  159. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -0
  160. package/dist/backend/backend/src/services/mcp-server.js +586 -0
  161. package/dist/backend/backend/src/services/mcp-server.js.map +1 -0
  162. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +32 -2
  163. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
  164. package/dist/backend/backend/src/services/messaging/message-queue.service.js +85 -4
  165. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  166. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +10 -0
  167. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  168. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +129 -41
  169. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  170. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  171. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +31 -0
  172. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  173. package/dist/backend/backend/src/services/quality/index.d.ts +1 -0
  174. package/dist/backend/backend/src/services/quality/index.d.ts.map +1 -1
  175. package/dist/backend/backend/src/services/quality/index.js +1 -0
  176. package/dist/backend/backend/src/services/quality/index.js.map +1 -1
  177. package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts +84 -0
  178. package/dist/backend/backend/src/services/quality/task-output-validator.service.d.ts.map +1 -0
  179. package/dist/backend/backend/src/services/quality/task-output-validator.service.js +163 -0
  180. package/dist/backend/backend/src/services/quality/task-output-validator.service.js.map +1 -0
  181. package/dist/backend/backend/src/services/runtime-adapter.d.ts +254 -0
  182. package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -0
  183. package/dist/backend/backend/src/services/runtime-adapter.js +201 -0
  184. package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -0
  185. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +19 -0
  186. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  187. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +31 -2
  188. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  189. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +14 -0
  190. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  191. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
  192. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +9 -0
  193. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  194. package/dist/backend/backend/src/services/session/session-command-helper.js +24 -1
  195. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  196. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +7 -13
  197. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  198. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +38 -47
  199. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  200. package/dist/backend/backend/src/services/skill/skill.service.d.ts +3 -0
  201. package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
  202. package/dist/backend/backend/src/services/skill/skill.service.js +17 -0
  203. package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
  204. package/dist/backend/backend/src/types/event-bus.types.d.ts +2 -2
  205. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  206. package/dist/backend/backend/src/types/event-bus.types.js +2 -0
  207. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  208. package/dist/backend/backend/src/types/index.d.ts +1 -0
  209. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  210. package/dist/backend/backend/src/types/index.js +2 -0
  211. package/dist/backend/backend/src/types/index.js.map +1 -1
  212. package/dist/backend/backend/src/types/marketplace.types.d.ts +37 -0
  213. package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
  214. package/dist/backend/backend/src/types/messaging.types.d.ts +9 -6
  215. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
  216. package/dist/backend/backend/src/types/messaging.types.js +10 -3
  217. package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
  218. package/dist/backend/backend/src/types/task-output.types.d.ts +78 -0
  219. package/dist/backend/backend/src/types/task-output.types.d.ts.map +1 -0
  220. package/dist/backend/backend/src/types/task-output.types.js +27 -0
  221. package/dist/backend/backend/src/types/task-output.types.js.map +1 -0
  222. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +13 -0
  223. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  224. package/dist/backend/backend/src/websocket/terminal.gateway.js +12 -0
  225. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  226. package/dist/backend/config/constants.d.ts +41 -0
  227. package/dist/backend/config/constants.d.ts.map +1 -1
  228. package/dist/backend/config/constants.js +57 -0
  229. package/dist/backend/config/constants.js.map +1 -1
  230. package/dist/backend/config/index.d.ts +2 -2
  231. package/dist/backend/config/index.d.ts.map +1 -1
  232. package/dist/backend/config/index.js +2 -2
  233. package/dist/backend/config/index.js.map +1 -1
  234. package/dist/cli/backend/src/constants.d.ts +817 -0
  235. package/dist/cli/backend/src/constants.d.ts.map +1 -0
  236. package/dist/cli/backend/src/constants.js +603 -0
  237. package/dist/cli/backend/src/constants.js.map +1 -0
  238. package/dist/cli/backend/src/models/Project.d.ts +18 -0
  239. package/dist/cli/backend/src/models/Project.d.ts.map +1 -0
  240. package/dist/cli/backend/src/models/Project.js +70 -0
  241. package/dist/cli/backend/src/models/Project.js.map +1 -0
  242. package/dist/cli/backend/src/models/ScheduledMessage.d.ts +27 -0
  243. package/dist/cli/backend/src/models/ScheduledMessage.d.ts.map +1 -0
  244. package/dist/cli/backend/src/models/ScheduledMessage.js +50 -0
  245. package/dist/cli/backend/src/models/ScheduledMessage.js.map +1 -0
  246. package/dist/cli/backend/src/models/Team.d.ts +20 -0
  247. package/dist/cli/backend/src/models/Team.d.ts.map +1 -0
  248. package/dist/cli/backend/src/models/Team.js +120 -0
  249. package/dist/cli/backend/src/models/Team.js.map +1 -0
  250. package/dist/cli/backend/src/models/Ticket.d.ts +24 -0
  251. package/dist/cli/backend/src/models/Ticket.d.ts.map +1 -0
  252. package/dist/cli/backend/src/models/Ticket.js +102 -0
  253. package/dist/cli/backend/src/models/Ticket.js.map +1 -0
  254. package/dist/cli/backend/src/models/index.d.ts +5 -0
  255. package/dist/cli/backend/src/models/index.d.ts.map +1 -0
  256. package/dist/cli/backend/src/models/index.js +5 -0
  257. package/dist/cli/backend/src/models/index.js.map +1 -0
  258. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts +40 -0
  259. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -0
  260. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js +74 -0
  261. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -0
  262. package/dist/cli/backend/src/services/core/config.service.d.ts +91 -0
  263. package/dist/cli/backend/src/services/core/config.service.d.ts.map +1 -0
  264. package/dist/cli/backend/src/services/core/config.service.js +246 -0
  265. package/dist/cli/backend/src/services/core/config.service.js.map +1 -0
  266. package/dist/cli/backend/src/services/core/logger.service.d.ts +70 -0
  267. package/dist/cli/backend/src/services/core/logger.service.d.ts.map +1 -0
  268. package/dist/cli/backend/src/services/core/logger.service.js +350 -0
  269. package/dist/cli/backend/src/services/core/logger.service.js.map +1 -0
  270. package/dist/cli/backend/src/services/core/storage.service.d.ts +269 -0
  271. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -0
  272. package/dist/cli/backend/src/services/core/storage.service.js +1406 -0
  273. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -0
  274. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts +92 -0
  275. package/dist/cli/backend/src/services/core/teams-backup.service.d.ts.map +1 -0
  276. package/dist/cli/backend/src/services/core/teams-backup.service.js +120 -0
  277. package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -0
  278. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +125 -0
  279. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -0
  280. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +247 -0
  281. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -0
  282. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +153 -0
  283. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +1 -0
  284. package/dist/cli/backend/src/services/knowledge/knowledge.service.js +409 -0
  285. package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +1 -0
  286. package/dist/cli/backend/src/services/mcp-server.d.ts +167 -0
  287. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -0
  288. package/dist/cli/backend/src/services/mcp-server.js +586 -0
  289. package/dist/cli/backend/src/services/mcp-server.js.map +1 -0
  290. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +259 -0
  291. package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -0
  292. package/dist/cli/backend/src/services/memory/agent-memory.service.js +539 -0
  293. package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -0
  294. package/dist/cli/backend/src/services/memory/memory.service.d.ts +306 -0
  295. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -0
  296. package/dist/cli/backend/src/services/memory/memory.service.js +517 -0
  297. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -0
  298. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +252 -0
  299. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -0
  300. package/dist/cli/backend/src/services/memory/project-memory.service.js +600 -0
  301. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -0
  302. package/dist/cli/backend/src/types/auto-assign.types.d.ts +271 -0
  303. package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +1 -0
  304. package/dist/cli/backend/src/types/auto-assign.types.js +136 -0
  305. package/dist/cli/backend/src/types/auto-assign.types.js.map +1 -0
  306. package/dist/cli/backend/src/types/budget.types.d.ts +217 -0
  307. package/dist/cli/backend/src/types/budget.types.d.ts.map +1 -0
  308. package/dist/cli/backend/src/types/budget.types.js +82 -0
  309. package/dist/cli/backend/src/types/budget.types.js.map +1 -0
  310. package/dist/cli/backend/src/types/chat.types.d.ts +550 -0
  311. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -0
  312. package/dist/cli/backend/src/types/chat.types.js +743 -0
  313. package/dist/cli/backend/src/types/chat.types.js.map +1 -0
  314. package/dist/cli/backend/src/types/continuation.types.d.ts +237 -0
  315. package/dist/cli/backend/src/types/continuation.types.d.ts.map +1 -0
  316. package/dist/cli/backend/src/types/continuation.types.js +10 -0
  317. package/dist/cli/backend/src/types/continuation.types.js.map +1 -0
  318. package/dist/cli/backend/src/types/index.d.ts +164 -0
  319. package/dist/cli/backend/src/types/index.d.ts.map +1 -0
  320. package/dist/cli/backend/src/types/index.js +25 -0
  321. package/dist/cli/backend/src/types/index.js.map +1 -0
  322. package/dist/cli/backend/src/types/knowledge.types.d.ts +195 -0
  323. package/dist/cli/backend/src/types/knowledge.types.d.ts.map +1 -0
  324. package/dist/cli/backend/src/types/knowledge.types.js +38 -0
  325. package/dist/cli/backend/src/types/knowledge.types.js.map +1 -0
  326. package/dist/cli/backend/src/types/memory.types.d.ts +587 -0
  327. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -0
  328. package/dist/cli/backend/src/types/memory.types.js +47 -0
  329. package/dist/cli/backend/src/types/memory.types.js.map +1 -0
  330. package/dist/cli/backend/src/types/quality-gate.types.d.ts +171 -0
  331. package/dist/cli/backend/src/types/quality-gate.types.d.ts.map +1 -0
  332. package/dist/cli/backend/src/types/quality-gate.types.js +42 -0
  333. package/dist/cli/backend/src/types/quality-gate.types.js.map +1 -0
  334. package/dist/cli/backend/src/types/role.types.d.ts +260 -0
  335. package/dist/cli/backend/src/types/role.types.d.ts.map +1 -0
  336. package/dist/cli/backend/src/types/role.types.js +238 -0
  337. package/dist/cli/backend/src/types/role.types.js.map +1 -0
  338. package/dist/cli/backend/src/types/scheduler.types.d.ts +254 -0
  339. package/dist/cli/backend/src/types/scheduler.types.d.ts.map +1 -0
  340. package/dist/cli/backend/src/types/scheduler.types.js +32 -0
  341. package/dist/cli/backend/src/types/scheduler.types.js.map +1 -0
  342. package/dist/cli/backend/src/types/settings.types.d.ts +178 -0
  343. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -0
  344. package/dist/cli/backend/src/types/settings.types.js +206 -0
  345. package/dist/cli/backend/src/types/settings.types.js.map +1 -0
  346. package/dist/cli/backend/src/types/skill.types.d.ts +515 -0
  347. package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -0
  348. package/dist/cli/backend/src/types/skill.types.js +481 -0
  349. package/dist/cli/backend/src/types/skill.types.js.map +1 -0
  350. package/dist/cli/backend/src/types/sop.types.d.ts +224 -0
  351. package/dist/cli/backend/src/types/sop.types.d.ts.map +1 -0
  352. package/dist/cli/backend/src/types/sop.types.js +85 -0
  353. package/dist/cli/backend/src/types/sop.types.js.map +1 -0
  354. package/dist/cli/backend/src/types/task-output.types.d.ts +78 -0
  355. package/dist/cli/backend/src/types/task-output.types.d.ts.map +1 -0
  356. package/dist/cli/backend/src/types/task-output.types.js +27 -0
  357. package/dist/cli/backend/src/types/task-output.types.js.map +1 -0
  358. package/dist/cli/backend/src/utils/file-io.utils.d.ts +102 -0
  359. package/dist/cli/backend/src/utils/file-io.utils.d.ts.map +1 -0
  360. package/dist/cli/backend/src/utils/file-io.utils.js +214 -0
  361. package/dist/cli/backend/src/utils/file-io.utils.js.map +1 -0
  362. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts +54 -0
  363. package/dist/cli/backend/src/utils/terminal-output.utils.d.ts.map +1 -0
  364. package/dist/cli/backend/src/utils/terminal-output.utils.js +97 -0
  365. package/dist/cli/backend/src/utils/terminal-output.utils.js.map +1 -0
  366. package/dist/cli/cli/src/commands/mcp-server.d.ts +38 -0
  367. package/dist/cli/cli/src/commands/mcp-server.d.ts.map +1 -0
  368. package/dist/cli/cli/src/commands/mcp-server.js +49 -0
  369. package/dist/cli/cli/src/commands/mcp-server.js.map +1 -0
  370. package/dist/cli/cli/src/commands/onboard.d.ts +72 -8
  371. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  372. package/dist/cli/cli/src/commands/onboard.js +306 -33
  373. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  374. package/dist/cli/cli/src/commands/publish.d.ts +35 -0
  375. package/dist/cli/cli/src/commands/publish.d.ts.map +1 -0
  376. package/dist/cli/cli/src/commands/publish.js +93 -0
  377. package/dist/cli/cli/src/commands/publish.js.map +1 -0
  378. package/dist/cli/cli/src/commands/seed-marketplace.d.ts +28 -0
  379. package/dist/cli/cli/src/commands/seed-marketplace.d.ts.map +1 -0
  380. package/dist/cli/cli/src/commands/seed-marketplace.js +148 -0
  381. package/dist/cli/cli/src/commands/seed-marketplace.js.map +1 -0
  382. package/dist/cli/cli/src/index.js +23 -0
  383. package/dist/cli/cli/src/index.js.map +1 -1
  384. package/dist/cli/cli/src/utils/archive-creator.d.ts +82 -0
  385. package/dist/cli/cli/src/utils/archive-creator.d.ts.map +1 -0
  386. package/dist/cli/cli/src/utils/archive-creator.js +105 -0
  387. package/dist/cli/cli/src/utils/archive-creator.js.map +1 -0
  388. package/dist/cli/cli/src/utils/marketplace.d.ts +17 -4
  389. package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
  390. package/dist/cli/cli/src/utils/marketplace.js +172 -58
  391. package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
  392. package/dist/cli/cli/src/utils/package-validator.d.ts +62 -0
  393. package/dist/cli/cli/src/utils/package-validator.d.ts.map +1 -0
  394. package/dist/cli/cli/src/utils/package-validator.js +122 -0
  395. package/dist/cli/cli/src/utils/package-validator.js.map +1 -0
  396. package/dist/cli/cli/src/utils/templates.d.ts +71 -0
  397. package/dist/cli/cli/src/utils/templates.d.ts.map +1 -0
  398. package/dist/cli/cli/src/utils/templates.js +91 -0
  399. package/dist/cli/cli/src/utils/templates.js.map +1 -0
  400. package/dist/cli/config/constants.d.ts +41 -0
  401. package/dist/cli/config/constants.d.ts.map +1 -1
  402. package/dist/cli/config/constants.js +57 -0
  403. package/dist/cli/config/constants.js.map +1 -1
  404. package/dist/cli/config/index.d.ts +2 -2
  405. package/dist/cli/config/index.d.ts.map +1 -1
  406. package/dist/cli/config/index.js +2 -2
  407. package/dist/cli/config/index.js.map +1 -1
  408. package/frontend/dist/assets/{index-523c7fce.js → index-0a245b0d.js} +247 -247
  409. package/frontend/dist/assets/{index-4c050f52.css → index-6972eeee.css} +1 -1
  410. package/frontend/dist/assets/nunito-cyrillic-400-normal-e44e669f.woff2 +0 -0
  411. package/frontend/dist/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff +0 -0
  412. package/frontend/dist/assets/nunito-cyrillic-500-normal-2159679b.woff +0 -0
  413. package/frontend/dist/assets/nunito-cyrillic-500-normal-61a3b80e.woff2 +0 -0
  414. package/frontend/dist/assets/nunito-cyrillic-600-normal-ac046097.woff +0 -0
  415. package/frontend/dist/assets/nunito-cyrillic-600-normal-e61eb97b.woff2 +0 -0
  416. package/frontend/dist/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2 +0 -0
  417. package/frontend/dist/assets/nunito-cyrillic-700-normal-b9684104.woff +0 -0
  418. package/frontend/dist/assets/nunito-cyrillic-800-normal-40253beb.woff +0 -0
  419. package/frontend/dist/assets/nunito-cyrillic-800-normal-d80292de.woff2 +0 -0
  420. package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2 +0 -0
  421. package/frontend/dist/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff +0 -0
  422. package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-16197abd.woff +0 -0
  423. package/frontend/dist/assets/nunito-cyrillic-ext-500-normal-9dcfe9b5.woff2 +0 -0
  424. package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2 +0 -0
  425. package/frontend/dist/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff +0 -0
  426. package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2 +0 -0
  427. package/frontend/dist/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff +0 -0
  428. package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff +0 -0
  429. package/frontend/dist/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2 +0 -0
  430. package/frontend/dist/assets/nunito-latin-400-normal-a5906e15.woff2 +0 -0
  431. package/frontend/dist/assets/nunito-latin-400-normal-b51e7635.woff +0 -0
  432. package/frontend/dist/assets/nunito-latin-500-normal-23ae3083.woff2 +0 -0
  433. package/frontend/dist/assets/nunito-latin-500-normal-be14dbc6.woff +0 -0
  434. package/frontend/dist/assets/nunito-latin-600-normal-06a9c8b3.woff +0 -0
  435. package/frontend/dist/assets/nunito-latin-600-normal-45f437de.woff2 +0 -0
  436. package/frontend/dist/assets/nunito-latin-700-normal-ce9107dc.woff +0 -0
  437. package/frontend/dist/assets/nunito-latin-700-normal-fa89300b.woff2 +0 -0
  438. package/frontend/dist/assets/nunito-latin-800-normal-0ca02785.woff +0 -0
  439. package/frontend/dist/assets/nunito-latin-800-normal-2363d3ed.woff2 +0 -0
  440. package/frontend/dist/assets/nunito-latin-ext-400-normal-67250a41.woff2 +0 -0
  441. package/frontend/dist/assets/nunito-latin-ext-400-normal-d7e2415e.woff +0 -0
  442. package/frontend/dist/assets/nunito-latin-ext-500-normal-06f35d1c.woff +0 -0
  443. package/frontend/dist/assets/nunito-latin-ext-500-normal-343e7adc.woff2 +0 -0
  444. package/frontend/dist/assets/nunito-latin-ext-600-normal-5a8efd17.woff +0 -0
  445. package/frontend/dist/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2 +0 -0
  446. package/frontend/dist/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2 +0 -0
  447. package/frontend/dist/assets/nunito-latin-ext-700-normal-0c607961.woff +0 -0
  448. package/frontend/dist/assets/nunito-latin-ext-800-normal-39f54b55.woff2 +0 -0
  449. package/frontend/dist/assets/nunito-latin-ext-800-normal-466d0211.woff +0 -0
  450. package/frontend/dist/assets/nunito-vietnamese-400-normal-2a755616.woff2 +0 -0
  451. package/frontend/dist/assets/nunito-vietnamese-400-normal-9c01ea9f.woff +0 -0
  452. package/frontend/dist/assets/nunito-vietnamese-500-normal-452e5e08.woff +0 -0
  453. package/frontend/dist/assets/nunito-vietnamese-500-normal-dc98d965.woff2 +0 -0
  454. package/frontend/dist/assets/nunito-vietnamese-600-normal-2ffbb85f.woff +0 -0
  455. package/frontend/dist/assets/nunito-vietnamese-600-normal-cf95b95d.woff2 +0 -0
  456. package/frontend/dist/assets/nunito-vietnamese-700-normal-0e29c28c.woff2 +0 -0
  457. package/frontend/dist/assets/nunito-vietnamese-700-normal-7793b75e.woff +0 -0
  458. package/frontend/dist/assets/nunito-vietnamese-800-normal-5baf507e.woff +0 -0
  459. package/frontend/dist/assets/nunito-vietnamese-800-normal-fac6740e.woff2 +0 -0
  460. package/frontend/dist/index.html +2 -2
  461. package/package.json +16 -6
  462. package/config/skills/chrome-browser/instructions.md +0 -42
  463. package/config/skills/chrome-browser/skill.json +0 -39
  464. package/config/skills/nano-banana-image/generate.sh +0 -73
  465. package/config/skills/nano-banana-image/instructions.md +0 -50
  466. package/config/skills/nano-banana-image/skill.json +0 -39
  467. package/config/skills/playwright-chrome-browser/instructions.md +0 -95
  468. package/config/skills/playwright-chrome-browser/skill.json +0 -44
@@ -0,0 +1,46 @@
1
+ # Manage Knowledge
2
+
3
+ Create or update company knowledge documents. These are markdown files stored in the Crewly knowledge system, accessible to all team members via the UI.
4
+
5
+ Use this skill to document SOPs, architecture decisions, team norms, onboarding guides, runbooks, and other company knowledge that should be shared across the team.
6
+
7
+ **Note:** Agents can create and update documents but cannot delete them. Deletion is a user-only action via the UI.
8
+
9
+ ## Parameters
10
+
11
+ | Parameter | Required | Description |
12
+ |-----------|----------|-------------|
13
+ | `action` | Yes | `create` or `update` |
14
+ | `title` | Yes (create) | Document title |
15
+ | `content` | Yes (create) | Markdown content |
16
+ | `category` | No | Category: `SOPs`, `Team Norms`, `Architecture`, `Onboarding`, `Runbooks`, `General` (default: `General`) |
17
+ | `scope` | No | `global` (company-wide) or `project` (project-specific). Default: `global` |
18
+ | `projectPath` | Conditional | Required when scope is `project` |
19
+ | `tags` | No | Array of tags for search/filtering |
20
+ | `createdBy` | No | Your session name (default: `agent`) |
21
+ | `id` | Yes (update) | Document ID to update |
22
+ | `updatedBy` | No | Your session name for updates (default: `agent`) |
23
+
24
+ ## Examples
25
+
26
+ ### Create a global SOP
27
+
28
+ ```bash
29
+ bash config/skills/agent/manage-knowledge/execute.sh '{"action":"create","title":"PR Review Process","content":"# PR Review Process\n\n1. All PRs require at least one approval\n2. Run tests locally before requesting review\n3. Keep PRs under 400 lines when possible","category":"SOPs","scope":"global","tags":["process","code-review"],"createdBy":"dev-1"}'
30
+ ```
31
+
32
+ ### Create a project-specific architecture doc
33
+
34
+ ```bash
35
+ bash config/skills/agent/manage-knowledge/execute.sh '{"action":"create","title":"API Design Patterns","content":"# API Design Patterns\n\nWe use RESTful conventions with Express.js...","category":"Architecture","scope":"project","projectPath":"/path/to/project","tags":["api","backend"],"createdBy":"dev-1"}'
36
+ ```
37
+
38
+ ### Update an existing document
39
+
40
+ ```bash
41
+ bash config/skills/agent/manage-knowledge/execute.sh '{"action":"update","id":"abc-123-uuid","content":"# Updated Content\n\nNew information added...","scope":"global","updatedBy":"dev-1"}'
42
+ ```
43
+
44
+ ## Output
45
+
46
+ JSON response with `success: true` and the document ID on creation, or `success: true` on update.
@@ -0,0 +1,77 @@
1
+ #!/bin/bash
2
+ # Marketplace Search & Install - search and auto-install skills from the marketplace
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"action\":\"search\",\"query\":\"code review\"}'"
9
+
10
+ ACTION=$(echo "$INPUT" | jq -r '.action // "search"')
11
+ QUERY=$(echo "$INPUT" | jq -r '.query // empty')
12
+ ITEM_ID=$(echo "$INPUT" | jq -r '.id // empty')
13
+ TYPE_FILTER=$(echo "$INPUT" | jq -r '.type // empty')
14
+ CATEGORY_FILTER=$(echo "$INPUT" | jq -r '.category // empty')
15
+
16
+ case "$ACTION" in
17
+ search)
18
+ require_param "query" "$QUERY"
19
+ ENCODED_QUERY=$(printf '%s' "$QUERY" | jq -sRr @uri)
20
+ ENDPOINT="/marketplace?search=${ENCODED_QUERY}"
21
+ [ -n "$TYPE_FILTER" ] && ENDPOINT="${ENDPOINT}&type=${TYPE_FILTER}"
22
+ [ -n "$CATEGORY_FILTER" ] && ENDPOINT="${ENDPOINT}&category=${CATEGORY_FILTER}"
23
+ RESULT=$(api_call GET "$ENDPOINT")
24
+ echo "$RESULT"
25
+ ;;
26
+
27
+ install)
28
+ require_param "id" "$ITEM_ID"
29
+ RESULT=$(api_call POST "/marketplace/${ITEM_ID}/install")
30
+ echo "$RESULT"
31
+ ;;
32
+
33
+ search-and-install)
34
+ require_param "query" "$QUERY"
35
+ ENCODED_QUERY=$(printf '%s' "$QUERY" | jq -sRr @uri)
36
+ ENDPOINT="/marketplace?search=${ENCODED_QUERY}"
37
+ [ -n "$TYPE_FILTER" ] && ENDPOINT="${ENDPOINT}&type=skill"
38
+ SEARCH_RESULT=$(api_call GET "$ENDPOINT")
39
+
40
+ # Parse the first not_installed match
41
+ MATCH=$(echo "$SEARCH_RESULT" | jq -r '
42
+ [.[] | select(.installStatus == "not_installed")] | first // empty
43
+ ')
44
+
45
+ if [ -z "$MATCH" ] || [ "$MATCH" = "null" ]; then
46
+ # Check if any are already installed
47
+ INSTALLED=$(echo "$SEARCH_RESULT" | jq -r '
48
+ [.[] | select(.installStatus == "installed")] | first // empty
49
+ ')
50
+ if [ -n "$INSTALLED" ] && [ "$INSTALLED" != "null" ]; then
51
+ INSTALLED_NAME=$(echo "$INSTALLED" | jq -r '.name')
52
+ echo "{\"success\":true,\"message\":\"Skill already installed: ${INSTALLED_NAME}\",\"action\":\"none\",\"item\":${INSTALLED}}"
53
+ else
54
+ echo "{\"success\":false,\"message\":\"No matching skills found for: ${QUERY}\",\"action\":\"none\",\"results\":${SEARCH_RESULT}}"
55
+ fi
56
+ else
57
+ MATCH_ID=$(echo "$MATCH" | jq -r '.id')
58
+ MATCH_NAME=$(echo "$MATCH" | jq -r '.name')
59
+ INSTALL_RESULT=$(api_call POST "/marketplace/${MATCH_ID}/install")
60
+ echo "{\"success\":true,\"message\":\"Installed ${MATCH_NAME}\",\"action\":\"installed\",\"item\":${MATCH},\"installResult\":${INSTALL_RESULT}}"
61
+ fi
62
+ ;;
63
+
64
+ installed)
65
+ RESULT=$(api_call GET "/marketplace/installed")
66
+ echo "$RESULT"
67
+ ;;
68
+
69
+ updates)
70
+ RESULT=$(api_call GET "/marketplace/updates")
71
+ echo "$RESULT"
72
+ ;;
73
+
74
+ *)
75
+ error_exit "Unknown action: ${ACTION}. Use: search, install, search-and-install, installed, updates"
76
+ ;;
77
+ esac
@@ -0,0 +1,59 @@
1
+ # Marketplace Search & Install
2
+
3
+ Search the Crewly marketplace for skills, roles, and models. When you lack a capability needed for a task, use this skill to auto-discover and install it from the marketplace.
4
+
5
+ ## Actions
6
+
7
+ ### `search` — Find items in the marketplace
8
+
9
+ ```bash
10
+ bash {{AGENT_SKILLS_PATH}}/marketplace-search/execute.sh '{"action":"search","query":"code review"}'
11
+ ```
12
+
13
+ Optional filters:
14
+ - `type`: `skill`, `model`, or `role`
15
+ - `category`: `development`, `design`, `communication`, `research`, `content-creation`, `automation`, `analysis`, `integration`, `quality`, `security`
16
+
17
+ ```bash
18
+ bash {{AGENT_SKILLS_PATH}}/marketplace-search/execute.sh '{"action":"search","query":"testing","type":"skill","category":"quality"}'
19
+ ```
20
+
21
+ ### `search-and-install` — Find and auto-install the best match
22
+
23
+ Use this when you need a capability you don't have. It searches for matching skills and installs the first available one automatically.
24
+
25
+ ```bash
26
+ bash {{AGENT_SKILLS_PATH}}/marketplace-search/execute.sh '{"action":"search-and-install","query":"code review"}'
27
+ ```
28
+
29
+ ### `install` — Install a specific item by ID
30
+
31
+ ```bash
32
+ bash {{AGENT_SKILLS_PATH}}/marketplace-search/execute.sh '{"action":"install","id":"skill-code-review-pro"}'
33
+ ```
34
+
35
+ ### `installed` — List currently installed items
36
+
37
+ ```bash
38
+ bash {{AGENT_SKILLS_PATH}}/marketplace-search/execute.sh '{"action":"installed"}'
39
+ ```
40
+
41
+ ### `updates` — Check for available updates
42
+
43
+ ```bash
44
+ bash {{AGENT_SKILLS_PATH}}/marketplace-search/execute.sh '{"action":"updates"}'
45
+ ```
46
+
47
+ ## When to Use
48
+
49
+ - **Before starting a task** that requires a capability you don't have — search for a matching skill
50
+ - **When a task fails** due to missing tools — auto-discover the right skill
51
+ - **Periodically** — check for updates to installed skills
52
+ - **When exploring** what capabilities are available in the ecosystem
53
+
54
+ ## Output
55
+
56
+ JSON response with search results or install status. Each item includes:
57
+ - `id`, `name`, `description`, `version`, `author`
58
+ - `installStatus`: `not_installed`, `installed`, or `update_available`
59
+ - `category`, `tags`, `rating`, `downloads`
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "marketplace-search",
3
+ "name": "Marketplace Search & Install",
4
+ "description": "Search the Crewly marketplace for skills, roles, and models. Auto-install matching items when the agent lacks a capability.",
5
+ "category": "automation",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 30000
14
+ }
15
+ },
16
+ "assignableRoles": ["developer", "qa", "tpm", "designer", "frontend-developer", "backend-developer", "fullstack-dev", "qa-engineer", "product-manager", "architect", "generalist", "sales", "support"],
17
+ "triggers": ["search marketplace", "find skill", "install skill", "marketplace search", "need capability", "missing skill"],
18
+ "tags": ["marketplace", "skills", "install", "search", "auto-discover"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,30 @@
1
+ #!/bin/bash
2
+ # Query Knowledge Documents - search company knowledge base
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"query\":\"deployment\",\"scope\":\"global\"}'"
9
+
10
+ QUERY=$(echo "$INPUT" | jq -r '.query // empty')
11
+ SCOPE=$(echo "$INPUT" | jq -r '.scope // "global"')
12
+ CATEGORY=$(echo "$INPUT" | jq -r '.category // empty')
13
+ PROJECT_PATH=$(echo "$INPUT" | jq -r '.projectPath // empty')
14
+ require_param "query" "$QUERY"
15
+
16
+ # URL-encode the query parameters
17
+ ENCODED_QUERY=$(printf '%s' "$QUERY" | jq -sRr @uri)
18
+ ENDPOINT="/knowledge/documents?scope=${SCOPE}&search=${ENCODED_QUERY}"
19
+
20
+ if [ -n "$CATEGORY" ]; then
21
+ ENCODED_CATEGORY=$(printf '%s' "$CATEGORY" | jq -sRr @uri)
22
+ ENDPOINT="${ENDPOINT}&category=${ENCODED_CATEGORY}"
23
+ fi
24
+
25
+ if [ -n "$PROJECT_PATH" ]; then
26
+ ENCODED_PATH=$(printf '%s' "$PROJECT_PATH" | jq -sRr @uri)
27
+ ENDPOINT="${ENDPOINT}&projectPath=${ENCODED_PATH}"
28
+ fi
29
+
30
+ api_call GET "$ENDPOINT"
@@ -0,0 +1,47 @@
1
+ # Query Knowledge
2
+
3
+ Search the company knowledge base for relevant documents. Use this to find SOPs, runbooks, architecture docs, team norms, and other documentation before starting process-oriented tasks.
4
+
5
+ Knowledge documents are stored at two scopes:
6
+ - **global** (`~/.crewly/docs/`) — company-wide documents accessible to all agents
7
+ - **project** (`{projectPath}/.crewly/docs/`) — project-specific documents
8
+
9
+ ## Parameters
10
+
11
+ | Parameter | Required | Description |
12
+ |-----------|----------|-------------|
13
+ | `query` | Yes | Search text to match against document titles, tags, and content |
14
+ | `scope` | No | `global` (default) or `project` |
15
+ | `category` | No | Filter by category: `SOPs`, `Team Norms`, `Architecture`, `Onboarding`, `Runbooks`, `General` |
16
+ | `projectPath` | Conditional | Required when scope is `project` |
17
+
18
+ ## Examples
19
+
20
+ ### Search global knowledge for deployment docs
21
+
22
+ ```bash
23
+ bash {{AGENT_SKILLS_PATH}}/query-knowledge/execute.sh '{"query":"deployment","scope":"global"}'
24
+ ```
25
+
26
+ ### Search project-specific architecture docs
27
+
28
+ ```bash
29
+ bash {{AGENT_SKILLS_PATH}}/query-knowledge/execute.sh '{"query":"API design","scope":"project","projectPath":"{{PROJECT_PATH}}","category":"Architecture"}'
30
+ ```
31
+
32
+ ### Search for runbooks
33
+
34
+ ```bash
35
+ bash {{AGENT_SKILLS_PATH}}/query-knowledge/execute.sh '{"query":"incident response","scope":"global","category":"Runbooks"}'
36
+ ```
37
+
38
+ ## When to Use
39
+
40
+ - **Before process-oriented tasks** — search for SOPs and runbooks that describe how to do things
41
+ - **Before architecture work** — check for existing architecture docs and design decisions
42
+ - **When onboarding to a project** — search for onboarding guides and team norms
43
+ - **Before answering questions** about processes, conventions, or infrastructure
44
+
45
+ ## Output
46
+
47
+ JSON response with `success: true` and a `data` array of matching document summaries (id, title, category, tags, preview).
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "agent-query-knowledge",
3
+ "name": "Query Knowledge",
4
+ "description": "Search the company knowledge base for SOPs, runbooks, architecture docs, and other documentation.",
5
+ "category": "memory",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 15000
14
+ }
15
+ },
16
+ "assignableRoles": ["developer", "qa", "tpm", "designer", "frontend-developer", "backend-developer", "fullstack-dev", "qa-engineer", "product-manager", "architect", "generalist", "sales", "support"],
17
+ "triggers": ["query knowledge", "search knowledge", "find docs", "search docs", "find runbook", "find SOP"],
18
+ "tags": ["memory", "knowledge", "search", "documentation"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+ # Read the full details of a task file by its absolute path
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"absoluteTaskPath\":\"/path/to/task\"}'"
9
+
10
+ ABSOLUTE_TASK_PATH=$(echo "$INPUT" | jq -r '.absoluteTaskPath // empty')
11
+ require_param "absoluteTaskPath" "$ABSOLUTE_TASK_PATH"
12
+
13
+ BODY=$(jq -n --arg absoluteTaskPath "$ABSOLUTE_TASK_PATH" '{absoluteTaskPath: $absoluteTaskPath}')
14
+
15
+ api_call POST "/task-management/read-task" "$BODY"
@@ -0,0 +1,19 @@
1
+ # Read Task
2
+
3
+ Read the full details of a task file by its absolute path. Returns the task content, metadata, status, and any subtasks.
4
+
5
+ ## Parameters
6
+
7
+ | Parameter | Required | Description |
8
+ |-----------|----------|-------------|
9
+ | `absoluteTaskPath` | Yes | Absolute filesystem path to the task file |
10
+
11
+ ## Example
12
+
13
+ ```bash
14
+ bash config/skills/agent/read-task/execute.sh '{"absoluteTaskPath":"/projects/app/tasks/implement-login.md"}'
15
+ ```
16
+
17
+ ## Output
18
+
19
+ JSON with full task details including description, acceptance criteria, priority, status, and related files.
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "agent-read-task",
3
+ "name": "Read Task",
4
+ "description": "Read the full details of a task file by its absolute path.",
5
+ "category": "task-management",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 15000
14
+ }
15
+ },
16
+ "assignableRoles": ["developer", "qa", "tpm", "designer", "frontend-developer", "backend-developer", "fullstack-dev", "qa-engineer", "product-manager", "architect", "generalist", "sales", "support"],
17
+ "triggers": ["read task", "view task", "show task", "task details"],
18
+ "tags": ["task", "read", "details"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,24 @@
1
+ #!/bin/bash
2
+ # Retrieve stored memories relevant to a given context
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"agentId\":\"dev-1\",\"context\":\"authentication patterns\"}'"
9
+
10
+ AGENT_ID=$(echo "$INPUT" | jq -r '.agentId // empty')
11
+ CONTEXT=$(echo "$INPUT" | jq -r '.context // empty')
12
+ require_param "agentId" "$AGENT_ID"
13
+ require_param "context" "$CONTEXT"
14
+
15
+ # Build body with required and optional fields
16
+ BODY=$(echo "$INPUT" | jq '{
17
+ agentId: .agentId,
18
+ context: .context
19
+ } +
20
+ (if .scope then {scope: .scope} else {} end) +
21
+ (if .limit then {limit: (.limit | tonumber)} else {} end) +
22
+ (if .projectPath then {projectPath: .projectPath} else {} end)')
23
+
24
+ api_call POST "/memory/recall" "$BODY"
@@ -0,0 +1,23 @@
1
+ # Recall
2
+
3
+ Retrieve stored memories relevant to a given context or query. Use this to look up past decisions, architectural patterns, or findings before starting related work.
4
+
5
+ ## Parameters
6
+
7
+ | Parameter | Required | Description |
8
+ |-----------|----------|-------------|
9
+ | `agentId` | Yes | Your agent ID |
10
+ | `context` | Yes | Search context or query describing what you want to recall |
11
+ | `scope` | No | Filter by scope: `"project"`, `"team"`, or `"global"` |
12
+ | `limit` | No | Maximum number of results to return |
13
+ | `projectPath` | No | Filter by project path |
14
+
15
+ ## Example
16
+
17
+ ```bash
18
+ bash config/skills/agent/recall/execute.sh '{"agentId":"dev-1","context":"authentication implementation patterns","scope":"project","limit":5}'
19
+ ```
20
+
21
+ ## Output
22
+
23
+ JSON array of matching memory entries with content, category, scope, and timestamps.
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "agent-recall",
3
+ "name": "Recall",
4
+ "description": "Retrieve stored memories relevant to a given context or query.",
5
+ "category": "memory",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 15000
14
+ }
15
+ },
16
+ "assignableRoles": ["developer", "qa", "tpm", "designer", "frontend-developer", "backend-developer", "fullstack-dev", "qa-engineer", "product-manager", "architect", "generalist", "sales", "support"],
17
+ "triggers": ["recall", "search memory", "remember what", "look up"],
18
+ "tags": ["memory", "recall", "search", "context"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # Record a learning or insight for team knowledge sharing
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"agentId\":\"dev-1\",\"agentRole\":\"developer\",\"projectPath\":\"/projects/app\",\"learning\":\"Jest mock resets are needed between tests\"}'"
9
+
10
+ AGENT_ID=$(echo "$INPUT" | jq -r '.agentId // empty')
11
+ AGENT_ROLE=$(echo "$INPUT" | jq -r '.agentRole // empty')
12
+ PROJECT_PATH=$(echo "$INPUT" | jq -r '.projectPath // empty')
13
+ LEARNING=$(echo "$INPUT" | jq -r '.learning // empty')
14
+ require_param "agentId" "$AGENT_ID"
15
+ require_param "agentRole" "$AGENT_ROLE"
16
+ require_param "projectPath" "$PROJECT_PATH"
17
+ require_param "learning" "$LEARNING"
18
+
19
+ # Build body with required and optional fields
20
+ BODY=$(echo "$INPUT" | jq '{
21
+ agentId: .agentId,
22
+ agentRole: .agentRole,
23
+ projectPath: .projectPath,
24
+ learning: .learning
25
+ } +
26
+ (if .relatedTask then {relatedTask: .relatedTask} else {} end) +
27
+ (if .relatedFiles then {relatedFiles: .relatedFiles} else {} end)')
28
+
29
+ api_call POST "/memory/record-learning" "$BODY"
@@ -0,0 +1,24 @@
1
+ # Record Learning
2
+
3
+ Record a learning or insight gained during task execution. These learnings are shared with the team and accumulated over time to improve future work.
4
+
5
+ ## Parameters
6
+
7
+ | Parameter | Required | Description |
8
+ |-----------|----------|-------------|
9
+ | `agentId` | Yes | Your agent ID |
10
+ | `agentRole` | Yes | Your role (e.g., `"developer"`, `"qa"`) |
11
+ | `projectPath` | Yes | Absolute path to the project |
12
+ | `learning` | Yes | Description of the learning or insight |
13
+ | `relatedTask` | No | Path or ID of the task that triggered this learning |
14
+ | `relatedFiles` | No | Array of file paths related to the learning |
15
+
16
+ ## Example
17
+
18
+ ```bash
19
+ bash config/skills/agent/record-learning/execute.sh '{"agentId":"dev-1","agentRole":"developer","projectPath":"/projects/app","learning":"Jest mock resets are required between tests when using shared module mocks","relatedTask":"implement-auth-tests","relatedFiles":["src/auth.service.test.ts"]}'
20
+ ```
21
+
22
+ ## Output
23
+
24
+ JSON confirmation that the learning was recorded.
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "agent-record-learning",
3
+ "name": "Record Learning",
4
+ "description": "Record a learning or insight gained during task execution for team knowledge sharing.",
5
+ "category": "memory",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 15000
14
+ }
15
+ },
16
+ "assignableRoles": ["developer", "qa", "tpm", "designer", "frontend-developer", "backend-developer", "fullstack-dev", "qa-engineer", "product-manager", "architect", "generalist", "sales", "support"],
17
+ "triggers": ["record learning", "learned that", "new insight", "knowledge share"],
18
+ "tags": ["memory", "learning", "knowledge", "insight"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,28 @@
1
+ #!/bin/bash
2
+ # Register an agent with the Crewly backend
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"role\":\"developer\",\"sessionName\":\"dev-1\"}'"
9
+
10
+ ROLE=$(echo "$INPUT" | jq -r '.role // empty')
11
+ SESSION_NAME=$(echo "$INPUT" | jq -r '.sessionName // empty')
12
+ require_param "role" "$ROLE"
13
+ require_param "sessionName" "$SESSION_NAME"
14
+
15
+ # Optional: claudeSessionId for resume support
16
+ CLAUDE_SESSION_ID=$(echo "$INPUT" | jq -r '.claudeSessionId // empty')
17
+ TEAM_MEMBER_ID=$(echo "$INPUT" | jq -r '.teamMemberId // empty')
18
+
19
+ BODY=$(jq -n \
20
+ --arg role "$ROLE" \
21
+ --arg sessionName "$SESSION_NAME" \
22
+ --arg claudeSessionId "$CLAUDE_SESSION_ID" \
23
+ --arg teamMemberId "$TEAM_MEMBER_ID" \
24
+ '{role: $role, sessionName: $sessionName} +
25
+ (if $claudeSessionId != "" then {claudeSessionId: $claudeSessionId} else {} end) +
26
+ (if $teamMemberId != "" then {teamMemberId: $teamMemberId} else {} end)')
27
+
28
+ api_call POST "/teams/members/register" "$BODY"
@@ -0,0 +1,18 @@
1
+ # Register Self
2
+
3
+ Register this agent as active with the Crewly backend. This must be the first skill you run on startup.
4
+
5
+ ## Parameters
6
+
7
+ | Parameter | Required | Description |
8
+ |-----------|----------|-------------|
9
+ | `role` | Yes | Agent role (e.g., "developer", "qa", "tpm") |
10
+ | `sessionName` | Yes | Your session name (from your identity) |
11
+ | `teamMemberId` | No | Your team member ID |
12
+ | `claudeSessionId` | No | Claude session ID for resume support |
13
+
14
+ ## Example
15
+
16
+ ```bash
17
+ bash config/skills/agent/register-self/execute.sh '{"role":"developer","sessionName":"dev-1"}'
18
+ ```
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "agent-register-self",
3
+ "name": "Register Self",
4
+ "description": "Register the agent as active with the Crewly backend. Must be called on startup.",
5
+ "category": "system",
6
+ "skillType": "claude-skill",
7
+ "promptFile": "instructions.md",
8
+ "execution": {
9
+ "type": "script",
10
+ "script": {
11
+ "file": "execute.sh",
12
+ "interpreter": "bash",
13
+ "timeoutMs": 15000
14
+ }
15
+ },
16
+ "assignableRoles": ["developer", "qa", "tpm", "designer", "frontend-developer", "backend-developer", "fullstack-dev", "qa-engineer", "product-manager", "architect", "generalist", "sales", "support"],
17
+ "triggers": ["register", "check in", "go online"],
18
+ "tags": ["system", "registration", "startup"],
19
+ "version": "1.0.0"
20
+ }
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # Store a memory entry for future recall
3
+ set -euo pipefail
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ source "${SCRIPT_DIR}/../../_common/lib.sh"
6
+
7
+ INPUT="${1:-}"
8
+ [ -z "$INPUT" ] && error_exit "Usage: execute.sh '{\"agentId\":\"dev-1\",\"content\":\"The auth module uses JWT\",\"category\":\"architecture\",\"scope\":\"project\"}'"
9
+
10
+ AGENT_ID=$(echo "$INPUT" | jq -r '.agentId // empty')
11
+ CONTENT=$(echo "$INPUT" | jq -r '.content // empty')
12
+ CATEGORY=$(echo "$INPUT" | jq -r '.category // empty')
13
+ SCOPE=$(echo "$INPUT" | jq -r '.scope // empty')
14
+ require_param "agentId" "$AGENT_ID"
15
+ require_param "content" "$CONTENT"
16
+ require_param "category" "$CATEGORY"
17
+ require_param "scope" "$SCOPE"
18
+
19
+ # Build body with required and optional fields
20
+ BODY=$(echo "$INPUT" | jq '{
21
+ agentId: .agentId,
22
+ content: .content,
23
+ category: .category,
24
+ scope: .scope
25
+ } +
26
+ (if .projectPath then {projectPath: .projectPath} else {} end) +
27
+ (if .metadata then {metadata: .metadata} else {} end)')
28
+
29
+ api_call POST "/memory/remember" "$BODY"
@@ -0,0 +1,24 @@
1
+ # Remember
2
+
3
+ Store a memory entry for future recall. Use this to persist important context, decisions, architectural findings, or patterns you discover during work.
4
+
5
+ ## Parameters
6
+
7
+ | Parameter | Required | Description |
8
+ |-----------|----------|-------------|
9
+ | `agentId` | Yes | Your agent ID |
10
+ | `content` | Yes | The content to remember |
11
+ | `category` | Yes | Memory category (e.g., `"architecture"`, `"decision"`, `"pattern"`, `"bug"`) |
12
+ | `scope` | Yes | Memory scope: `"project"`, `"team"`, or `"global"` |
13
+ | `projectPath` | No | Associated project path |
14
+ | `metadata` | No | Additional metadata object |
15
+
16
+ ## Example
17
+
18
+ ```bash
19
+ bash config/skills/agent/remember/execute.sh '{"agentId":"dev-1","content":"Auth module uses JWT with 24h expiry. Refresh tokens stored in httpOnly cookies.","category":"architecture","scope":"project","projectPath":"/projects/app"}'
20
+ ```
21
+
22
+ ## Output
23
+
24
+ JSON confirmation that the memory entry was stored.