@prismer/runtime 2.0.8 → 2.2.63

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 (633) hide show
  1. package/CHANGELOG.md +4004 -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 +144 -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 +77 -38
  44. package/built-in-skills/agent-meta/SKILL.md +12 -0
  45. package/built-in-skills/assets/SKILL.md +9 -7
  46. package/built-in-skills/browser-use/SKILL.md +93 -0
  47. package/built-in-skills/canvas-design/SKILL.md +4 -3
  48. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-OFL.txt +93 -0
  49. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-OFL.txt +93 -0
  50. package/built-in-skills/canvas-design/canvas-fonts/LICENSE-SOURCES.md +16 -0
  51. package/built-in-skills/claim-agent-ownership/SKILL.md +10 -5
  52. package/built-in-skills/claude-api/SKILL.md +2 -1
  53. package/built-in-skills/claude-api/python/claude-api/README.md +2 -2
  54. package/built-in-skills/claude-api/python/claude-api/tool-use.md +9 -5
  55. package/built-in-skills/claude-api/python/managed-agents/README.md +11 -1
  56. package/built-in-skills/claude-api/shared/error-codes.md +4 -4
  57. package/built-in-skills/claude-api/shared/managed-agents-client-patterns.md +4 -2
  58. package/built-in-skills/claude-api/shared/managed-agents-core.md +1 -2
  59. package/built-in-skills/claude-api/shared/managed-agents-events.md +41 -22
  60. package/built-in-skills/claude-api/shared/managed-agents-multiagent.md +5 -3
  61. package/built-in-skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +1 -1
  62. package/built-in-skills/claude-api/shared/managed-agents-tools.md +2 -3
  63. package/built-in-skills/claude-api/shared/model-migration.md +3 -3
  64. package/built-in-skills/claude-api/shared/models.md +1 -1
  65. package/built-in-skills/claude-api/typescript/claude-api/batches.md +1 -1
  66. package/built-in-skills/claude-api/typescript/claude-api/files-api.md +3 -1
  67. package/built-in-skills/claude-api/typescript/claude-api/tool-use.md +8 -2
  68. package/built-in-skills/claude-api/typescript/managed-agents/README.md +8 -2
  69. package/built-in-skills/codebase-design/DEEPENING.md +37 -0
  70. package/built-in-skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  71. package/built-in-skills/codebase-design/LICENSE +21 -0
  72. package/built-in-skills/codebase-design/SKILL.md +130 -0
  73. package/built-in-skills/codebase-design/references/requesting-code-review/GUIDE.md +291 -0
  74. package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE +21 -0
  75. package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE.superpowers +21 -0
  76. package/built-in-skills/codebase-design/references/requesting-code-review/NOTICE.md +37 -0
  77. package/built-in-skills/codebase-design/references/sdlc-review/GUIDE.md +130 -0
  78. package/built-in-skills/codebase-design/references/sdlc-review/LICENSE +21 -0
  79. package/built-in-skills/codebase-design/references/sdlc-review/NOTICE.md +17 -0
  80. package/built-in-skills/codebase-design/references/simplify-code/GUIDE.md +269 -0
  81. package/built-in-skills/codebase-design/references/simplify-code/LICENSE +21 -0
  82. package/built-in-skills/codebase-design/references/simplify-code/NOTICE.md +37 -0
  83. package/built-in-skills/competitor-intelligence/LICENSE +21 -0
  84. package/built-in-skills/competitor-intelligence/NOTICE.md +6 -0
  85. package/built-in-skills/competitor-intelligence/SKILL.md +125 -0
  86. package/built-in-skills/competitor-intelligence/scripts/watch_state.py +160 -0
  87. package/built-in-skills/conversation-compaction/SKILL.md +117 -0
  88. package/built-in-skills/council-creator/SKILL.md +427 -0
  89. package/built-in-skills/diagnosing-bugs/LICENSE +21 -0
  90. package/built-in-skills/diagnosing-bugs/SKILL.md +148 -0
  91. package/built-in-skills/diagnosing-bugs/references/desktop-dom/GUIDE.md +64 -0
  92. package/built-in-skills/diagnosing-bugs/references/desktop-dom/LICENSE +21 -0
  93. package/built-in-skills/diagnosing-bugs/references/desktop-dom/NOTICE.md +17 -0
  94. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/GUIDE.md +410 -0
  95. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE +21 -0
  96. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE.superpowers +21 -0
  97. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/NOTICE.md +37 -0
  98. package/built-in-skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  99. package/built-in-skills/doc-coauthoring/SKILL.md +7 -0
  100. package/built-in-skills/doc-coauthoring/references/humanizer/GUIDE.md +647 -0
  101. package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE +21 -0
  102. package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE.hermes +21 -0
  103. package/built-in-skills/doc-coauthoring/references/humanizer/PROVENANCE.md +7 -0
  104. package/built-in-skills/document-actions/LICENSE +21 -0
  105. package/built-in-skills/document-actions/NOTICE.md +21 -0
  106. package/built-in-skills/document-actions/SKILL.md +46 -0
  107. package/built-in-skills/domain-modeling/ADR-FORMAT.md +47 -0
  108. package/built-in-skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  109. package/built-in-skills/domain-modeling/LICENSE +21 -0
  110. package/built-in-skills/domain-modeling/SKILL.md +76 -0
  111. package/built-in-skills/evidence-citations/LICENSE +21 -0
  112. package/built-in-skills/evidence-citations/NOTICE.md +21 -0
  113. package/built-in-skills/evidence-citations/SKILL.md +46 -0
  114. package/built-in-skills/evidence-citations/references/citation-formats.md +68 -0
  115. package/built-in-skills/evidence-citations/references/grounding-rationale.md +64 -0
  116. package/built-in-skills/evidence-citations/scripts/sources.py +720 -0
  117. package/built-in-skills/frontend-design/SKILL.md +7 -0
  118. package/built-in-skills/frontend-design/references/claude-design/GUIDE.md +650 -0
  119. package/built-in-skills/frontend-design/references/claude-design/LICENSE +21 -0
  120. package/built-in-skills/frontend-design/references/claude-design/LICENSE.hermes +21 -0
  121. package/built-in-skills/frontend-design/references/claude-design/PROVENANCE.md +7 -0
  122. package/built-in-skills/human-approval/SKILL.md +17 -2
  123. package/built-in-skills/image-generate/SKILL.md +107 -301
  124. package/built-in-skills/image-generate/scripts/generate-and-deliver.mjs +310 -0
  125. package/built-in-skills/ingest/SKILL.md +13 -45
  126. package/built-in-skills/internal-comms/SKILL.md +1 -0
  127. package/built-in-skills/liteparse/SKILL.md +130 -110
  128. package/built-in-skills/mcp-builder/SKILL.md +1 -0
  129. package/built-in-skills/mcp-builder/reference/evaluation.md +11 -2
  130. package/built-in-skills/mcp-builder/reference/node_mcp_server.md +34 -5
  131. package/built-in-skills/mcp-builder/reference/python_mcp_server.md +6 -2
  132. package/built-in-skills/mcp-builder/scripts/connections.py +1 -1
  133. package/built-in-skills/mcp-builder/scripts/evaluation.py +52 -34
  134. package/built-in-skills/mcp-builder/scripts/requirements.txt +2 -2
  135. package/built-in-skills/meeting-actions/LICENSE +21 -0
  136. package/built-in-skills/meeting-actions/NOTICE.md +21 -0
  137. package/built-in-skills/meeting-actions/SKILL.md +48 -0
  138. package/built-in-skills/memory/SKILL.md +444 -55
  139. package/built-in-skills/memory/references/llm-wiki/GUIDE.md +468 -0
  140. package/built-in-skills/memory/references/llm-wiki/LICENSE +21 -0
  141. package/built-in-skills/memory/references/llm-wiki/NOTICE.md +4 -0
  142. package/built-in-skills/memory/references/llm-wiki/scripts/lint_wiki.py +84 -0
  143. package/built-in-skills/memory/references/llm-wiki/scripts/requirements.txt +1 -0
  144. package/built-in-skills/memory/references/llm-wiki/templates/SCHEMA.md +19 -0
  145. package/built-in-skills/memory/references/llm-wiki/templates/index.md +9 -0
  146. package/built-in-skills/memory/references/llm-wiki/templates/log.md +4 -0
  147. package/built-in-skills/memory-dream/SKILL.md +332 -0
  148. package/built-in-skills/memory-import/SKILL.md +51 -0
  149. package/built-in-skills/office-artifacts/NOTICE.md +15 -0
  150. package/built-in-skills/office-artifacts/SKILL.md +37 -4
  151. package/built-in-skills/office-artifacts/references/RESOURCE-LIMITS.md +44 -0
  152. package/built-in-skills/office-artifacts/references/document-generation/GUIDE.md +105 -0
  153. package/built-in-skills/office-artifacts/references/docx/GUIDE.md +196 -0
  154. package/built-in-skills/office-artifacts/references/docx/LICENSE +21 -0
  155. package/built-in-skills/office-artifacts/references/docx/NOTICE.md +21 -0
  156. package/built-in-skills/office-artifacts/references/docx/references/revisions-and-comments.md +88 -0
  157. package/built-in-skills/office-artifacts/references/docx/scripts/docx_comments.py +292 -0
  158. package/built-in-skills/office-artifacts/references/docx/scripts/docx_common.py +93 -0
  159. package/built-in-skills/office-artifacts/references/docx/scripts/docx_create.py +177 -0
  160. package/built-in-skills/office-artifacts/references/docx/scripts/docx_edit.py +250 -0
  161. package/built-in-skills/office-artifacts/references/docx/scripts/docx_read.py +169 -0
  162. package/built-in-skills/office-artifacts/references/docx/scripts/docx_revisions.py +149 -0
  163. package/built-in-skills/office-artifacts/references/docx/scripts/docx_template.py +70 -0
  164. package/built-in-skills/office-artifacts/references/docx/scripts/docx_validate.py +155 -0
  165. package/built-in-skills/office-artifacts/references/docx/tests/test_docx_skill.py +525 -0
  166. package/built-in-skills/office-artifacts/references/pdf/GUIDE.md +125 -0
  167. package/built-in-skills/office-artifacts/references/pdf/LICENSE +21 -0
  168. package/built-in-skills/office-artifacts/references/pdf/NOTICE.md +21 -0
  169. package/built-in-skills/office-artifacts/references/pdf/references/forms.md +99 -0
  170. package/built-in-skills/office-artifacts/references/pdf/references/nano-pdf-editing.md +40 -0
  171. package/built-in-skills/office-artifacts/references/pdf/references/ocr-extraction.md +165 -0
  172. package/built-in-skills/office-artifacts/references/pdf/scripts/_raster.py +87 -0
  173. package/built-in-skills/office-artifacts/references/pdf/scripts/extract_marker.py +95 -0
  174. package/built-in-skills/office-artifacts/references/pdf/scripts/extract_pymupdf.py +107 -0
  175. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_create.py +153 -0
  176. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_fill_form.py +97 -0
  177. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_form_layout.py +168 -0
  178. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_make_form.py +145 -0
  179. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_merge.py +50 -0
  180. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_meta.py +123 -0
  181. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_page_image.py +101 -0
  182. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_read.py +153 -0
  183. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_secure.py +71 -0
  184. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_split.py +86 -0
  185. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_stamp.py +145 -0
  186. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_watermark.py +51 -0
  187. package/built-in-skills/office-artifacts/references/pdf/tests/test_pdf_skill.py +414 -0
  188. package/built-in-skills/office-artifacts/references/powerpoint/GUIDE.md +220 -0
  189. package/built-in-skills/office-artifacts/references/powerpoint/LICENSE +21 -0
  190. package/built-in-skills/office-artifacts/references/powerpoint/NOTICE.md +21 -0
  191. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_create.py +214 -0
  192. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_edit.py +442 -0
  193. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_from_template.py +88 -0
  194. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_read.py +131 -0
  195. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_render.py +104 -0
  196. package/built-in-skills/office-artifacts/references/powerpoint/tests/test_powerpoint_skill.py +478 -0
  197. package/built-in-skills/office-artifacts/references/xlsx/GUIDE.md +196 -0
  198. package/built-in-skills/office-artifacts/references/xlsx/LICENSE +21 -0
  199. package/built-in-skills/office-artifacts/references/xlsx/NOTICE.md +21 -0
  200. package/built-in-skills/office-artifacts/references/xlsx/references/restructuring.md +74 -0
  201. package/built-in-skills/office-artifacts/references/xlsx/scripts/csv_to_xlsx.py +108 -0
  202. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_create.py +259 -0
  203. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_edit.py +269 -0
  204. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_read.py +160 -0
  205. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_recalc.py +111 -0
  206. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_restructure.py +418 -0
  207. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_to_csv.py +69 -0
  208. package/built-in-skills/office-artifacts/references/xlsx/tests/test_xlsx_skill.py +542 -0
  209. package/built-in-skills/office-artifacts/tests/test_resource_regressions.py +272 -0
  210. package/built-in-skills/okr/SKILL.md +154 -0
  211. package/built-in-skills/persona/SKILL.md +81 -0
  212. package/built-in-skills/persona-generator/SKILL.md +296 -0
  213. package/built-in-skills/pkf-svg/SKILL.md +258 -0
  214. package/built-in-skills/pkf-svg/references/architecture-diagram/GUIDE.md +148 -0
  215. package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE +21 -0
  216. package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE.hermes +21 -0
  217. package/built-in-skills/pkf-svg/references/architecture-diagram/PROVENANCE.md +7 -0
  218. package/built-in-skills/pkf-svg/references/architecture-diagram/templates/template.html +345 -0
  219. package/built-in-skills/pkf-writing/SKILL.md +258 -0
  220. package/built-in-skills/prismer-airtable/LICENSE +21 -0
  221. package/built-in-skills/prismer-airtable/NOTICE.md +11 -0
  222. package/built-in-skills/prismer-airtable/SKILL.md +248 -0
  223. package/built-in-skills/prismer-airtable/scripts/airtable_client.py +76 -0
  224. package/built-in-skills/prismer-apple-notes/LICENSE +21 -0
  225. package/built-in-skills/prismer-apple-notes/NOTICE.md +17 -0
  226. package/built-in-skills/prismer-apple-notes/SKILL.md +118 -0
  227. package/built-in-skills/prismer-apple-notes/scripts/readiness.py +47 -0
  228. package/built-in-skills/prismer-apple-reminders/LICENSE +21 -0
  229. package/built-in-skills/prismer-apple-reminders/NOTICE.md +17 -0
  230. package/built-in-skills/prismer-apple-reminders/SKILL.md +155 -0
  231. package/built-in-skills/prismer-apple-reminders/scripts/readiness.py +47 -0
  232. package/built-in-skills/prismer-ascii-video/LICENSE +21 -0
  233. package/built-in-skills/prismer-ascii-video/LICENSE.hermes +21 -0
  234. package/built-in-skills/prismer-ascii-video/PROVENANCE.md +7 -0
  235. package/built-in-skills/prismer-ascii-video/README.md +290 -0
  236. package/built-in-skills/prismer-ascii-video/SKILL.md +252 -0
  237. package/built-in-skills/prismer-ascii-video/provenance/category-DESCRIPTION.md +3 -0
  238. package/built-in-skills/prismer-ascii-video/references/architecture.md +807 -0
  239. package/built-in-skills/prismer-ascii-video/references/composition.md +900 -0
  240. package/built-in-skills/prismer-ascii-video/references/effects.md +1877 -0
  241. package/built-in-skills/prismer-ascii-video/references/inputs.md +693 -0
  242. package/built-in-skills/prismer-ascii-video/references/optimization.md +688 -0
  243. package/built-in-skills/prismer-ascii-video/references/scenes.md +1018 -0
  244. package/built-in-skills/prismer-ascii-video/references/shaders.md +1408 -0
  245. package/built-in-skills/prismer-ascii-video/references/troubleshooting.md +360 -0
  246. package/built-in-skills/prismer-baoyu-infographic/LICENSE +21 -0
  247. package/built-in-skills/prismer-baoyu-infographic/LICENSE.hermes +21 -0
  248. package/built-in-skills/prismer-baoyu-infographic/LICENSE.origin +21 -0
  249. package/built-in-skills/prismer-baoyu-infographic/PORT_NOTES.md +37 -0
  250. package/built-in-skills/prismer-baoyu-infographic/PROVENANCE.md +7 -0
  251. package/built-in-skills/prismer-baoyu-infographic/SKILL.md +240 -0
  252. package/built-in-skills/prismer-baoyu-infographic/references/analysis-framework.md +182 -0
  253. package/built-in-skills/prismer-baoyu-infographic/references/base-prompt.md +43 -0
  254. package/built-in-skills/prismer-baoyu-infographic/references/layouts/bento-grid.md +41 -0
  255. package/built-in-skills/prismer-baoyu-infographic/references/layouts/binary-comparison.md +48 -0
  256. package/built-in-skills/prismer-baoyu-infographic/references/layouts/bridge.md +41 -0
  257. package/built-in-skills/prismer-baoyu-infographic/references/layouts/circular-flow.md +41 -0
  258. package/built-in-skills/prismer-baoyu-infographic/references/layouts/comic-strip.md +41 -0
  259. package/built-in-skills/prismer-baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
  260. package/built-in-skills/prismer-baoyu-infographic/references/layouts/dashboard.md +41 -0
  261. package/built-in-skills/prismer-baoyu-infographic/references/layouts/dense-modules.md +72 -0
  262. package/built-in-skills/prismer-baoyu-infographic/references/layouts/funnel.md +41 -0
  263. package/built-in-skills/prismer-baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
  264. package/built-in-skills/prismer-baoyu-infographic/references/layouts/hub-spoke.md +41 -0
  265. package/built-in-skills/prismer-baoyu-infographic/references/layouts/iceberg.md +41 -0
  266. package/built-in-skills/prismer-baoyu-infographic/references/layouts/isometric-map.md +41 -0
  267. package/built-in-skills/prismer-baoyu-infographic/references/layouts/jigsaw.md +41 -0
  268. package/built-in-skills/prismer-baoyu-infographic/references/layouts/linear-progression.md +48 -0
  269. package/built-in-skills/prismer-baoyu-infographic/references/layouts/periodic-table.md +41 -0
  270. package/built-in-skills/prismer-baoyu-infographic/references/layouts/story-mountain.md +41 -0
  271. package/built-in-skills/prismer-baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
  272. package/built-in-skills/prismer-baoyu-infographic/references/layouts/tree-branching.md +41 -0
  273. package/built-in-skills/prismer-baoyu-infographic/references/layouts/venn-diagram.md +41 -0
  274. package/built-in-skills/prismer-baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
  275. package/built-in-skills/prismer-baoyu-infographic/references/structured-content-template.md +244 -0
  276. package/built-in-skills/prismer-baoyu-infographic/references/styles/aged-academia.md +36 -0
  277. package/built-in-skills/prismer-baoyu-infographic/references/styles/bold-graphic.md +36 -0
  278. package/built-in-skills/prismer-baoyu-infographic/references/styles/chalkboard.md +61 -0
  279. package/built-in-skills/prismer-baoyu-infographic/references/styles/claymation.md +29 -0
  280. package/built-in-skills/prismer-baoyu-infographic/references/styles/corporate-memphis.md +29 -0
  281. package/built-in-skills/prismer-baoyu-infographic/references/styles/craft-handmade.md +44 -0
  282. package/built-in-skills/prismer-baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
  283. package/built-in-skills/prismer-baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
  284. package/built-in-skills/prismer-baoyu-infographic/references/styles/ikea-manual.md +29 -0
  285. package/built-in-skills/prismer-baoyu-infographic/references/styles/kawaii.md +29 -0
  286. package/built-in-skills/prismer-baoyu-infographic/references/styles/knolling.md +29 -0
  287. package/built-in-skills/prismer-baoyu-infographic/references/styles/lego-brick.md +29 -0
  288. package/built-in-skills/prismer-baoyu-infographic/references/styles/morandi-journal.md +60 -0
  289. package/built-in-skills/prismer-baoyu-infographic/references/styles/origami.md +29 -0
  290. package/built-in-skills/prismer-baoyu-infographic/references/styles/pixel-art.md +29 -0
  291. package/built-in-skills/prismer-baoyu-infographic/references/styles/pop-laboratory.md +48 -0
  292. package/built-in-skills/prismer-baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
  293. package/built-in-skills/prismer-baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
  294. package/built-in-skills/prismer-baoyu-infographic/references/styles/subway-map.md +29 -0
  295. package/built-in-skills/prismer-baoyu-infographic/references/styles/technical-schematic.md +36 -0
  296. package/built-in-skills/prismer-baoyu-infographic/references/styles/ui-wireframe.md +29 -0
  297. package/built-in-skills/prismer-blocked-page-recovery/LICENSE +21 -0
  298. package/built-in-skills/prismer-blocked-page-recovery/NOTICE.md +17 -0
  299. package/built-in-skills/prismer-blocked-page-recovery/SKILL.md +158 -0
  300. package/built-in-skills/prismer-blocked-page-recovery/scripts/recover_page.py +311 -0
  301. package/built-in-skills/prismer-box/LICENSE +21 -0
  302. package/built-in-skills/prismer-box/NOTICE.md +11 -0
  303. package/built-in-skills/prismer-box/SKILL.md +147 -0
  304. package/built-in-skills/prismer-box/references/bulk-operations.md +43 -0
  305. package/built-in-skills/prismer-box/references/cli-guide.md +133 -0
  306. package/built-in-skills/prismer-box/references/content-workflows.md +86 -0
  307. package/built-in-skills/prismer-box/references/hubs.md +77 -0
  308. package/built-in-skills/prismer-box/references/oauth-setup.md +92 -0
  309. package/built-in-skills/prismer-box/references/rest-api.md +37 -0
  310. package/built-in-skills/prismer-box/references/sdk-development.md +85 -0
  311. package/built-in-skills/prismer-box/references/search-and-ai.md +147 -0
  312. package/built-in-skills/prismer-box/references/troubleshooting.md +33 -0
  313. package/built-in-skills/prismer-box/references/webhooks-and-events.md +43 -0
  314. package/built-in-skills/prismer-codebase-inspection/LICENSE +21 -0
  315. package/built-in-skills/prismer-codebase-inspection/NOTICE.md +17 -0
  316. package/built-in-skills/prismer-codebase-inspection/SKILL.md +141 -0
  317. package/built-in-skills/prismer-computer-use/LICENSE +21 -0
  318. package/built-in-skills/prismer-computer-use/NOTICE.md +17 -0
  319. package/built-in-skills/prismer-computer-use/SKILL.md +372 -0
  320. package/built-in-skills/prismer-design-md/LICENSE +21 -0
  321. package/built-in-skills/prismer-design-md/LICENSE.hermes +21 -0
  322. package/built-in-skills/prismer-design-md/PROVENANCE.md +7 -0
  323. package/built-in-skills/prismer-design-md/SKILL.md +227 -0
  324. package/built-in-skills/prismer-design-md/templates/starter.md +99 -0
  325. package/built-in-skills/prismer-email-inbox-triage/LICENSE +21 -0
  326. package/built-in-skills/prismer-email-inbox-triage/NOTICE.md +11 -0
  327. package/built-in-skills/prismer-email-inbox-triage/SKILL.md +116 -0
  328. package/built-in-skills/prismer-findmy/LICENSE +21 -0
  329. package/built-in-skills/prismer-findmy/NOTICE.md +17 -0
  330. package/built-in-skills/prismer-findmy/SKILL.md +150 -0
  331. package/built-in-skills/prismer-findmy/scripts/readiness.py +47 -0
  332. package/built-in-skills/prismer-gif-search/LICENSE +21 -0
  333. package/built-in-skills/prismer-gif-search/LICENSE.hermes +21 -0
  334. package/built-in-skills/prismer-gif-search/PROVENANCE.md +7 -0
  335. package/built-in-skills/prismer-gif-search/SKILL.md +97 -0
  336. package/built-in-skills/prismer-gif-search/scripts/tenor.py +81 -0
  337. package/built-in-skills/prismer-github/LICENSE +21 -0
  338. package/built-in-skills/prismer-github/NOTICE.md +17 -0
  339. package/built-in-skills/prismer-github/SKILL.md +74 -0
  340. package/built-in-skills/prismer-github/references/auth.md +91 -0
  341. package/built-in-skills/prismer-github/references/ci-troubleshooting.md +193 -0
  342. package/built-in-skills/prismer-github/references/code-review.md +465 -0
  343. package/built-in-skills/prismer-github/references/conventional-commits.md +81 -0
  344. package/built-in-skills/prismer-github/references/github-api-cheatsheet.md +177 -0
  345. package/built-in-skills/prismer-github/references/issue-to-pr.md +74 -0
  346. package/built-in-skills/prismer-github/references/issues.md +336 -0
  347. package/built-in-skills/prismer-github/references/pr-workflow.md +346 -0
  348. package/built-in-skills/prismer-github/references/repo-management.md +484 -0
  349. package/built-in-skills/prismer-github/references/review-output-template.md +84 -0
  350. package/built-in-skills/prismer-github/scripts/ensure-gh.py +132 -0
  351. package/built-in-skills/prismer-github/scripts/gh-env.sh +25 -0
  352. package/built-in-skills/prismer-github/scripts/git-credential-token.py +68 -0
  353. package/built-in-skills/prismer-github/scripts/github-api.py +71 -0
  354. package/built-in-skills/prismer-github/scripts/github-context.py +28 -0
  355. package/built-in-skills/prismer-github/templates/bug-report.md +35 -0
  356. package/built-in-skills/prismer-github/templates/feature-request.md +31 -0
  357. package/built-in-skills/prismer-github/templates/pr-body-bugfix.md +35 -0
  358. package/built-in-skills/prismer-github/templates/pr-body-feature.md +33 -0
  359. package/built-in-skills/prismer-google-workspace/LICENSE +21 -0
  360. package/built-in-skills/prismer-google-workspace/NOTICE.md +11 -0
  361. package/built-in-skills/prismer-google-workspace/SKILL.md +369 -0
  362. package/built-in-skills/prismer-google-workspace/references/daily-brief.md +65 -0
  363. package/built-in-skills/prismer-google-workspace/references/gmail-search-syntax.md +63 -0
  364. package/built-in-skills/prismer-google-workspace/scripts/_hermes_home.py +17 -0
  365. package/built-in-skills/prismer-google-workspace/scripts/_private_state.py +39 -0
  366. package/built-in-skills/prismer-google-workspace/scripts/google_api.py +1339 -0
  367. package/built-in-skills/prismer-google-workspace/scripts/gws_bridge.py +121 -0
  368. package/built-in-skills/prismer-google-workspace/scripts/setup.py +563 -0
  369. package/built-in-skills/prismer-google-workspace/tests/test_productivity_regressions.py +214 -0
  370. package/built-in-skills/prismer-hermes-agent/LICENSE +21 -0
  371. package/built-in-skills/prismer-hermes-agent/NOTICE.md +17 -0
  372. package/built-in-skills/prismer-hermes-agent/SKILL.md +247 -0
  373. package/built-in-skills/prismer-hermes-agent/references/background-systems.md +108 -0
  374. package/built-in-skills/prismer-hermes-agent/references/cli-reference.md +158 -0
  375. package/built-in-skills/prismer-hermes-agent/references/configuration.md +96 -0
  376. package/built-in-skills/prismer-hermes-agent/references/contributor-guide.md +151 -0
  377. package/built-in-skills/prismer-hermes-agent/references/delegate-task-concurrency-diagnosis.md +47 -0
  378. package/built-in-skills/prismer-hermes-agent/references/desktop-plugins.md +215 -0
  379. package/built-in-skills/prismer-hermes-agent/references/native-mcp.md +351 -0
  380. package/built-in-skills/prismer-hermes-agent/references/petdex.md +82 -0
  381. package/built-in-skills/prismer-hermes-agent/references/portal-auth-for-third-party-apps.md +135 -0
  382. package/built-in-skills/prismer-hermes-agent/references/project-context-files.md +55 -0
  383. package/built-in-skills/prismer-hermes-agent/references/providers-and-models.md +81 -0
  384. package/built-in-skills/prismer-hermes-agent/references/security-privacy.md +73 -0
  385. package/built-in-skills/prismer-hermes-agent/references/slash-commands.md +119 -0
  386. package/built-in-skills/prismer-hermes-agent/references/themes.md +134 -0
  387. package/built-in-skills/prismer-hermes-agent/references/troubleshooting.md +87 -0
  388. package/built-in-skills/prismer-hermes-agent/references/tui-widgets.md +144 -0
  389. package/built-in-skills/prismer-hermes-agent/references/webhooks.md +219 -0
  390. package/built-in-skills/prismer-hermes-agent/references/windows-quirks.md +64 -0
  391. package/built-in-skills/prismer-hermes-agent/templates/clock.mjs +51 -0
  392. package/built-in-skills/prismer-hermes-agent/templates/plugin.js +97 -0
  393. package/built-in-skills/prismer-hermes-agent/templates/skin.yaml +49 -0
  394. package/built-in-skills/prismer-himalaya/LICENSE +21 -0
  395. package/built-in-skills/prismer-himalaya/NOTICE.md +11 -0
  396. package/built-in-skills/prismer-himalaya/SKILL.md +340 -0
  397. package/built-in-skills/prismer-himalaya/references/configuration.md +227 -0
  398. package/built-in-skills/prismer-himalaya/references/message-composition.md +206 -0
  399. package/built-in-skills/prismer-himalaya/scripts/compose_draft.py +48 -0
  400. package/built-in-skills/prismer-im-collab/SKILL.md +27 -7
  401. package/built-in-skills/prismer-imessage/LICENSE +21 -0
  402. package/built-in-skills/prismer-imessage/NOTICE.md +17 -0
  403. package/built-in-skills/prismer-imessage/SKILL.md +128 -0
  404. package/built-in-skills/prismer-imessage/scripts/readiness.py +47 -0
  405. package/built-in-skills/prismer-manim-video/LICENSE +21 -0
  406. package/built-in-skills/prismer-manim-video/LICENSE.hermes +21 -0
  407. package/built-in-skills/prismer-manim-video/PROVENANCE.md +7 -0
  408. package/built-in-skills/prismer-manim-video/README.md +23 -0
  409. package/built-in-skills/prismer-manim-video/SKILL.md +279 -0
  410. package/built-in-skills/prismer-manim-video/references/animation-design-thinking.md +161 -0
  411. package/built-in-skills/prismer-manim-video/references/animations.md +282 -0
  412. package/built-in-skills/prismer-manim-video/references/camera-and-3d.md +135 -0
  413. package/built-in-skills/prismer-manim-video/references/decorations.md +202 -0
  414. package/built-in-skills/prismer-manim-video/references/equations.md +216 -0
  415. package/built-in-skills/prismer-manim-video/references/graphs-and-data.md +163 -0
  416. package/built-in-skills/prismer-manim-video/references/mobjects.md +333 -0
  417. package/built-in-skills/prismer-manim-video/references/paper-explainer.md +255 -0
  418. package/built-in-skills/prismer-manim-video/references/production-quality.md +190 -0
  419. package/built-in-skills/prismer-manim-video/references/rendering.md +187 -0
  420. package/built-in-skills/prismer-manim-video/references/scene-planning.md +118 -0
  421. package/built-in-skills/prismer-manim-video/references/troubleshooting.md +135 -0
  422. package/built-in-skills/prismer-manim-video/references/updaters-and-trackers.md +260 -0
  423. package/built-in-skills/prismer-manim-video/references/visual-design.md +124 -0
  424. package/built-in-skills/prismer-manim-video/scripts/setup.sh +15 -0
  425. package/built-in-skills/prismer-maps/LICENSE +21 -0
  426. package/built-in-skills/prismer-maps/NOTICE.md +11 -0
  427. package/built-in-skills/prismer-maps/SKILL.md +240 -0
  428. package/built-in-skills/prismer-maps/scripts/maps_client.py +1324 -0
  429. package/built-in-skills/prismer-node-inspect-debugger/LICENSE +21 -0
  430. package/built-in-skills/prismer-node-inspect-debugger/NOTICE.md +17 -0
  431. package/built-in-skills/prismer-node-inspect-debugger/SKILL.md +347 -0
  432. package/built-in-skills/prismer-notion/LICENSE +21 -0
  433. package/built-in-skills/prismer-notion/NOTICE.md +11 -0
  434. package/built-in-skills/prismer-notion/SKILL.md +495 -0
  435. package/built-in-skills/prismer-notion/references/block-types.md +112 -0
  436. package/built-in-skills/prismer-obsidian/LICENSE +21 -0
  437. package/built-in-skills/prismer-obsidian/LICENSE.hermes +21 -0
  438. package/built-in-skills/prismer-obsidian/PROVENANCE.md +7 -0
  439. package/built-in-skills/prismer-obsidian/SKILL.md +80 -0
  440. package/built-in-skills/prismer-obsidian/provenance/category-DESCRIPTION.md +3 -0
  441. package/built-in-skills/prismer-obsidian/scripts/write_note.py +84 -0
  442. package/built-in-skills/prismer-p5js/LICENSE +21 -0
  443. package/built-in-skills/prismer-p5js/LICENSE.hermes +21 -0
  444. package/built-in-skills/prismer-p5js/PROVENANCE.md +7 -0
  445. package/built-in-skills/prismer-p5js/README.md +64 -0
  446. package/built-in-skills/prismer-p5js/SKILL.md +574 -0
  447. package/built-in-skills/prismer-p5js/references/animation.md +439 -0
  448. package/built-in-skills/prismer-p5js/references/color-systems.md +355 -0
  449. package/built-in-skills/prismer-p5js/references/core-api.md +410 -0
  450. package/built-in-skills/prismer-p5js/references/export-pipeline.md +534 -0
  451. package/built-in-skills/prismer-p5js/references/interaction.md +398 -0
  452. package/built-in-skills/prismer-p5js/references/shapes-and-geometry.md +300 -0
  453. package/built-in-skills/prismer-p5js/references/troubleshooting.md +532 -0
  454. package/built-in-skills/prismer-p5js/references/typography.md +302 -0
  455. package/built-in-skills/prismer-p5js/references/visual-effects.md +905 -0
  456. package/built-in-skills/prismer-p5js/references/webgl-and-3d.md +423 -0
  457. package/built-in-skills/prismer-p5js/scripts/export-frames.js +91 -0
  458. package/built-in-skills/prismer-p5js/scripts/render.sh +113 -0
  459. package/built-in-skills/prismer-p5js/scripts/serve.sh +25 -0
  460. package/built-in-skills/prismer-p5js/scripts/setup.sh +87 -0
  461. package/built-in-skills/prismer-p5js/templates/viewer.html +401 -0
  462. package/built-in-skills/prismer-popular-web-designs/LICENSE +21 -0
  463. package/built-in-skills/prismer-popular-web-designs/LICENSE.hermes +21 -0
  464. package/built-in-skills/prismer-popular-web-designs/LICENSE.origin +21 -0
  465. package/built-in-skills/prismer-popular-web-designs/PROVENANCE.md +7 -0
  466. package/built-in-skills/prismer-popular-web-designs/SKILL.md +218 -0
  467. package/built-in-skills/prismer-popular-web-designs/templates/airbnb.md +259 -0
  468. package/built-in-skills/prismer-popular-web-designs/templates/airtable.md +102 -0
  469. package/built-in-skills/prismer-popular-web-designs/templates/apple.md +326 -0
  470. package/built-in-skills/prismer-popular-web-designs/templates/bmw.md +193 -0
  471. package/built-in-skills/prismer-popular-web-designs/templates/cal.md +272 -0
  472. package/built-in-skills/prismer-popular-web-designs/templates/claude.md +325 -0
  473. package/built-in-skills/prismer-popular-web-designs/templates/clay.md +317 -0
  474. package/built-in-skills/prismer-popular-web-designs/templates/clickhouse.md +294 -0
  475. package/built-in-skills/prismer-popular-web-designs/templates/cohere.md +279 -0
  476. package/built-in-skills/prismer-popular-web-designs/templates/coinbase.md +142 -0
  477. package/built-in-skills/prismer-popular-web-designs/templates/composio.md +320 -0
  478. package/built-in-skills/prismer-popular-web-designs/templates/cursor.md +322 -0
  479. package/built-in-skills/prismer-popular-web-designs/templates/elevenlabs.md +278 -0
  480. package/built-in-skills/prismer-popular-web-designs/templates/expo.md +294 -0
  481. package/built-in-skills/prismer-popular-web-designs/templates/figma.md +233 -0
  482. package/built-in-skills/prismer-popular-web-designs/templates/framer.md +259 -0
  483. package/built-in-skills/prismer-popular-web-designs/templates/hashicorp.md +291 -0
  484. package/built-in-skills/prismer-popular-web-designs/templates/ibm.md +345 -0
  485. package/built-in-skills/prismer-popular-web-designs/templates/intercom.md +159 -0
  486. package/built-in-skills/prismer-popular-web-designs/templates/kraken.md +138 -0
  487. package/built-in-skills/prismer-popular-web-designs/templates/linear.app.md +380 -0
  488. package/built-in-skills/prismer-popular-web-designs/templates/lovable.md +311 -0
  489. package/built-in-skills/prismer-popular-web-designs/templates/minimax.md +270 -0
  490. package/built-in-skills/prismer-popular-web-designs/templates/mintlify.md +339 -0
  491. package/built-in-skills/prismer-popular-web-designs/templates/miro.md +121 -0
  492. package/built-in-skills/prismer-popular-web-designs/templates/mistral.ai.md +274 -0
  493. package/built-in-skills/prismer-popular-web-designs/templates/mongodb.md +279 -0
  494. package/built-in-skills/prismer-popular-web-designs/templates/notion.md +322 -0
  495. package/built-in-skills/prismer-popular-web-designs/templates/nvidia.md +306 -0
  496. package/built-in-skills/prismer-popular-web-designs/templates/ollama.md +280 -0
  497. package/built-in-skills/prismer-popular-web-designs/templates/opencode.ai.md +294 -0
  498. package/built-in-skills/prismer-popular-web-designs/templates/pinterest.md +243 -0
  499. package/built-in-skills/prismer-popular-web-designs/templates/posthog.md +269 -0
  500. package/built-in-skills/prismer-popular-web-designs/templates/raycast.md +281 -0
  501. package/built-in-skills/prismer-popular-web-designs/templates/replicate.md +274 -0
  502. package/built-in-skills/prismer-popular-web-designs/templates/resend.md +316 -0
  503. package/built-in-skills/prismer-popular-web-designs/templates/revolut.md +198 -0
  504. package/built-in-skills/prismer-popular-web-designs/templates/runwayml.md +257 -0
  505. package/built-in-skills/prismer-popular-web-designs/templates/sanity.md +370 -0
  506. package/built-in-skills/prismer-popular-web-designs/templates/sentry.md +275 -0
  507. package/built-in-skills/prismer-popular-web-designs/templates/spacex.md +207 -0
  508. package/built-in-skills/prismer-popular-web-designs/templates/spotify.md +259 -0
  509. package/built-in-skills/prismer-popular-web-designs/templates/stripe.md +335 -0
  510. package/built-in-skills/prismer-popular-web-designs/templates/supabase.md +268 -0
  511. package/built-in-skills/prismer-popular-web-designs/templates/superhuman.md +265 -0
  512. package/built-in-skills/prismer-popular-web-designs/templates/together.ai.md +276 -0
  513. package/built-in-skills/prismer-popular-web-designs/templates/uber.md +308 -0
  514. package/built-in-skills/prismer-popular-web-designs/templates/vercel.md +323 -0
  515. package/built-in-skills/prismer-popular-web-designs/templates/voltagent.md +336 -0
  516. package/built-in-skills/prismer-popular-web-designs/templates/warp.md +266 -0
  517. package/built-in-skills/prismer-popular-web-designs/templates/webflow.md +105 -0
  518. package/built-in-skills/prismer-popular-web-designs/templates/wise.md +186 -0
  519. package/built-in-skills/prismer-popular-web-designs/templates/x.ai.md +270 -0
  520. package/built-in-skills/prismer-popular-web-designs/templates/zapier.md +341 -0
  521. package/built-in-skills/prismer-product-price-monitor/LICENSE +21 -0
  522. package/built-in-skills/prismer-product-price-monitor/NOTICE.md +11 -0
  523. package/built-in-skills/prismer-product-price-monitor/SKILL.md +97 -0
  524. package/built-in-skills/prismer-product-price-monitor/scripts/watch_state.py +116 -0
  525. package/built-in-skills/prismer-python-debugpy/LICENSE +21 -0
  526. package/built-in-skills/prismer-python-debugpy/NOTICE.md +17 -0
  527. package/built-in-skills/prismer-python-debugpy/SKILL.md +377 -0
  528. package/built-in-skills/prismer-python-debugpy/scripts/dap_client.py +68 -0
  529. package/built-in-skills/prismer-songsee/LICENSE +21 -0
  530. package/built-in-skills/prismer-songsee/LICENSE.hermes +21 -0
  531. package/built-in-skills/prismer-songsee/PROVENANCE.md +7 -0
  532. package/built-in-skills/prismer-songsee/SKILL.md +91 -0
  533. package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE +21 -0
  534. package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE.hermes +21 -0
  535. package/built-in-skills/prismer-songwriting-and-ai-music/PROVENANCE.md +7 -0
  536. package/built-in-skills/prismer-songwriting-and-ai-music/SKILL.md +317 -0
  537. package/built-in-skills/prismer-spike/LICENSE +21 -0
  538. package/built-in-skills/prismer-spike/LICENSE.gsd +21 -0
  539. package/built-in-skills/prismer-spike/NOTICE.md +17 -0
  540. package/built-in-skills/prismer-spike/SKILL.md +212 -0
  541. package/built-in-skills/prismer-teams-meeting-pipeline/LICENSE +21 -0
  542. package/built-in-skills/prismer-teams-meeting-pipeline/NOTICE.md +11 -0
  543. package/built-in-skills/prismer-teams-meeting-pipeline/SKILL.md +156 -0
  544. package/built-in-skills/prismer-xurl/LICENSE +21 -0
  545. package/built-in-skills/prismer-xurl/LICENSE.hermes +21 -0
  546. package/built-in-skills/prismer-xurl/PROVENANCE.md +7 -0
  547. package/built-in-skills/prismer-xurl/SKILL.md +444 -0
  548. package/built-in-skills/prismer-xurl/provenance/category-DESCRIPTION.md +3 -0
  549. package/built-in-skills/prismer-youtube-content/LICENSE +21 -0
  550. package/built-in-skills/prismer-youtube-content/LICENSE.hermes +21 -0
  551. package/built-in-skills/prismer-youtube-content/PROVENANCE.md +7 -0
  552. package/built-in-skills/prismer-youtube-content/SKILL.md +86 -0
  553. package/built-in-skills/prismer-youtube-content/provenance/category-DESCRIPTION.md +3 -0
  554. package/built-in-skills/prismer-youtube-content/references/output-formats.md +56 -0
  555. package/built-in-skills/prismer-youtube-content/scripts/fetch_transcript.py +146 -0
  556. package/built-in-skills/proactivity/SKILL.md +84 -0
  557. package/built-in-skills/remotion/SKILL.md +431 -0
  558. package/built-in-skills/research-arxiv/LICENSE +21 -0
  559. package/built-in-skills/research-arxiv/NOTICE.md +4 -0
  560. package/built-in-skills/research-arxiv/SKILL.md +263 -0
  561. package/built-in-skills/research-arxiv/scripts/search_arxiv.py +111 -0
  562. package/built-in-skills/role-builder/SKILL.md +209 -0
  563. package/built-in-skills/role-builder/scripts/author-role.mjs +350 -0
  564. package/built-in-skills/role-builder/scripts/ingest-role.mjs +121 -0
  565. package/built-in-skills/role-builder/scripts/instantiate-and-run.mjs +304 -0
  566. package/built-in-skills/role-builder/scripts/operation-harness.mjs +269 -0
  567. package/built-in-skills/skill-creator/LICENSE.prismer +21 -0
  568. package/built-in-skills/skill-creator/NOTICE.md +18 -0
  569. package/built-in-skills/skill-creator/SKILL.md +182 -421
  570. package/built-in-skills/skill-creator/eval-viewer/generate_review.py +20 -31
  571. package/built-in-skills/skill-creator/eval-viewer/viewer.html +35 -23
  572. package/built-in-skills/skill-creator/references/external-library-import.md +110 -0
  573. package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/GUIDE.md +220 -0
  574. package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/LICENSE +21 -0
  575. package/built-in-skills/skill-creator/references/skill-authoring/GUIDE.md +134 -0
  576. package/built-in-skills/{skill-authoring/skill.json → skill-creator/references/skill-authoring/draft-contract.json} +3 -3
  577. package/built-in-skills/skill-creator/references/skill-builder/GUIDE.md +167 -0
  578. package/built-in-skills/skill-creator/references/skill-builder/scripts/ingest.mjs +93 -0
  579. package/built-in-skills/skill-creator/scripts/aggregate_benchmark.py +3 -2
  580. package/built-in-skills/skill-creator/scripts/import-library.mjs +498 -0
  581. package/built-in-skills/skill-creator/scripts/improve_description.py +14 -16
  582. package/built-in-skills/skill-creator/scripts/package_skill.py +16 -9
  583. package/built-in-skills/skill-creator/scripts/quick_validate.py +22 -5
  584. package/built-in-skills/skill-creator/scripts/run_eval.py +63 -144
  585. package/built-in-skills/skill-creator/scripts/run_loop.py +24 -16
  586. package/built-in-skills/slack-gif-creator/SKILL.md +20 -0
  587. package/built-in-skills/slack-gif-creator/core/gif_builder.py +13 -2
  588. package/built-in-skills/slack-gif-creator/core/validators.py +17 -7
  589. package/built-in-skills/tasks/SKILL.md +39 -24
  590. package/built-in-skills/tdd/LICENSE +21 -0
  591. package/built-in-skills/tdd/SKILL.md +117 -0
  592. package/built-in-skills/tdd/mocking.md +59 -0
  593. package/built-in-skills/tdd/refactoring.md +10 -0
  594. package/built-in-skills/tdd/references/test-driven-development/GUIDE.md +356 -0
  595. package/built-in-skills/tdd/references/test-driven-development/LICENSE +21 -0
  596. package/built-in-skills/tdd/references/test-driven-development/LICENSE.superpowers +21 -0
  597. package/built-in-skills/tdd/references/test-driven-development/NOTICE.md +37 -0
  598. package/built-in-skills/tdd/tests.md +61 -0
  599. package/built-in-skills/team/SKILL.md +3 -2
  600. package/built-in-skills/web-artifacts-builder/SKILL.md +4 -3
  601. package/built-in-skills/web-artifacts-builder/scripts/bundle-artifact.sh +9 -7
  602. package/built-in-skills/web-artifacts-builder/scripts/init-artifact.sh +28 -55
  603. package/built-in-skills/webapp-qa/LICENSE +21 -0
  604. package/built-in-skills/webapp-qa/NOTICE.md +37 -0
  605. package/built-in-skills/webapp-qa/SKILL.md +41 -0
  606. package/built-in-skills/webapp-qa/references/dogfood/GUIDE.md +161 -0
  607. package/built-in-skills/webapp-qa/references/issue-taxonomy.md +109 -0
  608. package/built-in-skills/webapp-qa/templates/dogfood-report-template.md +86 -0
  609. package/built-in-skills/webapp-testing/SKILL.md +10 -2
  610. package/built-in-skills/webapp-testing/examples/console_logging.py +10 -4
  611. package/built-in-skills/webapp-testing/examples/element_discovery.py +11 -4
  612. package/built-in-skills/webapp-testing/examples/static_html_automation.py +14 -9
  613. package/built-in-skills/webapp-testing/scripts/with_server.py +34 -10
  614. package/built-in-skills/wechat-pay/SKILL.md +59 -0
  615. package/built-in-skills/weekly-review/LICENSE +21 -0
  616. package/built-in-skills/weekly-review/NOTICE.md +21 -0
  617. package/built-in-skills/weekly-review/SKILL.md +49 -0
  618. package/components/eaas-pi-components.manifest.json +37 -0
  619. package/dist/cli.cjs +75799 -20210
  620. package/dist/cli.js +75900 -20248
  621. package/dist/index.cjs +76159 -20082
  622. package/dist/index.d.cts +4766 -766
  623. package/dist/index.d.ts +4766 -766
  624. package/dist/index.js +76040 -19960
  625. package/package.json +42 -6
  626. package/plugins/memory/prismer/__init__.py +1215 -0
  627. package/plugins/memory/prismer/plugin.yaml +8 -0
  628. package/plugins/memory/prismer/tool-schemas.generated.json +257 -0
  629. package/plugins/tools/prismer-recall/__init__.py +282 -0
  630. package/plugins/tools/prismer-recall/plugin.yaml +15 -0
  631. package/built-in-skills/memory-curation/SKILL.md +0 -135
  632. package/built-in-skills/skill-authoring/SKILL.md +0 -124
  633. package/built-in-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
