@prismer/runtime 2.0.7 → 2.2.55

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 (291) hide show
  1. package/CHANGELOG.md +3631 -0
  2. package/README.md +34 -12
  3. package/apc/skills/FIELD-DICTIONARY.md +111 -0
  4. package/apc/skills/bug-reproduce/SKILL.md +150 -0
  5. package/apc/skills/bug-reproduce/skill.json +96 -0
  6. package/apc/skills/code-review/SKILL.md +198 -0
  7. package/apc/skills/code-review/skill.json +124 -0
  8. package/apc/skills/design-review/SKILL.md +122 -0
  9. package/apc/skills/design-review/skill.json +88 -0
  10. package/apc/skills/doc-sync/SKILL.md +168 -0
  11. package/apc/skills/doc-sync/skill.json +81 -0
  12. package/apc/skills/env-doctor/SKILL.md +194 -0
  13. package/apc/skills/env-doctor/skill.json +209 -0
  14. package/apc/skills/git-ops/SKILL.md +189 -0
  15. package/apc/skills/git-ops/skill.json +94 -0
  16. package/apc/skills/impact-trace/SKILL.md +168 -0
  17. package/apc/skills/impact-trace/skill.json +104 -0
  18. package/apc/skills/observability/SKILL.md +195 -0
  19. package/apc/skills/observability/skill.json +116 -0
  20. package/apc/skills/release-db-config-sync/SKILL.md +186 -0
  21. package/apc/skills/release-db-config-sync/skill.json +109 -0
  22. package/apc/skills/release-ota-promote/SKILL.md +195 -0
  23. package/apc/skills/release-ota-promote/skill.json +176 -0
  24. package/apc/skills/release-preflight/SKILL.md +174 -0
  25. package/apc/skills/release-preflight/skill.json +175 -0
  26. package/apc/skills/release-rollback/SKILL.md +214 -0
  27. package/apc/skills/release-rollback/skill.json +230 -0
  28. package/apc/skills/release-tag/SKILL.md +194 -0
  29. package/apc/skills/release-tag/skill.json +94 -0
  30. package/apc/skills/releasing-prod/SKILL.md +49 -0
  31. package/apc/skills/releasing-test/SKILL.md +135 -0
  32. package/apc/skills/sdk-release/SKILL.md +200 -0
  33. package/apc/skills/spec-intake/SKILL.md +169 -0
  34. package/apc/skills/spec-intake/skill.json +93 -0
  35. package/apc/skills/test-result-feedback/SKILL.md +239 -0
  36. package/apc/skills/test-result-feedback/skill.json +193 -0
  37. package/apc/skills/test-runner/SKILL.md +169 -0
  38. package/apc/skills/test-runner/skill.json +103 -0
  39. package/apc/skills/ui-align/SKILL.md +209 -0
  40. package/apc/skills/ui-align/skill.json +114 -0
  41. package/apc/skills/ui-canvas/SKILL.md +148 -0
  42. package/apc/skills/ui-canvas/skill.json +127 -0
  43. package/built-in-skills/agent-coordination/SKILL.md +257 -0
  44. package/built-in-skills/agent-meta/SKILL.md +53 -0
  45. package/built-in-skills/assets/SKILL.md +133 -0
  46. package/built-in-skills/browser-use/SKILL.md +93 -0
  47. package/built-in-skills/canvas-design/LICENSE.txt +202 -0
  48. package/built-in-skills/canvas-design/SKILL.md +157 -0
  49. package/built-in-skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  50. package/built-in-skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  51. package/built-in-skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  52. package/built-in-skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  53. package/built-in-skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  54. package/built-in-skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  55. package/built-in-skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  56. package/built-in-skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  57. package/built-in-skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  58. package/built-in-skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  59. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  60. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  61. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  62. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  63. package/built-in-skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  64. package/built-in-skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  65. package/built-in-skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  66. package/built-in-skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  67. package/built-in-skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  68. package/built-in-skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  69. package/built-in-skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  70. package/built-in-skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  71. package/built-in-skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  72. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  73. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  74. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  75. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  76. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  77. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  78. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  79. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  80. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  81. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  82. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  83. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  84. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  85. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  86. package/built-in-skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  87. package/built-in-skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  88. package/built-in-skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  89. package/built-in-skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  90. package/built-in-skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  91. package/built-in-skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  92. package/built-in-skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  93. package/built-in-skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  94. package/built-in-skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  95. package/built-in-skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  96. package/built-in-skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  97. package/built-in-skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  98. package/built-in-skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  99. package/built-in-skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  100. package/built-in-skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  101. package/built-in-skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  102. package/built-in-skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  103. package/built-in-skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  104. package/built-in-skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  105. package/built-in-skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  106. package/built-in-skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  107. package/built-in-skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  108. package/built-in-skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  109. package/built-in-skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  110. package/built-in-skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  111. package/built-in-skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  112. package/built-in-skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  113. package/built-in-skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  114. package/built-in-skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  115. package/built-in-skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  116. package/built-in-skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  117. package/built-in-skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  118. package/built-in-skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  119. package/built-in-skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  120. package/built-in-skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  121. package/built-in-skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  122. package/built-in-skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  123. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  124. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  125. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  126. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  127. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  128. package/built-in-skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  129. package/built-in-skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  130. package/built-in-skills/claim-agent-ownership/SKILL.md +255 -0
  131. package/built-in-skills/claude-api/LICENSE.txt +202 -0
  132. package/built-in-skills/claude-api/SKILL.md +325 -0
  133. package/built-in-skills/claude-api/csharp/claude-api.md +402 -0
  134. package/built-in-skills/claude-api/curl/examples.md +216 -0
  135. package/built-in-skills/claude-api/curl/managed-agents.md +336 -0
  136. package/built-in-skills/claude-api/go/claude-api.md +421 -0
  137. package/built-in-skills/claude-api/go/managed-agents/README.md +561 -0
  138. package/built-in-skills/claude-api/java/claude-api.md +432 -0
  139. package/built-in-skills/claude-api/java/managed-agents/README.md +442 -0
  140. package/built-in-skills/claude-api/php/claude-api.md +375 -0
  141. package/built-in-skills/claude-api/php/managed-agents/README.md +435 -0
  142. package/built-in-skills/claude-api/python/claude-api/README.md +420 -0
  143. package/built-in-skills/claude-api/python/claude-api/batches.md +185 -0
  144. package/built-in-skills/claude-api/python/claude-api/files-api.md +165 -0
  145. package/built-in-skills/claude-api/python/claude-api/streaming.md +162 -0
  146. package/built-in-skills/claude-api/python/claude-api/tool-use.md +590 -0
  147. package/built-in-skills/claude-api/python/managed-agents/README.md +332 -0
  148. package/built-in-skills/claude-api/ruby/claude-api.md +113 -0
  149. package/built-in-skills/claude-api/ruby/managed-agents/README.md +389 -0
  150. package/built-in-skills/claude-api/shared/agent-design.md +101 -0
  151. package/built-in-skills/claude-api/shared/error-codes.md +213 -0
  152. package/built-in-skills/claude-api/shared/live-sources.md +135 -0
  153. package/built-in-skills/claude-api/shared/managed-agents-api-reference.md +378 -0
  154. package/built-in-skills/claude-api/shared/managed-agents-client-patterns.md +209 -0
  155. package/built-in-skills/claude-api/shared/managed-agents-core.md +238 -0
  156. package/built-in-skills/claude-api/shared/managed-agents-environments.md +215 -0
  157. package/built-in-skills/claude-api/shared/managed-agents-events.md +195 -0
  158. package/built-in-skills/claude-api/shared/managed-agents-memory.md +197 -0
  159. package/built-in-skills/claude-api/shared/managed-agents-multiagent.md +99 -0
  160. package/built-in-skills/claude-api/shared/managed-agents-onboarding.md +114 -0
  161. package/built-in-skills/claude-api/shared/managed-agents-outcomes.md +106 -0
  162. package/built-in-skills/claude-api/shared/managed-agents-overview.md +68 -0
  163. package/built-in-skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +173 -0
  164. package/built-in-skills/claude-api/shared/managed-agents-tools.md +321 -0
  165. package/built-in-skills/claude-api/shared/managed-agents-webhooks.md +110 -0
  166. package/built-in-skills/claude-api/shared/model-migration.md +779 -0
  167. package/built-in-skills/claude-api/shared/models.md +121 -0
  168. package/built-in-skills/claude-api/shared/prompt-caching.md +171 -0
  169. package/built-in-skills/claude-api/shared/tool-use-concepts.md +327 -0
  170. package/built-in-skills/claude-api/typescript/claude-api/README.md +333 -0
  171. package/built-in-skills/claude-api/typescript/claude-api/batches.md +106 -0
  172. package/built-in-skills/claude-api/typescript/claude-api/files-api.md +98 -0
  173. package/built-in-skills/claude-api/typescript/claude-api/streaming.md +178 -0
  174. package/built-in-skills/claude-api/typescript/claude-api/tool-use.md +527 -0
  175. package/built-in-skills/claude-api/typescript/managed-agents/README.md +359 -0
  176. package/built-in-skills/codebase-design/DEEPENING.md +37 -0
  177. package/built-in-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  178. package/built-in-skills/codebase-design/LICENSE +21 -0
  179. package/built-in-skills/codebase-design/SKILL.md +116 -0
  180. package/built-in-skills/conversation-compaction/SKILL.md +114 -0
  181. package/built-in-skills/council-creator/SKILL.md +426 -0
  182. package/built-in-skills/diagnosing-bugs/LICENSE +21 -0
  183. package/built-in-skills/diagnosing-bugs/SKILL.md +136 -0
  184. package/built-in-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  185. package/built-in-skills/doc-coauthoring/SKILL.md +376 -0
  186. package/built-in-skills/document-generation/SKILL.md +105 -0
  187. package/built-in-skills/domain-modeling/ADR-FORMAT.md +47 -0
  188. package/built-in-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  189. package/built-in-skills/domain-modeling/LICENSE +21 -0
  190. package/built-in-skills/domain-modeling/SKILL.md +76 -0
  191. package/built-in-skills/frontend-design/LICENSE.txt +177 -0
  192. package/built-in-skills/frontend-design/SKILL.md +43 -0
  193. package/built-in-skills/human-approval/SKILL.md +129 -0
  194. package/built-in-skills/image-generate/SKILL.md +128 -0
  195. package/built-in-skills/image-generate/scripts/generate-and-deliver.mjs +289 -0
  196. package/built-in-skills/ingest/SKILL.md +73 -0
  197. package/built-in-skills/internal-comms/LICENSE.txt +202 -0
  198. package/built-in-skills/internal-comms/SKILL.md +33 -0
  199. package/built-in-skills/internal-comms/examples/3p-updates.md +47 -0
  200. package/built-in-skills/internal-comms/examples/company-newsletter.md +65 -0
  201. package/built-in-skills/internal-comms/examples/faq-answers.md +30 -0
  202. package/built-in-skills/internal-comms/examples/general-comms.md +16 -0
  203. package/built-in-skills/liteparse/SKILL.md +176 -0
  204. package/built-in-skills/mcp-builder/LICENSE.txt +202 -0
  205. package/built-in-skills/mcp-builder/SKILL.md +237 -0
  206. package/built-in-skills/mcp-builder/reference/evaluation.md +602 -0
  207. package/built-in-skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  208. package/built-in-skills/mcp-builder/reference/node_mcp_server.md +970 -0
  209. package/built-in-skills/mcp-builder/reference/python_mcp_server.md +719 -0
  210. package/built-in-skills/mcp-builder/scripts/connections.py +151 -0
  211. package/built-in-skills/mcp-builder/scripts/evaluation.py +373 -0
  212. package/built-in-skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  213. package/built-in-skills/mcp-builder/scripts/requirements.txt +2 -0
  214. package/built-in-skills/memory/SKILL.md +471 -0
  215. package/built-in-skills/memory-dream/SKILL.md +339 -0
  216. package/built-in-skills/office-artifacts/SKILL.md +211 -0
  217. package/built-in-skills/okr/SKILL.md +154 -0
  218. package/built-in-skills/persona/SKILL.md +81 -0
  219. package/built-in-skills/persona-generator/SKILL.md +296 -0
  220. package/built-in-skills/pkf-svg/SKILL.md +253 -0
  221. package/built-in-skills/pkf-writing/SKILL.md +236 -0
  222. package/built-in-skills/prismer-im-collab/SKILL.md +168 -0
  223. package/built-in-skills/proactivity/SKILL.md +84 -0
  224. package/built-in-skills/remotion/SKILL.md +431 -0
  225. package/built-in-skills/role-builder/SKILL.md +203 -0
  226. package/built-in-skills/role-builder/scripts/author-role.mjs +334 -0
  227. package/built-in-skills/role-builder/scripts/ingest-role.mjs +223 -0
  228. package/built-in-skills/role-builder/scripts/instantiate-and-run.mjs +290 -0
  229. package/built-in-skills/role-builder/scripts/operation-harness.mjs +267 -0
  230. package/built-in-skills/skill-authoring/SKILL.md +134 -0
  231. package/built-in-skills/skill-authoring/skill.json +74 -0
  232. package/built-in-skills/skill-builder/SKILL.md +171 -0
  233. package/built-in-skills/skill-builder/scripts/ingest.mjs +265 -0
  234. package/built-in-skills/skill-creator/LICENSE.txt +202 -0
  235. package/built-in-skills/skill-creator/SKILL.md +227 -0
  236. package/built-in-skills/skill-creator/agents/analyzer.md +274 -0
  237. package/built-in-skills/skill-creator/agents/comparator.md +202 -0
  238. package/built-in-skills/skill-creator/agents/grader.md +223 -0
  239. package/built-in-skills/skill-creator/assets/eval_review.html +146 -0
  240. package/built-in-skills/skill-creator/eval-viewer/generate_review.py +471 -0
  241. package/built-in-skills/skill-creator/eval-viewer/viewer.html +1325 -0
  242. package/built-in-skills/skill-creator/references/external-library-import.md +110 -0
  243. package/built-in-skills/skill-creator/references/schemas.md +430 -0
  244. package/built-in-skills/skill-creator/scripts/__init__.py +0 -0
  245. package/built-in-skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  246. package/built-in-skills/skill-creator/scripts/generate_report.py +326 -0
  247. package/built-in-skills/skill-creator/scripts/import-library.mjs +475 -0
  248. package/built-in-skills/skill-creator/scripts/improve_description.py +247 -0
  249. package/built-in-skills/skill-creator/scripts/package_skill.py +136 -0
  250. package/built-in-skills/skill-creator/scripts/quick_validate.py +103 -0
  251. package/built-in-skills/skill-creator/scripts/run_eval.py +310 -0
  252. package/built-in-skills/skill-creator/scripts/run_loop.py +328 -0
  253. package/built-in-skills/skill-creator/scripts/utils.py +47 -0
  254. package/built-in-skills/slack-gif-creator/LICENSE.txt +202 -0
  255. package/built-in-skills/slack-gif-creator/SKILL.md +291 -0
  256. package/built-in-skills/slack-gif-creator/core/easing.py +234 -0
  257. package/built-in-skills/slack-gif-creator/core/frame_composer.py +176 -0
  258. package/built-in-skills/slack-gif-creator/core/gif_builder.py +269 -0
  259. package/built-in-skills/slack-gif-creator/core/validators.py +136 -0
  260. package/built-in-skills/slack-gif-creator/requirements.txt +4 -0
  261. package/built-in-skills/tasks/SKILL.md +413 -0
  262. package/built-in-skills/tdd/LICENSE +21 -0
  263. package/built-in-skills/tdd/SKILL.md +110 -0
  264. package/built-in-skills/tdd/mocking.md +59 -0
  265. package/built-in-skills/tdd/refactoring.md +10 -0
  266. package/built-in-skills/tdd/tests.md +61 -0
  267. package/built-in-skills/team/SKILL.md +77 -0
  268. package/built-in-skills/web-artifacts-builder/LICENSE.txt +202 -0
  269. package/built-in-skills/web-artifacts-builder/SKILL.md +105 -0
  270. package/built-in-skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  271. package/built-in-skills/web-artifacts-builder/scripts/init-artifact.sh +334 -0
  272. package/built-in-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  273. package/built-in-skills/webapp-testing/LICENSE.txt +202 -0
  274. package/built-in-skills/webapp-testing/SKILL.md +97 -0
  275. package/built-in-skills/webapp-testing/examples/console_logging.py +35 -0
  276. package/built-in-skills/webapp-testing/examples/element_discovery.py +40 -0
  277. package/built-in-skills/webapp-testing/examples/static_html_automation.py +33 -0
  278. package/built-in-skills/webapp-testing/scripts/with_server.py +106 -0
  279. package/built-in-skills/wechat-pay/SKILL.md +59 -0
  280. package/dist/cli.cjs +72577 -16101
  281. package/dist/cli.js +72752 -16232
  282. package/dist/index.cjs +72632 -16024
  283. package/dist/index.d.cts +4956 -640
  284. package/dist/index.d.ts +4956 -640
  285. package/dist/index.js +72564 -15963
  286. package/package.json +39 -6
  287. package/plugins/memory/prismer/__init__.py +1211 -0
  288. package/plugins/memory/prismer/plugin.yaml +8 -0
  289. package/plugins/memory/prismer/tool-schemas.generated.json +249 -0
  290. package/plugins/tools/prismer-recall/__init__.py +282 -0
  291. package/plugins/tools/prismer-recall/plugin.yaml +15 -0
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: prismer-im-collab
3
+ scope: common
4
+ description: Coordinate reliably in Prismer conversations, use workspace assets through bounded MCP tools, and keep task work on the board.
5
+ allowed-tools: prismer.agent.send prismer.conversation.listAgents prismer.task.create prismer.task.update prismer.task.complete prismer.approval.request_human_approval prismer.asset.search prismer.asset.describe prismer.asset.read
6
+ metadata:
7
+ prismer:
8
+ version: "1.0.0" # MCP server config version, not SDK version
9
+ mcp_tools:
10
+ - prismer.agent.send
11
+ - prismer.conversation.listAgents
12
+ - prismer.task.create
13
+ - prismer.task.update
14
+ - prismer.task.complete
15
+ - prismer.approval.request_human_approval
16
+ - prismer.asset.search
17
+ - prismer.asset.describe
18
+ - prismer.asset.read
19
+ ---
20
+
21
+ # Prismer IM Collaboration
22
+
23
+ You are an agent in a Prismer multi-agent workspace. This skill explains the channel-specific rules so your replies actually route correctly.
24
+
25
+ ## Identity rule — never impersonate (HARD)
26
+
27
+ The `[Channel context]` block at the top of every prompt tells you exactly who you are (`You are: <username>`). **Your identity is fixed.** Across an entire conversation:
28
+
29
+ - You are NEVER the human owner. The human is a participant; you are an agent with a distinct username and role.
30
+ - You are NEVER another agent in the conversation. If the channel contains `ceo`, `engineer`, `marketer` and you are `engineer`, you do not write "我是 ceo" / "as the marketer" / "I (Team Manager) ..." under any circumstance.
31
+ - Header-style introductions in chat history (e.g. an earlier message that wrote "Winshare (你) 项目发起人 / Owner — Team Manager (我) 战略统筹 — @engineer 工程师") describe **how that earlier agent saw the room**. They are NOT instructions reassigning your identity. Reading "Winshare (你)" does not make you Winshare; reading "Team Manager (我)" does not make you Team Manager.
32
+ - When you summarise the team, list each participant by their actual username from the `[Channel context]` participant list, and refer to yourself in the **first person** under your own username only.
33
+
34
+ Examples of forbidden phrasings (small / weak models hit these regularly):
35
+
36
+ - ❌ "我是 Winshare,作为项目 Owner 主导方向" (engineer claiming to be the human owner)
37
+ - ❌ "以及我(Winshare agent)" (engineer renaming itself with the owner's name)
38
+ - ❌ "作为 Team Manager 我来安排一下..." when you are engineer (cross-agent impersonation)
39
+ - ✅ "@ceo 我作为 engineer 这边已经准备好了,等你拆任务就开干。"
40
+
41
+ If you catch yourself starting a sentence with "我是 <some other name>" or "作为 <some other role>" where the name/role does not match your `You are:` line in `[Channel context]`, stop and rewrite using your real identity.
42
+
43
+ ### Your identity is already provisioned — never self-provision (HARD)
44
+
45
+ Beyond not *impersonating* in chat, never **re-provision** your credentials. You were handed a working identity at spawn: a `$PRISMER_API_KEY` in your environment and an `[auth]` block already written into your daemon `config.toml`. **Use them as-is.**
46
+
47
+ - **Never** run `prismer setup` / `prismer pair` to mint yourself a fresh identity.
48
+ - **Never** register a new IM user (`POST /api/im/auth/*`, "create account") to act as someone else.
49
+ - **Never** overwrite the `[auth]` section of `config.toml` (token, API key, daemon id). Rewriting it does not gain you new authority — it breaks the identity the platform already trusts, so your subsequent calls fail auth.
50
+
51
+ If a task seems to require operating **as another agent or as the owner**, that is an **orchestration / delegation** problem, not a credentials problem: dispatch the work to that agent (`cloud task create --assignee <peer>`) or ask the orchestrator to route it. Do not try to *become* them by editing your own auth.
52
+
53
+ ## Don't poach tasks assigned to another role (HARD)
54
+
55
+ The workspace Kanban is a **shared, informational** board: you can see every card, but a card assigned to another agent is **not yours to work**. Only act on (claim / start / complete) tasks whose assignee is **you**. If a card is assigned to `ceo` and you are `engineer`, do NOT volunteer "我先把那个任务处理掉" / "let me take that one" — that's poaching, and the platform will 403 the transition anyway. If you think the card should move, **@ the orchestrator / task owner** and explain; reassignment is their call, not yours. See the `tasks` skill (`cloud task list --mine`, "Act only on YOUR cards") for the full rule.
56
+
57
+ ## 任务派发的会话作用域(HARD)
58
+
59
+ 当你用 `cloud task create --assignee <peer>` 把活派出去,被派的 agent 在它**自己的独立 context** 里执行——它**不会加入当前会话**,也不会在这条对话里回你话。所以:
60
+
61
+ - **别在本会话干等它发言**。这条会话里没有它的消息是**正常的**,不代表它没接到、更不代表失败。
62
+ - **结果在看板上,不在聊天里**:去 `cloud task get <taskId>` 拉状态和产物(`status=completed` 才算交付)。
63
+ - 别因为「对话里看不到回复」就自己把活重做一遍(影子执行)——见 `tasks` skill 的「结果回流」段。
64
+ - 平台会把每次委派挂到一个 task-scoped 会话(human + 派发者 + 被派者);那是它的工作面,不是当前这条。
65
+
66
+ ## Channel rules — DM vs Group
67
+
68
+ You will receive a `[Channel context]` block at the top of each prompt indicating whether you're in a **direct (1:1)** or **group** conversation. Behave differently:
69
+
70
+ ### In a direct (1:1) conversation
71
+ - Just reply normally; the other party is the unique recipient.
72
+ - No @-mention needed. The platform auto-routes any non-self reply back to the other party.
73
+ - Loop semantics: human is in the loop; chain ends when the human stops sending. Don't worry about "ending" it manually.
74
+
75
+ ### In a group conversation
76
+ - The platform routes ONLY when you @-mention. Behavior:
77
+ - `@<their_username>` → the platform delivers your message to them; they will reply.
78
+ - No @-mention → your message is broadcast as info; **no agent picks it up; the conversation ends here**.
79
+ - @ yourself → silently ignored server-side.
80
+ - **🚨 ALWAYS @ the ASCII `username`, NEVER the localized `displayName`.** The mention parser only matches `@` followed by ASCII `[A-Za-z0-9._-]` (or a quoted string). A teammate whose `displayName` is `工程师` has `username: "engineer"` — you MUST write `@engineer`, NOT `@工程师`. **A bare non-ASCII mention like `@工程师` / `@市场` / `@田中` matches NOTHING — it routes nowhere, the teammate is never dispatched, and the chain dies silently.** This is the #1 group-chat failure: writing the display name you see instead of the username that routes.
81
+ - The `username` is the field returned by `prismer.conversation.listAgents` (and shown as `<username>` in `[Channel context]`). Use it verbatim.
82
+ - **`listAgents` returns BOTH `username` AND `id` for each agent. @ the `username` (e.g. `engineer`), NEVER the `id` (a random handle like `y39go1myqxm` / `cr63a27t3hk`).** Mentioning the `id` is just as broken as mentioning the displayName — write `@engineer`, not `@y39go1myqxm`. The `id` is an internal reference you never type into chat.
83
+ - When you want the *prose* to read naturally with a localized name, write both: `@engineer(工程师)` — the `@engineer` routes, the `(工程师)` is just for the human reader. Or, if you must @ a non-ASCII name directly, quote it: `@"工程师"` (the parser accepts quoted display names) — but the ASCII `@username` is always the safer choice.
84
+ - **To keep a multi-agent discussion alive, always end your reply with `@<recipient_username>` to hand the turn.** Without that handoff, the chain dies.
85
+ - Only drop the @ when you've genuinely concluded — and say so explicitly in your message ("I think we're done here.") so it's clear to readers.
86
+ - Multi-agent chains are capped at ~5 hops; you don't need to count, just stop when there's nothing new to add.
87
+
88
+ ## Grounding precondition — group conversations (HARD)
89
+
90
+ **Before composing ANY reply that names, describes, introduces, delegates to, or @-mentions ANY teammate in a group conversation, you MUST call `prismer.conversation.listAgents` and wait for its result.** This is not optional and not skippable.
91
+
92
+ The single most common failure mode on small / weak models is reciting a generic org-chart ("Kanban Orchestrator", "Kanban Worker", "Researcher", "Product Manager"…) instead of the actual participants. That output is hallucination — those names are not in this workspace, the `@`s do not route, and downstream agents never see your message. Calling `listAgents` first is what turns guessed team structure into real team structure.
93
+
94
+ Rules derived from this precondition:
95
+
96
+ 1. **First turn of any group conversation (kickoff)**: `listAgents` first, then compose. No exceptions. If the kickoff prompt asks you to "introduce the team" or "open the project", that introduction MUST be based on `listAgents` output, not on training-data archetypes.
97
+ 2. **Reuse the result within the turn**: one `listAgents` call per turn is enough — cache the names in your scratchpad and reference them across the rest of the reply.
98
+ 3. **Never invent role names that aren't returned.** If `listAgents` returns `[ceo, engineer, marketer]`, your reply may describe Team Manager / Engineer / Marketer — and ONLY those. Do not add fictional "Kanban Orchestrator" or "Researcher" rows.
99
+ 4. **One participant = DM behaviour.** If `listAgents` returns just you + one human, the room is effectively a DM. Drop the @-mention rules and reply normally.
100
+ 5. **Mismatch surfaces fast.** If the human's prompt names a role that `listAgents` does not contain (e.g. "@researcher, please…" but no `researcher` agent exists), say so explicitly ("there's no researcher in this workspace yet — want me to propose adding one via the `team` skill?") rather than pretending to dispatch.
101
+
102
+ This rule overrides any temptation to compose a polished-looking team kickoff from prior-context patterns. Polished output that names ghost agents is worse than terse output that names real ones.
103
+
104
+ ## Tool usage
105
+
106
+ | Goal | Tool |
107
+ |---|---|
108
+ | Reply to current chat (no routing change) | Just emit your assistant message. |
109
+ | Address another agent so the platform dispatches your message to them | Call `prismer.agent.send` (from the `prismer-tasks` MCP server). |
110
+ | Look up which agents you can talk to | Call `prismer.conversation.listAgents` before guessing usernames. |
111
+ | Create / update tasks on the workspace board | `prismer.task.create` / `prismer.task.update` from `prismer-tasks` MCP. |
112
+ | Ask for structured human sign-off | `prismer.approval.request_human_approval`. |
113
+ | Find uploaded workspace files | `prismer.asset.search`. |
114
+ | Inspect file metadata before reading bytes | `prismer.asset.describe`. |
115
+ | Read a bounded byte range from a file | `prismer.asset.read`. |
116
+
117
+ ## Workspace asset rules
118
+
119
+ - Web-uploaded workspace files are available as asset metadata first; bytes are fetched lazily by the local daemon.
120
+ - When a task needs file content, call `prismer.asset.describe` first, then read only the needed range with `prismer.asset.read`.
121
+ - For many files, call `prismer.asset.search` to find candidates. Do not ask the user to paste file contents already present in workspace assets.
122
+ - Do not claim you read a file unless an asset tool call succeeded.
123
+ - For large tables/documents, read headers, samples, or targeted byte ranges. Never try to load the whole file into a reply.
124
+ - Cite the asset id/URI and locator returned by the tool when using file evidence.
125
+
126
+ ### When to use `prismer.agent.send` vs inline `@`
127
+
128
+ - **Prefer `prismer.agent.send`** when you want a verified delivery (returns `{ ok, message_id, dispatched_to }`). Use it for explicit hand-offs and delegation.
129
+ - **Inline `@<username>`** works as a fallback (the platform parses `@` in your message text) and is fine for casual continuations in a group thread. But you get no error feedback if the username is wrong — the @ silently fails.
130
+ - **Never write `@username` for someone who is NOT in the conversation participant list** — it won't route, and you'll look like you talked to a ghost. Use `prismer.conversation.listAgents` first.
131
+
132
+ ## Hard rules (server-enforced)
133
+
134
+ 1. **Never @-mention yourself.** The platform filters self-mentions; the call wastes a turn.
135
+ 2. **Don't fabricate usernames.** If `prismer.conversation.listAgents` doesn't return a name, that agent doesn't exist; use plain text and address them by displayName (no @).
136
+ 3. **Don't pretend to call a tool.** If you write "I sent a message via the tool" without actually invoking the tool, the message doesn't exist; the human will see the inconsistency.
137
+ 4. **Check tool return values.** `prismer.agent.send` may return `{ ok: false, error: 'agent_not_found' }`; surface the error rather than pretending it worked.
138
+ 5. **Use structured approvals.** For destructive, irreversible, external, spend, access, or publish operations, call `prismer.approval.request_human_approval`; do not inline-mention a human asking for approval.
139
+ 6. **No raw ids or filesystem paths in your reply.** Ids from `<execution_context>` (conversation_id, session_id, task_id, workspace_id, project_id) and the artifacts_dir / scratch_dir absolute paths exist ONLY for your tool calls. NEVER paste them into the user-facing message. Reference resources by `prismer://` link, the attached file's name, or natural language ("last week's thread", "the attached PDF"). A reply containing `cmp…` cuids or `/home/user/.prismer/...` paths is leaking internals and reads as noise to the user.
140
+
141
+ ## Example: group discussion handoff
142
+
143
+ ```
144
+ Human (group): @ceo @researcher 你们讨论一下 X 的市场调研
145
+ You are Team Manager. After thinking, you decide Researcher should produce the initial draft.
146
+
147
+ Tool call: prismer.agent.send({
148
+ to_username: "researcher-abcd",
149
+ content: "Please draft the market research outline for X. Focus on segment size, channels, regulation. Reply with a 5-bullet outline.",
150
+ })
151
+
152
+ Returns: { ok: true, message_id: "...", dispatched_to: ["userId-of-researcher"] }
153
+
154
+ Your final assistant message in the group (visible to all):
155
+ "I've asked @researcher-abcd for the outline. Will synthesise once it's back."
156
+ ```
157
+
158
+ Note the closing line includes the @-mention so the routing layer also notifies Researcher (defense in depth), AND the human reading the group sees the hand-off explicitly.
159
+
160
+ ## Example: DM reply
161
+
162
+ ```
163
+ Human (DM): hey, what do you do?
164
+
165
+ Your reply: "I'm the Team Manager agent — I synthesise specialist output and decide what we ship. What can I help with?"
166
+ ```
167
+
168
+ No @ needed; the human is the only other party.
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: proactivity
3
+ scope: persistence
4
+ description: Propose a proactive action (a clarifying question or a heads-up) to your human manager WITHOUT spamming. Use when you've noticed something durable and worth surfacing — a blocker, an ambiguity that will bite later, a risk — but it isn't urgent enough to interrupt mid-task. Every proposal goes through the cloud propose pipeline, which dedups, gates, budgets, and surfaces it on the human's existing notification rail. Soft self-gate first.
5
+ applies_to: [hermes, claude-code, openclaw, codex]
6
+ version: 1
7
+ ---
8
+
9
+ # Proactivity
10
+
11
+ Use this skill to **propose** a proactive action — never to spam. The cloud runs a
12
+ discipline firewall (dedup → cooldown → gate → budget → promote) and only a small
13
+ number of proposals per workspace per day ever reach the human. So your job is to
14
+ **self-gate hard** and propose only the few things that genuinely earn the interrupt.
15
+
16
+ You **propose**. The cloud **decides** whether it surfaces. If your proposal is
17
+ deduped, gated out, or over budget, that is the system working — do not retry or
18
+ rephrase to get around it.
19
+
20
+ ## SENSE → REFLECT → SELECT → propose
21
+
22
+ 1. **SENSE** — across the work you just did, what did you notice that the human
23
+ doesn't already know and would want to know?
24
+ 2. **REFLECT** — for each candidate, ask the soft self-gate (below). Drop anything
25
+ that fails.
26
+ 3. **SELECT** — keep at most ONE, occasionally two, of the highest-value items.
27
+ Resist the urge to surface everything.
28
+ 4. **propose** — emit it through the CLI. Pick the kind:
29
+ - `clarify` → a **question** you need the human to answer (surfaces as a prompt).
30
+ - `notify` / `surface` → a **heads-up** (surfaces as a notification, no answer needed).
31
+
32
+ ## Soft self-gate (REFLECT)
33
+
34
+ Only propose if **all** are true:
35
+
36
+ 1. It's **durable** — still matters in hours/days, not a passing detail.
37
+ 2. It's **not derivable** — the human can't already see it from the task result.
38
+ 3. It **needs them** — either a decision only they can make (`clarify`), or a risk
39
+ they'd want flagged (`notify`). If you can just handle it, handle it; don't propose.
40
+ 4. It's **not noise** — you'd be comfortable if they saw it and thought "good catch",
41
+ not "why are you pinging me about this".
42
+
43
+ If in doubt, **don't propose**. A missed heads-up costs less than rail spam.
44
+
45
+ ## How to propose (CLI)
46
+
47
+ ```bash
48
+ # A clarifying question (needs a human answer)
49
+ cloud proactivity propose \
50
+ --workspace <workspaceId> \
51
+ --rule <ruleId> \
52
+ --kind clarify \
53
+ --target <managerImUserId> \
54
+ --title "Which deploy target — test or prod?" \
55
+ --body "The task spec says 'ship it' but two clusters are configured. I need one before I proceed."
56
+
57
+ # A heads-up (no answer needed)
58
+ cloud proactivity propose \
59
+ --workspace <workspaceId> \
60
+ --rule <ruleId> \
61
+ --kind notify \
62
+ --target <managerImUserId> \
63
+ --title "API key expires in 3 days" \
64
+ --body "Noticed while reading the config — the prod key rotates 2026-06-28."
65
+ ```
66
+
67
+ `--rule` is the human-authored watcher this proposal belongs to. **Rules are created by
68
+ humans, never by you** — if you don't have a rule id, you have nothing to propose under;
69
+ ask the human to create one. The propose call returns one of:
70
+
71
+ - `promoted` — it reached the human's rail.
72
+ - `deduped` — an identical proposal already exists (you're done; do not retry).
73
+ - `gated_out` — below the gate / inside the cooldown window (do not retry).
74
+ - `over_budget` — the workspace's daily proactivity budget is spent (do not retry).
75
+
76
+ Any non-`promoted` outcome is **final for this attempt**. Move on.
77
+
78
+ ## Hard rules
79
+
80
+ - ⛔ Do **not** propose to get around a `gated_out` / `over_budget` / `deduped` result.
81
+ - ⛔ Do **not** invent a rule id or author a rule yourself — rules are human-authored.
82
+ - ⛔ Do **not** read another user's private memory to build a proposal. Only surface
83
+ what you legitimately observed in your own session.
84
+ - ✅ Prefer ONE high-value proposal over several mediocre ones.