@@ -0,0 +1,117 @@
1
+ ---
2
+ name: conversation-compaction
3
+ scope: common
4
+ metadata:
5
+ internal: true
6
+ excludeFromDefaultInstall: true
7
+ description: Produce the SESSION PROJECTION of memory for an aging conversation slice. Runs as a single background model call (mirroring the memory `extract` hook) with NO live memory tools — durable capture to memory is `extract`'s job. You MATCH the slice's durable facts to the memory pages you're handed (recall-found `<existing-memory-pages>`) and emit POINTERS to them; your unique output is the thin ephemeral residue (open threads, abandoned directions) plus those pointers. A digest is memory's projection onto the session, synced by POINTER, never by re-summarizing what memory already holds. Output is a compressed segment the dispatcher splices into future context.
8
+ ---
9
+
10
+ # Conversation Compaction — memory's session projection
11
+
12
+ You are producing the **session projection** of a slice of an aging conversation
13
+ (messages that scrolled past the recent verbatim window). The projection replaces the
14
+ raw slice in future agent context.
15
+
16
+ ## The model — sync by POINTER, not by re-summary
17
+
18
+ Durable knowledge lives in **memory** (the `memory` skill owns it). A session projection
19
+ does **not** re-summarize durable facts — it **points** at the memory pages that hold
20
+ them, NOT by you re-deriving what memory already knows.
21
+
22
+ > **How this runs (important):** you execute as a SINGLE model call inside the agent's
23
+ > daemon (mirroring the memory `extract` post-turn hook) — you have **no live memory
24
+ > tools** to browse/write. Durable capture to memory is the **`extract` hook's** job
25
+ > (it runs alongside you every turn). Your input carries the memory pages you need:
26
+ > `<existing-memory-pages>` (recall-found). You MATCH durable facts to those pages and
27
+ > emit POINTERS; you do not write memory yourself.
28
+
29
+ Your job over a slice is only:
30
+
31
+ ```
32
+ ① for each slice message:
33
+ durable + matches a provided page → emit a memoryRefs POINTER (path + note)
34
+ durable + NO page matches → inline into summary (degraded; extract will capture it)
35
+ ephemeral → carry THIN in the digest (ages out)
36
+ noise → DROP
37
+ ② emit — the thin ephemeral digest + POINTERS to every matched page
38
+ ```
39
+
40
+ ## Input you receive
41
+
42
+ - `slice`: the raw messages, oldest first, each `[msgId] @username (role): text`.
43
+ - `conversationType`: `group` | `direct`.
44
+ - `<existing-memory-pages>`: pages found by DEVICE-LOCAL recall over this slice that **may
45
+ already hold** durable facts from it (a fuzzy match, not an exact raw→page mapping).
46
+
47
+ ## Pointer-first rule (recall-fed)
48
+
49
+ You are given `<existing-memory-pages>` (pages recall thinks already hold durable facts from
50
+ this slice). For a durable fact in the slice that **matches an existing page**, emit a
51
+ `memoryRefs` pointer `{ path, note }` — do **not** restate it in `summary`. Only **inline** a
52
+ durable fact into `summary` (degraded) when **no** existing page matches it.
53
+
54
+ ## Flow
55
+
56
+ Triage each slice message:
57
+
58
+ - **Durable** ("would matter in a *different* conversation next week?") → does a page in
59
+ `<existing-memory-pages>` already hold it? **Yes** → emit a `memoryRefs` pointer (`path` +
60
+ a short `note`), do NOT restate it in `summary`. **No** → inline it into `summary`
61
+ (degraded); the `extract` hook captures it to memory separately and a later pass — once
62
+ recall finds that page — will pointer it.
63
+ - **Ephemeral** ("only matters to keep *this* thread coherent?") → thin digest line.
64
+ - **Noise** ("lose it, nothing changes?") → drop.
65
+
66
+ Then **compose** the segment output (below): the thin ephemeral residue + the pointer list
67
+ (pages you matched).
68
+
69
+ **Not a re-summary:** your unique work is (a) the ephemeral residue and (b) pointing durable
70
+ facts at their memory pages. Durable *capture* (writing pages) is the `extract` hook's job,
71
+ not yours.
72
+
73
+ ## Speaker attribution → into the memory page's provenance
74
+
75
+ For `group` slices, who decided / who objected IS content. Carry attribution into the
76
+ memory page (who decided, who dissented). Once it is in the page, you do NOT restate it
77
+ in the digest — the pointer resolves to the page.
78
+
79
+ ## Output shape
80
+
81
+ Return ONLY this JSON — no prose, no fences:
82
+
83
+ ```json
84
+ {
85
+ "summary": "<3-8 short lines: current thread state, referencing durable parts by memory:<path>; NOT a re-statement of the slice>",
86
+ "salientFacts": {
87
+ "memoryRefs": [ { "path": "decisions/vendor.pkf", "note": "vendor B (compliance); @ceo decided, @eng dissented" } ],
88
+ "openThreads": [ "awaiting @ceo sign-off on A4 vs Letter page size" ],
89
+ "abandonedDirections": [ "tried gpt-4o for compaction — too slow, dropped" ]
90
+ }
91
+ }
92
+ ```
93
+
94
+ - `memoryRefs` — one POINTER per matched page (`{ path, note }`).
95
+ - `openThreads` / `abandonedDirections` — the ephemeral residue only. Omit if empty.
96
+ - **No** `decisions` / `entities` / `preferences` / `commitments` fields — those are
97
+ durable, they live in `memoryRefs`, never inline.
98
+
99
+ **Size check:** the digest is the ephemeral residue + pointers, a fraction of the slice.
100
+ If `summary` reads like a retelling, you are duplicating memory — cut to thread-state.
101
+
102
+ ## Failure / degradation
103
+
104
+ - No matching pages (empty `<existing-memory-pages>`) → inline the durable facts into
105
+ `summary` (degraded) with empty `memoryRefs`. `extract` still captures them to memory, and
106
+ a later pass — once recall finds those pages — will pointer them. Never fail the compaction.
107
+ - Slice is pure noise → `{ "summary": "(no substantive content)", "salientFacts": {} }`.
108
+
109
+ ## Anti-patterns
110
+
111
+ - ❌ **Restating in the digest what lives in memory** — point to the page.
112
+ - ❌ **Re-implementing memory triage/authoring here** — delegate to the `memory` skill.
113
+ - ❌ **A faithful blow-by-blow summary** — you produce a projection, not a transcript.
114
+ - ❌ **Dropping attribution on a decision/objection** — it goes into the page's provenance.
115
+ - ❌ **Promoting ephemeral state to memory** (current open question, in-flight step) — that
116
+ stays in the thin digest and ages out.
117
+ - ❌ **Posting the digest as a chat message** — machinery; return the structured object only.
@@ -0,0 +1,427 @@
1
+ ---
2
+ name: council-creator
3
+ scope: common
4
+ description: >
5
+ Expert-council meeting protocol. Given a Brief + a persona cast (from
6
+ persona-generator), propose the council to the Team Manager, and once convened
7
+ FACILITATE it: each round post a NEW group message that @-mentions the
8
+ persona-agents by their ASCII usernameSlug, collect their independent replies,
9
+ stage-summarize, exchange memory, and settle into a disagreement map + report
10
+ + memory writeback + task drafts. Personas are REAL agents (role instances),
11
+ each speaking from its own session — you are the facilitator, NOT a puppeteer
12
+ playing five roles. The group stays resident for @persona follow-ups. This is
13
+ a PLAYBOOK the workspace orchestrator executes.
14
+ license: MIT
15
+ compatibility:
16
+ - prismer-sdk
17
+ - hermes
18
+ metadata:
19
+ category: council
20
+ disclaimerRequired: true
21
+ ---
22
+
23
+ # Council Creator
24
+
25
+ **How they speak together.** A **facilitation playbook** layered onto the
26
+ workspace orchestrator. There is **no "Council Agent"** — but you are **not** the
27
+ only execution unit either: each persona is a **real agent** (a role instance
28
+ provisioned at convene), with its own identity, dispatch, and LLM session. Your
29
+ job is to **facilitate** — set the agenda, @-mention personas, collect their
30
+ replies, summarize, exchange memory — **never** to speak for them. Load this
31
+ skill after `persona-generator` has produced a cast.
32
+
33
+ | Do | Do NOT |
34
+ | --- | --- |
35
+ | propose the council to the Team Manager (`--plan <planId>` + one sentence), then **stop and wait** | **Convene it yourself** — that is the Team Manager's one click, and no command exists for it |
36
+ | facilitate: each round post a NEW group message that **@-mentions personas by ASCII `usernameSlug`** | Speak a persona's words yourself — personas are real agents, they reply on their own |
37
+ | collect the personas' replies, stage-summarize, exchange memory | @-mention a persona by its Chinese `displayName` (silently drops → 0 dispatch) |
38
+ | settle: disagreement map + report + memory + task drafts | Generate persona definitions (persona-generator) |
39
+ | Keep the group resident; answer @persona follow-ups | Narrate status chatter into the group between rounds |
40
+ | Say plainly when the Brief does not stand | Chain persona↔persona relays (burns the hop budget — see hop rule) |
41
+
42
+ ## You execute this through the `prismer council` CLI + normal group messages
43
+
44
+ **The lifecycle commands are real: `plan`, `propose`, `finalize`.** A council
45
+ exists only when `plan`/`propose` have run and the Team Manager has convened; the
46
+ discussion itself is **normal group messages that @-mention the persona-agents**
47
+ (not a CLI command). Writing a document that *describes* a roundtable creates
48
+ nothing, and reporting it as done is a false claim of delivery. If you cannot get
49
+ past a phase, say what failed and why. Never substitute prose for the protocol.
50
+
51
+ **When to start:** the Team Manager does not ask for "a council" — he drops a deck, or says
52
+ "帮我找几个人聊聊这个 idea", or asks a question that plainly needs positions other
53
+ than his own. That is your cue to read the material, assemble the Brief, run
54
+ `persona-generator`, and **propose**. You start the flow; he only decides whether
55
+ to hold it.
56
+
57
+ ```
58
+ Phase A plan prismer council plan --file plan.json → planId
59
+ propose prismer council propose <ceoConvId> --plan <planId> --text "一句人话"
60
+ ↓ ⛔ YOU STOP HERE. The Team Manager clicks [好,开吧].
61
+ Phase B convene — no command exists. The Team Manager's click instantiates the persona-agents + group.
62
+ Phase C facilitate (you receive a "facilitate round N" task) → post ONE new group message
63
+ that @-mentions the personas by ASCII usernameSlug → each persona-agent
64
+ replies on its own session → you collect + summarize, then STOP.
65
+ Phase D settle (you receive a settle task) → prismer council finalize <convId> --file report.json
66
+ readback prismer council report <convId>
67
+ ```
68
+
69
+ `--workspace-id` defaults to `$PRISMER_WORKSPACE_ID`. Nested bodies come in as a
70
+ JSON file you write first (shapes below). Each command prints the endpoint's JSON
71
+ response; a nonzero exit means the phase did **not** happen.
72
+
73
+ ### The Team Manager gets exactly one decision — and it is not yours to take
74
+
75
+ Read this before anything else. **You cannot convene.** There is no
76
+ `council convene` command, on purpose. The whole flow gives the Team Manager one single
77
+ decision — *"好,开吧"* or *"先不用"* — and that click is what creates the group.
78
+ Your job in Phase A ends with `council propose`: the `planId` and one human
79
+ sentence, and then **you stop and wait**.
80
+
81
+ **You do NOT pass the cast.** The cloud fills the head-avatars preview on the
82
+ proposal bubble by reading the cast straight out of your plan draft
83
+ (`councilPlan.cast` — the same `PersonaDef[]` you gave `council plan`) and
84
+ projecting only the display-safe subset (never the per-turn `voice`). So all you
85
+ give `propose` is `--plan <planId>` + `--text "一句人话"` — say, in plain words,
86
+ *why these positions*. The cloud guarantees the component data; you cannot leave
87
+ the roster preview empty by forgetting a flag (that was the real e2e failure —
88
+ 28 §L1). The only variant is `--gap` (Brief did not stand — there is no cast to
89
+ show).
90
+
91
+ Do not "helpfully" push past this. Do not describe the roundtable you would have
92
+ held. Do not write the report early. A council the Team Manager never agreed to is not a
93
+ council, and a document describing an unheld discussion is a fabricated
94
+ deliverable — the exact thing this skill exists to make impossible.
95
+
96
+ What the Team Manager sees is a bubble in your conversation:
97
+
98
+ > 读完了。这件事牵涉几个很不一样的位置 —— 量产过来人、早期投资人、发动机工程师、
99
+ > 政府采购方,各自能看到你看不到的一块。要不要我请他们来聊聊?
100
+ >   [👤👤👤👤👤 5 位 ⌄]  **[好,开吧]** **[先不用]**
101
+
102
+ That sentence is yours to write (`--text`). It should say *why these positions*,
103
+ in plain language, from what you actually read. Never name internal machinery
104
+ (`lens`, `cast`, `Brief`, `persona`) to the Team Manager.
105
+
106
+ ### The Brief hard gate — and what to do when it fails
107
+
108
+ `plan` exits nonzero with `BRIEF_INSUFFICIENT` + `gaps[]` when the Brief has no
109
+ readable material or no grounded facts.
110
+
111
+ **A failed Brief means you never propose a meeting at all.** You do not open a
112
+ room, you do not write a report, and you certainly do not show the Team Manager a plan and
113
+ then tell him it failed. You say what is missing and ask for it:
114
+
115
+ ```
116
+ prismer council propose <ceoConvId> --gap \
117
+ --text "读了你给的材料,但里面没有任何关于单位成本的数据 —— 缺这个的话,请谁来都只能猜。" \
118
+ --gap-item "近 12 个月的单位成本曲线"
119
+ ```
120
+
121
+ The gate is in Phase A, before the proposal — never inside a card the Team Manager has to
122
+ read to discover the failure.
123
+
124
+ `plan.json` (Phase A):
125
+
126
+ ```json
127
+ {
128
+ "question": "2026 年商业航天的关键变量是什么?",
129
+ "brief": {
130
+ "summary": "…",
131
+ "facts": [{ "text": "Starlink 2025 年收入 114 亿美元", "sourceUrl": "https://…" }],
132
+ "gaps": ["中国民营发射成本无公开数据"]
133
+ },
134
+ "cast": [ /* PersonaDef[] — produced by persona-generator, passed through verbatim */ ],
135
+ "agenda": ["可复用火箭", "卫星星座", "政策监管", "资本市场"],
136
+ "assetIds": ["<im_assets id of the material you ingested>"]
137
+ }
138
+ ```
139
+
140
+ Both hard-gate legs are load-bearing: `assetIds` must point at **real ingested
141
+ assets** (use your ingest/asset skills first — a path on disk is not an asset),
142
+ and `brief.facts[].text` must carry grounded facts. Neither can be faked past
143
+ the gate.
144
+
145
+ ## Convene receipt (Team Manager UI only)
146
+
147
+ This is not an agent command. After the Team Manager clicks the proposal UI,
148
+ the server uses the confirmed roster and performs these steps. Wait for its
149
+ receipt; never call an internal endpoint to bypass the UI confirmation:
150
+
151
+ 1. Creates the group shell (real members: Team Manager + you + optional extras);
152
+ `conversation.metadata.council = { sessionId, planId, question, agenda,
153
+ materialRefs, personaUserIds, reportRefs }` is the council marker — the
154
+ conversation `type` stays `'group'`.
155
+ 2. Instantiates each persona as a **real agent** (role instance) in **one
156
+ transaction**: `createAgentForWorkspace` (unbound agent) + `applyToAgent`
157
+ (persona role template + persona skill + profile snapshot). Its username is
158
+ `<usernameSlug>-<conv8>` (ASCII, deduped; non-ascii or `prismer-` reserved
159
+ slugs are rejected — a persona MUST be reachable by an ASCII @-handle). Your
160
+ generated `voice` / lens is baked into the role instance so it speaks
161
+ in-character from its **own** session. There is **no** `backingAgentId` and
162
+ **no** dispatch redirect — the persona is a standalone agent.
163
+ 3. Seats everyone; on any failure the transaction rolls back and the group
164
+ shell is removed — no orphan personas (负控 N9).
165
+ 4. Posts the Brief as the opening message (sender = you,
166
+ `metadata.kind='council_brief'`).
167
+
168
+ The response carries `conversationId` + `personas[]` + a
169
+ `prismer://conversation/<id>` link. A plan can be convened **once** — a second
170
+ attempt gets `404 PLAN_NOT_FOUND`.
171
+
172
+ ## facilitate — you post rounds, the persona-agents reply themselves
173
+
174
+ **Personas are real agents now — you do NOT produce their words.** Each round you
175
+ post **one** new group message that @-mentions the personas; the platform
176
+ dispatches each one, and each persona-agent replies **from its own session**
177
+ (mention fan-out + per-agent dispatch + the workspace admission queue serialize
178
+ them). The 158% single-session blowup is structurally gone — five sessions, not
179
+ one. This replaces the old `council turns` serial-drive: there is no `turns.json`,
180
+ you never speak as a persona.
181
+
182
+ ### 🚨 @-mention personas by their ASCII `usernameSlug` — NEVER by `displayName`
183
+
184
+ **This is the single highest-risk rule in this skill.** Break it and you silently
185
+ reproduce the "0/5 personas spoke" failure this redesign exists to kill. The
186
+ mention router (`agent-dispatcher.ts` `MENTION_RE = /@([A-Za-z0-9][A-Za-z0-9._-]{0,63})/`)
187
+ is **strict ASCII**. A bare `@伊隆·马斯克` (the Chinese `displayName`) matches
188
+ **nothing** → the mention is silently dropped → that persona is never dispatched
189
+ → it never speaks.
190
+
191
+ - ✅ Always `@<usernameSlug>` — e.g. `@elon-musk-cmrm3cey`. The convene response
192
+ gives you each persona's ASCII `usernameSlug`; use it **verbatim**.
193
+ - ❌ Never `@<displayName>` (Chinese or any non-ASCII). `displayName` is for the
194
+ UI card only; it does **not** route.
195
+ - If you only have a persona's displayName, look up its `usernameSlug` from the
196
+ convene response / roster **before** composing the message — do not guess.
197
+
198
+ ### Semantic-clarification gate — run this FIRST, before opening a round
199
+
200
+ You are the council's facilitator, the **语义把关人**. Before you open a round,
201
+ check whether the Team Manager's input introduces a concept / term / acronym that the
202
+ **Council Brief and the transcript so far do not define**. If such a term exists
203
+ **and is genuinely ambiguous** (no shared definition, could mean more than one
204
+ thing), do **not** @-mention the personas and do **not** let them invent a
205
+ definition and argue on top of the guess. Instead:
206
+
207
+ 1. Post **exactly ONE clarification message into the group AS YOURSELF** — a
208
+ normal group message, **without** any persona @-mention. Name the undefined
209
+ term and ask the Team Manager to define it.
210
+ 2. Then **finish the task and STOP**, waiting for the Team Manager's answer. His reply
211
+ arrives as the next "facilitate round N" task, and you open the round on the
212
+ **corrected** meaning.
213
+
214
+ Only when every concept in the Team Manager's input is already clearly defined — present in
215
+ the Brief, or a well-known term — do you open the round. 宁可多问一句,也不在错误
216
+ 语义上让 5 个 persona 空转 —— refusing to discuss on a wrong semantic footing is
217
+ the facilitator's job, exactly as the 03 §0 gatekeeper role prescribes.
218
+
219
+ > **Example (FDE):** the Team Manager writes *"关于 FDE 大家有什么看法"* but the Brief never
220
+ > defines "FDE". Do **not** open a round where personas debate a made-up
221
+ > definition. Instead send one message as yourself — *"你提到的 FDE,Brief 里没有
222
+ > 定义,我需要先明确一下 —— 你指的是 Forward-Deployed Engineer 还是别的?给个说法
223
+ > 我再往下推"* — and stop. Only after the Team Manager defines FDE do you open the round.
224
+
225
+ ### Opening a round (facilitator-hub — new message per round = hop reset)
226
+
227
+ When you receive a "facilitate round N" task and the semantics are clear, post
228
+ **one** new group message as yourself. It names the round's focus and @-mentions
229
+ the personas who should weigh in, **by ASCII `usernameSlug`**:
230
+
231
+ ```
232
+ @elon-musk-cmrm3cey @zhang-changwu-cmrm3cey 这一轮请各自从你的位置说说
233
+ 「一子级复用的真实成本曲线」—— 你能看到别人看不到的那块。
234
+ ```
235
+
236
+ Then **finish the task and STOP.** Each persona-agent is dispatched by the mention
237
+ fan-out and replies on its own session, in its own baked-in voice. You do not loop
238
+ waiting, you do not speak for anyone, you do not post round N+1 yourself.
239
+
240
+ **Why a NEW message each round (facilitator-hub):** a fresh orchestrator message
241
+ **resets the relay chain**, so persona replies land at `hopCount ≤ 2` and never
242
+ approach the `MAX_AGENT_HOPS` cap. If instead personas @-mention each other in a
243
+ relay, the chain marches toward the hop cap and later personas get silently
244
+ truncated (see the hop rule in Boundaries). Facilitator-hub keeps every persona
245
+ exactly one hop from you.
246
+
247
+ ### Round advancement is the Team Manager's move — not yours
248
+
249
+ The next round is triggered by **the Team Manager sending a message in the group**. His
250
+ message *is* the "go to the next round" signal; you will receive a fresh
251
+ "facilitate round N+1" task whose prompt carries his message — fold it into that
252
+ round's @-mention message. You never advance rounds on your own (28 §4.2).
253
+
254
+ Default shape across rounds (adapt to the Team Manager's ask):
255
+
256
+ | Round | Content |
257
+ | --- | --- |
258
+ | 1 | @ all personas — each gives its independent view from its position |
259
+ | 2 | Cross-examination — @ them again to point at what the others miss / the weakest link |
260
+ | later | Steer toward recommendations, risks, next experiments as the Team Manager's messages direct |
261
+
262
+ - Personas respect the **N8 boundary**: facts come only from the Brief. A persona
263
+ asked about a company fact the Brief lacks says "Brief 未提供" or marks
264
+ `needsVerification` — the persona-role's baked `voice` already encodes this, you
265
+ do not police each reply.
266
+ - **Steering:** if a round turns into mutual flattery, in the NEXT round @ the
267
+ personas and ask them to point at the weakest link in each other's argument.
268
+ Disagreement is welcomed when it emerges; never manufactured.
269
+
270
+ Between rounds your only in-group messages are: the round-opening @-mention, the
271
+ one semantic-clarification question when a term is undefined, and — at settle —
272
+ your disagreement summary. No status chatter ("driving round 1", "posting now").
273
+
274
+ ## settle — `prismer council finalize <conversationId> --file report.json`
275
+
276
+ **Settle is triggered by the Team Manager clicking「快捷总结」**, which dispatches you a
277
+ settle task — there is no user-input form and the Team Manager never writes the
278
+ conclusions. **You** produce the disagreement map + report + memory + task
279
+ drafts from the transcript when that task arrives (28 §4.2 / B2). Do not wait for
280
+ the Team Manager to fill anything in.
281
+
282
+ Finalize is **structured, not prose**. Alongside the markdown `report`, you
283
+ **MUST** emit three machine-consumable arrays — `claims[]`, `gaps[]`,
284
+ `disagreements[]` — so the Team Manager (and downstream oracles) can trace every
285
+ conclusion back to real material and see, at a glance, what the council could
286
+ **not** answer. A report that is only prose has no traceable grounding and is a
287
+ failed settle.
288
+
289
+ Write `report.json`, then run `prismer council finalize <conversationId> --file report.json`:
290
+
291
+ ```jsonc
292
+ {
293
+ "report": "# Council report …", // markdown Team Manager brief (or reportAssetId)
294
+ "claims": [ // REQUIRED — one entry per factual conclusion
295
+ {
296
+ "text": "该市场 2024 年规模约 X 亿,年增 Y%",
297
+ "sourceRefs": ["<im_assets id>", "<memory-page id>"], // the material this stands on
298
+ "needsVerification": false // true ⇔ NOT confirmed by any material
299
+ },
300
+ {
301
+ "text": "我们 Q3 毛利率能否撑住 —— 材料未提供",
302
+ "sourceRefs": [], // ← empty: nothing grounds it
303
+ "needsVerification": true // ← honest "no data", NOT a made-up number
304
+ }
305
+ ],
306
+ "gaps": [ // REQUIRED — fact hooks the materials do NOT answer
307
+ "档案未包含毛利率 / 单位经济模型",
308
+ "缺少目标市场的监管准入清单"
309
+ ],
310
+ "disagreements": [ // REQUIRED — where personas genuinely diverge
311
+ {
312
+ "positions": ["先做减法验证 PMF", "先融资抢占窗口"],
313
+ "personaIds": ["<persona imUserId A>", "<persona imUserId B>"] // ≥2 distinct
314
+ }
315
+ ]
316
+ }
317
+ ```
318
+
319
+ **Hard rules for `claims[]` (this is the N8 anti-fabrication contract):**
320
+
321
+ - Every claim that asserts a **fact** carries `sourceRefs` pointing at the
322
+ **real** `im_assets` / memory-page id it came from. The cloud resolves each
323
+ ref on read-back (`GET /report` → `sourceRefResolution`); a ref that does not
324
+ resolve is a **dangling / fabricated** reference and will be caught.
325
+ - A fact the Brief/materials do **not** contain → `needsVerification: true`
326
+ **and** `sourceRefs: []`, **and** the missing fact is also listed in `gaps[]`.
327
+ **Never** emit a specific number with a `sourceRefs` that points to a ref
328
+ which does not contain it — inventing a citation is worse than saying "缺数据".
329
+ - `disagreements[].positions` needs **≥2** stances and `personaIds` needs **≥2
330
+ distinct** personas — a disagreement of one is not a disagreement.
331
+
332
+ The cloud normalizes/clamps these arrays and persists them onto the council
333
+ marker's `reportRef` entry (`conversation.metadata.council.reportRefs[]`) and
334
+ mirrors them onto the report message metadata (`metadata.councilReport`). Pass
335
+ the markdown `report` (lands as a message, `metadata.kind='council_report'`) or
336
+ upload an asset first and pass `reportAssetId`. An oversized structured payload
337
+ (> 64 KB) is rejected `422 STRUCTURED_REPORT_TOO_LARGE` **before** any report
338
+ message is created.
339
+
340
+ 1. **Disagreement map** — emit `disagreements[]` above; the markdown report
341
+ should narrate the same divergences for human reading.
342
+ 2. **Report** — a concise Team Manager brief (markdown) as `report`, plus the structured
343
+ `claims`/`gaps` above. The council marker gets `reportRefs` + `settledAt`.
344
+ 3. **Memory writeback — call the existing `memory` skill, never reinvent.**
345
+ Write `decision` / `company` / `preference` / `open_questions` entries;
346
+ every entry carries `source = { councilSessionId, messageRefs[],
347
+ fileRefs[], insightRefs[] }` + `confidence` + `needsVerification`, and is
348
+ typed `fact | hypothesis | preference | decision`. Echo the resulting refs
349
+ back through `memoryRefs`.
350
+ - **Visibility (E4).** Pages that capture the council's own deliberation
351
+ context — a persona's stance, a roundtable's internal working notes —
352
+ pass `visibility = council:<councilId>` on `memory_write` (**you**, the
353
+ orchestrator, facilitate and own the council, so you may write this
354
+ scope — the cloud grants the `council:` prefix to the orchestrator caller;
355
+ D7). The **settled cross-role consensus** (the Team Manager-facing decision the
356
+ whole council agreed on) stays the default `workspace` scope — it is
357
+ durable company knowledge, not council-private (D3). When in doubt, prefer
358
+ `workspace`.
359
+ 4. **Task drafts — call the existing `tasks` skill** for research / validation
360
+ / member-data requests / experiments that surfaced. Echo through
361
+ `taskDrafts`.
362
+ 5. **The group stays resident** — finalize never closes it. Only the Team Manager
363
+ deletes the group (which deactivates the personas: `banned=true`, rows and
364
+ history preserved).
365
+ 6. Optional: propose promoting an exceptional cast to a `persona-pack` skill.
366
+
367
+ ## Resident state — Team Manager @persona follow-ups
368
+
369
+ After settling, the Team Manager can `@<persona-usernameSlug>` in the group at any time.
370
+ Because the persona is a **real agent**, that mention is dispatched **straight to
371
+ the persona-agent** — it answers in its own voice, from its own session. You do
372
+ NOT intercept or answer for it; there is no backing redirect. Your only role in
373
+ resident state is facilitation if the Team Manager asks for another round. (The same
374
+ ASCII-slug rule applies — the Team Manager's UI @-picker inserts the `usernameSlug`, never
375
+ the `displayName`, and a hand-typed Chinese `@displayName` would not route.)
376
+
377
+ ## Boundaries (hard)
378
+
379
+ - **No persona generation here.** Roster problems go back to
380
+ persona-generator via a new `/plan`.
381
+ - **Facilitate, don't puppeteer.** You never speak a persona's words; personas
382
+ are real agents that reply on their own sessions. Your messages are the agenda,
383
+ the @-mentions, the stage summaries — nothing more.
384
+ - **@ ASCII `usernameSlug`, never `displayName`** — the strict-ASCII mention
385
+ router drops a Chinese `@displayName` silently (0 dispatch). Single
386
+ highest-risk rule in this skill.
387
+ - **Hop budget (facilitator-hub).** Default: one new message per round, personas
388
+ reply to you (hop ≤ 2). Do NOT build persona↔persona relay chains — they march
389
+ toward `MAX_AGENT_HOPS` and later personas get silently truncated. Serial
390
+ ordering is provided by the workspace admission queue, not by you.
391
+ - **Cloud-zero-LLM:** every LLM call of the council flow happens in agent
392
+ runtimes (yours + each persona-agent's); the `/councils/*` endpoints only
393
+ persist and route.
394
+
395
+ ## Configuration
396
+
397
+ **N/A.** This skill declares no `config:` block — the protocol consumes
398
+ existing platform endpoints with your ambient credentials; there are no
399
+ user-bindable keys (product204/09 boundary ruling, CONFLICT-7).
400
+
401
+ ## Anti-patterns
402
+
403
+ - ❌ Convening without a passed plan (or "retrying" a 422 by thinning the
404
+ Brief).
405
+ - ❌ `propose` without `--plan <planId>` — with no plan the cloud has no cast to
406
+ project onto the bubble, and there is nothing to convene (28 §L1).
407
+ - ❌ **@-mentioning a persona by its Chinese `displayName`** — the mention router
408
+ is strict ASCII, so it silently drops → 0 dispatch → the exact "0/5 personas
409
+ spoke" failure this redesign exists to kill. Always `@<usernameSlug>`.
410
+ - ❌ Speaking a persona's words yourself (a normal message signed as you, or
411
+ faking a roundtable) — personas are real agents; they speak for themselves.
412
+ - ❌ Chaining personas into persona↔persona relays to drive discussion (burns the
413
+ hop budget, later personas get truncated). Post a new message per round;
414
+ personas reply to you.
415
+ - ❌ Narrating status chatter into the group between rounds ("driving round 1",
416
+ "posting now").
417
+ - ❌ Looping yourself into round N+1 — the Team Manager's next message advances the round.
418
+ - ❌ Writing the report only into chat prose without finalize (no
419
+ `reportRefs`, `GET /report` stays empty).
420
+ - ❌ Finalizing with only markdown `report` and no `claims[]` / `gaps[]` /
421
+ `disagreements[]` — the report is then ungrounded and untraceable.
422
+ - ❌ A claim with a specific fact but empty/dangling `sourceRefs` and
423
+ `needsVerification:false` — that is a fabricated fact (N8). Unknown → mark
424
+ `needsVerification:true`, `sourceRefs:[]`, and add it to `gaps[]`.
425
+ - ❌ Memory entries without `source` / `confidence` / `needsVerification`, or
426
+ untyped (must be `fact | hypothesis | preference | decision`).
427
+ - ❌ Closing or archiving the group at settle.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Matt Pocock
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.