dsh-plugin-t-expert 0.4.26 → 0.4.36

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 (2222) hide show
  1. package/CHANGELOG.md +244 -0
  2. package/README.md +2 -2
  3. package/THIRD-PARTY-NOTICES +7 -2
  4. package/data/experts/academic/family-education-ma/.codebuddy-plugin/plugin.json +67 -0
  5. package/data/experts/academic/family-education-ma/.downloaded_at +1 -0
  6. package/data/experts/academic/family-education-ma/.imported-from-workbuddy +7 -0
  7. package/data/experts/academic/family-education-ma/persona.md +183 -0
  8. package/data/experts/academic/ket-prep-team/.codebuddy-plugin/plugin.json +113 -0
  9. package/data/experts/academic/ket-prep-team/.downloaded_at +1 -0
  10. package/data/experts/academic/ket-prep-team/.imported-from-workbuddy +7 -0
  11. package/data/experts/academic/ket-prep-team/README.md +71 -0
  12. package/data/experts/academic/ket-prep-team/agents/ket-foundation-builder.md +42 -0
  13. package/data/experts/academic/ket-prep-team/agents/ket-input-master.md +44 -0
  14. package/data/experts/academic/ket-prep-team/agents/ket-output-coach.md +46 -0
  15. package/data/experts/academic/ket-prep-team/agents/ket-prep-team-team-lead.md +96 -0
  16. package/data/experts/academic/ket-prep-team/agents/ket-strategist.md +40 -0
  17. package/data/experts/academic/ket-prep-team/agents/ket-tactician.md +45 -0
  18. package/data/experts/academic/ket-prep-team/persona.md +257 -0
  19. package/data/experts/academic/ket-prep-team/settings.json +1 -0
  20. package/data/experts/academic/liuxue-yanxue-expert/.codebuddy-plugin/plugin.json +260 -0
  21. package/data/experts/academic/liuxue-yanxue-expert/.downloaded_at +1 -0
  22. package/data/experts/academic/liuxue-yanxue-expert/.imported-from-workbuddy +7 -0
  23. package/data/experts/academic/liuxue-yanxue-expert/PRIVACY.md +7 -0
  24. package/data/experts/academic/liuxue-yanxue-expert/README.md +99 -0
  25. package/data/experts/academic/liuxue-yanxue-expert/SECURITY.md +12 -0
  26. package/data/experts/academic/liuxue-yanxue-expert/TERMS.md +7 -0
  27. package/data/experts/academic/liuxue-yanxue-expert/TESTING.md +12 -0
  28. package/data/experts/academic/liuxue-yanxue-expert/agents/liuxue-yanxue-expert.md +203 -0
  29. package/data/experts/academic/liuxue-yanxue-expert/contracts/first-value-contract.json +55 -0
  30. package/data/experts/academic/liuxue-yanxue-expert/contracts/liuxue-yanxue-operating-contract.json +172 -0
  31. package/data/experts/academic/liuxue-yanxue-expert/contracts/no-connector-action-contract.json +126 -0
  32. package/data/experts/academic/liuxue-yanxue-expert/contracts/review-orchestration-contract.json +27 -0
  33. package/data/experts/academic/liuxue-yanxue-expert/contracts/service-forward-fields.json +167 -0
  34. package/data/experts/academic/liuxue-yanxue-expert/contracts/service-side-closure-report.schema.json +277 -0
  35. package/data/experts/academic/liuxue-yanxue-expert/marketplace-entry.json +26 -0
  36. package/data/experts/academic/liuxue-yanxue-expert/persona.md +196 -0
  37. package/data/experts/academic/liuxue-yanxue-expert/references/first-value-contract.md +37 -0
  38. package/data/experts/academic/liuxue-yanxue-expert/references/regression-dialogues.md +31 -0
  39. package/data/experts/academic/liuxue-yanxue-expert/references/review-boundary.md +20 -0
  40. package/data/experts/academic/liuxue-yanxue-expert/references/scenario-fixtures.md +31 -0
  41. package/data/experts/academic/liuxue-yanxue-expert/scene-pack.json +209 -0
  42. package/data/experts/academic/liuxue-yanxue-expert/ship-manifest.json +88 -0
  43. package/data/experts/academic/study-fortune-compass/.codebuddy-plugin/plugin.json +71 -0
  44. package/data/experts/academic/study-fortune-compass/.downloaded_at +1 -0
  45. package/data/experts/academic/study-fortune-compass/.imported-from-workbuddy +7 -0
  46. package/data/experts/academic/study-fortune-compass/README.md +51 -0
  47. package/data/experts/academic/study-fortune-compass/persona.md +136 -0
  48. package/data/experts/company/campus-event-navigator/.codebuddy-plugin/plugin.json +64 -0
  49. package/data/experts/company/campus-event-navigator/.downloaded_at +1 -0
  50. package/data/experts/company/campus-event-navigator/.imported-from-workbuddy +7 -0
  51. package/data/experts/company/campus-event-navigator/README.md +67 -0
  52. package/data/experts/company/campus-event-navigator/agents/campus-event-navigator.md +81 -0
  53. package/data/experts/company/campus-event-navigator/persona.md +77 -0
  54. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/SKILL.md +138 -0
  55. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/assets/event-workspace-template.md +97 -0
  56. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/references/campus-event-templates.md +189 -0
  57. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/references/campus-safety-and-privacy.md +83 -0
  58. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/references/design-sources.md +31 -0
  59. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/references/school-rule-verification.md +49 -0
  60. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/scripts/event_metrics.py +258 -0
  61. package/data/experts/company/campus-event-navigator/skills/campus-event-playbook/tests/test_event_metrics.py +96 -0
  62. package/data/experts/company/fortune-master/.codebuddy-plugin/plugin.json +53 -0
  63. package/data/experts/company/fortune-master/.downloaded_at +1 -0
  64. package/data/experts/company/fortune-master/.imported-from-workbuddy +7 -0
  65. package/data/experts/company/fortune-master/README.md +60 -0
  66. package/data/experts/company/fortune-master/persona.md +55 -0
  67. package/data/experts/company/gaokao-advisor/.codebuddy-plugin/plugin.json +67 -0
  68. package/data/experts/company/gaokao-advisor/.downloaded_at +1 -0
  69. package/data/experts/company/gaokao-advisor/.imported-from-workbuddy +7 -0
  70. package/data/experts/company/gaokao-advisor/README.md +35 -0
  71. package/data/experts/company/gaokao-advisor/persona.md +264 -0
  72. package/data/experts/company/multi-cloud-expert/.codebuddy-plugin/plugin.json +61 -0
  73. package/data/experts/company/multi-cloud-expert/.downloaded_at +1 -0
  74. package/data/experts/company/multi-cloud-expert/.imported-from-workbuddy +7 -0
  75. package/data/experts/company/multi-cloud-expert/README.md +35 -0
  76. package/data/experts/company/multi-cloud-expert/agents/multi-cloud-expert.md +225 -0
  77. package/data/experts/company/multi-cloud-expert/persona.md +222 -0
  78. package/data/experts/company/multi-cloud-management-expert/.codebuddy-plugin/plugin.json +64 -0
  79. package/data/experts/company/multi-cloud-management-expert/.downloaded_at +1 -0
  80. package/data/experts/company/multi-cloud-management-expert/.imported-from-workbuddy +7 -0
  81. package/data/experts/company/multi-cloud-management-expert/README.md +54 -0
  82. package/data/experts/company/multi-cloud-management-expert/persona.md +81 -0
  83. package/data/experts/company/opc-team/.codebuddy-plugin/plugin.json +142 -0
  84. package/data/experts/company/opc-team/.downloaded_at +1 -0
  85. package/data/experts/company/opc-team/.imported-from-workbuddy +7 -0
  86. package/data/experts/company/opc-team/README.md +65 -0
  87. package/data/experts/company/opc-team/persona.md +512 -0
  88. package/data/experts/company/opc-team/settings.json +3 -0
  89. package/data/experts/company/paper-topic-selection/.codebuddy-plugin/plugin.json +132 -0
  90. package/data/experts/company/paper-topic-selection/.downloaded_at +1 -0
  91. package/data/experts/company/paper-topic-selection/.imported-from-workbuddy +7 -0
  92. package/data/experts/company/paper-topic-selection/README.md +55 -0
  93. package/data/experts/company/paper-topic-selection/TEAM.md +376 -0
  94. package/data/experts/company/paper-topic-selection/persona.md +1005 -0
  95. package/data/experts/company/paper-topic-selection/settings.json +3 -0
  96. package/data/experts/company/tanyuan-cultural-heritage-expert/.codebuddy-plugin/plugin.json +37 -0
  97. package/data/experts/company/tanyuan-cultural-heritage-expert/.downloaded_at +1 -0
  98. package/data/experts/company/tanyuan-cultural-heritage-expert/.imported-from-workbuddy +7 -0
  99. package/data/experts/company/tanyuan-cultural-heritage-expert/README.md +164 -0
  100. package/data/experts/company/tanyuan-cultural-heritage-expert/persona.md +316 -0
  101. package/data/experts/design/adort-design-expert/.codebuddy-plugin/plugin.json +8 -0
  102. package/data/experts/design/adort-design-expert/.downloaded_at +1 -0
  103. package/data/experts/design/adort-design-expert/.imported-from-workbuddy +7 -0
  104. package/data/experts/design/adort-design-expert/agents/adort-design-expert.md +74 -0
  105. package/data/experts/design/adort-design-expert/persona.md +75 -0
  106. package/data/experts/design/ai-image-prompt-engineer/.codebuddy-plugin/plugin.json +31 -0
  107. package/data/experts/design/ai-image-prompt-engineer/.downloaded_at +1 -0
  108. package/data/experts/design/ai-image-prompt-engineer/.imported-from-workbuddy +7 -0
  109. package/data/experts/design/ai-image-prompt-engineer/README.md +35 -0
  110. package/data/experts/design/ai-image-prompt-engineer/persona.md +243 -0
  111. package/data/experts/design/ask-liuxiaopai/.codebuddy-plugin/plugin.json +39 -0
  112. package/data/experts/design/ask-liuxiaopai/.downloaded_at +1 -0
  113. package/data/experts/design/ask-liuxiaopai/.imported-from-workbuddy +7 -0
  114. package/data/experts/design/ask-liuxiaopai/persona.md +32 -0
  115. package/data/experts/design/cloud-requirement-expert/.codebuddy-plugin/plugin.json +67 -0
  116. package/data/experts/design/cloud-requirement-expert/.downloaded_at +1 -0
  117. package/data/experts/design/cloud-requirement-expert/.imported-from-workbuddy +7 -0
  118. package/data/experts/design/cloud-requirement-expert/.mcp.json +22 -0
  119. package/data/experts/design/cloud-requirement-expert/README.md +52 -0
  120. package/data/experts/design/cloud-requirement-expert/persona.md +88 -0
  121. package/data/experts/design/delightful-experience-designer/.codebuddy-plugin/plugin.json +30 -0
  122. package/data/experts/design/delightful-experience-designer/.downloaded_at +1 -0
  123. package/data/experts/design/delightful-experience-designer/.imported-from-workbuddy +7 -0
  124. package/data/experts/design/delightful-experience-designer/README.md +69 -0
  125. package/data/experts/design/delightful-experience-designer/agents/delightful-experience-designer.md +445 -0
  126. package/data/experts/design/delightful-experience-designer/license/delightful-experience-designer.LICENSE +21 -0
  127. package/data/experts/design/delightful-experience-designer/persona.md +446 -0
  128. package/data/experts/design/design-engine/.codebuddy-plugin/plugin.json +97 -0
  129. package/data/experts/design/design-engine/.downloaded_at +1 -0
  130. package/data/experts/design/design-engine/.imported-from-workbuddy +7 -0
  131. package/data/experts/design/design-engine/README.md +66 -0
  132. package/data/experts/design/design-engine/persona.md +650 -0
  133. package/data/experts/design/design-engine/settings.json +3 -0
  134. package/data/experts/design/design-md-architect/.codebuddy-plugin/plugin.json +31 -0
  135. package/data/experts/design/design-md-architect/.downloaded_at +1 -0
  136. package/data/experts/design/design-md-architect/.imported-from-workbuddy +7 -0
  137. package/data/experts/design/design-md-architect/README.md +29 -0
  138. package/data/experts/design/design-md-architect/persona.md +243 -0
  139. package/data/experts/design/design-prototype-expert/.codebuddy-plugin/plugin.json +73 -0
  140. package/data/experts/design/design-prototype-expert/.downloaded_at +1 -0
  141. package/data/experts/design/design-prototype-expert/.imported-from-workbuddy +7 -0
  142. package/data/experts/design/design-prototype-expert/README.md +51 -0
  143. package/data/experts/design/design-prototype-expert/persona.md +133 -0
  144. package/data/experts/design/design-to-code/.codebuddy-plugin/plugin.json +34 -0
  145. package/data/experts/design/design-to-code/.downloaded_at +1 -0
  146. package/data/experts/design/design-to-code/.imported-from-workbuddy +7 -0
  147. package/data/experts/design/design-to-code/.mcp.json +8 -0
  148. package/data/experts/design/design-to-code/README.md +539 -0
  149. package/data/experts/design/design-to-code/agents/design-to-code-expert.md +46 -0
  150. package/data/experts/design/design-to-code/package.json +24 -0
  151. package/data/experts/design/design-to-code/persona.md +50 -0
  152. package/data/experts/design/design-to-code/rules/design_to_code_rules.md +140 -0
  153. package/data/experts/design/design-to-code/servers/design-converter.ts +160 -0
  154. package/data/experts/design/design-to-code/skills/design-to-code-workflows/SKILL.md +466 -0
  155. package/data/experts/design/design-to-code/tsconfig.json +16 -0
  156. package/data/experts/design/diversity-visual-expert/.codebuddy-plugin/plugin.json +30 -0
  157. package/data/experts/design/diversity-visual-expert/.downloaded_at +1 -0
  158. package/data/experts/design/diversity-visual-expert/.imported-from-workbuddy +7 -0
  159. package/data/experts/design/diversity-visual-expert/README.md +23 -0
  160. package/data/experts/design/diversity-visual-expert/agents/diversity-visual-expert.md +79 -0
  161. package/data/experts/design/diversity-visual-expert/license/agency-agents.LICENSE +21 -0
  162. package/data/experts/design/diversity-visual-expert/persona.md +80 -0
  163. package/data/experts/design/feedback-synthesis-analyst/.codebuddy-plugin/plugin.json +60 -0
  164. package/data/experts/design/feedback-synthesis-analyst/.downloaded_at +1 -0
  165. package/data/experts/design/feedback-synthesis-analyst/.imported-from-workbuddy +7 -0
  166. package/data/experts/design/feedback-synthesis-analyst/README.md +3 -0
  167. package/data/experts/design/feedback-synthesis-analyst/persona.md +126 -0
  168. package/data/experts/design/mermaid-diagram-expert/.codebuddy-plugin/plugin.json +38 -0
  169. package/data/experts/design/mermaid-diagram-expert/.downloaded_at +1 -0
  170. package/data/experts/design/mermaid-diagram-expert/.imported-from-workbuddy +7 -0
  171. package/data/experts/design/mermaid-diagram-expert/README.md +66 -0
  172. package/data/experts/design/mermaid-diagram-expert/agents/mermaid-diagram-expert.md +211 -0
  173. package/data/experts/design/mermaid-diagram-expert/persona.md +206 -0
  174. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/SKILL.md +104 -0
  175. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/references/mermaid-syntax.md +358 -0
  176. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/references/render-options.md +161 -0
  177. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/references/themes.md +239 -0
  178. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/scripts/list-themes.js +40 -0
  179. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/scripts/render-ascii.js +83 -0
  180. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/scripts/render-svg.js +113 -0
  181. package/data/experts/design/mermaid-diagram-expert/skills/mermaid-render/scripts/setup.sh +52 -0
  182. package/data/experts/design/migraq-team/.codebuddy-plugin/plugin.json +174 -0
  183. package/data/experts/design/migraq-team/.downloaded_at +1 -0
  184. package/data/experts/design/migraq-team/.imported-from-workbuddy +7 -0
  185. package/data/experts/design/migraq-team/README.md +37 -0
  186. package/data/experts/design/migraq-team/persona.md +598 -0
  187. package/data/experts/design/migraq-team/settings.json +3 -0
  188. package/data/experts/design/ngo-challenge-advisor/.codebuddy-plugin/plugin.json +64 -0
  189. package/data/experts/design/ngo-challenge-advisor/.downloaded_at +1 -0
  190. package/data/experts/design/ngo-challenge-advisor/.imported-from-workbuddy +7 -0
  191. package/data/experts/design/ngo-challenge-advisor/README.md +34 -0
  192. package/data/experts/design/ngo-challenge-advisor/agents/ngo-challenge-advisor.md +69 -0
  193. package/data/experts/design/ngo-challenge-advisor/persona.md +65 -0
  194. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/SECURITY_AUDIT.md +46 -0
  195. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/SKILL.md +194 -0
  196. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/TEST_REPORT.md +68 -0
  197. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/references/approval-and-publication.md +28 -0
  198. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/references/challenge-schema.md +59 -0
  199. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/references/examples.md +66 -0
  200. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/references/fit-and-quality-rules.md +49 -0
  201. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/references/interview-flow.md +89 -0
  202. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/scripts/submit_challenge.py +70 -0
  203. package/data/experts/design/ngo-challenge-advisor/skills/ngo-challenge-designer/scripts/validate_challenge.py +94 -0
  204. package/data/experts/design/product-management/.codebuddy-plugin/plugin.json +27 -0
  205. package/data/experts/design/product-management/.downloaded_at +1 -0
  206. package/data/experts/design/product-management/.imported-from-workbuddy +7 -0
  207. package/data/experts/design/product-management/LICENSE +202 -0
  208. package/data/experts/design/product-management/README.md +328 -0
  209. package/data/experts/design/product-management/persona.md +62 -0
  210. package/data/experts/design/product-strategy-team/.codebuddy-plugin/plugin.json +79 -0
  211. package/data/experts/design/product-strategy-team/.downloaded_at +1 -0
  212. package/data/experts/design/product-strategy-team/.imported-from-workbuddy +7 -0
  213. package/data/experts/design/product-strategy-team/agents/competitive-analyst.md +58 -0
  214. package/data/experts/design/product-strategy-team/agents/data-analyst.md +67 -0
  215. package/data/experts/design/product-strategy-team/agents/product-director.md +210 -0
  216. package/data/experts/design/product-strategy-team/agents/requirement-analyst.md +55 -0
  217. package/data/experts/design/product-strategy-team/agents/roadmap-planner.md +63 -0
  218. package/data/experts/design/product-strategy-team/agents/user-researcher.md +57 -0
  219. package/data/experts/design/product-strategy-team/persona.md +490 -0
  220. package/data/experts/design/product-strategy-team/settings.json +1 -0
  221. package/data/experts/design/product-strategy-team/skills/product-playbook/SKILL.md +283 -0
  222. package/data/experts/design/tripstar-agent/.codebuddy-plugin/plugin.json +93 -0
  223. package/data/experts/design/tripstar-agent/.downloaded_at +1 -0
  224. package/data/experts/design/tripstar-agent/.imported-from-workbuddy +7 -0
  225. package/data/experts/design/tripstar-agent/README.md +129 -0
  226. package/data/experts/design/tripstar-agent/persona.md +313 -0
  227. package/data/experts/design/user-experience-architect/.codebuddy-plugin/plugin.json +31 -0
  228. package/data/experts/design/user-experience-architect/.downloaded_at +1 -0
  229. package/data/experts/design/user-experience-architect/.imported-from-workbuddy +7 -0
  230. package/data/experts/design/user-experience-architect/README.md +19 -0
  231. package/data/experts/design/user-experience-architect/agents/user-experience-architect.md +476 -0
  232. package/data/experts/design/user-experience-architect/license/agency-agents.LICENSE +21 -0
  233. package/data/experts/design/user-experience-architect/license/browser-use.LICENSE +21 -0
  234. package/data/experts/design/user-experience-architect/persona.md +477 -0
  235. package/data/experts/design/user-experience-architect/skills/browser-use/SKILL.md +253 -0
  236. package/data/experts/design/user-experience-architect/skills/browser-use/references/cdp-python.md +76 -0
  237. package/data/experts/design/user-experience-architect/skills/browser-use/references/multi-session.md +92 -0
  238. package/data/experts/design/user-experience-researcher/.codebuddy-plugin/plugin.json +31 -0
  239. package/data/experts/design/user-experience-researcher/.downloaded_at +1 -0
  240. package/data/experts/design/user-experience-researcher/.imported-from-workbuddy +7 -0
  241. package/data/experts/design/user-experience-researcher/README.md +21 -0
  242. package/data/experts/design/user-experience-researcher/persona.md +336 -0
  243. package/data/experts/design/workflow-assistant/.codebuddy-plugin/plugin.json +78 -0
  244. package/data/experts/design/workflow-assistant/.downloaded_at +1 -0
  245. package/data/experts/design/workflow-assistant/.imported-from-workbuddy +7 -0
  246. package/data/experts/design/workflow-assistant/.mcp.json +21 -0
  247. package/data/experts/design/workflow-assistant/README.md +88 -0
  248. package/data/experts/design/workflow-assistant/persona.md +265 -0
  249. package/data/experts/engineering/academic-journal-selector/.codebuddy-plugin/plugin.json +156 -0
  250. package/data/experts/engineering/academic-journal-selector/.downloaded_at +1 -0
  251. package/data/experts/engineering/academic-journal-selector/.imported-from-workbuddy +7 -0
  252. package/data/experts/engineering/academic-journal-selector/README.md +108 -0
  253. package/data/experts/engineering/academic-journal-selector/persona.md +1537 -0
  254. package/data/experts/engineering/academic-journal-selector/settings.json +15 -0
  255. package/data/experts/engineering/ai-data-copilot/.codebuddy-plugin/plugin.json +99 -0
  256. package/data/experts/engineering/ai-data-copilot/.downloaded_at +1 -0
  257. package/data/experts/engineering/ai-data-copilot/.imported-from-workbuddy +7 -0
  258. package/data/experts/engineering/ai-data-copilot/README.md +74 -0
  259. package/data/experts/engineering/ai-data-copilot/persona.md +782 -0
  260. package/data/experts/engineering/ai-data-copilot/settings.json +3 -0
  261. package/data/experts/engineering/aicoding-architecture-expert-team/.codebuddy-plugin/plugin.json +197 -0
  262. package/data/experts/engineering/aicoding-architecture-expert-team/.downloaded_at +1 -0
  263. package/data/experts/engineering/aicoding-architecture-expert-team/.imported-from-workbuddy +7 -0
  264. package/data/experts/engineering/aicoding-architecture-expert-team/README.md +235 -0
  265. package/data/experts/engineering/aicoding-architecture-expert-team/VERSION +1 -0
  266. package/data/experts/engineering/aicoding-architecture-expert-team/persona.md +1103 -0
  267. package/data/experts/engineering/aicoding-architecture-expert-team/settings.json +3 -0
  268. package/data/experts/engineering/aihot/.codebuddy-plugin/plugin.json +32 -0
  269. package/data/experts/engineering/aihot/.downloaded_at +1 -0
  270. package/data/experts/engineering/aihot/.imported-from-workbuddy +7 -0
  271. package/data/experts/engineering/aihot/README.md +24 -0
  272. package/data/experts/engineering/aihot/agents/aihot.md +68 -0
  273. package/data/experts/engineering/aihot/persona.md +71 -0
  274. package/data/experts/engineering/aihot/skills/aihot/SKILL.md +421 -0
  275. package/data/experts/engineering/api-dev/.codebuddy-plugin/plugin.json +60 -0
  276. package/data/experts/engineering/api-dev/.downloaded_at +1 -0
  277. package/data/experts/engineering/api-dev/.imported-from-workbuddy +7 -0
  278. package/data/experts/engineering/api-dev/README.md +33 -0
  279. package/data/experts/engineering/api-dev/agents/api-dev.md +42 -0
  280. package/data/experts/engineering/api-dev/persona.md +40 -0
  281. package/data/experts/engineering/arxiv-watcher/.codebuddy-plugin/plugin.json +61 -0
  282. package/data/experts/engineering/arxiv-watcher/.downloaded_at +1 -0
  283. package/data/experts/engineering/arxiv-watcher/.imported-from-workbuddy +7 -0
  284. package/data/experts/engineering/arxiv-watcher/README.md +38 -0
  285. package/data/experts/engineering/arxiv-watcher/agents/arxiv-watcher.md +56 -0
  286. package/data/experts/engineering/arxiv-watcher/memory/RESEARCH_LOG.md +13 -0
  287. package/data/experts/engineering/arxiv-watcher/persona.md +53 -0
  288. package/data/experts/engineering/cat-network-quality-analyst/.codebuddy-plugin/plugin.json +68 -0
  289. package/data/experts/engineering/cat-network-quality-analyst/.downloaded_at +1 -0
  290. package/data/experts/engineering/cat-network-quality-analyst/.imported-from-workbuddy +7 -0
  291. package/data/experts/engineering/cat-network-quality-analyst/README.md +34 -0
  292. package/data/experts/engineering/cat-network-quality-analyst/agents/cat-network-quality-analyst.md +41 -0
  293. package/data/experts/engineering/cat-network-quality-analyst/persona.md +38 -0
  294. package/data/experts/engineering/code/.codebuddy-plugin/plugin.json +61 -0
  295. package/data/experts/engineering/code/.downloaded_at +1 -0
  296. package/data/experts/engineering/code/.imported-from-workbuddy +7 -0
  297. package/data/experts/engineering/code/README.md +36 -0
  298. package/data/experts/engineering/code/agents/code.md +47 -0
  299. package/data/experts/engineering/code/persona.md +44 -0
  300. package/data/experts/engineering/code-review-expert/.codebuddy-plugin/plugin.json +59 -0
  301. package/data/experts/engineering/code-review-expert/.downloaded_at +1 -0
  302. package/data/experts/engineering/code-review-expert/.imported-from-workbuddy +7 -0
  303. package/data/experts/engineering/code-review-expert/README.md +17 -0
  304. package/data/experts/engineering/code-review-expert/agents/code-review-expert.md +85 -0
  305. package/data/experts/engineering/code-review-expert/license/agency-agents.LICENSE +21 -0
  306. package/data/experts/engineering/code-review-expert/persona.md +86 -0
  307. package/data/experts/engineering/code-review-expert/skills/github/SKILL.md +50 -0
  308. package/data/experts/engineering/data/.codebuddy-plugin/plugin.json +29 -0
  309. package/data/experts/engineering/data/.downloaded_at +1 -0
  310. package/data/experts/engineering/data/.imported-from-workbuddy +7 -0
  311. package/data/experts/engineering/data/README.md +177 -0
  312. package/data/experts/engineering/data/persona.md +58 -0
  313. package/data/experts/engineering/data-analytics-reporter/.codebuddy-plugin/plugin.json +63 -0
  314. package/data/experts/engineering/data-analytics-reporter/.downloaded_at +1 -0
  315. package/data/experts/engineering/data-analytics-reporter/.imported-from-workbuddy +7 -0
  316. package/data/experts/engineering/data-analytics-reporter/README.md +23 -0
  317. package/data/experts/engineering/data-analytics-reporter/agents/data-analytics-reporter.md +174 -0
  318. package/data/experts/engineering/data-analytics-reporter/persona.md +172 -0
  319. package/data/experts/engineering/data-analytics-reporter/skills/analytics-reporting/SKILL.md +213 -0
  320. package/data/experts/engineering/data-analytics-reporter/skills/data-quality-assessment/SKILL.md +167 -0
  321. package/data/experts/engineering/data-analytics-reporter/skills/data-visualization/SKILL.md +94 -0
  322. package/data/experts/engineering/data-analytics-reporter/skills/kpi-design/SKILL.md +134 -0
  323. package/data/experts/engineering/data-analytics-reporter/skills/metric-diagnostics/SKILL.md +143 -0
  324. package/data/experts/engineering/database-operations/.codebuddy-plugin/plugin.json +61 -0
  325. package/data/experts/engineering/database-operations/.downloaded_at +1 -0
  326. package/data/experts/engineering/database-operations/.imported-from-workbuddy +7 -0
  327. package/data/experts/engineering/database-operations/README.md +39 -0
  328. package/data/experts/engineering/database-operations/agents/database-operations.md +60 -0
  329. package/data/experts/engineering/database-operations/persona.md +57 -0
  330. package/data/experts/engineering/databrain-opinion-expert/.codebuddy-plugin/plugin.json +80 -0
  331. package/data/experts/engineering/databrain-opinion-expert/.downloaded_at +1 -0
  332. package/data/experts/engineering/databrain-opinion-expert/.imported-from-workbuddy +7 -0
  333. package/data/experts/engineering/databrain-opinion-expert/README.md +96 -0
  334. package/data/experts/engineering/databrain-opinion-expert/persona.md +55 -0
  335. package/data/experts/engineering/deep-research/.codebuddy-plugin/plugin.json +66 -0
  336. package/data/experts/engineering/deep-research/.downloaded_at +1 -0
  337. package/data/experts/engineering/deep-research/.imported-from-workbuddy +7 -0
  338. package/data/experts/engineering/deep-research/persona.md +85 -0
  339. package/data/experts/engineering/dev-pipeline-orchestrator/.codebuddy-plugin/plugin.json +61 -0
  340. package/data/experts/engineering/dev-pipeline-orchestrator/.downloaded_at +1 -0
  341. package/data/experts/engineering/dev-pipeline-orchestrator/.imported-from-workbuddy +7 -0
  342. package/data/experts/engineering/dev-pipeline-orchestrator/README.md +48 -0
  343. package/data/experts/engineering/dev-pipeline-orchestrator/agents/dev-pipeline-orchestrator.md +128 -0
  344. package/data/experts/engineering/dev-pipeline-orchestrator/persona.md +126 -0
  345. package/data/experts/engineering/dockerfile-gen/.codebuddy-plugin/plugin.json +18 -0
  346. package/data/experts/engineering/dockerfile-gen/.downloaded_at +1 -0
  347. package/data/experts/engineering/dockerfile-gen/.imported-from-workbuddy +7 -0
  348. package/data/experts/engineering/dockerfile-gen/agents/dockerfile-gen-expert.md +51 -0
  349. package/data/experts/engineering/dockerfile-gen/persona.md +55 -0
  350. package/data/experts/engineering/dockerfile-gen/rules/dockerfile-gen.md +132 -0
  351. package/data/experts/engineering/edgeone-makers-experts/.codebuddy-plugin/plugin.json +138 -0
  352. package/data/experts/engineering/edgeone-makers-experts/.downloaded_at +1 -0
  353. package/data/experts/engineering/edgeone-makers-experts/.imported-from-workbuddy +7 -0
  354. package/data/experts/engineering/edgeone-makers-experts/README.md +153 -0
  355. package/data/experts/engineering/edgeone-makers-experts/persona.md +617 -0
  356. package/data/experts/engineering/edgeone-makers-experts/settings.json +3 -0
  357. package/data/experts/engineering/empirical-research-team/.codebuddy-plugin/plugin.json +115 -0
  358. package/data/experts/engineering/empirical-research-team/.downloaded_at +1 -0
  359. package/data/experts/engineering/empirical-research-team/.imported-from-workbuddy +7 -0
  360. package/data/experts/engineering/empirical-research-team/README.md +133 -0
  361. package/data/experts/engineering/empirical-research-team/persona.md +1280 -0
  362. package/data/experts/engineering/empirical-research-team/settings.json +3 -0
  363. package/data/experts/engineering/engineering-assurance-team/.codebuddy-plugin/plugin.json +79 -0
  364. package/data/experts/engineering/engineering-assurance-team/.downloaded_at +1 -0
  365. package/data/experts/engineering/engineering-assurance-team/.imported-from-workbuddy +7 -0
  366. package/data/experts/engineering/engineering-assurance-team/agents/architect.md +72 -0
  367. package/data/experts/engineering/engineering-assurance-team/agents/code-reviewer.md +74 -0
  368. package/data/experts/engineering/engineering-assurance-team/agents/engineering-director.md +212 -0
  369. package/data/experts/engineering/engineering-assurance-team/agents/sre-engineer.md +61 -0
  370. package/data/experts/engineering/engineering-assurance-team/agents/tech-writer.md +61 -0
  371. package/data/experts/engineering/engineering-assurance-team/agents/testing-expert.md +54 -0
  372. package/data/experts/engineering/engineering-assurance-team/persona.md +519 -0
  373. package/data/experts/engineering/engineering-assurance-team/settings.json +1 -0
  374. package/data/experts/engineering/engineering-assurance-team/skills/engineering-playbook/SKILL.md +280 -0
  375. package/data/experts/engineering/engineering-workflow-skills/.codebuddy-plugin/plugin.json +55 -0
  376. package/data/experts/engineering/engineering-workflow-skills/.downloaded_at +1 -0
  377. package/data/experts/engineering/engineering-workflow-skills/.imported-from-workbuddy +7 -0
  378. package/data/experts/engineering/engineering-workflow-skills/LICENSE +30 -0
  379. package/data/experts/engineering/engineering-workflow-skills/README.md +67 -0
  380. package/data/experts/engineering/engineering-workflow-skills/persona.md +271 -0
  381. package/data/experts/engineering/eno/.codebuddy-plugin/plugin.json +60 -0
  382. package/data/experts/engineering/eno/.downloaded_at +1 -0
  383. package/data/experts/engineering/eno/.imported-from-workbuddy +7 -0
  384. package/data/experts/engineering/eno/README.md +47 -0
  385. package/data/experts/engineering/eno/agents/eno.md +46 -0
  386. package/data/experts/engineering/eno/persona.md +43 -0
  387. package/data/experts/engineering/finance-data/.codebuddy-plugin/plugin.json +18 -0
  388. package/data/experts/engineering/finance-data/.downloaded_at +1 -0
  389. package/data/experts/engineering/finance-data/.imported-from-workbuddy +7 -0
  390. package/data/experts/engineering/finance-data/persona.md +67 -0
  391. package/data/experts/engineering/frontend/.codebuddy-plugin/plugin.json +61 -0
  392. package/data/experts/engineering/frontend/.downloaded_at +1 -0
  393. package/data/experts/engineering/frontend/.imported-from-workbuddy +7 -0
  394. package/data/experts/engineering/frontend/README.md +55 -0
  395. package/data/experts/engineering/frontend/agents/frontend.md +52 -0
  396. package/data/experts/engineering/frontend/persona.md +49 -0
  397. package/data/experts/engineering/fundus-disease-analysis/.codebuddy-plugin/plugin.json +64 -0
  398. package/data/experts/engineering/fundus-disease-analysis/.downloaded_at +1 -0
  399. package/data/experts/engineering/fundus-disease-analysis/.imported-from-workbuddy +7 -0
  400. package/data/experts/engineering/fundus-disease-analysis/README.md +48 -0
  401. package/data/experts/engineering/fundus-disease-analysis/persona.md +139 -0
  402. package/data/experts/engineering/git-workflow-expert/.codebuddy-plugin/plugin.json +59 -0
  403. package/data/experts/engineering/git-workflow-expert/.downloaded_at +1 -0
  404. package/data/experts/engineering/git-workflow-expert/.imported-from-workbuddy +7 -0
  405. package/data/experts/engineering/git-workflow-expert/README.md +17 -0
  406. package/data/experts/engineering/git-workflow-expert/agents/git-workflow-expert.md +90 -0
  407. package/data/experts/engineering/git-workflow-expert/license/agency-agents.LICENSE +21 -0
  408. package/data/experts/engineering/git-workflow-expert/persona.md +91 -0
  409. package/data/experts/engineering/git-workflow-expert/skills/github/SKILL.md +50 -0
  410. package/data/experts/engineering/gpt-researcher-team/.codebuddy-plugin/plugin.json +160 -0
  411. package/data/experts/engineering/gpt-researcher-team/.downloaded_at +1 -0
  412. package/data/experts/engineering/gpt-researcher-team/.imported-from-workbuddy +7 -0
  413. package/data/experts/engineering/gpt-researcher-team/persona.md +1504 -0
  414. package/data/experts/engineering/gpt-researcher-team/settings.json +3 -0
  415. package/data/experts/engineering/gstack/.codebuddy-plugin/plugin.json +87 -0
  416. package/data/experts/engineering/gstack/.downloaded_at +1 -0
  417. package/data/experts/engineering/gstack/.imported-from-workbuddy +7 -0
  418. package/data/experts/engineering/gstack/persona.md +1773 -0
  419. package/data/experts/engineering/gstack/settings.json +3 -0
  420. package/data/experts/engineering/hsk-devops-expert/.codebuddy-plugin/plugin.json +44 -0
  421. package/data/experts/engineering/hsk-devops-expert/.downloaded_at +1 -0
  422. package/data/experts/engineering/hsk-devops-expert/.imported-from-workbuddy +7 -0
  423. package/data/experts/engineering/hsk-devops-expert/README.md +54 -0
  424. package/data/experts/engineering/hsk-devops-expert/agents/hsk-devops-architect.md +173 -0
  425. package/data/experts/engineering/hsk-devops-expert/persona.md +168 -0
  426. package/data/experts/engineering/hsk-devops-expert/skills/hsk-cli/SKILL.md +166 -0
  427. package/data/experts/engineering/huashu-data-pro/.codebuddy-plugin/plugin.json +126 -0
  428. package/data/experts/engineering/huashu-data-pro/.downloaded_at +1 -0
  429. package/data/experts/engineering/huashu-data-pro/.imported-from-workbuddy +7 -0
  430. package/data/experts/engineering/huashu-data-pro/README.md +57 -0
  431. package/data/experts/engineering/huashu-data-pro/agents/anomaly-analyst.md +95 -0
  432. package/data/experts/engineering/huashu-data-pro/agents/huashu-data-pro-team-lead.md +96 -0
  433. package/data/experts/engineering/huashu-data-pro/agents/structure-analyst.md +86 -0
  434. package/data/experts/engineering/huashu-data-pro/agents/trend-analyst.md +84 -0
  435. package/data/experts/engineering/huashu-data-pro/persona.md +331 -0
  436. package/data/experts/engineering/huashu-data-pro/settings.json +3 -0
  437. package/data/experts/engineering/jinshuju-expert/.codebuddy-plugin/plugin.json +67 -0
  438. package/data/experts/engineering/jinshuju-expert/.downloaded_at +1 -0
  439. package/data/experts/engineering/jinshuju-expert/.imported-from-workbuddy +7 -0
  440. package/data/experts/engineering/jinshuju-expert/.mcp.json +17 -0
  441. package/data/experts/engineering/jinshuju-expert/README.md +30 -0
  442. package/data/experts/engineering/jinshuju-expert/persona.md +51 -0
  443. package/data/experts/engineering/jinshuju-form-expert/.codebuddy-plugin/plugin.json +67 -0
  444. package/data/experts/engineering/jinshuju-form-expert/.downloaded_at +1 -0
  445. package/data/experts/engineering/jinshuju-form-expert/.imported-from-workbuddy +7 -0
  446. package/data/experts/engineering/jinshuju-form-expert/.mcp.json +17 -0
  447. package/data/experts/engineering/jinshuju-form-expert/README.md +32 -0
  448. package/data/experts/engineering/jinshuju-form-expert/persona.md +51 -0
  449. package/data/experts/engineering/jinshuju-table-expert/.codebuddy-plugin/plugin.json +67 -0
  450. package/data/experts/engineering/jinshuju-table-expert/.downloaded_at +1 -0
  451. package/data/experts/engineering/jinshuju-table-expert/.imported-from-workbuddy +7 -0
  452. package/data/experts/engineering/jinshuju-table-expert/.mcp.json +17 -0
  453. package/data/experts/engineering/jinshuju-table-expert/README.md +33 -0
  454. package/data/experts/engineering/jinshuju-table-expert/agents/jinshuju-table-expert.md +60 -0
  455. package/data/experts/engineering/jinshuju-table-expert/persona.md +57 -0
  456. package/data/experts/engineering/jinshuju-table-expert/skills/jinshuju-table/SKILL.md +246 -0
  457. package/data/experts/engineering/jinshuju-table-expert/skills/jinshuju-table/references/examples.md +191 -0
  458. package/data/experts/engineering/jinshuju-table-expert/skills/jinshuju-table/references/guide.md +125 -0
  459. package/data/experts/engineering/jinshuju-table-expert/skills/jinshuju-table/references/tools.md +157 -0
  460. package/data/experts/engineering/jinshuju-table-expert/skills/jinshuju-table/scripts/setup.py +142 -0
  461. package/data/experts/engineering/kdocs-data-table/.codebuddy-plugin/plugin.json +71 -0
  462. package/data/experts/engineering/kdocs-data-table/.downloaded_at +1 -0
  463. package/data/experts/engineering/kdocs-data-table/.imported-from-workbuddy +7 -0
  464. package/data/experts/engineering/kdocs-data-table/README.md +32 -0
  465. package/data/experts/engineering/kdocs-data-table/persona.md +41 -0
  466. package/data/experts/engineering/llm-wiki/.codebuddy-plugin/plugin.json +7 -0
  467. package/data/experts/engineering/llm-wiki/.downloaded_at +1 -0
  468. package/data/experts/engineering/llm-wiki/.imported-from-workbuddy +7 -0
  469. package/data/experts/engineering/llm-wiki/README.md +27 -0
  470. package/data/experts/engineering/llm-wiki/agents/llm-wiki.md +228 -0
  471. package/data/experts/engineering/llm-wiki/license/agency-agents.LICENSE +21 -0
  472. package/data/experts/engineering/llm-wiki/persona.md +229 -0
  473. package/data/experts/engineering/llm-wiki/skills/llm-wiki/SKILL.md +161 -0
  474. package/data/experts/engineering/mcp-build-expert/.codebuddy-plugin/plugin.json +56 -0
  475. package/data/experts/engineering/mcp-build-expert/.downloaded_at +1 -0
  476. package/data/experts/engineering/mcp-build-expert/.imported-from-workbuddy +7 -0
  477. package/data/experts/engineering/mcp-build-expert/README.md +19 -0
  478. package/data/experts/engineering/mcp-build-expert/agents/mcp-build-expert.md +63 -0
  479. package/data/experts/engineering/mcp-build-expert/license/agency-agents.LICENSE +21 -0
  480. package/data/experts/engineering/mcp-build-expert/persona.md +64 -0
  481. package/data/experts/engineering/mibao-media-archivist/.codebuddy-plugin/plugin.json +77 -0
  482. package/data/experts/engineering/mibao-media-archivist/.downloaded_at +1 -0
  483. package/data/experts/engineering/mibao-media-archivist/.imported-from-workbuddy +7 -0
  484. package/data/experts/engineering/mibao-media-archivist/LICENSE +9 -0
  485. package/data/experts/engineering/mibao-media-archivist/PRIVACY.md +46 -0
  486. package/data/experts/engineering/mibao-media-archivist/README.md +37 -0
  487. package/data/experts/engineering/mibao-media-archivist/TASKBOOK.md +33 -0
  488. package/data/experts/engineering/mibao-media-archivist/THIRD_PARTY_NOTICES.md +12 -0
  489. package/data/experts/engineering/mibao-media-archivist/package-manifest.json +265 -0
  490. package/data/experts/engineering/mibao-media-archivist/persona.md +134 -0
  491. package/data/experts/engineering/mobile-application-developer/.codebuddy-plugin/plugin.json +59 -0
  492. package/data/experts/engineering/mobile-application-developer/.downloaded_at +1 -0
  493. package/data/experts/engineering/mobile-application-developer/.imported-from-workbuddy +7 -0
  494. package/data/experts/engineering/mobile-application-developer/README.md +19 -0
  495. package/data/experts/engineering/mobile-application-developer/persona.md +506 -0
  496. package/data/experts/engineering/modern-webapp/.codebuddy-plugin/plugin.json +74 -0
  497. package/data/experts/engineering/modern-webapp/.downloaded_at +1 -0
  498. package/data/experts/engineering/modern-webapp/.imported-from-workbuddy +7 -0
  499. package/data/experts/engineering/modern-webapp/README.md +19 -0
  500. package/data/experts/engineering/modern-webapp/persona.md +59 -0
  501. package/data/experts/engineering/mvp-dev-expert-team/.codebuddy-plugin/plugin.json +194 -0
  502. package/data/experts/engineering/mvp-dev-expert-team/.downloaded_at +1 -0
  503. package/data/experts/engineering/mvp-dev-expert-team/.imported-from-workbuddy +7 -0
  504. package/data/experts/engineering/mvp-dev-expert-team/CHANGELOG.md +201 -0
  505. package/data/experts/engineering/mvp-dev-expert-team/LICENSE +21 -0
  506. package/data/experts/engineering/mvp-dev-expert-team/README.md +80 -0
  507. package/data/experts/engineering/mvp-dev-expert-team/README_EN.md +60 -0
  508. package/data/experts/engineering/mvp-dev-expert-team/persona.md +4403 -0
  509. package/data/experts/engineering/mvp-dev-expert-team/settings.json +1 -0
  510. package/data/experts/engineering/ncre-expert/.codebuddy-plugin/plugin.json +141 -0
  511. package/data/experts/engineering/ncre-expert/.downloaded_at +1 -0
  512. package/data/experts/engineering/ncre-expert/.imported-from-workbuddy +7 -0
  513. package/data/experts/engineering/ncre-expert/CHANGELOG.md +30 -0
  514. package/data/experts/engineering/ncre-expert/README.md +115 -0
  515. package/data/experts/engineering/ncre-expert/agents/ncre-expert-team-lead.md +132 -0
  516. package/data/experts/engineering/ncre-expert/agents/ncre-level1.md +49 -0
  517. package/data/experts/engineering/ncre-expert/agents/ncre-level2.md +58 -0
  518. package/data/experts/engineering/ncre-expert/agents/ncre-level3.md +74 -0
  519. package/data/experts/engineering/ncre-expert/agents/ncre-level4.md +73 -0
  520. package/data/experts/engineering/ncre-expert/persona.md +341 -0
  521. package/data/experts/engineering/ncre-expert/settings.json +3 -0
  522. package/data/experts/engineering/nuwa/.codebuddy-plugin/plugin.json +63 -0
  523. package/data/experts/engineering/nuwa/.downloaded_at +1 -0
  524. package/data/experts/engineering/nuwa/.imported-from-workbuddy +7 -0
  525. package/data/experts/engineering/nuwa/README.md +9 -0
  526. package/data/experts/engineering/nuwa/agents/nuwa.md +102 -0
  527. package/data/experts/engineering/nuwa/persona.md +96 -0
  528. package/data/experts/engineering/nuwa/skills/perspective-distillation/SKILL.md +42 -0
  529. package/data/experts/engineering/nuwa/skills/perspective-distillation/references/extraction-framework.md +151 -0
  530. package/data/experts/engineering/nuwa/skills/perspective-distillation/references/skill-template.md +115 -0
  531. package/data/experts/engineering/omics-bioinfo-expert/.codebuddy-plugin/plugin.json +66 -0
  532. package/data/experts/engineering/omics-bioinfo-expert/.downloaded_at +1 -0
  533. package/data/experts/engineering/omics-bioinfo-expert/.imported-from-workbuddy +7 -0
  534. package/data/experts/engineering/omics-bioinfo-expert/README.md +24 -0
  535. package/data/experts/engineering/omics-bioinfo-expert/persona.md +66 -0
  536. package/data/experts/engineering/omics-cdgpt-expert/.codebuddy-plugin/plugin.json +64 -0
  537. package/data/experts/engineering/omics-cdgpt-expert/.downloaded_at +1 -0
  538. package/data/experts/engineering/omics-cdgpt-expert/.imported-from-workbuddy +7 -0
  539. package/data/experts/engineering/omics-cdgpt-expert/persona.md +36 -0
  540. package/data/experts/engineering/omics-diagnosis-expert/.codebuddy-plugin/plugin.json +64 -0
  541. package/data/experts/engineering/omics-diagnosis-expert/.downloaded_at +1 -0
  542. package/data/experts/engineering/omics-diagnosis-expert/.imported-from-workbuddy +7 -0
  543. package/data/experts/engineering/omics-diagnosis-expert/README.md +24 -0
  544. package/data/experts/engineering/omics-diagnosis-expert/agents/omics-diagnosis-expert.md +63 -0
  545. package/data/experts/engineering/omics-diagnosis-expert/persona.md +59 -0
  546. package/data/experts/engineering/omics-diagnosis-expert/skills/omics-run-diagnosis/SKILL.md +384 -0
  547. package/data/experts/engineering/omics-diagnosis-expert/skills/omics-run-diagnosis/references/troubleshooting-kb.md +347 -0
  548. package/data/experts/engineering/omics-diagnosis-expert/skills/omics-run-diagnosis/scripts/query_run_log.py +369 -0
  549. package/data/experts/engineering/omics-hpc-expert/.codebuddy-plugin/plugin.json +64 -0
  550. package/data/experts/engineering/omics-hpc-expert/.downloaded_at +1 -0
  551. package/data/experts/engineering/omics-hpc-expert/.imported-from-workbuddy +7 -0
  552. package/data/experts/engineering/omics-hpc-expert/persona.md +64 -0
  553. package/data/experts/engineering/omics-iggm-expert/.codebuddy-plugin/plugin.json +65 -0
  554. package/data/experts/engineering/omics-iggm-expert/.downloaded_at +1 -0
  555. package/data/experts/engineering/omics-iggm-expert/.imported-from-workbuddy +7 -0
  556. package/data/experts/engineering/omics-iggm-expert/persona.md +36 -0
  557. package/data/experts/engineering/omics-ori-expert/.codebuddy-plugin/plugin.json +65 -0
  558. package/data/experts/engineering/omics-ori-expert/.downloaded_at +1 -0
  559. package/data/experts/engineering/omics-ori-expert/.imported-from-workbuddy +7 -0
  560. package/data/experts/engineering/omics-ori-expert/persona.md +36 -0
  561. package/data/experts/engineering/omics-scbert-expert/.codebuddy-plugin/plugin.json +64 -0
  562. package/data/experts/engineering/omics-scbert-expert/.downloaded_at +1 -0
  563. package/data/experts/engineering/omics-scbert-expert/.imported-from-workbuddy +7 -0
  564. package/data/experts/engineering/omics-scbert-expert/persona.md +36 -0
  565. package/data/experts/engineering/omics-scprotein-expert/.codebuddy-plugin/plugin.json +64 -0
  566. package/data/experts/engineering/omics-scprotein-expert/.downloaded_at +1 -0
  567. package/data/experts/engineering/omics-scprotein-expert/.imported-from-workbuddy +7 -0
  568. package/data/experts/engineering/omics-scprotein-expert/persona.md +36 -0
  569. package/data/experts/engineering/omics-tfold-expert/.codebuddy-plugin/plugin.json +65 -0
  570. package/data/experts/engineering/omics-tfold-expert/.downloaded_at +1 -0
  571. package/data/experts/engineering/omics-tfold-expert/.imported-from-workbuddy +7 -0
  572. package/data/experts/engineering/omics-tfold-expert/persona.md +36 -0
  573. package/data/experts/engineering/personal-knowledge-architect/.codebuddy-plugin/plugin.json +49 -0
  574. package/data/experts/engineering/personal-knowledge-architect/.downloaded_at +1 -0
  575. package/data/experts/engineering/personal-knowledge-architect/.imported-from-workbuddy +7 -0
  576. package/data/experts/engineering/personal-knowledge-architect/README.md +44 -0
  577. package/data/experts/engineering/personal-knowledge-architect/agents/personal-knowledge-architect.md +43 -0
  578. package/data/experts/engineering/personal-knowledge-architect/persona.md +39 -0
  579. package/data/experts/engineering/personal-knowledge-architect/skills/personal-knowledge-architect/SKILL.md +70 -0
  580. package/data/experts/engineering/pneumonia-ai-analyst/.codebuddy-plugin/plugin.json +65 -0
  581. package/data/experts/engineering/pneumonia-ai-analyst/.downloaded_at +1 -0
  582. package/data/experts/engineering/pneumonia-ai-analyst/.imported-from-workbuddy +7 -0
  583. package/data/experts/engineering/pneumonia-ai-analyst/README.md +44 -0
  584. package/data/experts/engineering/pneumonia-ai-analyst/persona.md +178 -0
  585. package/data/experts/engineering/prompt-engineering-expert/.codebuddy-plugin/plugin.json +60 -0
  586. package/data/experts/engineering/prompt-engineering-expert/.downloaded_at +1 -0
  587. package/data/experts/engineering/prompt-engineering-expert/.imported-from-workbuddy +7 -0
  588. package/data/experts/engineering/prompt-engineering-expert/README.md +27 -0
  589. package/data/experts/engineering/prompt-engineering-expert/agents/prompt-engineering-expert.md +49 -0
  590. package/data/experts/engineering/prompt-engineering-expert/persona.md +46 -0
  591. package/data/experts/engineering/python-fullstack-engineer/.codebuddy-plugin/plugin.json +40 -0
  592. package/data/experts/engineering/python-fullstack-engineer/.downloaded_at +1 -0
  593. package/data/experts/engineering/python-fullstack-engineer/.imported-from-workbuddy +7 -0
  594. package/data/experts/engineering/python-fullstack-engineer/README.md +44 -0
  595. package/data/experts/engineering/python-fullstack-engineer/agents/python-fullstack-engineer.md +95 -0
  596. package/data/experts/engineering/python-fullstack-engineer/persona.md +91 -0
  597. package/data/experts/engineering/python-fullstack-engineer/skills/09-python/345/205/250/346/240/210/345/267/245/347/250/213/345/270/210/SKILL.md +115 -0
  598. package/data/experts/engineering/rum-fullstack-team/.codebuddy-plugin/plugin.json +94 -0
  599. package/data/experts/engineering/rum-fullstack-team/.downloaded_at +1 -0
  600. package/data/experts/engineering/rum-fullstack-team/.imported-from-workbuddy +7 -0
  601. package/data/experts/engineering/rum-fullstack-team/README.md +155 -0
  602. package/data/experts/engineering/rum-fullstack-team/TEST_PLAN.md +243 -0
  603. package/data/experts/engineering/rum-fullstack-team/persona.md +361 -0
  604. package/data/experts/engineering/rum-fullstack-team/settings.json +3 -0
  605. package/data/experts/engineering/software-company/.codebuddy-plugin/plugin.json +53 -0
  606. package/data/experts/engineering/software-company/.downloaded_at +1 -0
  607. package/data/experts/engineering/software-company/.imported-from-workbuddy +7 -0
  608. package/data/experts/engineering/software-company/agents/software-architect.md +142 -0
  609. package/data/experts/engineering/software-company/agents/software-engineer.md +150 -0
  610. package/data/experts/engineering/software-company/agents/software-product-manager.md +93 -0
  611. package/data/experts/engineering/software-company/agents/software-qa-engineer.md +137 -0
  612. package/data/experts/engineering/software-company/agents/software-team-lead.md +211 -0
  613. package/data/experts/engineering/software-company/persona.md +724 -0
  614. package/data/experts/engineering/software-company/settings.json +3 -0
  615. package/data/experts/engineering/superpowers-zh/.codebuddy-plugin/plugin.json +28 -0
  616. package/data/experts/engineering/superpowers-zh/.downloaded_at +1 -0
  617. package/data/experts/engineering/superpowers-zh/.imported-from-workbuddy +7 -0
  618. package/data/experts/engineering/superpowers-zh/README.md +66 -0
  619. package/data/experts/engineering/superpowers-zh/agents/superpowers-zh.md +52 -0
  620. package/data/experts/engineering/superpowers-zh/persona.md +50 -0
  621. package/data/experts/engineering/tencentcloud-api/.codebuddy-plugin/plugin.json +44 -0
  622. package/data/experts/engineering/tencentcloud-api/.downloaded_at +1 -0
  623. package/data/experts/engineering/tencentcloud-api/.imported-from-workbuddy +7 -0
  624. package/data/experts/engineering/tencentcloud-api/README.md +47 -0
  625. package/data/experts/engineering/tencentcloud-api/agents/tencentcloud-api.md +113 -0
  626. package/data/experts/engineering/tencentcloud-api/persona.md +109 -0
  627. package/data/experts/engineering/tencentcloud-api/skills/tcapi/SKILL.md +298 -0
  628. package/data/experts/engineering/tencentcloud-api/skills/tcapi/references/auth.md +96 -0
  629. package/data/experts/engineering/tencentcloud-api/skills/tcapi/references/install.md +27 -0
  630. package/data/experts/engineering/tencentcloud-api/skills/tcapi/references/refs.md +49 -0
  631. package/data/experts/engineering/tiderider-sentiment/.codebuddy-plugin/plugin.json +74 -0
  632. package/data/experts/engineering/tiderider-sentiment/.downloaded_at +1 -0
  633. package/data/experts/engineering/tiderider-sentiment/.imported-from-workbuddy +7 -0
  634. package/data/experts/engineering/tiderider-sentiment/CHANGELOG.md +65 -0
  635. package/data/experts/engineering/tiderider-sentiment/README.md +124 -0
  636. package/data/experts/engineering/tiderider-sentiment/persona.md +469 -0
  637. package/data/experts/engineering/vocab-craft-expert/.codebuddy-plugin/plugin.json +32 -0
  638. package/data/experts/engineering/vocab-craft-expert/.downloaded_at +1 -0
  639. package/data/experts/engineering/vocab-craft-expert/.imported-from-workbuddy +7 -0
  640. package/data/experts/engineering/vocab-craft-expert/README.md +51 -0
  641. package/data/experts/engineering/vocab-craft-expert/agents/vocab-coach.md +244 -0
  642. package/data/experts/engineering/vocab-craft-expert/persona.md +240 -0
  643. package/data/experts/engineering/vocab-craft-expert/skills/vocab-scheduler/SKILL.md +56 -0
  644. package/data/experts/engineering/vocab-craft-expert/skills/vocab-scheduler/references/spaced-repetition.md +156 -0
  645. package/data/experts/engineering/vocab-craft-expert/skills/vocab-scheduler/scripts/generate-daily-task.js +102 -0
  646. package/data/experts/engineering/vocab-craft-expert/skills/vocab-scheduler/scripts/init-progress.js +90 -0
  647. package/data/experts/engineering/vocab-craft-expert/skills/vocab-scheduler/scripts/learning-report.js +95 -0
  648. package/data/experts/engineering/vocab-craft-expert/skills/vocab-scheduler/scripts/update-progress.js +200 -0
  649. package/data/experts/engineering/wentu/.codebuddy-plugin/plugin.json +65 -0
  650. package/data/experts/engineering/wentu/.downloaded_at +1 -0
  651. package/data/experts/engineering/wentu/.imported-from-workbuddy +7 -0
  652. package/data/experts/engineering/wentu/README.md +18 -0
  653. package/data/experts/engineering/wentu/persona.md +1003 -0
  654. package/data/experts/engineering/workspace-builder/.codebuddy-plugin/plugin.json +43 -0
  655. package/data/experts/engineering/workspace-builder/.downloaded_at +1 -0
  656. package/data/experts/engineering/workspace-builder/.imported-from-workbuddy +7 -0
  657. package/data/experts/engineering/workspace-builder/agents/workspace-builder.md +401 -0
  658. package/data/experts/engineering/workspace-builder/persona.md +398 -0
  659. package/data/experts/engineering/yunzhi-qa-assistant/.codebuddy-plugin/plugin.json +64 -0
  660. package/data/experts/engineering/yunzhi-qa-assistant/.downloaded_at +1 -0
  661. package/data/experts/engineering/yunzhi-qa-assistant/.imported-from-workbuddy +7 -0
  662. package/data/experts/engineering/yunzhi-qa-assistant/README.md +43 -0
  663. package/data/experts/engineering/yunzhi-qa-assistant/persona.md +237 -0
  664. package/data/experts/finance/a-share-analysis/.codebuddy-plugin/plugin.json +188 -0
  665. package/data/experts/finance/a-share-analysis/.downloaded_at +1 -0
  666. package/data/experts/finance/a-share-analysis/.imported-from-workbuddy +7 -0
  667. package/data/experts/finance/a-share-analysis/README.md +66 -0
  668. package/data/experts/finance/a-share-analysis/persona.md +1694 -0
  669. package/data/experts/finance/a-share-analysis/settings.json +1 -0
  670. package/data/experts/finance/anti-scam-agent/.codebuddy-plugin/plugin.json +68 -0
  671. package/data/experts/finance/anti-scam-agent/.downloaded_at +1 -0
  672. package/data/experts/finance/anti-scam-agent/.imported-from-workbuddy +7 -0
  673. package/data/experts/finance/anti-scam-agent/README.md +44 -0
  674. package/data/experts/finance/anti-scam-agent/persona.md +292 -0
  675. package/data/experts/finance/believe-in-light/.codebuddy-plugin/plugin.json +171 -0
  676. package/data/experts/finance/believe-in-light/.downloaded_at +1 -0
  677. package/data/experts/finance/believe-in-light/.imported-from-workbuddy +7 -0
  678. package/data/experts/finance/believe-in-light/README.md +32 -0
  679. package/data/experts/finance/believe-in-light/believe-in-light_/345/274/225/346/223/216/345/245/221/347/272/246.md +151 -0
  680. package/data/experts/finance/believe-in-light/persona.md +524 -0
  681. package/data/experts/finance/believe-in-light/settings.json +3 -0
  682. package/data/experts/finance/citongshuopro/.codebuddy-plugin/plugin.json +88 -0
  683. package/data/experts/finance/citongshuopro/.created-by-session +1 -0
  684. package/data/experts/finance/citongshuopro/.downloaded_at +1 -0
  685. package/data/experts/finance/citongshuopro/.imported-from-workbuddy +7 -0
  686. package/data/experts/finance/citongshuopro/README.md +46 -0
  687. package/data/experts/finance/citongshuopro/persona.md +836 -0
  688. package/data/experts/finance/citongshuopro/plugin.json +88 -0
  689. package/data/experts/finance/citongshuopro/settings.json +3 -0
  690. package/data/experts/finance/citongshuopro/validate_expert.py +369 -0
  691. package/data/experts/finance/corp-credit-due-diligence/.codebuddy-plugin/plugin.json +60 -0
  692. package/data/experts/finance/corp-credit-due-diligence/.downloaded_at +1 -0
  693. package/data/experts/finance/corp-credit-due-diligence/.imported-from-workbuddy +7 -0
  694. package/data/experts/finance/corp-credit-due-diligence/README.md +66 -0
  695. package/data/experts/finance/corp-credit-due-diligence/persona.md +271 -0
  696. package/data/experts/finance/dd-due-diligence-team/.codebuddy-plugin/plugin.json +220 -0
  697. package/data/experts/finance/dd-due-diligence-team/.downloaded_at +1 -0
  698. package/data/experts/finance/dd-due-diligence-team/.imported-from-workbuddy +7 -0
  699. package/data/experts/finance/dd-due-diligence-team/.mcp.json +17 -0
  700. package/data/experts/finance/dd-due-diligence-team/README.md +141 -0
  701. package/data/experts/finance/dd-due-diligence-team/persona.md +773 -0
  702. package/data/experts/finance/dd-due-diligence-team/settings.json +3 -0
  703. package/data/experts/finance/earnings-reviewer/.codebuddy-plugin/plugin.json +69 -0
  704. package/data/experts/finance/earnings-reviewer/.downloaded_at +1 -0
  705. package/data/experts/finance/earnings-reviewer/.imported-from-workbuddy +7 -0
  706. package/data/experts/finance/earnings-reviewer/persona.md +57 -0
  707. package/data/experts/finance/egypt-strategic-advisory/.codebuddy-plugin/plugin.json +64 -0
  708. package/data/experts/finance/egypt-strategic-advisory/.downloaded_at +1 -0
  709. package/data/experts/finance/egypt-strategic-advisory/.imported-from-workbuddy +7 -0
  710. package/data/experts/finance/egypt-strategic-advisory/Corpus_Index.md +55 -0
  711. package/data/experts/finance/egypt-strategic-advisory/persona.md +455 -0
  712. package/data/experts/finance/egypt-strategic-advisory/requirements.txt +1 -0
  713. package/data/experts/finance/equity-research/.codebuddy-plugin/plugin.json +58 -0
  714. package/data/experts/finance/equity-research/.downloaded_at +1 -0
  715. package/data/experts/finance/equity-research/.imported-from-workbuddy +7 -0
  716. package/data/experts/finance/equity-research/persona.md +64 -0
  717. package/data/experts/finance/fin-research-expert/.codebuddy-plugin/plugin.json +86 -0
  718. package/data/experts/finance/fin-research-expert/.downloaded_at +1 -0
  719. package/data/experts/finance/fin-research-expert/.imported-from-workbuddy +7 -0
  720. package/data/experts/finance/fin-research-expert/README.md +354 -0
  721. package/data/experts/finance/fin-research-expert/persona.md +186 -0
  722. package/data/experts/finance/finance/.codebuddy-plugin/plugin.json +27 -0
  723. package/data/experts/finance/finance/.downloaded_at +1 -0
  724. package/data/experts/finance/finance/.imported-from-workbuddy +7 -0
  725. package/data/experts/finance/finance/LICENSE +202 -0
  726. package/data/experts/finance/finance/README.md +170 -0
  727. package/data/experts/finance/finance/persona.md +60 -0
  728. package/data/experts/finance/financial-analysis/.codebuddy-plugin/plugin.json +27 -0
  729. package/data/experts/finance/financial-analysis/.downloaded_at +1 -0
  730. package/data/experts/finance/financial-analysis/.imported-from-workbuddy +7 -0
  731. package/data/experts/finance/financial-analysis/persona.md +72 -0
  732. package/data/experts/finance/financial-tracker/.codebuddy-plugin/plugin.json +59 -0
  733. package/data/experts/finance/financial-tracker/.downloaded_at +1 -0
  734. package/data/experts/finance/financial-tracker/.imported-from-workbuddy +7 -0
  735. package/data/experts/finance/financial-tracker/README.md +29 -0
  736. package/data/experts/finance/financial-tracker/persona.md +449 -0
  737. package/data/experts/finance/fund-research-analyst/.codebuddy-plugin/plugin.json +44 -0
  738. package/data/experts/finance/fund-research-analyst/.downloaded_at +1 -0
  739. package/data/experts/finance/fund-research-analyst/.imported-from-workbuddy +7 -0
  740. package/data/experts/finance/fund-research-analyst/README.md +44 -0
  741. package/data/experts/finance/fund-research-analyst/agents/fund-research-analyst.md +87 -0
  742. package/data/experts/finance/fund-research-analyst/persona.md +83 -0
  743. package/data/experts/finance/fund-research-analyst/skills/neodata-financial-search/SKILL.md +121 -0
  744. package/data/experts/finance/fund-research-analyst/skills/neodata-financial-search/query.cmd +69 -0
  745. package/data/experts/finance/fund-research-analyst/skills/neodata-financial-search/query.py +77 -0
  746. package/data/experts/finance/fund-research-analyst/skills/neodata-financial-search/query.sh +90 -0
  747. package/data/experts/finance/fund-research-analyst/skills/neodata-financial-search/reference.md +227 -0
  748. package/data/experts/finance/gl-reconciler/.codebuddy-plugin/plugin.json +65 -0
  749. package/data/experts/finance/gl-reconciler/.downloaded_at +1 -0
  750. package/data/experts/finance/gl-reconciler/.imported-from-workbuddy +7 -0
  751. package/data/experts/finance/gl-reconciler/persona.md +51 -0
  752. package/data/experts/finance/industry-sre-team/.codebuddy-plugin/plugin.json +264 -0
  753. package/data/experts/finance/industry-sre-team/.downloaded_at +1 -0
  754. package/data/experts/finance/industry-sre-team/.imported-from-workbuddy +7 -0
  755. package/data/experts/finance/industry-sre-team/README.md +55 -0
  756. package/data/experts/finance/industry-sre-team/persona.md +2496 -0
  757. package/data/experts/finance/industry-sre-team/settings.json +3 -0
  758. package/data/experts/finance/investment-banking/.codebuddy-plugin/plugin.json +40 -0
  759. package/data/experts/finance/investment-banking/.downloaded_at +1 -0
  760. package/data/experts/finance/investment-banking/.imported-from-workbuddy +7 -0
  761. package/data/experts/finance/investment-banking/README.md +59 -0
  762. package/data/experts/finance/investment-banking/persona.md +217 -0
  763. package/data/experts/finance/investment-masters-team/.codebuddy-plugin/plugin.json +369 -0
  764. package/data/experts/finance/investment-masters-team/.downloaded_at +1 -0
  765. package/data/experts/finance/investment-masters-team/.imported-from-workbuddy +7 -0
  766. package/data/experts/finance/investment-masters-team/persona.md +1438 -0
  767. package/data/experts/finance/investment-masters-team/settings.json +3 -0
  768. package/data/experts/finance/kyc-screener/.codebuddy-plugin/plugin.json +64 -0
  769. package/data/experts/finance/kyc-screener/.downloaded_at +1 -0
  770. package/data/experts/finance/kyc-screener/.imported-from-workbuddy +7 -0
  771. package/data/experts/finance/kyc-screener/persona.md +50 -0
  772. package/data/experts/finance/mai-deal-advisor/.codebuddy-plugin/plugin.json +61 -0
  773. package/data/experts/finance/mai-deal-advisor/.downloaded_at +1 -0
  774. package/data/experts/finance/mai-deal-advisor/.imported-from-workbuddy +7 -0
  775. package/data/experts/finance/mai-deal-advisor/README.md +92 -0
  776. package/data/experts/finance/mai-deal-advisor/persona.md +261 -0
  777. package/data/experts/finance/market-researcher/.codebuddy-plugin/plugin.json +68 -0
  778. package/data/experts/finance/market-researcher/.downloaded_at +1 -0
  779. package/data/experts/finance/market-researcher/.imported-from-workbuddy +7 -0
  780. package/data/experts/finance/market-researcher/persona.md +59 -0
  781. package/data/experts/finance/meeting-prep-agent/.codebuddy-plugin/plugin.json +65 -0
  782. package/data/experts/finance/meeting-prep-agent/.downloaded_at +1 -0
  783. package/data/experts/finance/meeting-prep-agent/.imported-from-workbuddy +7 -0
  784. package/data/experts/finance/meeting-prep-agent/persona.md +49 -0
  785. package/data/experts/finance/mentougou-business-guide/.codebuddy-plugin/plugin.json +71 -0
  786. package/data/experts/finance/mentougou-business-guide/.downloaded_at +1 -0
  787. package/data/experts/finance/mentougou-business-guide/.imported-from-workbuddy +7 -0
  788. package/data/experts/finance/mentougou-business-guide/README.md +34 -0
  789. package/data/experts/finance/mentougou-business-guide/persona.md +144 -0
  790. package/data/experts/finance/model-builder/.codebuddy-plugin/plugin.json +69 -0
  791. package/data/experts/finance/model-builder/.downloaded_at +1 -0
  792. package/data/experts/finance/model-builder/.imported-from-workbuddy +7 -0
  793. package/data/experts/finance/model-builder/persona.md +57 -0
  794. package/data/experts/finance/month-end-closer/.codebuddy-plugin/plugin.json +66 -0
  795. package/data/experts/finance/month-end-closer/.downloaded_at +1 -0
  796. package/data/experts/finance/month-end-closer/.imported-from-workbuddy +7 -0
  797. package/data/experts/finance/month-end-closer/persona.md +51 -0
  798. package/data/experts/finance/new-share-expert/.codebuddy-plugin/plugin.json +67 -0
  799. package/data/experts/finance/new-share-expert/.downloaded_at +1 -0
  800. package/data/experts/finance/new-share-expert/.imported-from-workbuddy +7 -0
  801. package/data/experts/finance/new-share-expert/README.md +135 -0
  802. package/data/experts/finance/new-share-expert/persona.md +194 -0
  803. package/data/experts/finance/pitch-agent/.codebuddy-plugin/plugin.json +74 -0
  804. package/data/experts/finance/pitch-agent/.downloaded_at +1 -0
  805. package/data/experts/finance/pitch-agent/.imported-from-workbuddy +7 -0
  806. package/data/experts/finance/pitch-agent/persona.md +71 -0
  807. package/data/experts/finance/private-equity/.codebuddy-plugin/plugin.json +27 -0
  808. package/data/experts/finance/private-equity/.downloaded_at +1 -0
  809. package/data/experts/finance/private-equity/.imported-from-workbuddy +7 -0
  810. package/data/experts/finance/private-equity/agents/private-equity-expert.md +63 -0
  811. package/data/experts/finance/private-equity/persona.md +67 -0
  812. package/data/experts/finance/private-equity/rules/private_equity_rules.md +72 -0
  813. package/data/experts/finance/private-equity/skills/dd-checklist/SKILL.md +117 -0
  814. package/data/experts/finance/private-equity/skills/dd-meeting-prep/SKILL.md +103 -0
  815. package/data/experts/finance/private-equity/skills/deal-screening/SKILL.md +60 -0
  816. package/data/experts/finance/private-equity/skills/deal-sourcing/SKILL.md +68 -0
  817. package/data/experts/finance/private-equity/skills/ic-memo/SKILL.md +88 -0
  818. package/data/experts/finance/private-equity/skills/portfolio-monitoring/SKILL.md +60 -0
  819. package/data/experts/finance/private-equity/skills/returns-analysis/SKILL.md +119 -0
  820. package/data/experts/finance/private-equity/skills/unit-economics/SKILL.md +95 -0
  821. package/data/experts/finance/private-equity/skills/value-creation-plan/SKILL.md +123 -0
  822. package/data/experts/finance/roadshow-research-team/.codebuddy-plugin/plugin.json +235 -0
  823. package/data/experts/finance/roadshow-research-team/.downloaded_at +1 -0
  824. package/data/experts/finance/roadshow-research-team/.imported-from-workbuddy +7 -0
  825. package/data/experts/finance/roadshow-research-team/README.md +82 -0
  826. package/data/experts/finance/roadshow-research-team/persona.md +969 -0
  827. package/data/experts/finance/roadshow-research-team/settings.json +1 -0
  828. package/data/experts/finance/sg-finance-tax/.codebuddy-plugin/plugin.json +52 -0
  829. package/data/experts/finance/sg-finance-tax/.downloaded_at +1 -0
  830. package/data/experts/finance/sg-finance-tax/.imported-from-workbuddy +7 -0
  831. package/data/experts/finance/sg-finance-tax/README.md +57 -0
  832. package/data/experts/finance/sg-finance-tax/persona.md +3302 -0
  833. package/data/experts/finance/smart-stock-analyst/.codebuddy-plugin/plugin.json +43 -0
  834. package/data/experts/finance/smart-stock-analyst/.downloaded_at +1 -0
  835. package/data/experts/finance/smart-stock-analyst/.imported-from-workbuddy +7 -0
  836. package/data/experts/finance/smart-stock-analyst/README.md +44 -0
  837. package/data/experts/finance/smart-stock-analyst/persona.md +270 -0
  838. package/data/experts/finance/smb-finance/.codebuddy-plugin/plugin.json +39 -0
  839. package/data/experts/finance/smb-finance/.downloaded_at +1 -0
  840. package/data/experts/finance/smb-finance/.imported-from-workbuddy +7 -0
  841. package/data/experts/finance/smb-finance/agents/smb-finance.md +72 -0
  842. package/data/experts/finance/smb-finance/persona.md +73 -0
  843. package/data/experts/finance/smb-finance/skills/cash-flow/SKILL.md +71 -0
  844. package/data/experts/finance/smb-finance/skills/invoice-chase/SKILL.md +88 -0
  845. package/data/experts/finance/smb-finance/skills/margin-analysis/SKILL.md +83 -0
  846. package/data/experts/finance/smb-finance/skills/month-end-close/SKILL.md +104 -0
  847. package/data/experts/finance/smb-finance/skills/tax-preparation/SKILL.md +157 -0
  848. package/data/experts/finance/south-africa-strategy-advisor/.codebuddy-plugin/plugin.json +69 -0
  849. package/data/experts/finance/south-africa-strategy-advisor/.created-by-session +1 -0
  850. package/data/experts/finance/south-africa-strategy-advisor/.downloaded_at +1 -0
  851. package/data/experts/finance/south-africa-strategy-advisor/.imported-from-workbuddy +7 -0
  852. package/data/experts/finance/south-africa-strategy-advisor/README.md +36 -0
  853. package/data/experts/finance/south-africa-strategy-advisor/persona.md +80 -0
  854. package/data/experts/finance/statement-auditor/.codebuddy-plugin/plugin.json +64 -0
  855. package/data/experts/finance/statement-auditor/.downloaded_at +1 -0
  856. package/data/experts/finance/statement-auditor/.imported-from-workbuddy +7 -0
  857. package/data/experts/finance/statement-auditor/persona.md +47 -0
  858. package/data/experts/finance/stock-partner-team/.codebuddy-plugin/plugin.json +181 -0
  859. package/data/experts/finance/stock-partner-team/.downloaded_at +1 -0
  860. package/data/experts/finance/stock-partner-team/.imported-from-workbuddy +7 -0
  861. package/data/experts/finance/stock-partner-team/README.md +151 -0
  862. package/data/experts/finance/stock-partner-team/persona.md +2549 -0
  863. package/data/experts/finance/stock-partner-team/settings.json +3 -0
  864. package/data/experts/finance/strategy-backtest-expert/.codebuddy-plugin/plugin.json +56 -0
  865. package/data/experts/finance/strategy-backtest-expert/.downloaded_at +1 -0
  866. package/data/experts/finance/strategy-backtest-expert/.imported-from-workbuddy +7 -0
  867. package/data/experts/finance/strategy-backtest-expert/README.md +28 -0
  868. package/data/experts/finance/strategy-backtest-expert/persona.md +77 -0
  869. package/data/experts/finance/tdx-stock-diagnostician/.codebuddy-plugin/plugin.json +43 -0
  870. package/data/experts/finance/tdx-stock-diagnostician/.downloaded_at +1 -0
  871. package/data/experts/finance/tdx-stock-diagnostician/.imported-from-workbuddy +7 -0
  872. package/data/experts/finance/tdx-stock-diagnostician/README.md +56 -0
  873. package/data/experts/finance/tdx-stock-diagnostician/agents/tdx-stock-diagnostician.md +64 -0
  874. package/data/experts/finance/tdx-stock-diagnostician/persona.md +61 -0
  875. package/data/experts/finance/tdx-stock-diagnostician//344/270/212/346/236/266/347/224/263/350/257/267/346/212/245/345/221/212.md +68 -0
  876. package/data/experts/finance/tdx-stock-hunter/.codebuddy-plugin/plugin.json +43 -0
  877. package/data/experts/finance/tdx-stock-hunter/.downloaded_at +1 -0
  878. package/data/experts/finance/tdx-stock-hunter/.imported-from-workbuddy +7 -0
  879. package/data/experts/finance/tdx-stock-hunter/README.md +53 -0
  880. package/data/experts/finance/tdx-stock-hunter/agents/tdx-stock-hunter.md +59 -0
  881. package/data/experts/finance/tdx-stock-hunter/persona.md +56 -0
  882. package/data/experts/finance/tdx-stock-hunter//344/270/212/346/236/266/347/224/263/350/257/267/346/212/245/345/221/212.md +63 -0
  883. package/data/experts/finance/tdx-value-assessor/.codebuddy-plugin/plugin.json +43 -0
  884. package/data/experts/finance/tdx-value-assessor/.downloaded_at +1 -0
  885. package/data/experts/finance/tdx-value-assessor/.imported-from-workbuddy +7 -0
  886. package/data/experts/finance/tdx-value-assessor/README.md +57 -0
  887. package/data/experts/finance/tdx-value-assessor/agents/tdx-value-assessor.md +69 -0
  888. package/data/experts/finance/tdx-value-assessor/persona.md +66 -0
  889. package/data/experts/finance/tdx-value-assessor//344/270/212/346/236/266/347/224/263/350/257/267/346/212/245/345/221/212.md +62 -0
  890. package/data/experts/finance/terminal-veteran/.codebuddy-plugin/plugin.json +188 -0
  891. package/data/experts/finance/terminal-veteran/.downloaded_at +1 -0
  892. package/data/experts/finance/terminal-veteran/.imported-from-workbuddy +7 -0
  893. package/data/experts/finance/terminal-veteran/README.md +129 -0
  894. package/data/experts/finance/terminal-veteran/persona.md +370 -0
  895. package/data/experts/finance/trading-agent/.codebuddy-plugin/plugin.json +162 -0
  896. package/data/experts/finance/trading-agent/.downloaded_at +1 -0
  897. package/data/experts/finance/trading-agent/.imported-from-workbuddy +7 -0
  898. package/data/experts/finance/trading-agent/persona.md +910 -0
  899. package/data/experts/finance/trading-agent/settings.json +3 -0
  900. package/data/experts/finance/uae-public-affairs/.codebuddy-plugin/plugin.json +44 -0
  901. package/data/experts/finance/uae-public-affairs/.downloaded_at +1 -0
  902. package/data/experts/finance/uae-public-affairs/.imported-from-workbuddy +7 -0
  903. package/data/experts/finance/uae-public-affairs/README.md +42 -0
  904. package/data/experts/finance/uae-public-affairs/persona.md +196 -0
  905. package/data/experts/finance/uae-strategic-advisor/.codebuddy-plugin/plugin.json +64 -0
  906. package/data/experts/finance/uae-strategic-advisor/.downloaded_at +1 -0
  907. package/data/experts/finance/uae-strategic-advisor/.imported-from-workbuddy +7 -0
  908. package/data/experts/finance/uae-strategic-advisor/README.md +43 -0
  909. package/data/experts/finance/uae-strategic-advisor/agents/uae-strategic-advisor.md +73 -0
  910. package/data/experts/finance/uae-strategic-advisor/expert-card.json +36 -0
  911. package/data/experts/finance/uae-strategic-advisor/persona.md +70 -0
  912. package/data/experts/finance/uae-strategic-advisor/skills/uae-corpus/SKILL.md +250 -0
  913. package/data/experts/finance/valuation-reviewer/.codebuddy-plugin/plugin.json +67 -0
  914. package/data/experts/finance/valuation-reviewer/.downloaded_at +1 -0
  915. package/data/experts/finance/valuation-reviewer/.imported-from-workbuddy +7 -0
  916. package/data/experts/finance/valuation-reviewer/persona.md +52 -0
  917. package/data/experts/finance/wealth-management/.codebuddy-plugin/plugin.json +24 -0
  918. package/data/experts/finance/wealth-management/.downloaded_at +1 -0
  919. package/data/experts/finance/wealth-management/.imported-from-workbuddy +7 -0
  920. package/data/experts/finance/wealth-management/agents/wealth-management-expert.md +57 -0
  921. package/data/experts/finance/wealth-management/persona.md +61 -0
  922. package/data/experts/finance/wealth-management/rules/wealth_management_rules.md +55 -0
  923. package/data/experts/finance/wealth-management/skills/client-report/SKILL.md +99 -0
  924. package/data/experts/finance/wealth-management/skills/client-review/SKILL.md +90 -0
  925. package/data/experts/finance/wealth-management/skills/financial-plan/SKILL.md +118 -0
  926. package/data/experts/finance/wealth-management/skills/investment-proposal/SKILL.md +88 -0
  927. package/data/experts/finance/wealth-management/skills/portfolio-rebalance/SKILL.md +81 -0
  928. package/data/experts/finance/wealth-management/skills/tax-loss-harvesting/SKILL.md +107 -0
  929. package/data/experts/finance/yahoo-finance-cli/.codebuddy-plugin/plugin.json +60 -0
  930. package/data/experts/finance/yahoo-finance-cli/.downloaded_at +1 -0
  931. package/data/experts/finance/yahoo-finance-cli/.imported-from-workbuddy +7 -0
  932. package/data/experts/finance/yahoo-finance-cli/README.md +52 -0
  933. package/data/experts/finance/yahoo-finance-cli/agents/yahoo-finance-cli.md +55 -0
  934. package/data/experts/finance/yahoo-finance-cli/persona.md +52 -0
  935. package/data/experts/game-development/databrain-agent-v2/.codebuddy-plugin/plugin.json +80 -0
  936. package/data/experts/game-development/databrain-agent-v2/.downloaded_at +1 -0
  937. package/data/experts/game-development/databrain-agent-v2/.imported-from-workbuddy +7 -0
  938. package/data/experts/game-development/databrain-agent-v2/README.md +133 -0
  939. package/data/experts/game-development/databrain-agent-v2/persona.md +217 -0
  940. package/data/experts/game-development/databrain-agent-v2/requirements.txt +22 -0
  941. package/data/experts/game-development/game-development-studio/.codebuddy-plugin/plugin.json +171 -0
  942. package/data/experts/game-development/game-development-studio/.downloaded_at +1 -0
  943. package/data/experts/game-development/game-development-studio/.imported-from-workbuddy +7 -0
  944. package/data/experts/game-development/game-development-studio/README.md +53 -0
  945. package/data/experts/game-development/game-development-studio/agents/art-director.md +56 -0
  946. package/data/experts/game-development/game-development-studio/agents/audio-director.md +54 -0
  947. package/data/experts/game-development/game-development-studio/agents/design-strategist.md +54 -0
  948. package/data/experts/game-development/game-development-studio/agents/engineering-lead.md +57 -0
  949. package/data/experts/game-development/game-development-studio/agents/game-development-studio-team-lead.md +113 -0
  950. package/data/experts/game-development/game-development-studio/agents/quality-lead.md +56 -0
  951. package/data/experts/game-development/game-development-studio/agents/release-ops-lead.md +56 -0
  952. package/data/experts/game-development/game-development-studio/persona.md +393 -0
  953. package/data/experts/game-development/game-development-studio/settings.json +1 -0
  954. package/data/experts/game-development/godot-game-script-engineer/.codebuddy-plugin/plugin.json +56 -0
  955. package/data/experts/game-development/godot-game-script-engineer/.downloaded_at +1 -0
  956. package/data/experts/game-development/godot-game-script-engineer/.imported-from-workbuddy +7 -0
  957. package/data/experts/game-development/godot-game-script-engineer/README.md +19 -0
  958. package/data/experts/game-development/godot-game-script-engineer/agents/godot-game-script-engineer.md +386 -0
  959. package/data/experts/game-development/godot-game-script-engineer/license/agency-agents.LICENSE +21 -0
  960. package/data/experts/game-development/godot-game-script-engineer/persona.md +387 -0
  961. package/data/experts/gis/egypt-marketing/.codebuddy-plugin/plugin.json +64 -0
  962. package/data/experts/gis/egypt-marketing/.downloaded_at +1 -0
  963. package/data/experts/gis/egypt-marketing/.imported-from-workbuddy +7 -0
  964. package/data/experts/gis/egypt-marketing/INSTALL.md +120 -0
  965. package/data/experts/gis/egypt-marketing/README.md +58 -0
  966. package/data/experts/gis/egypt-marketing/persona.md +521 -0
  967. package/data/experts/gis/egypt-marketing/requirements.txt +1 -0
  968. package/data/experts/gis/exam-preparation-planner/.codebuddy-plugin/plugin.json +70 -0
  969. package/data/experts/gis/exam-preparation-planner/.downloaded_at +1 -0
  970. package/data/experts/gis/exam-preparation-planner/.imported-from-workbuddy +7 -0
  971. package/data/experts/gis/exam-preparation-planner/README.md +46 -0
  972. package/data/experts/gis/exam-preparation-planner/agents/exam-preparation-planner.md +85 -0
  973. package/data/experts/gis/exam-preparation-planner/persona.md +82 -0
  974. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/SKILL.md +98 -0
  975. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/references/common-exam-routes.md +73 -0
  976. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/references/decision-guide.md +147 -0
  977. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/references/output-templates.md +176 -0
  978. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/references/regression-cases.md +136 -0
  979. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/references/source-policy.md +72 -0
  980. package/data/experts/gis/exam-preparation-planner/skills/exam-preparation-playbook/references/state-schema.md +152 -0
  981. package/data/experts/gis/lazy-travel-planner/.codebuddy-plugin/plugin.json +54 -0
  982. package/data/experts/gis/lazy-travel-planner/.downloaded_at +1 -0
  983. package/data/experts/gis/lazy-travel-planner/.imported-from-workbuddy +7 -0
  984. package/data/experts/gis/lazy-travel-planner/README.md +87 -0
  985. package/data/experts/gis/lazy-travel-planner/persona.md +175 -0
  986. package/data/experts/healthcare/mi-zhen-expert/.codebuddy-plugin/plugin.json +64 -0
  987. package/data/experts/healthcare/mi-zhen-expert/.downloaded_at +1 -0
  988. package/data/experts/healthcare/mi-zhen-expert/.imported-from-workbuddy +7 -0
  989. package/data/experts/healthcare/mi-zhen-expert/README.md +44 -0
  990. package/data/experts/healthcare/mi-zhen-expert/agents/mi-zhen-expert.md +33 -0
  991. package/data/experts/healthcare/mi-zhen-expert/persona.md +29 -0
  992. package/data/experts/healthcare/mi-zhen-expert/skills/med-agent-proxy/SKILL.md +69 -0
  993. package/data/experts/healthcare/mi-zhen-expert/skills/med-agent-proxy/scripts/chat_workbuddy.py +498 -0
  994. package/data/experts/healthcare/patient-education-content-review-word-assistant/.codebuddy-plugin/plugin.json +64 -0
  995. package/data/experts/healthcare/patient-education-content-review-word-assistant/.downloaded_at +1 -0
  996. package/data/experts/healthcare/patient-education-content-review-word-assistant/.imported-from-workbuddy +7 -0
  997. package/data/experts/healthcare/patient-education-content-review-word-assistant/README.md +101 -0
  998. package/data/experts/healthcare/patient-education-content-review-word-assistant/agents/patient-education-content-review-word-assistant.md +489 -0
  999. package/data/experts/healthcare/patient-education-content-review-word-assistant/persona.md +486 -0
  1000. package/data/experts/healthcare/patient-education-content-review-word-assistant/skills/review-to-word/SKILL.md +70 -0
  1001. package/data/experts/healthcare/patient-education-content-review-word-assistant/skills/review-to-word/scripts/review_to_word.py +231 -0
  1002. package/data/experts/healthcare/tianyu-marketing-guardian/.codebuddy-plugin/plugin.json +64 -0
  1003. package/data/experts/healthcare/tianyu-marketing-guardian/.downloaded_at +1 -0
  1004. package/data/experts/healthcare/tianyu-marketing-guardian/.imported-from-workbuddy +7 -0
  1005. package/data/experts/healthcare/tianyu-marketing-guardian/README.md +43 -0
  1006. package/data/experts/healthcare/tianyu-marketing-guardian/persona.md +60 -0
  1007. package/data/experts/hr/career-broker/.codebuddy-plugin/plugin.json +95 -0
  1008. package/data/experts/hr/career-broker/.downloaded_at +1 -0
  1009. package/data/experts/hr/career-broker/.imported-from-workbuddy +7 -0
  1010. package/data/experts/hr/career-broker/README.md +153 -0
  1011. package/data/experts/hr/career-broker/persona.md +546 -0
  1012. package/data/experts/hr/customer-support-expert/.codebuddy-plugin/plugin.json +59 -0
  1013. package/data/experts/hr/customer-support-expert/.downloaded_at +1 -0
  1014. package/data/experts/hr/customer-support-expert/.imported-from-workbuddy +7 -0
  1015. package/data/experts/hr/customer-support-expert/README.md +17 -0
  1016. package/data/experts/hr/customer-support-expert/agents/customer-support-expert.md +591 -0
  1017. package/data/experts/hr/customer-support-expert/license/agency-agents.LICENSE +21 -0
  1018. package/data/experts/hr/customer-support-expert/persona.md +592 -0
  1019. package/data/experts/hr/customer-support-expert/skills/market-researcher/SKILL.md +288 -0
  1020. package/data/experts/hr/family-education-coach/.codebuddy-plugin/plugin.json +61 -0
  1021. package/data/experts/hr/family-education-coach/.downloaded_at +1 -0
  1022. package/data/experts/hr/family-education-coach/.imported-from-workbuddy +7 -0
  1023. package/data/experts/hr/family-education-coach/README.md +44 -0
  1024. package/data/experts/hr/family-education-coach/agents/family-education-coach.md +65 -0
  1025. package/data/experts/hr/family-education-coach/persona.md +62 -0
  1026. package/data/experts/hr/fbsir-beike-yi/.codebuddy-plugin/plugin.json +105 -0
  1027. package/data/experts/hr/fbsir-beike-yi/.downloaded_at +1 -0
  1028. package/data/experts/hr/fbsir-beike-yi/.imported-from-workbuddy +7 -0
  1029. package/data/experts/hr/fbsir-beike-yi/LICENSE +21 -0
  1030. package/data/experts/hr/fbsir-beike-yi/PRIVACY.md +31 -0
  1031. package/data/experts/hr/fbsir-beike-yi/README.md +74 -0
  1032. package/data/experts/hr/fbsir-beike-yi/SECURITY.md +41 -0
  1033. package/data/experts/hr/fbsir-beike-yi/TERMS.md +9 -0
  1034. package/data/experts/hr/fbsir-beike-yi/agents/fbsir-beike-yi.md +225 -0
  1035. package/data/experts/hr/fbsir-beike-yi/contracts/first-value-contract.json +33 -0
  1036. package/data/experts/hr/fbsir-beike-yi/contracts/high-value-delivery.schema.json +36 -0
  1037. package/data/experts/hr/fbsir-beike-yi/contracts/material-scope.schema.json +46 -0
  1038. package/data/experts/hr/fbsir-beike-yi/contracts/option-decision-contract.json +34 -0
  1039. package/data/experts/hr/fbsir-beike-yi/contracts/reuse-capsule.schema.json +28 -0
  1040. package/data/experts/hr/fbsir-beike-yi/contracts/teaching-quality-review-contract.json +38 -0
  1041. package/data/experts/hr/fbsir-beike-yi/contracts/writeback-contract.json +34 -0
  1042. package/data/experts/hr/fbsir-beike-yi/examples/acceptance-cases.json +104 -0
  1043. package/data/experts/hr/fbsir-beike-yi/examples/local-workspace-scenarios.json +43 -0
  1044. package/data/experts/hr/fbsir-beike-yi/examples/output-structures.md +111 -0
  1045. package/data/experts/hr/fbsir-beike-yi/persona.md +215 -0
  1046. package/data/experts/hr/fbsir-beike-yi/references/evidence-and-source-ledger.md +56 -0
  1047. package/data/experts/hr/fbsir-beike-yi/references/user-visible-copy.md +60 -0
  1048. package/data/experts/hr/fbsir-beike-yi/references/workbuddy-local-mode-boundary.md +41 -0
  1049. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/SKILL.md +152 -0
  1050. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/bounded-revision.md +30 -0
  1051. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/high-value-delivery.md +33 -0
  1052. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/local-writeback.md +35 -0
  1053. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/material-sensemaking.md +43 -0
  1054. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/option-decision.md +40 -0
  1055. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/reuse-capsule.md +34 -0
  1056. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/references/teaching-quality-review.md +28 -0
  1057. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/templates/high-value-delivery-card.md +35 -0
  1058. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/templates/material-understanding-card.md +47 -0
  1059. package/data/experts/hr/fbsir-beike-yi/skills/lesson-planning-core/templates/teaching-option-card.md +38 -0
  1060. package/data/experts/hr/hr-digital-expert/.codebuddy-plugin/plugin.json +61 -0
  1061. package/data/experts/hr/hr-digital-expert/.downloaded_at +1 -0
  1062. package/data/experts/hr/hr-digital-expert/.imported-from-workbuddy +7 -0
  1063. package/data/experts/hr/hr-digital-expert/.mcp.json +88 -0
  1064. package/data/experts/hr/hr-digital-expert/README.md +48 -0
  1065. package/data/experts/hr/hr-digital-expert/persona.md +142 -0
  1066. package/data/experts/hr/hr-operations-team/.codebuddy-plugin/plugin.json +72 -0
  1067. package/data/experts/hr/hr-operations-team/.downloaded_at +1 -0
  1068. package/data/experts/hr/hr-operations-team/.imported-from-workbuddy +7 -0
  1069. package/data/experts/hr/hr-operations-team/agents/comp-analyst.md +65 -0
  1070. package/data/experts/hr/hr-operations-team/agents/hr-director.md +262 -0
  1071. package/data/experts/hr/hr-operations-team/agents/hr-ops.md +80 -0
  1072. package/data/experts/hr/hr-operations-team/agents/org-developer.md +62 -0
  1073. package/data/experts/hr/hr-operations-team/agents/recruiter.md +56 -0
  1074. package/data/experts/hr/hr-operations-team/persona.md +510 -0
  1075. package/data/experts/hr/hr-operations-team/settings.json +1 -0
  1076. package/data/experts/hr/hr-operations-team/skills/hr-playbook/SKILL.md +281 -0
  1077. package/data/experts/hr/ihr-ai-interviewer/.codebuddy-plugin/plugin.json +67 -0
  1078. package/data/experts/hr/ihr-ai-interviewer/.downloaded_at +1 -0
  1079. package/data/experts/hr/ihr-ai-interviewer/.imported-from-workbuddy +7 -0
  1080. package/data/experts/hr/ihr-ai-interviewer/BUILD-INFO.json +55 -0
  1081. package/data/experts/hr/ihr-ai-interviewer/README.md +82 -0
  1082. package/data/experts/hr/ihr-ai-interviewer/SUBMISSION_CHECKLIST.md +82 -0
  1083. package/data/experts/hr/ihr-ai-interviewer/persona.md +118 -0
  1084. package/data/experts/hr/ihr-conference/.codebuddy-plugin/plugin.json +67 -0
  1085. package/data/experts/hr/ihr-conference/.downloaded_at +1 -0
  1086. package/data/experts/hr/ihr-conference/.imported-from-workbuddy +7 -0
  1087. package/data/experts/hr/ihr-conference/BUILD-INFO.json +55 -0
  1088. package/data/experts/hr/ihr-conference/README.md +63 -0
  1089. package/data/experts/hr/ihr-conference/persona.md +75 -0
  1090. package/data/experts/hr/interview-simulator/.codebuddy-plugin/plugin.json +60 -0
  1091. package/data/experts/hr/interview-simulator/.downloaded_at +1 -0
  1092. package/data/experts/hr/interview-simulator/.imported-from-workbuddy +7 -0
  1093. package/data/experts/hr/interview-simulator/README.md +65 -0
  1094. package/data/experts/hr/interview-simulator/agents/interview-simulator.md +44 -0
  1095. package/data/experts/hr/interview-simulator/persona.md +42 -0
  1096. package/data/experts/hr/qingflow-hr-expert/.codebuddy-plugin/plugin.json +74 -0
  1097. package/data/experts/hr/qingflow-hr-expert/.downloaded_at +1 -0
  1098. package/data/experts/hr/qingflow-hr-expert/.imported-from-workbuddy +7 -0
  1099. package/data/experts/hr/qingflow-hr-expert/README.md +46 -0
  1100. package/data/experts/hr/qingflow-hr-expert/agents/qingflow-hr-expert.md +396 -0
  1101. package/data/experts/hr/qingflow-hr-expert/persona.md +366 -0
  1102. package/data/experts/hr/qingflow-hr-expert/skills/ai-recruiting-engine/SKILL.md +137 -0
  1103. package/data/experts/hr/qingflow-hr-expert/skills/hr-analytics-dashboard/SKILL.md +126 -0
  1104. package/data/experts/hr/qingflow-hr-expert/skills/hr-performance-assistant/SKILL.md +124 -0
  1105. package/data/experts/hr/qingflow-hr-expert/skills/ida-instructional-design-agent/SKILL.md +116 -0
  1106. package/data/experts/hr/qingflow-hr-expert/skills/onboarding-flow-builder/SKILL.md +130 -0
  1107. package/data/experts/hr/qingflow-hr-expert/skills/qingflow-build/SKILL.md +179 -0
  1108. package/data/experts/hr/qingflow-hr-expert/skills/qingflow-build/references/collaboration-chains.md +45 -0
  1109. package/data/experts/hr/qingflow-hr-expert/skills/qingflow-build/references/skills-index.md +18 -0
  1110. package/data/experts/hr/south-africa-hr-admin/.codebuddy-plugin/plugin.json +61 -0
  1111. package/data/experts/hr/south-africa-hr-admin/.downloaded_at +1 -0
  1112. package/data/experts/hr/south-africa-hr-admin/.imported-from-workbuddy +7 -0
  1113. package/data/experts/hr/south-africa-hr-admin/README.md +58 -0
  1114. package/data/experts/hr/south-africa-hr-admin/persona.md +310 -0
  1115. package/data/experts/hr/txzhaopin/.codebuddy-plugin/plugin.json +207 -0
  1116. package/data/experts/hr/txzhaopin/.downloaded_at +1 -0
  1117. package/data/experts/hr/txzhaopin/.imported-from-workbuddy +7 -0
  1118. package/data/experts/hr/txzhaopin/.mcp.json +45 -0
  1119. package/data/experts/hr/txzhaopin/README.md +397 -0
  1120. package/data/experts/hr/txzhaopin/persona.md +244 -0
  1121. package/data/experts/hr/xiaot/.codebuddy-plugin/plugin.json +64 -0
  1122. package/data/experts/hr/xiaot/.downloaded_at +1 -0
  1123. package/data/experts/hr/xiaot/.imported-from-workbuddy +7 -0
  1124. package/data/experts/hr/xiaot/.mcp.json +7 -0
  1125. package/data/experts/hr/xiaot/README.md +52 -0
  1126. package/data/experts/hr/xiaot/agents/xiaot.md +36 -0
  1127. package/data/experts/hr/xiaot/persona.md +32 -0
  1128. package/data/experts/hr/xiaot/skills/xiaot-agent-proxy/SKILL.md +157 -0
  1129. package/data/experts/legal/brazil-company-query/.codebuddy-plugin/plugin.json +64 -0
  1130. package/data/experts/legal/brazil-company-query/.downloaded_at +1 -0
  1131. package/data/experts/legal/brazil-company-query/.imported-from-workbuddy +7 -0
  1132. package/data/experts/legal/brazil-company-query/README.md +78 -0
  1133. package/data/experts/legal/brazil-company-query/persona.md +791 -0
  1134. package/data/experts/legal/brazil-legal/.codebuddy-plugin/plugin.json +44 -0
  1135. package/data/experts/legal/brazil-legal/.downloaded_at +1 -0
  1136. package/data/experts/legal/brazil-legal/.imported-from-workbuddy +7 -0
  1137. package/data/experts/legal/brazil-legal/README.md +52 -0
  1138. package/data/experts/legal/brazil-legal/agents/brazil-legal.md +126 -0
  1139. package/data/experts/legal/brazil-legal/persona.md +122 -0
  1140. package/data/experts/legal/brazil-legal/skills/brazil-legal-corpus/SKILL.md +76 -0
  1141. package/data/experts/legal/brazil-rfb-expert/.codebuddy-plugin/plugin.json +53 -0
  1142. package/data/experts/legal/brazil-rfb-expert/.downloaded_at +1 -0
  1143. package/data/experts/legal/brazil-rfb-expert/.imported-from-workbuddy +7 -0
  1144. package/data/experts/legal/brazil-rfb-expert/README.md +28 -0
  1145. package/data/experts/legal/brazil-rfb-expert/persona.md +46 -0
  1146. package/data/experts/legal/charity-doc-finance-expert/.codebuddy-plugin/plugin.json +40 -0
  1147. package/data/experts/legal/charity-doc-finance-expert/.downloaded_at +1 -0
  1148. package/data/experts/legal/charity-doc-finance-expert/.imported-from-workbuddy +7 -0
  1149. package/data/experts/legal/charity-doc-finance-expert/README.md +98 -0
  1150. package/data/experts/legal/charity-doc-finance-expert/persona.md +317 -0
  1151. package/data/experts/legal/indonesia-bd-expert/.codebuddy-plugin/plugin.json +43 -0
  1152. package/data/experts/legal/indonesia-bd-expert/.downloaded_at +1 -0
  1153. package/data/experts/legal/indonesia-bd-expert/.imported-from-workbuddy +7 -0
  1154. package/data/experts/legal/indonesia-bd-expert/README.md +44 -0
  1155. package/data/experts/legal/indonesia-bd-expert/persona.md +154 -0
  1156. package/data/experts/legal/indonesia-digital-law-expert/.codebuddy-plugin/plugin.json +53 -0
  1157. package/data/experts/legal/indonesia-digital-law-expert/.downloaded_at +1 -0
  1158. package/data/experts/legal/indonesia-digital-law-expert/.imported-from-workbuddy +7 -0
  1159. package/data/experts/legal/indonesia-digital-law-expert/README.md +42 -0
  1160. package/data/experts/legal/indonesia-digital-law-expert/persona.md +104 -0
  1161. package/data/experts/legal/indonesia-pa-expert/.codebuddy-plugin/plugin.json +61 -0
  1162. package/data/experts/legal/indonesia-pa-expert/.downloaded_at +1 -0
  1163. package/data/experts/legal/indonesia-pa-expert/.imported-from-workbuddy +7 -0
  1164. package/data/experts/legal/indonesia-pa-expert/README.md +36 -0
  1165. package/data/experts/legal/indonesia-pa-expert/agents/indonesia-pa-expert.md +125 -0
  1166. package/data/experts/legal/indonesia-pa-expert/persona.md +122 -0
  1167. package/data/experts/legal/inspection-expert/.codebuddy-plugin/plugin.json +65 -0
  1168. package/data/experts/legal/inspection-expert/.downloaded_at +1 -0
  1169. package/data/experts/legal/inspection-expert/.imported-from-workbuddy +7 -0
  1170. package/data/experts/legal/inspection-expert/README.md +35 -0
  1171. package/data/experts/legal/inspection-expert/agents/inspection-expert.md +263 -0
  1172. package/data/experts/legal/inspection-expert/persona.md +260 -0
  1173. package/data/experts/legal/sg-hr-admin-expert/.codebuddy-plugin/plugin.json +70 -0
  1174. package/data/experts/legal/sg-hr-admin-expert/.downloaded_at +1 -0
  1175. package/data/experts/legal/sg-hr-admin-expert/.imported-from-workbuddy +7 -0
  1176. package/data/experts/legal/sg-hr-admin-expert/README.md +40 -0
  1177. package/data/experts/legal/sg-hr-admin-expert/persona.md +2664 -0
  1178. package/data/experts/legal/smb-team/.codebuddy-plugin/plugin.json +79 -0
  1179. package/data/experts/legal/smb-team/.downloaded_at +1 -0
  1180. package/data/experts/legal/smb-team/.imported-from-workbuddy +7 -0
  1181. package/data/experts/legal/smb-team/agents/smb-compliance-member.md +90 -0
  1182. package/data/experts/legal/smb-team/agents/smb-finance-member.md +85 -0
  1183. package/data/experts/legal/smb-team/agents/smb-ops-member.md +96 -0
  1184. package/data/experts/legal/smb-team/agents/smb-revenue-member.md +90 -0
  1185. package/data/experts/legal/smb-team/agents/smb-team-lead.md +167 -0
  1186. package/data/experts/legal/smb-team/persona.md +507 -0
  1187. package/data/experts/legal/smb-team/settings.json +1 -0
  1188. package/data/experts/legal/thai-marketing-creative/.codebuddy-plugin/plugin.json +52 -0
  1189. package/data/experts/legal/thai-marketing-creative/.downloaded_at +1 -0
  1190. package/data/experts/legal/thai-marketing-creative/.imported-from-workbuddy +7 -0
  1191. package/data/experts/legal/thai-marketing-creative/README.md +52 -0
  1192. package/data/experts/legal/thai-marketing-creative/persona.md +190 -0
  1193. package/data/experts/legal/thailand-hr-admin/.codebuddy-plugin/plugin.json +61 -0
  1194. package/data/experts/legal/thailand-hr-admin/.downloaded_at +1 -0
  1195. package/data/experts/legal/thailand-hr-admin/.imported-from-workbuddy +7 -0
  1196. package/data/experts/legal/thailand-hr-admin/README.md +42 -0
  1197. package/data/experts/legal/thailand-hr-admin/agents/thailand-hr-admin.md +166 -0
  1198. package/data/experts/legal/thailand-hr-admin/persona.md +163 -0
  1199. package/data/experts/marketing/ad-tracking-expert/.codebuddy-plugin/plugin.json +56 -0
  1200. package/data/experts/marketing/ad-tracking-expert/.downloaded_at +1 -0
  1201. package/data/experts/marketing/ad-tracking-expert/.imported-from-workbuddy +7 -0
  1202. package/data/experts/marketing/ad-tracking-expert/README.md +19 -0
  1203. package/data/experts/marketing/ad-tracking-expert/agents/ad-tracking-expert.md +70 -0
  1204. package/data/experts/marketing/ad-tracking-expert/license/agency-agents.LICENSE +21 -0
  1205. package/data/experts/marketing/ad-tracking-expert/persona.md +70 -0
  1206. package/data/experts/marketing/ai-humanizer/.codebuddy-plugin/plugin.json +60 -0
  1207. package/data/experts/marketing/ai-humanizer/.downloaded_at +1 -0
  1208. package/data/experts/marketing/ai-humanizer/.imported-from-workbuddy +7 -0
  1209. package/data/experts/marketing/ai-humanizer/README.md +31 -0
  1210. package/data/experts/marketing/ai-humanizer/agents/ai-humanizer.md +51 -0
  1211. package/data/experts/marketing/ai-humanizer/persona.md +48 -0
  1212. package/data/experts/marketing/ai-shifu/.codebuddy-plugin/plugin.json +64 -0
  1213. package/data/experts/marketing/ai-shifu/.downloaded_at +1 -0
  1214. package/data/experts/marketing/ai-shifu/.imported-from-workbuddy +7 -0
  1215. package/data/experts/marketing/ai-shifu/README.md +41 -0
  1216. package/data/experts/marketing/ai-shifu/persona.md +29 -0
  1217. package/data/experts/marketing/ai-video-script/.codebuddy-plugin/plugin.json +61 -0
  1218. package/data/experts/marketing/ai-video-script/.downloaded_at +1 -0
  1219. package/data/experts/marketing/ai-video-script/.imported-from-workbuddy +7 -0
  1220. package/data/experts/marketing/ai-video-script/README.md +31 -0
  1221. package/data/experts/marketing/ai-video-script/agents/ai-video-script.md +43 -0
  1222. package/data/experts/marketing/ai-video-script/persona.md +41 -0
  1223. package/data/experts/marketing/auto-consultant/.codebuddy-plugin/plugin.json +70 -0
  1224. package/data/experts/marketing/auto-consultant/.downloaded_at +1 -0
  1225. package/data/experts/marketing/auto-consultant/.imported-from-workbuddy +7 -0
  1226. package/data/experts/marketing/auto-consultant/.mcp.json +19 -0
  1227. package/data/experts/marketing/auto-consultant/README.md +45 -0
  1228. package/data/experts/marketing/auto-consultant/persona.md +92 -0
  1229. package/data/experts/marketing/book-co-creator/.codebuddy-plugin/plugin.json +60 -0
  1230. package/data/experts/marketing/book-co-creator/.downloaded_at +1 -0
  1231. package/data/experts/marketing/book-co-creator/.imported-from-workbuddy +7 -0
  1232. package/data/experts/marketing/book-co-creator/README.md +20 -0
  1233. package/data/experts/marketing/book-co-creator/persona.md +118 -0
  1234. package/data/experts/marketing/brand-guardian/.codebuddy-plugin/plugin.json +31 -0
  1235. package/data/experts/marketing/brand-guardian/.downloaded_at +1 -0
  1236. package/data/experts/marketing/brand-guardian/.imported-from-workbuddy +7 -0
  1237. package/data/experts/marketing/brand-guardian/README.md +21 -0
  1238. package/data/experts/marketing/brand-guardian/persona.md +332 -0
  1239. package/data/experts/marketing/chatcut-video-editor/.codebuddy-plugin/plugin.json +86 -0
  1240. package/data/experts/marketing/chatcut-video-editor/.downloaded_at +1 -0
  1241. package/data/experts/marketing/chatcut-video-editor/.imported-from-workbuddy +7 -0
  1242. package/data/experts/marketing/chatcut-video-editor/.mcp.json +26 -0
  1243. package/data/experts/marketing/chatcut-video-editor/README.md +32 -0
  1244. package/data/experts/marketing/chatcut-video-editor/persona.md +55 -0
  1245. package/data/experts/marketing/content-creation-expert-prod/.codebuddy-plugin/plugin.json +145 -0
  1246. package/data/experts/marketing/content-creation-expert-prod/.downloaded_at +1 -0
  1247. package/data/experts/marketing/content-creation-expert-prod/.imported-from-workbuddy +7 -0
  1248. package/data/experts/marketing/content-creation-expert-prod/README.md +49 -0
  1249. package/data/experts/marketing/content-creation-expert-prod/persona.md +1732 -0
  1250. package/data/experts/marketing/content-creation-expert-prod/settings.json +3 -0
  1251. package/data/experts/marketing/content-distribution-team/.codebuddy-plugin/plugin.json +99 -0
  1252. package/data/experts/marketing/content-distribution-team/.downloaded_at +1 -0
  1253. package/data/experts/marketing/content-distribution-team/.imported-from-workbuddy +7 -0
  1254. package/data/experts/marketing/content-distribution-team/README.md +86 -0
  1255. package/data/experts/marketing/content-distribution-team/persona.md +877 -0
  1256. package/data/experts/marketing/content-distribution-team/settings.json +3 -0
  1257. package/data/experts/marketing/content-monetization-team/.codebuddy-plugin/plugin.json +104 -0
  1258. package/data/experts/marketing/content-monetization-team/.downloaded_at +1 -0
  1259. package/data/experts/marketing/content-monetization-team/.imported-from-workbuddy +7 -0
  1260. package/data/experts/marketing/content-monetization-team/README.md +60 -0
  1261. package/data/experts/marketing/content-monetization-team/persona.md +678 -0
  1262. package/data/experts/marketing/content-monetization-team/settings.json +3 -0
  1263. package/data/experts/marketing/content-writer/.codebuddy-plugin/plugin.json +61 -0
  1264. package/data/experts/marketing/content-writer/.downloaded_at +1 -0
  1265. package/data/experts/marketing/content-writer/.imported-from-workbuddy +7 -0
  1266. package/data/experts/marketing/content-writer/README.md +31 -0
  1267. package/data/experts/marketing/content-writer/agents/content-writer.md +41 -0
  1268. package/data/experts/marketing/content-writer/persona.md +39 -0
  1269. package/data/experts/marketing/executing-marketing-campaigns/.codebuddy-plugin/plugin.json +21 -0
  1270. package/data/experts/marketing/executing-marketing-campaigns/.downloaded_at +1 -0
  1271. package/data/experts/marketing/executing-marketing-campaigns/.imported-from-workbuddy +7 -0
  1272. package/data/experts/marketing/executing-marketing-campaigns/DELIVERY_SUMMARY.md +564 -0
  1273. package/data/experts/marketing/executing-marketing-campaigns/DIRECTORY_STRUCTURE.md +281 -0
  1274. package/data/experts/marketing/executing-marketing-campaigns/IMPLEMENTATION_GUIDE.md +364 -0
  1275. package/data/experts/marketing/executing-marketing-campaigns/README.md +256 -0
  1276. package/data/experts/marketing/executing-marketing-campaigns/persona.md +63 -0
  1277. package/data/experts/marketing/fbsir-mom-dialogue-expert/.codebuddy-plugin/plugin.json +88 -0
  1278. package/data/experts/marketing/fbsir-mom-dialogue-expert/.downloaded_at +1 -0
  1279. package/data/experts/marketing/fbsir-mom-dialogue-expert/.imported-from-workbuddy +7 -0
  1280. package/data/experts/marketing/fbsir-mom-dialogue-expert/FILE-MANIFEST.sha256.json +127 -0
  1281. package/data/experts/marketing/fbsir-mom-dialogue-expert/LICENSE +19 -0
  1282. package/data/experts/marketing/fbsir-mom-dialogue-expert/METHODOLOGY.md +17 -0
  1283. package/data/experts/marketing/fbsir-mom-dialogue-expert/PRIVACY.md +19 -0
  1284. package/data/experts/marketing/fbsir-mom-dialogue-expert/README.md +73 -0
  1285. package/data/experts/marketing/fbsir-mom-dialogue-expert/RIGHTS-NOTICE.md +5 -0
  1286. package/data/experts/marketing/fbsir-mom-dialogue-expert/SECURITY.md +23 -0
  1287. package/data/experts/marketing/fbsir-mom-dialogue-expert/TERMS.md +7 -0
  1288. package/data/experts/marketing/fbsir-mom-dialogue-expert/THIRD-PARTY-NOTICES.md +5 -0
  1289. package/data/experts/marketing/fbsir-mom-dialogue-expert/persona.md +58 -0
  1290. package/data/experts/marketing/frontend-slides/.codebuddy-plugin/plugin.json +61 -0
  1291. package/data/experts/marketing/frontend-slides/.downloaded_at +1 -0
  1292. package/data/experts/marketing/frontend-slides/.imported-from-workbuddy +7 -0
  1293. package/data/experts/marketing/frontend-slides/README.md +39 -0
  1294. package/data/experts/marketing/frontend-slides/agents/frontend-slides.md +51 -0
  1295. package/data/experts/marketing/frontend-slides/persona.md +48 -0
  1296. package/data/experts/marketing/geo-diagnosis-expert/.codebuddy-plugin/plugin.json +64 -0
  1297. package/data/experts/marketing/geo-diagnosis-expert/.downloaded_at +1 -0
  1298. package/data/experts/marketing/geo-diagnosis-expert/.imported-from-workbuddy +7 -0
  1299. package/data/experts/marketing/geo-diagnosis-expert/persona.md +48 -0
  1300. package/data/experts/marketing/humanize-ppt-team/.codebuddy-plugin/plugin.json +186 -0
  1301. package/data/experts/marketing/humanize-ppt-team/.downloaded_at +1 -0
  1302. package/data/experts/marketing/humanize-ppt-team/.imported-from-workbuddy +7 -0
  1303. package/data/experts/marketing/humanize-ppt-team/FIX_REPORT.md +20 -0
  1304. package/data/experts/marketing/humanize-ppt-team/README.md +88 -0
  1305. package/data/experts/marketing/humanize-ppt-team/persona.md +427 -0
  1306. package/data/experts/marketing/humanize-ppt-team/settings.json +3 -0
  1307. package/data/experts/marketing/jiayi-ads-analytics-expert/.codebuddy-plugin/plugin.json +49 -0
  1308. package/data/experts/marketing/jiayi-ads-analytics-expert/.downloaded_at +1 -0
  1309. package/data/experts/marketing/jiayi-ads-analytics-expert/.imported-from-workbuddy +7 -0
  1310. package/data/experts/marketing/jiayi-ads-analytics-expert/README.md +28 -0
  1311. package/data/experts/marketing/jiayi-ads-analytics-expert/persona.md +170 -0
  1312. package/data/experts/marketing/kdocs-doc-butler/.codebuddy-plugin/plugin.json +71 -0
  1313. package/data/experts/marketing/kdocs-doc-butler/.downloaded_at +1 -0
  1314. package/data/experts/marketing/kdocs-doc-butler/.imported-from-workbuddy +7 -0
  1315. package/data/experts/marketing/kdocs-doc-butler/README.md +29 -0
  1316. package/data/experts/marketing/kdocs-doc-butler/persona.md +63 -0
  1317. package/data/experts/marketing/kdocs-knowledge-collector/.codebuddy-plugin/plugin.json +71 -0
  1318. package/data/experts/marketing/kdocs-knowledge-collector/.downloaded_at +1 -0
  1319. package/data/experts/marketing/kdocs-knowledge-collector/.imported-from-workbuddy +7 -0
  1320. package/data/experts/marketing/kdocs-knowledge-collector/README.md +34 -0
  1321. package/data/experts/marketing/kdocs-knowledge-collector/persona.md +41 -0
  1322. package/data/experts/marketing/kdocs-pdf-toolbox/.codebuddy-plugin/plugin.json +69 -0
  1323. package/data/experts/marketing/kdocs-pdf-toolbox/.downloaded_at +1 -0
  1324. package/data/experts/marketing/kdocs-pdf-toolbox/.imported-from-workbuddy +7 -0
  1325. package/data/experts/marketing/kdocs-pdf-toolbox/README.md +23 -0
  1326. package/data/experts/marketing/kdocs-pdf-toolbox/persona.md +40 -0
  1327. package/data/experts/marketing/kdocs-ppt-creator/.codebuddy-plugin/plugin.json +69 -0
  1328. package/data/experts/marketing/kdocs-ppt-creator/.downloaded_at +1 -0
  1329. package/data/experts/marketing/kdocs-ppt-creator/.imported-from-workbuddy +7 -0
  1330. package/data/experts/marketing/kdocs-ppt-creator/README.md +23 -0
  1331. package/data/experts/marketing/kdocs-ppt-creator/agents/kdocs-ppt-creator.md +42 -0
  1332. package/data/experts/marketing/kdocs-ppt-creator/persona.md +45 -0
  1333. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/SKILL.md +164 -0
  1334. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/auth.md +32 -0
  1335. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/file-locating-guide.md +34 -0
  1336. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_master.md +83 -0
  1337. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_presentation.md +85 -0
  1338. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_shape.md +118 -0
  1339. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/doc_slide.md +94 -0
  1340. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/export.md +178 -0
  1341. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/jsapi_shape.md +131 -0
  1342. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/jsapi_slide.md +126 -0
  1343. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/slide.md +139 -0
  1344. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp/theme.md +204 -0
  1345. package/data/experts/marketing/kdocs-ppt-creator/skills/ppt-gen/references/wpp.md +164 -0
  1346. package/data/experts/marketing/kidd-content-expert/.codebuddy-plugin/plugin.json +63 -0
  1347. package/data/experts/marketing/kidd-content-expert/.downloaded_at +1 -0
  1348. package/data/experts/marketing/kidd-content-expert/.imported-from-workbuddy +7 -0
  1349. package/data/experts/marketing/kidd-content-expert/agents/kidd-content-expert.md +70 -0
  1350. package/data/experts/marketing/kidd-content-expert/persona.md +61 -0
  1351. package/data/experts/marketing/kidd-content-expert/skills/kidd-script-writing/SKILL.md +289 -0
  1352. package/data/experts/marketing/kidd-content-expert/skills/kidd-script-writing/references/examples.md +111 -0
  1353. package/data/experts/marketing/livestream-ecommerce-coach/.codebuddy-plugin/plugin.json +60 -0
  1354. package/data/experts/marketing/livestream-ecommerce-coach/.downloaded_at +1 -0
  1355. package/data/experts/marketing/livestream-ecommerce-coach/.imported-from-workbuddy +7 -0
  1356. package/data/experts/marketing/livestream-ecommerce-coach/README.md +23 -0
  1357. package/data/experts/marketing/livestream-ecommerce-coach/persona.md +313 -0
  1358. package/data/experts/marketing/long-manuscript-expert/.codebuddy-plugin/plugin.json +65 -0
  1359. package/data/experts/marketing/long-manuscript-expert/.downloaded_at +1 -0
  1360. package/data/experts/marketing/long-manuscript-expert/.imported-from-workbuddy +7 -0
  1361. package/data/experts/marketing/long-manuscript-expert/FILE-MANIFEST.sha256.json +817 -0
  1362. package/data/experts/marketing/long-manuscript-expert/LICENSE +21 -0
  1363. package/data/experts/marketing/long-manuscript-expert/PRIVACY.md +38 -0
  1364. package/data/experts/marketing/long-manuscript-expert/README.md +57 -0
  1365. package/data/experts/marketing/long-manuscript-expert/RIGHTS-NOTICE.md +25 -0
  1366. package/data/experts/marketing/long-manuscript-expert/SECURITY.md +34 -0
  1367. package/data/experts/marketing/long-manuscript-expert/TERMS.md +35 -0
  1368. package/data/experts/marketing/long-manuscript-expert/THIRD-PARTY-NOTICES.md +7 -0
  1369. package/data/experts/marketing/long-manuscript-expert/persona.md +140 -0
  1370. package/data/experts/marketing/market-analysis-cn/.codebuddy-plugin/plugin.json +61 -0
  1371. package/data/experts/marketing/market-analysis-cn/.downloaded_at +1 -0
  1372. package/data/experts/marketing/market-analysis-cn/.imported-from-workbuddy +7 -0
  1373. package/data/experts/marketing/market-analysis-cn/README.md +45 -0
  1374. package/data/experts/marketing/market-analysis-cn/agents/market-analysis-cn.md +46 -0
  1375. package/data/experts/marketing/market-analysis-cn/persona.md +43 -0
  1376. package/data/experts/marketing/marketing-campaign-team/.codebuddy-plugin/plugin.json +72 -0
  1377. package/data/experts/marketing/marketing-campaign-team/.downloaded_at +1 -0
  1378. package/data/experts/marketing/marketing-campaign-team/.imported-from-workbuddy +7 -0
  1379. package/data/experts/marketing/marketing-campaign-team/agents/brand-analyst.md +63 -0
  1380. package/data/experts/marketing/marketing-campaign-team/agents/campaign-planner.md +67 -0
  1381. package/data/experts/marketing/marketing-campaign-team/agents/content-creator.md +54 -0
  1382. package/data/experts/marketing/marketing-campaign-team/agents/marketing-director.md +194 -0
  1383. package/data/experts/marketing/marketing-campaign-team/agents/seo-expert.md +68 -0
  1384. package/data/experts/marketing/marketing-campaign-team/persona.md +431 -0
  1385. package/data/experts/marketing/marketing-campaign-team/settings.json +1 -0
  1386. package/data/experts/marketing/marketing-campaign-team/skills/marketing-playbook/SKILL.md +230 -0
  1387. package/data/experts/marketing/marketing-growth-team/.codebuddy-plugin/plugin.json +144 -0
  1388. package/data/experts/marketing/marketing-growth-team/.downloaded_at +1 -0
  1389. package/data/experts/marketing/marketing-growth-team/.imported-from-workbuddy +7 -0
  1390. package/data/experts/marketing/marketing-growth-team/README.md +28 -0
  1391. package/data/experts/marketing/marketing-growth-team/persona.md +1118 -0
  1392. package/data/experts/marketing/marketing-growth-team/settings.json +3 -0
  1393. package/data/experts/marketing/news-briefing-expert/.codebuddy-plugin/plugin.json +44 -0
  1394. package/data/experts/marketing/news-briefing-expert/.downloaded_at +1 -0
  1395. package/data/experts/marketing/news-briefing-expert/.imported-from-workbuddy +7 -0
  1396. package/data/experts/marketing/news-briefing-expert/README.md +49 -0
  1397. package/data/experts/marketing/news-briefing-expert/persona.md +237 -0
  1398. package/data/experts/marketing/news-buddy/.codebuddy-plugin/plugin.json +64 -0
  1399. package/data/experts/marketing/news-buddy/.downloaded_at +1 -0
  1400. package/data/experts/marketing/news-buddy/.imported-from-workbuddy +7 -0
  1401. package/data/experts/marketing/news-buddy/persona.md +43 -0
  1402. package/data/experts/marketing/nges-healthcare-marketing-team/.codebuddy-plugin/plugin.json +111 -0
  1403. package/data/experts/marketing/nges-healthcare-marketing-team/.downloaded_at +1 -0
  1404. package/data/experts/marketing/nges-healthcare-marketing-team/.imported-from-workbuddy +7 -0
  1405. package/data/experts/marketing/nges-healthcare-marketing-team/README.md +78 -0
  1406. package/data/experts/marketing/nges-healthcare-marketing-team/persona.md +1815 -0
  1407. package/data/experts/marketing/nges-healthcare-marketing-team/settings.json +3 -0
  1408. package/data/experts/marketing/novel-creator/.codebuddy-plugin/plugin.json +40 -0
  1409. package/data/experts/marketing/novel-creator/.downloaded_at +1 -0
  1410. package/data/experts/marketing/novel-creator/.imported-from-workbuddy +7 -0
  1411. package/data/experts/marketing/novel-creator/README.md +50 -0
  1412. package/data/experts/marketing/novel-creator/persona.md +235 -0
  1413. package/data/experts/marketing/novel-generator/.codebuddy-plugin/plugin.json +61 -0
  1414. package/data/experts/marketing/novel-generator/.downloaded_at +1 -0
  1415. package/data/experts/marketing/novel-generator/.imported-from-workbuddy +7 -0
  1416. package/data/experts/marketing/novel-generator/README.md +44 -0
  1417. package/data/experts/marketing/novel-generator/agents/novel-generator.md +51 -0
  1418. package/data/experts/marketing/novel-generator/persona.md +48 -0
  1419. package/data/experts/marketing/ppc-bidding-strategist/.codebuddy-plugin/plugin.json +56 -0
  1420. package/data/experts/marketing/ppc-bidding-strategist/.downloaded_at +1 -0
  1421. package/data/experts/marketing/ppc-bidding-strategist/.imported-from-workbuddy +7 -0
  1422. package/data/experts/marketing/ppc-bidding-strategist/README.md +19 -0
  1423. package/data/experts/marketing/ppc-bidding-strategist/agents/ppc-bidding-strategist.md +70 -0
  1424. package/data/experts/marketing/ppc-bidding-strategist/license/agency-agents.LICENSE +21 -0
  1425. package/data/experts/marketing/ppc-bidding-strategist/persona.md +70 -0
  1426. package/data/experts/marketing/ppt-creation-expert/.codebuddy-plugin/plugin.json +102 -0
  1427. package/data/experts/marketing/ppt-creation-expert/.downloaded_at +1 -0
  1428. package/data/experts/marketing/ppt-creation-expert/.imported-from-workbuddy +7 -0
  1429. package/data/experts/marketing/ppt-creation-expert/README.md +61 -0
  1430. package/data/experts/marketing/ppt-creation-expert/persona.md +83 -0
  1431. package/data/experts/marketing/private-domain-marketing-expert/.codebuddy-plugin/plugin.json +40 -0
  1432. package/data/experts/marketing/private-domain-marketing-expert/.downloaded_at +1 -0
  1433. package/data/experts/marketing/private-domain-marketing-expert/.imported-from-workbuddy +7 -0
  1434. package/data/experts/marketing/private-domain-marketing-expert/README.md +46 -0
  1435. package/data/experts/marketing/private-domain-marketing-expert/agents/private-domain-marketing-expert.md +207 -0
  1436. package/data/experts/marketing/private-domain-marketing-expert/persona.md +210 -0
  1437. package/data/experts/marketing/programmatic-ad-buyer/.codebuddy-plugin/plugin.json +56 -0
  1438. package/data/experts/marketing/programmatic-ad-buyer/.downloaded_at +1 -0
  1439. package/data/experts/marketing/programmatic-ad-buyer/.imported-from-workbuddy +7 -0
  1440. package/data/experts/marketing/programmatic-ad-buyer/README.md +19 -0
  1441. package/data/experts/marketing/programmatic-ad-buyer/agents/programmatic-ad-buyer.md +70 -0
  1442. package/data/experts/marketing/programmatic-ad-buyer/license/agency-agents.LICENSE +21 -0
  1443. package/data/experts/marketing/programmatic-ad-buyer/persona.md +70 -0
  1444. package/data/experts/marketing/promo-creator-team/.codebuddy-plugin/plugin.json +159 -0
  1445. package/data/experts/marketing/promo-creator-team/.downloaded_at +1 -0
  1446. package/data/experts/marketing/promo-creator-team/.imported-from-workbuddy +7 -0
  1447. package/data/experts/marketing/promo-creator-team/README.md +95 -0
  1448. package/data/experts/marketing/promo-creator-team/persona.md +649 -0
  1449. package/data/experts/marketing/promo-creator-team/settings.json +3 -0
  1450. package/data/experts/marketing/remotion-video-generator/.codebuddy-plugin/plugin.json +75 -0
  1451. package/data/experts/marketing/remotion-video-generator/.downloaded_at +1 -0
  1452. package/data/experts/marketing/remotion-video-generator/.imported-from-workbuddy +7 -0
  1453. package/data/experts/marketing/remotion-video-generator/IMPLEMENTATION_SUMMARY.md +307 -0
  1454. package/data/experts/marketing/remotion-video-generator/README.md +502 -0
  1455. package/data/experts/marketing/remotion-video-generator/persona.md +60 -0
  1456. package/data/experts/marketing/remotion-video-generator/validate-plugin.sh +48 -0
  1457. package/data/experts/marketing/seo-content-team/.codebuddy-plugin/plugin.json +112 -0
  1458. package/data/experts/marketing/seo-content-team/.downloaded_at +1 -0
  1459. package/data/experts/marketing/seo-content-team/.imported-from-workbuddy +7 -0
  1460. package/data/experts/marketing/seo-content-team/README.md +68 -0
  1461. package/data/experts/marketing/seo-content-team/persona.md +1369 -0
  1462. package/data/experts/marketing/seo-content-team/settings.json +3 -0
  1463. package/data/experts/marketing/social-engagement-team/.codebuddy-plugin/plugin.json +94 -0
  1464. package/data/experts/marketing/social-engagement-team/.downloaded_at +1 -0
  1465. package/data/experts/marketing/social-engagement-team/.imported-from-workbuddy +7 -0
  1466. package/data/experts/marketing/social-engagement-team/README.md +55 -0
  1467. package/data/experts/marketing/social-engagement-team/persona.md +818 -0
  1468. package/data/experts/marketing/social-engagement-team/settings.json +3 -0
  1469. package/data/experts/marketing/tietu-toutiao/.codebuddy-plugin/plugin.json +60 -0
  1470. package/data/experts/marketing/tietu-toutiao/.downloaded_at +1 -0
  1471. package/data/experts/marketing/tietu-toutiao/.imported-from-workbuddy +7 -0
  1472. package/data/experts/marketing/tietu-toutiao/README.md +87 -0
  1473. package/data/experts/marketing/tietu-toutiao/persona.md +92 -0
  1474. package/data/experts/marketing/tietu-toutiao/requirements.txt +1 -0
  1475. package/data/experts/marketing/topic-evaluator/.codebuddy-plugin/plugin.json +61 -0
  1476. package/data/experts/marketing/topic-evaluator/.downloaded_at +1 -0
  1477. package/data/experts/marketing/topic-evaluator/.imported-from-workbuddy +7 -0
  1478. package/data/experts/marketing/topic-evaluator/README.md +48 -0
  1479. package/data/experts/marketing/topic-evaluator/agents/topic-evaluator.md +440 -0
  1480. package/data/experts/marketing/topic-evaluator/persona.md +437 -0
  1481. package/data/experts/marketing/trend-hunter/.codebuddy-plugin/plugin.json +52 -0
  1482. package/data/experts/marketing/trend-hunter/.downloaded_at +1 -0
  1483. package/data/experts/marketing/trend-hunter/.imported-from-workbuddy +7 -0
  1484. package/data/experts/marketing/trend-hunter/README.md +44 -0
  1485. package/data/experts/marketing/trend-hunter/persona.md +82 -0
  1486. package/data/experts/marketing/vibeknow-design-video/.codebuddy-plugin/plugin.json +67 -0
  1487. package/data/experts/marketing/vibeknow-design-video/.downloaded_at +1 -0
  1488. package/data/experts/marketing/vibeknow-design-video/.imported-from-workbuddy +7 -0
  1489. package/data/experts/marketing/vibeknow-design-video/.mcp.json +26 -0
  1490. package/data/experts/marketing/vibeknow-design-video/README.md +116 -0
  1491. package/data/experts/marketing/vibeknow-design-video/persona.md +79 -0
  1492. package/data/experts/marketing/vibeknow-handdraw/.codebuddy-plugin/plugin.json +64 -0
  1493. package/data/experts/marketing/vibeknow-handdraw/.downloaded_at +1 -0
  1494. package/data/experts/marketing/vibeknow-handdraw/.imported-from-workbuddy +7 -0
  1495. package/data/experts/marketing/vibeknow-handdraw/README.md +92 -0
  1496. package/data/experts/marketing/vibeknow-handdraw/persona.md +88 -0
  1497. package/data/experts/marketing/vibeknow-ppt-explain/.codebuddy-plugin/plugin.json +64 -0
  1498. package/data/experts/marketing/vibeknow-ppt-explain/.downloaded_at +1 -0
  1499. package/data/experts/marketing/vibeknow-ppt-explain/.imported-from-workbuddy +7 -0
  1500. package/data/experts/marketing/vibeknow-ppt-explain/persona.md +75 -0
  1501. package/data/experts/marketing/video-dissection/.codebuddy-plugin/plugin.json +123 -0
  1502. package/data/experts/marketing/video-dissection/.downloaded_at +1 -0
  1503. package/data/experts/marketing/video-dissection/.imported-from-workbuddy +7 -0
  1504. package/data/experts/marketing/video-dissection/README.md +61 -0
  1505. package/data/experts/marketing/video-dissection/persona.md +169 -0
  1506. package/data/experts/marketing/video-dissection/settings.json +3 -0
  1507. package/data/experts/marketing/video-gen-team/.codebuddy-plugin/plugin.json +138 -0
  1508. package/data/experts/marketing/video-gen-team/.downloaded_at +1 -0
  1509. package/data/experts/marketing/video-gen-team/.imported-from-workbuddy +7 -0
  1510. package/data/experts/marketing/video-gen-team/.workbuddy/memory/2026-05-11.md +22 -0
  1511. package/data/experts/marketing/video-gen-team/README.md +95 -0
  1512. package/data/experts/marketing/video-gen-team/agents/ling-planner.md +228 -0
  1513. package/data/experts/marketing/video-gen-team/agents/ling-producer.md +276 -0
  1514. package/data/experts/marketing/video-gen-team/agents/ling-reader.md +130 -0
  1515. package/data/experts/marketing/video-gen-team/agents/video-gen-team-lead.md +208 -0
  1516. package/data/experts/marketing/video-gen-team/persona.md +806 -0
  1517. package/data/experts/marketing/video-gen-team/settings.json +3 -0
  1518. package/data/experts/marketing/video-gen-team/skills/video-content-collector/SKILL.md +81 -0
  1519. package/data/experts/marketing/video-gen-team/skills/video-content-collector/references/output-template.md +63 -0
  1520. package/data/experts/marketing/video-gen-team/skills/video-renderer/SKILL.md +85 -0
  1521. package/data/experts/marketing/video-gen-team/skills/video-renderer/references/hyperframes-html-spec.md +90 -0
  1522. package/data/experts/marketing/video-gen-team/skills/video-renderer/references/style-backgrounds.md +80 -0
  1523. package/data/experts/marketing/viral-topic-master/.codebuddy-plugin/plugin.json +63 -0
  1524. package/data/experts/marketing/viral-topic-master/.downloaded_at +1 -0
  1525. package/data/experts/marketing/viral-topic-master/.imported-from-workbuddy +7 -0
  1526. package/data/experts/marketing/viral-topic-master/README.md +98 -0
  1527. package/data/experts/marketing/viral-topic-master/persona.md +148 -0
  1528. package/data/experts/marketing/wechat-official-account-expert/.codebuddy-plugin/plugin.json +66 -0
  1529. package/data/experts/marketing/wechat-official-account-expert/.downloaded_at +1 -0
  1530. package/data/experts/marketing/wechat-official-account-expert/.imported-from-workbuddy +7 -0
  1531. package/data/experts/marketing/wechat-official-account-expert/README.md +21 -0
  1532. package/data/experts/marketing/wechat-official-account-expert/persona.md +184 -0
  1533. package/data/experts/marketing/xiaohongshu-operations-expert/.codebuddy-plugin/plugin.json +61 -0
  1534. package/data/experts/marketing/xiaohongshu-operations-expert/.downloaded_at +1 -0
  1535. package/data/experts/marketing/xiaohongshu-operations-expert/.imported-from-workbuddy +7 -0
  1536. package/data/experts/marketing/xiaohongshu-operations-expert/README.md +23 -0
  1537. package/data/experts/marketing/xiaohongshu-operations-expert/persona.md +147 -0
  1538. package/data/experts/paid-media/computer-operations-advisor/.codebuddy-plugin/plugin.json +63 -0
  1539. package/data/experts/paid-media/computer-operations-advisor/.downloaded_at +1 -0
  1540. package/data/experts/paid-media/computer-operations-advisor/.imported-from-workbuddy +7 -0
  1541. package/data/experts/paid-media/computer-operations-advisor/README.md +50 -0
  1542. package/data/experts/paid-media/computer-operations-advisor/persona.md +97 -0
  1543. package/data/experts/paid-media/vietnam-public-affairs/.codebuddy-plugin/plugin.json +61 -0
  1544. package/data/experts/paid-media/vietnam-public-affairs/.downloaded_at +1 -0
  1545. package/data/experts/paid-media/vietnam-public-affairs/.imported-from-workbuddy +7 -0
  1546. package/data/experts/paid-media/vietnam-public-affairs/README.md +29 -0
  1547. package/data/experts/paid-media/vietnam-public-affairs/persona.md +3982 -0
  1548. package/data/experts/project-management/agent-orchestrator/.codebuddy-plugin/plugin.json +59 -0
  1549. package/data/experts/project-management/agent-orchestrator/.downloaded_at +1 -0
  1550. package/data/experts/project-management/agent-orchestrator/.imported-from-workbuddy +7 -0
  1551. package/data/experts/project-management/agent-orchestrator/README.md +19 -0
  1552. package/data/experts/project-management/agent-orchestrator/agents/agent-orchestrator.md +452 -0
  1553. package/data/experts/project-management/agent-orchestrator/license/agency-agents.LICENSE +21 -0
  1554. package/data/experts/project-management/agent-orchestrator/persona.md +453 -0
  1555. package/data/experts/project-management/agent-orchestrator/skills/github/SKILL.md +50 -0
  1556. package/data/experts/project-management/ai-meeting-notes/.codebuddy-plugin/plugin.json +61 -0
  1557. package/data/experts/project-management/ai-meeting-notes/.downloaded_at +1 -0
  1558. package/data/experts/project-management/ai-meeting-notes/.imported-from-workbuddy +7 -0
  1559. package/data/experts/project-management/ai-meeting-notes/README.md +28 -0
  1560. package/data/experts/project-management/ai-meeting-notes/agents/ai-meeting-notes.md +50 -0
  1561. package/data/experts/project-management/ai-meeting-notes/persona.md +47 -0
  1562. package/data/experts/project-management/api-testing-expert/.codebuddy-plugin/plugin.json +56 -0
  1563. package/data/experts/project-management/api-testing-expert/.downloaded_at +1 -0
  1564. package/data/experts/project-management/api-testing-expert/.imported-from-workbuddy +7 -0
  1565. package/data/experts/project-management/api-testing-expert/README.md +19 -0
  1566. package/data/experts/project-management/api-testing-expert/agents/api-testing-expert.md +306 -0
  1567. package/data/experts/project-management/api-testing-expert/license/agency-agents.LICENSE +21 -0
  1568. package/data/experts/project-management/api-testing-expert/persona.md +307 -0
  1569. package/data/experts/project-management/document-generation-expert/.codebuddy-plugin/plugin.json +59 -0
  1570. package/data/experts/project-management/document-generation-expert/.downloaded_at +1 -0
  1571. package/data/experts/project-management/document-generation-expert/.imported-from-workbuddy +7 -0
  1572. package/data/experts/project-management/document-generation-expert/README.md +19 -0
  1573. package/data/experts/project-management/document-generation-expert/persona.md +62 -0
  1574. package/data/experts/project-management/document-skills/.codebuddy-plugin/plugin.json +71 -0
  1575. package/data/experts/project-management/document-skills/.downloaded_at +1 -0
  1576. package/data/experts/project-management/document-skills/.imported-from-workbuddy +7 -0
  1577. package/data/experts/project-management/document-skills/persona.md +55 -0
  1578. package/data/experts/project-management/internal-comms/.codebuddy-plugin/plugin.json +22 -0
  1579. package/data/experts/project-management/internal-comms/.downloaded_at +1 -0
  1580. package/data/experts/project-management/internal-comms/.imported-from-workbuddy +7 -0
  1581. package/data/experts/project-management/internal-comms/agents/internal-comms-expert.md +54 -0
  1582. package/data/experts/project-management/internal-comms/persona.md +58 -0
  1583. package/data/experts/project-management/internal-comms/skills/internal-comms/LICENSE.txt +202 -0
  1584. package/data/experts/project-management/internal-comms/skills/internal-comms/SKILL.md +32 -0
  1585. package/data/experts/project-management/internal-comms/skills/internal-comms/examples/3p-updates.md +47 -0
  1586. package/data/experts/project-management/internal-comms/skills/internal-comms/examples/company-newsletter.md +65 -0
  1587. package/data/experts/project-management/internal-comms/skills/internal-comms/examples/faq-answers.md +30 -0
  1588. package/data/experts/project-management/internal-comms/skills/internal-comms/examples/general-comms.md +16 -0
  1589. package/data/experts/project-management/jira-workflow-admin/.codebuddy-plugin/plugin.json +59 -0
  1590. package/data/experts/project-management/jira-workflow-admin/.downloaded_at +1 -0
  1591. package/data/experts/project-management/jira-workflow-admin/.imported-from-workbuddy +7 -0
  1592. package/data/experts/project-management/jira-workflow-admin/README.md +20 -0
  1593. package/data/experts/project-management/jira-workflow-admin/agents/jira-workflow-admin.md +236 -0
  1594. package/data/experts/project-management/jira-workflow-admin/license/agency-agents.LICENSE +21 -0
  1595. package/data/experts/project-management/jira-workflow-admin/license/gitmoji.LICENSE +21 -0
  1596. package/data/experts/project-management/jira-workflow-admin/persona.md +237 -0
  1597. package/data/experts/project-management/jira-workflow-admin/skills/github/SKILL.md +50 -0
  1598. package/data/experts/project-management/openspec-doc-team/.codebuddy-plugin/plugin.json +105 -0
  1599. package/data/experts/project-management/openspec-doc-team/.downloaded_at +1 -0
  1600. package/data/experts/project-management/openspec-doc-team/.imported-from-workbuddy +7 -0
  1601. package/data/experts/project-management/openspec-doc-team/agents/doc-auditor.md +219 -0
  1602. package/data/experts/project-management/openspec-doc-team/agents/doc-generator.md +153 -0
  1603. package/data/experts/project-management/openspec-doc-team/agents/doc-researcher.md +175 -0
  1604. package/data/experts/project-management/openspec-doc-team/agents/doc-team-lead.md +303 -0
  1605. package/data/experts/project-management/openspec-doc-team/persona.md +835 -0
  1606. package/data/experts/project-management/openspec-doc-team/settings.json +3 -0
  1607. package/data/experts/project-management/performance-testing-expert/.codebuddy-plugin/plugin.json +56 -0
  1608. package/data/experts/project-management/performance-testing-expert/.downloaded_at +1 -0
  1609. package/data/experts/project-management/performance-testing-expert/.imported-from-workbuddy +7 -0
  1610. package/data/experts/project-management/performance-testing-expert/README.md +19 -0
  1611. package/data/experts/project-management/performance-testing-expert/agents/performance-testing-expert.md +268 -0
  1612. package/data/experts/project-management/performance-testing-expert/license/agency-agents.LICENSE +21 -0
  1613. package/data/experts/project-management/performance-testing-expert/persona.md +269 -0
  1614. package/data/experts/project-management/tencent-charity-expert/.codebuddy-plugin/plugin.json +8 -0
  1615. package/data/experts/project-management/tencent-charity-expert/.downloaded_at +1 -0
  1616. package/data/experts/project-management/tencent-charity-expert/.imported-from-workbuddy +7 -0
  1617. package/data/experts/project-management/tencent-charity-expert/agents/TencentCharityExpert_zh.md +330 -0
  1618. package/data/experts/project-management/tencent-charity-expert/agents/tencent-charity-expert.md +333 -0
  1619. package/data/experts/project-management/tencent-charity-expert/persona.md +659 -0
  1620. package/data/experts/project-management/webapp-testing/.codebuddy-plugin/plugin.json +18 -0
  1621. package/data/experts/project-management/webapp-testing/.downloaded_at +1 -0
  1622. package/data/experts/project-management/webapp-testing/.imported-from-workbuddy +7 -0
  1623. package/data/experts/project-management/webapp-testing/README.md +134 -0
  1624. package/data/experts/project-management/webapp-testing/agents/webapp-testing-expert.md +58 -0
  1625. package/data/experts/project-management/webapp-testing/persona.md +62 -0
  1626. package/data/experts/project-management/webapp-testing/rules/webapp-testing.md +110 -0
  1627. package/data/experts/project-management/yunzhi-doc-quality-expert/.codebuddy-plugin/plugin.json +64 -0
  1628. package/data/experts/project-management/yunzhi-doc-quality-expert/.downloaded_at +1 -0
  1629. package/data/experts/project-management/yunzhi-doc-quality-expert/.imported-from-workbuddy +7 -0
  1630. package/data/experts/project-management/yunzhi-doc-quality-expert/README.md +76 -0
  1631. package/data/experts/project-management/yunzhi-doc-quality-expert/persona.md +53 -0
  1632. package/data/experts/research/ab-experiment-analyst/.codebuddy-plugin/plugin.json +66 -0
  1633. package/data/experts/research/ab-experiment-analyst/.downloaded_at +1 -0
  1634. package/data/experts/research/ab-experiment-analyst/.imported-from-workbuddy +7 -0
  1635. package/data/experts/research/ab-experiment-analyst/persona.md +852 -0
  1636. package/data/experts/research/apm-performance-expert/.codebuddy-plugin/plugin.json +40 -0
  1637. package/data/experts/research/apm-performance-expert/.downloaded_at +1 -0
  1638. package/data/experts/research/apm-performance-expert/.imported-from-workbuddy +7 -0
  1639. package/data/experts/research/apm-performance-expert/README.md +54 -0
  1640. package/data/experts/research/apm-performance-expert/agents/apm-performance-expert.md +211 -0
  1641. package/data/experts/research/apm-performance-expert/persona.md +214 -0
  1642. package/data/experts/research/egypt-public-affairs/.codebuddy-plugin/plugin.json +64 -0
  1643. package/data/experts/research/egypt-public-affairs/.downloaded_at +1 -0
  1644. package/data/experts/research/egypt-public-affairs/.imported-from-workbuddy +7 -0
  1645. package/data/experts/research/egypt-public-affairs/Corpus_Index.md +46 -0
  1646. package/data/experts/research/egypt-public-affairs/README.md +58 -0
  1647. package/data/experts/research/egypt-public-affairs/persona.md +366 -0
  1648. package/data/experts/research/egypt-public-affairs/requirements.txt +2 -0
  1649. package/data/experts/research/finops-expert/.codebuddy-plugin/plugin.json +65 -0
  1650. package/data/experts/research/finops-expert/.downloaded_at +1 -0
  1651. package/data/experts/research/finops-expert/.imported-from-workbuddy +7 -0
  1652. package/data/experts/research/finops-expert/README.md +35 -0
  1653. package/data/experts/research/finops-expert/agents/finops-expert.md +265 -0
  1654. package/data/experts/research/finops-expert/persona.md +262 -0
  1655. package/data/experts/research/fortune-consultant/.codebuddy-plugin/plugin.json +43 -0
  1656. package/data/experts/research/fortune-consultant/.downloaded_at +1 -0
  1657. package/data/experts/research/fortune-consultant/.imported-from-workbuddy +7 -0
  1658. package/data/experts/research/fortune-consultant/README.md +70 -0
  1659. package/data/experts/research/fortune-consultant/persona.md +250 -0
  1660. package/data/experts/research/hubble-eval-expert/.codebuddy-plugin/plugin.json +61 -0
  1661. package/data/experts/research/hubble-eval-expert/.downloaded_at +1 -0
  1662. package/data/experts/research/hubble-eval-expert/.imported-from-workbuddy +7 -0
  1663. package/data/experts/research/hubble-eval-expert/agents/hubble-eval-expert.md +82 -0
  1664. package/data/experts/research/hubble-eval-expert/persona.md +79 -0
  1665. package/data/experts/research/sre-expert/.codebuddy-plugin/plugin.json +65 -0
  1666. package/data/experts/research/sre-expert/.downloaded_at +1 -0
  1667. package/data/experts/research/sre-expert/.imported-from-workbuddy +7 -0
  1668. package/data/experts/research/sre-expert/README.md +35 -0
  1669. package/data/experts/research/sre-expert/agents/sre-expert.md +263 -0
  1670. package/data/experts/research/sre-expert/persona.md +260 -0
  1671. package/data/experts/sales/bidding-strategist/.codebuddy-plugin/plugin.json +40 -0
  1672. package/data/experts/sales/bidding-strategist/.downloaded_at +1 -0
  1673. package/data/experts/sales/bidding-strategist/.imported-from-workbuddy +7 -0
  1674. package/data/experts/sales/bidding-strategist/README.md +44 -0
  1675. package/data/experts/sales/bidding-strategist/agents/bidding-strategist.md +111 -0
  1676. package/data/experts/sales/bidding-strategist/persona.md +107 -0
  1677. package/data/experts/sales/bidding-strategist/skills/bidding-strategist/SKILL.md +232 -0
  1678. package/data/experts/sales/cordys-crm/.codebuddy-plugin/plugin.json +42 -0
  1679. package/data/experts/sales/cordys-crm/.downloaded_at +1 -0
  1680. package/data/experts/sales/cordys-crm/.imported-from-workbuddy +7 -0
  1681. package/data/experts/sales/cordys-crm/README.md +339 -0
  1682. package/data/experts/sales/cordys-crm/install.sh +76 -0
  1683. package/data/experts/sales/cordys-crm/persona.md +252 -0
  1684. package/data/experts/sales/cpq/.codebuddy-plugin/plugin.json +79 -0
  1685. package/data/experts/sales/cpq/.downloaded_at +1 -0
  1686. package/data/experts/sales/cpq/.imported-from-workbuddy +7 -0
  1687. package/data/experts/sales/cpq/BUILD_INFO.json +6 -0
  1688. package/data/experts/sales/cpq/CHANGELOG.md +165 -0
  1689. package/data/experts/sales/cpq/DEPENDENCIES.md +52 -0
  1690. package/data/experts/sales/cpq/README.md +43 -0
  1691. package/data/experts/sales/cpq/persona.md +177 -0
  1692. package/data/experts/sales/enterprise-account-strategist/.codebuddy-plugin/plugin.json +59 -0
  1693. package/data/experts/sales/enterprise-account-strategist/.downloaded_at +1 -0
  1694. package/data/experts/sales/enterprise-account-strategist/.imported-from-workbuddy +7 -0
  1695. package/data/experts/sales/enterprise-account-strategist/README.md +17 -0
  1696. package/data/experts/sales/enterprise-account-strategist/agents/enterprise-account-strategist.md +233 -0
  1697. package/data/experts/sales/enterprise-account-strategist/license/agency-agents.LICENSE +21 -0
  1698. package/data/experts/sales/enterprise-account-strategist/persona.md +234 -0
  1699. package/data/experts/sales/enterprise-account-strategist/skills/market-researcher/SKILL.md +288 -0
  1700. package/data/experts/sales/industrial-park-investment-attraction-expert/.codebuddy-plugin/plugin.json +73 -0
  1701. package/data/experts/sales/industrial-park-investment-attraction-expert/.downloaded_at +1 -0
  1702. package/data/experts/sales/industrial-park-investment-attraction-expert/.imported-from-workbuddy +7 -0
  1703. package/data/experts/sales/industrial-park-investment-attraction-expert/README.md +68 -0
  1704. package/data/experts/sales/industrial-park-investment-attraction-expert/persona.md +283 -0
  1705. package/data/experts/sales/linkfox-expert-amazon-listing-specialist/.codebuddy-plugin/plugin.json +95 -0
  1706. package/data/experts/sales/linkfox-expert-amazon-listing-specialist/.downloaded_at +1 -0
  1707. package/data/experts/sales/linkfox-expert-amazon-listing-specialist/.imported-from-workbuddy +7 -0
  1708. package/data/experts/sales/linkfox-expert-amazon-listing-specialist/README.md +31 -0
  1709. package/data/experts/sales/linkfox-expert-amazon-listing-specialist/persona.md +75 -0
  1710. package/data/experts/sales/meituan-living-assistant/.codebuddy-plugin/plugin.json +60 -0
  1711. package/data/experts/sales/meituan-living-assistant/.downloaded_at +1 -0
  1712. package/data/experts/sales/meituan-living-assistant/.imported-from-workbuddy +7 -0
  1713. package/data/experts/sales/meituan-living-assistant/persona.md +736 -0
  1714. package/data/experts/sales/presales-technical-consultant/.codebuddy-plugin/plugin.json +61 -0
  1715. package/data/experts/sales/presales-technical-consultant/.downloaded_at +1 -0
  1716. package/data/experts/sales/presales-technical-consultant/.imported-from-workbuddy +7 -0
  1717. package/data/experts/sales/presales-technical-consultant/README.md +21 -0
  1718. package/data/experts/sales/presales-technical-consultant/persona.md +191 -0
  1719. package/data/experts/sales/sales-battle-team/.codebuddy-plugin/plugin.json +72 -0
  1720. package/data/experts/sales/sales-battle-team/.downloaded_at +1 -0
  1721. package/data/experts/sales/sales-battle-team/.imported-from-workbuddy +7 -0
  1722. package/data/experts/sales/sales-battle-team/agents/account-researcher.md +61 -0
  1723. package/data/experts/sales/sales-battle-team/agents/competitive-intel.md +59 -0
  1724. package/data/experts/sales/sales-battle-team/agents/outreach-strategist.md +65 -0
  1725. package/data/experts/sales/sales-battle-team/agents/sales-director.md +208 -0
  1726. package/data/experts/sales/sales-battle-team/agents/sales-forecaster.md +65 -0
  1727. package/data/experts/sales/sales-battle-team/persona.md +443 -0
  1728. package/data/experts/sales/sales-battle-team/settings.json +1 -0
  1729. package/data/experts/sales/sales-battle-team/skills/sales-playbook/SKILL.md +295 -0
  1730. package/data/experts/sales/sdk-log-expert/.codebuddy-plugin/plugin.json +64 -0
  1731. package/data/experts/sales/sdk-log-expert/.downloaded_at +1 -0
  1732. package/data/experts/sales/sdk-log-expert/.imported-from-workbuddy +7 -0
  1733. package/data/experts/sales/sdk-log-expert/README.md +110 -0
  1734. package/data/experts/sales/sdk-log-expert/persona.md +218 -0
  1735. package/data/experts/sales/sdk-log-expert/settings.json +3 -0
  1736. package/data/experts/sales/sg-biz-dev/.codebuddy-plugin/plugin.json +85 -0
  1737. package/data/experts/sales/sg-biz-dev/.downloaded_at +1 -0
  1738. package/data/experts/sales/sg-biz-dev/.imported-from-workbuddy +7 -0
  1739. package/data/experts/sales/sg-biz-dev/README.md +65 -0
  1740. package/data/experts/sales/sg-biz-dev/persona.md +469 -0
  1741. package/data/experts/sales/smb-revenue/.codebuddy-plugin/plugin.json +37 -0
  1742. package/data/experts/sales/smb-revenue/.downloaded_at +1 -0
  1743. package/data/experts/sales/smb-revenue/.imported-from-workbuddy +7 -0
  1744. package/data/experts/sales/smb-revenue/agents/smb-revenue.md +56 -0
  1745. package/data/experts/sales/smb-revenue/persona.md +57 -0
  1746. package/data/experts/sales/smb-revenue/skills/campaign-execution/SKILL.md +187 -0
  1747. package/data/experts/sales/smb-revenue/skills/content-strategy/SKILL.md +102 -0
  1748. package/data/experts/sales/smb-revenue/skills/lead-management/SKILL.md +83 -0
  1749. package/data/experts/sales/uupt-delivery/.codebuddy-plugin/plugin.json +64 -0
  1750. package/data/experts/sales/uupt-delivery/.downloaded_at +1 -0
  1751. package/data/experts/sales/uupt-delivery/.imported-from-workbuddy +7 -0
  1752. package/data/experts/sales/uupt-delivery/README.md +51 -0
  1753. package/data/experts/sales/uupt-delivery/persona.md +278 -0
  1754. package/data/experts/security/chatlaw-team/.codebuddy-plugin/plugin.json +154 -0
  1755. package/data/experts/security/chatlaw-team/.downloaded_at +1 -0
  1756. package/data/experts/security/chatlaw-team/.imported-from-workbuddy +7 -0
  1757. package/data/experts/security/chatlaw-team/README.md +79 -0
  1758. package/data/experts/security/chatlaw-team/agents/advice-writer.md +72 -0
  1759. package/data/experts/security/chatlaw-team/agents/case-precedent.md +62 -0
  1760. package/data/experts/security/chatlaw-team/agents/chatlaw-team-lead.md +254 -0
  1761. package/data/experts/security/chatlaw-team/agents/info-intake.md +64 -0
  1762. package/data/experts/security/chatlaw-team/agents/legal-research.md +58 -0
  1763. package/data/experts/security/chatlaw-team/agents/report-finalizer.md +102 -0
  1764. package/data/experts/security/chatlaw-team/license/ChatLaw-AGPL-3.0-reference-only.LICENSE +44 -0
  1765. package/data/experts/security/chatlaw-team/persona.md +581 -0
  1766. package/data/experts/security/chatlaw-team/settings.json +3 -0
  1767. package/data/experts/security/contract-expert/.codebuddy-plugin/plugin.json +78 -0
  1768. package/data/experts/security/contract-expert/.downloaded_at +1 -0
  1769. package/data/experts/security/contract-expert/.imported-from-workbuddy +7 -0
  1770. package/data/experts/security/contract-expert/README.md +112 -0
  1771. package/data/experts/security/contract-expert/persona.md +211 -0
  1772. package/data/experts/security/contract-legal-expert/.codebuddy-plugin/plugin.json +64 -0
  1773. package/data/experts/security/contract-legal-expert/.downloaded_at +1 -0
  1774. package/data/experts/security/contract-legal-expert/.imported-from-workbuddy +7 -0
  1775. package/data/experts/security/contract-legal-expert/README.md +67 -0
  1776. package/data/experts/security/contract-legal-expert/persona.md +527 -0
  1777. package/data/experts/security/enterprise-legal-team/.codebuddy-plugin/plugin.json +213 -0
  1778. package/data/experts/security/enterprise-legal-team/.downloaded_at +1 -0
  1779. package/data/experts/security/enterprise-legal-team/.imported-from-workbuddy +7 -0
  1780. package/data/experts/security/enterprise-legal-team/LICENSE +202 -0
  1781. package/data/experts/security/enterprise-legal-team/persona.md +675 -0
  1782. package/data/experts/security/enterprise-legal-team/settings.json +3 -0
  1783. package/data/experts/security/fbsir-aigc-compliance-red-team/.codebuddy-plugin/plugin.json +72 -0
  1784. package/data/experts/security/fbsir-aigc-compliance-red-team/.downloaded_at +1 -0
  1785. package/data/experts/security/fbsir-aigc-compliance-red-team/.imported-from-workbuddy +7 -0
  1786. package/data/experts/security/fbsir-aigc-compliance-red-team/agents/fbsir-aigc-compliance-red-team.md +55 -0
  1787. package/data/experts/security/fbsir-aigc-compliance-red-team/persona.md +51 -0
  1788. package/data/experts/security/fbsir-aigc-compliance-red-team/skills/aigc-compliance-red-team/SKILL.md +87 -0
  1789. package/data/experts/security/fbsir-aigc-compliance-red-team/skills/aigc-compliance-red-team/references/rt-atomic-capabilities.md +65 -0
  1790. package/data/experts/security/fbsir-aigc-compliance-red-team/skills/aigc-compliance-red-team/references/rt-pattern-library.md +58 -0
  1791. package/data/experts/security/fbsir-aigc-compliance-red-team/skills/aigc-compliance-red-team/references/rt-platform-rules.md +32 -0
  1792. package/data/experts/security/fbsir-aigc-compliance-red-team/skills/aigc-compliance-red-team/references/rt-red-team-card-spec.md +70 -0
  1793. package/data/experts/security/fbsir-board-secretary-assistant/.codebuddy-plugin/plugin.json +328 -0
  1794. package/data/experts/security/fbsir-board-secretary-assistant/.downloaded_at +1 -0
  1795. package/data/experts/security/fbsir-board-secretary-assistant/.imported-from-workbuddy +7 -0
  1796. package/data/experts/security/fbsir-board-secretary-assistant/LICENSE +9 -0
  1797. package/data/experts/security/fbsir-board-secretary-assistant/README.md +48 -0
  1798. package/data/experts/security/fbsir-board-secretary-assistant/marketplace-entry.json +72 -0
  1799. package/data/experts/security/fbsir-board-secretary-assistant/package.json +19 -0
  1800. package/data/experts/security/fbsir-board-secretary-assistant/persona.md +41 -0
  1801. package/data/experts/security/fbsir-board-secretary-assistant/scene-pack.json +228 -0
  1802. package/data/experts/security/fbsir-board-secretary-assistant/ship-manifest.json +184 -0
  1803. package/data/experts/security/huashu-doc-reviewer/.codebuddy-plugin/plugin.json +61 -0
  1804. package/data/experts/security/huashu-doc-reviewer/.downloaded_at +1 -0
  1805. package/data/experts/security/huashu-doc-reviewer/.imported-from-workbuddy +7 -0
  1806. package/data/experts/security/huashu-doc-reviewer/README.md +55 -0
  1807. package/data/experts/security/huashu-doc-reviewer/agents/doc-reviewer.md +116 -0
  1808. package/data/experts/security/huashu-doc-reviewer/persona.md +114 -0
  1809. package/data/experts/security/invoice-verify-expert/.codebuddy-plugin/plugin.json +64 -0
  1810. package/data/experts/security/invoice-verify-expert/.downloaded_at +1 -0
  1811. package/data/experts/security/invoice-verify-expert/.imported-from-workbuddy +7 -0
  1812. package/data/experts/security/invoice-verify-expert/README.md +42 -0
  1813. package/data/experts/security/invoice-verify-expert/agents/invoice-verify.md +73 -0
  1814. package/data/experts/security/invoice-verify-expert/persona.md +69 -0
  1815. package/data/experts/security/invoice-verify-expert/skills/invoice-verify/SKILL.md +300 -0
  1816. package/data/experts/security/invoice-verify-expert/skills/invoice-verify/references/parameters.md +82 -0
  1817. package/data/experts/security/invoice-verify-expert/skills/invoice-verify/scripts/verify_invoice.py +239 -0
  1818. package/data/experts/security/invoice-verify-workbuddy/.codebuddy-plugin/plugin.json +144 -0
  1819. package/data/experts/security/invoice-verify-workbuddy/.downloaded_at +1 -0
  1820. package/data/experts/security/invoice-verify-workbuddy/.env +11 -0
  1821. package/data/experts/security/invoice-verify-workbuddy/.imported-from-workbuddy +7 -0
  1822. package/data/experts/security/invoice-verify-workbuddy/README.md +204 -0
  1823. package/data/experts/security/invoice-verify-workbuddy/mcp-config.json +28 -0
  1824. package/data/experts/security/invoice-verify-workbuddy/persona.md +719 -0
  1825. package/data/experts/security/invoice-verify-workbuddy/settings.json +3 -0
  1826. package/data/experts/security/ip-expert/.codebuddy-plugin/plugin.json +77 -0
  1827. package/data/experts/security/ip-expert/.downloaded_at +1 -0
  1828. package/data/experts/security/ip-expert/.imported-from-workbuddy +7 -0
  1829. package/data/experts/security/ip-expert/README.md +46 -0
  1830. package/data/experts/security/ip-expert/persona.md +203 -0
  1831. package/data/experts/security/law-student-coach/.codebuddy-plugin/plugin.json +69 -0
  1832. package/data/experts/security/law-student-coach/.downloaded_at +1 -0
  1833. package/data/experts/security/law-student-coach/.imported-from-workbuddy +7 -0
  1834. package/data/experts/security/law-student-coach/LICENSE +202 -0
  1835. package/data/experts/security/law-student-coach/persona.md +63 -0
  1836. package/data/experts/security/law-student-coach/settings.json +3 -0
  1837. package/data/experts/security/legal-builder-hub/.codebuddy-plugin/plugin.json +69 -0
  1838. package/data/experts/security/legal-builder-hub/.downloaded_at +1 -0
  1839. package/data/experts/security/legal-builder-hub/.imported-from-workbuddy +7 -0
  1840. package/data/experts/security/legal-builder-hub/LICENSE +202 -0
  1841. package/data/experts/security/legal-builder-hub/persona.md +59 -0
  1842. package/data/experts/security/legal-builder-hub/settings.json +3 -0
  1843. package/data/experts/security/legal-clinic-supervisor/.codebuddy-plugin/plugin.json +69 -0
  1844. package/data/experts/security/legal-clinic-supervisor/.downloaded_at +1 -0
  1845. package/data/experts/security/legal-clinic-supervisor/.imported-from-workbuddy +7 -0
  1846. package/data/experts/security/legal-clinic-supervisor/LICENSE +202 -0
  1847. package/data/experts/security/legal-clinic-supervisor/persona.md +63 -0
  1848. package/data/experts/security/legal-clinic-supervisor/settings.json +3 -0
  1849. package/data/experts/security/legal-compliance-reviewer/.codebuddy-plugin/plugin.json +61 -0
  1850. package/data/experts/security/legal-compliance-reviewer/.downloaded_at +1 -0
  1851. package/data/experts/security/legal-compliance-reviewer/.imported-from-workbuddy +7 -0
  1852. package/data/experts/security/legal-compliance-reviewer/README.md +21 -0
  1853. package/data/experts/security/legal-compliance-reviewer/persona.md +597 -0
  1854. package/data/experts/security/legal-search-pro/.codebuddy-plugin/plugin.json +74 -0
  1855. package/data/experts/security/legal-search-pro/.downloaded_at +1 -0
  1856. package/data/experts/security/legal-search-pro/.imported-from-workbuddy +7 -0
  1857. package/data/experts/security/legal-search-pro/README.md +60 -0
  1858. package/data/experts/security/legal-search-pro/persona.md +144 -0
  1859. package/data/experts/security/litigation-legal/.codebuddy-plugin/plugin.json +70 -0
  1860. package/data/experts/security/litigation-legal/.downloaded_at +1 -0
  1861. package/data/experts/security/litigation-legal/.imported-from-workbuddy +7 -0
  1862. package/data/experts/security/litigation-legal/LICENSE +202 -0
  1863. package/data/experts/security/litigation-legal/persona.md +67 -0
  1864. package/data/experts/security/litigation-legal/settings.json +3 -0
  1865. package/data/experts/security/marketing-reviewer/.codebuddy-plugin/plugin.json +53 -0
  1866. package/data/experts/security/marketing-reviewer/.downloaded_at +1 -0
  1867. package/data/experts/security/marketing-reviewer/.imported-from-workbuddy +7 -0
  1868. package/data/experts/security/marketing-reviewer/README.md +58 -0
  1869. package/data/experts/security/marketing-reviewer/agents/marketing-reviewer.md +236 -0
  1870. package/data/experts/security/marketing-reviewer/persona.md +231 -0
  1871. package/data/experts/security/marketing-reviewer/skills/marketing-review/SKILL.md +26 -0
  1872. package/data/experts/security/marketing-reviewer/skills/marketing-review/references/marketing-copy-playbook.md +331 -0
  1873. package/data/experts/security/marketing-reviewer/skills/marketing-review/references/marketing-report-template.html +210 -0
  1874. package/data/experts/security/personal-fitness-coach/.codebuddy-plugin/plugin.json +45 -0
  1875. package/data/experts/security/personal-fitness-coach/.downloaded_at +1 -0
  1876. package/data/experts/security/personal-fitness-coach/.imported-from-workbuddy +7 -0
  1877. package/data/experts/security/personal-fitness-coach/README.md +48 -0
  1878. package/data/experts/security/personal-fitness-coach/agents/fitness-coach.md +126 -0
  1879. package/data/experts/security/personal-fitness-coach/persona.md +118 -0
  1880. package/data/experts/security/personal-fitness-coach/skills/fitness-nutrition/SKILL.md +126 -0
  1881. package/data/experts/security/personal-fitness-coach/skills/fitness-nutrition/references/FORMULAS.md +100 -0
  1882. package/data/experts/security/personal-fitness-coach/skills/fitness-nutrition/scripts/body_calc.py +210 -0
  1883. package/data/experts/security/personal-fitness-coach/skills/fitness-nutrition/scripts/nutrition_search.py +85 -0
  1884. package/data/experts/security/sa-legal-compliance/.codebuddy-plugin/plugin.json +64 -0
  1885. package/data/experts/security/sa-legal-compliance/.downloaded_at +1 -0
  1886. package/data/experts/security/sa-legal-compliance/.imported-from-workbuddy +7 -0
  1887. package/data/experts/security/sa-legal-compliance/README.md +37 -0
  1888. package/data/experts/security/sa-legal-compliance/persona.md +828 -0
  1889. package/data/experts/security/smb-compliance/.codebuddy-plugin/plugin.json +38 -0
  1890. package/data/experts/security/smb-compliance/.downloaded_at +1 -0
  1891. package/data/experts/security/smb-compliance/.imported-from-workbuddy +7 -0
  1892. package/data/experts/security/smb-compliance/agents/smb-compliance.md +63 -0
  1893. package/data/experts/security/smb-compliance/persona.md +64 -0
  1894. package/data/experts/security/smb-compliance/skills/complaint-handling/SKILL.md +62 -0
  1895. package/data/experts/security/smb-compliance/skills/contract-review/SKILL.md +103 -0
  1896. package/data/experts/security/smb-compliance/skills/crm-hygiene/SKILL.md +75 -0
  1897. package/data/experts/security/smb-compliance/skills/customer-insights/SKILL.md +52 -0
  1898. package/data/experts/security/soe/.codebuddy-plugin/plugin.json +65 -0
  1899. package/data/experts/security/soe/.downloaded_at +1 -0
  1900. package/data/experts/security/soe/.imported-from-workbuddy +7 -0
  1901. package/data/experts/security/soe/README.md +170 -0
  1902. package/data/experts/security/soe/SKILL_SPEC.md +246 -0
  1903. package/data/experts/security/soe/persona.md +199 -0
  1904. package/data/experts/security/tax-compliance-team/.codebuddy-plugin/plugin.json +100 -0
  1905. package/data/experts/security/tax-compliance-team/.downloaded_at +1 -0
  1906. package/data/experts/security/tax-compliance-team/.imported-from-workbuddy +7 -0
  1907. package/data/experts/security/tax-compliance-team/README.md +83 -0
  1908. package/data/experts/security/tax-compliance-team/persona.md +871 -0
  1909. package/data/experts/security/tax-compliance-team/settings.json +3 -0
  1910. package/data/experts/security/tc-sec/.codebuddy-plugin/plugin.json +64 -0
  1911. package/data/experts/security/tc-sec/.downloaded_at +1 -0
  1912. package/data/experts/security/tc-sec/.imported-from-workbuddy +7 -0
  1913. package/data/experts/security/tc-sec/README.md +74 -0
  1914. package/data/experts/security/tc-sec/persona.md +471 -0
  1915. package/data/experts/security/tencent-security-expert/.codebuddy-plugin/plugin.json +8 -0
  1916. package/data/experts/security/tencent-security-expert/.downloaded_at +1 -0
  1917. package/data/experts/security/tencent-security-expert/.imported-from-workbuddy +7 -0
  1918. package/data/experts/security/tencent-security-expert/agents/TencentSecurityExpert_zh.md +410 -0
  1919. package/data/experts/security/tencent-security-expert/agents/tencent-security-expert.md +410 -0
  1920. package/data/experts/security/tencent-security-expert/persona.md +818 -0
  1921. package/data/experts/security/xiaofa-litigation-assistant/.codebuddy-plugin/plugin.json +76 -0
  1922. package/data/experts/security/xiaofa-litigation-assistant/.downloaded_at +1 -0
  1923. package/data/experts/security/xiaofa-litigation-assistant/.imported-from-workbuddy +7 -0
  1924. package/data/experts/security/xiaofa-litigation-assistant/README.md +95 -0
  1925. package/data/experts/security/xiaofa-litigation-assistant/persona.md +715 -0
  1926. package/data/experts/spatial-computing/career-navigator/.codebuddy-plugin/plugin.json +70 -0
  1927. package/data/experts/spatial-computing/career-navigator/.downloaded_at +1 -0
  1928. package/data/experts/spatial-computing/career-navigator/.imported-from-workbuddy +7 -0
  1929. package/data/experts/spatial-computing/career-navigator/README.md +43 -0
  1930. package/data/experts/spatial-computing/career-navigator/agents/career-navigator.md +94 -0
  1931. package/data/experts/spatial-computing/career-navigator/persona.md +90 -0
  1932. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/SKILL.md +99 -0
  1933. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/references/decision-framework.md +66 -0
  1934. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/references/decision-routing.md +105 -0
  1935. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/references/output-templates.md +155 -0
  1936. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/references/safety-boundaries.md +54 -0
  1937. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/references/self-assessment-framework.md +54 -0
  1938. package/data/experts/spatial-computing/career-navigator/skills/career-decision-playbook/references/source-policy.md +87 -0
  1939. package/data/experts/spatial-computing/chaogeek-kongming/.codebuddy-plugin/plugin.json +65 -0
  1940. package/data/experts/spatial-computing/chaogeek-kongming/.downloaded_at +1 -0
  1941. package/data/experts/spatial-computing/chaogeek-kongming/.imported-from-workbuddy +7 -0
  1942. package/data/experts/spatial-computing/chaogeek-kongming/CHANGELOG.md +6 -0
  1943. package/data/experts/spatial-computing/chaogeek-kongming/DEMO_CASES.md +49 -0
  1944. package/data/experts/spatial-computing/chaogeek-kongming/README.md +56 -0
  1945. package/data/experts/spatial-computing/chaogeek-kongming/TEST_CASES.md +143 -0
  1946. package/data/experts/spatial-computing/chaogeek-kongming/agents/chaogeek-kongming.md +217 -0
  1947. package/data/experts/spatial-computing/chaogeek-kongming/persona.md +211 -0
  1948. package/data/experts/spatial-computing/chaogeek-kongming/skills/agentic-opc-workflow/SKILL.md +80 -0
  1949. package/data/experts/spatial-computing/chaogeek-kongming/skills/agentic-opc-workflow/references/agent-context-handoff.md +44 -0
  1950. package/data/experts/spatial-computing/chaogeek-kongming/skills/agentic-opc-workflow/references/human-gates.md +30 -0
  1951. package/data/experts/spatial-computing/chaogeek-kongming/skills/agentic-opc-workflow/references/opc-validation-loop.md +50 -0
  1952. package/data/experts/spatial-computing/chaogeek-kongming/skills/cognitive-disarmament/SKILL.md +73 -0
  1953. package/data/experts/spatial-computing/chaogeek-kongming/skills/cognitive-disarmament/references/disarmament-signals.md +66 -0
  1954. package/data/experts/spatial-computing/chaogeek-kongming/skills/cognitive-disarmament/references/evidence-ladder.md +43 -0
  1955. package/data/experts/spatial-computing/chaogeek-kongming/skills/cognitive-disarmament/references/judgment-boundaries.md +42 -0
  1956. package/data/experts/spatial-computing/chaogeek-kongming/skills/socratic-alignment/SKILL.md +99 -0
  1957. package/data/experts/spatial-computing/chaogeek-kongming/skills/socratic-alignment/references/context-pack.md +74 -0
  1958. package/data/experts/spatial-computing/chaogeek-kongming/skills/socratic-alignment/references/intent-alignment-card.md +50 -0
  1959. package/data/experts/spatial-computing/chaogeek-kongming/skills/socratic-alignment/references/socratic-questioning.md +72 -0
  1960. package/data/experts/spatial-computing/chuangye-manor/.codebuddy-plugin/plugin.json +70 -0
  1961. package/data/experts/spatial-computing/chuangye-manor/.downloaded_at +1 -0
  1962. package/data/experts/spatial-computing/chuangye-manor/.imported-from-workbuddy +7 -0
  1963. package/data/experts/spatial-computing/chuangye-manor/.skipped_links +6 -0
  1964. package/data/experts/spatial-computing/chuangye-manor/README.md +73 -0
  1965. package/data/experts/spatial-computing/chuangye-manor/persona.md +164 -0
  1966. package/data/experts/spatial-computing/consulting-partners/.codebuddy-plugin/plugin.json +70 -0
  1967. package/data/experts/spatial-computing/consulting-partners/.downloaded_at +1 -0
  1968. package/data/experts/spatial-computing/consulting-partners/.imported-from-workbuddy +7 -0
  1969. package/data/experts/spatial-computing/consulting-partners/README.md +81 -0
  1970. package/data/experts/spatial-computing/consulting-partners/persona.md +243 -0
  1971. package/data/experts/spatial-computing/english-writing-coach/.codebuddy-plugin/plugin.json +64 -0
  1972. package/data/experts/spatial-computing/english-writing-coach/.downloaded_at +1 -0
  1973. package/data/experts/spatial-computing/english-writing-coach/.imported-from-workbuddy +7 -0
  1974. package/data/experts/spatial-computing/english-writing-coach/README.md +124 -0
  1975. package/data/experts/spatial-computing/english-writing-coach/persona.md +61 -0
  1976. package/data/experts/spatial-computing/fbsir-eight-seat-board/.codebuddy-plugin/plugin.json +361 -0
  1977. package/data/experts/spatial-computing/fbsir-eight-seat-board/.downloaded_at +1 -0
  1978. package/data/experts/spatial-computing/fbsir-eight-seat-board/.imported-from-workbuddy +7 -0
  1979. package/data/experts/spatial-computing/fbsir-eight-seat-board/README.md +236 -0
  1980. package/data/experts/spatial-computing/fbsir-eight-seat-board/persona.md +1268 -0
  1981. package/data/experts/spatial-computing/fbsir-eight-seat-board/settings.json +3 -0
  1982. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/.codebuddy-plugin/plugin.json +233 -0
  1983. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/.downloaded_at +1 -0
  1984. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/.imported-from-workbuddy +7 -0
  1985. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/LICENSE +21 -0
  1986. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/README.md +53 -0
  1987. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/marketplace-entry.json +59 -0
  1988. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/persona.md +204 -0
  1989. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/scene-pack.json +484 -0
  1990. package/data/experts/spatial-computing/fbsir-industry-scene-researcher/ship-manifest.json +89 -0
  1991. package/data/experts/spatial-computing/fbsir-super-partner/.codebuddy-plugin/plugin.json +65 -0
  1992. package/data/experts/spatial-computing/fbsir-super-partner/.downloaded_at +1 -0
  1993. package/data/experts/spatial-computing/fbsir-super-partner/.imported-from-workbuddy +7 -0
  1994. package/data/experts/spatial-computing/fbsir-super-partner/LICENSE +21 -0
  1995. package/data/experts/spatial-computing/fbsir-super-partner/README.md +35 -0
  1996. package/data/experts/spatial-computing/fbsir-super-partner/agents/fbsir-super-partner.md +90 -0
  1997. package/data/experts/spatial-computing/fbsir-super-partner/persona.md +87 -0
  1998. package/data/experts/spatial-computing/fbsir-super-partner/skills/super-partner-core/SKILL.md +72 -0
  1999. package/data/experts/spatial-computing/fbsir-super-partner/skills/super-partner-core/references/action-delivery-protocol.md +98 -0
  2000. package/data/experts/spatial-computing/fbsir-super-partner/skills/super-partner-core/scripts/materialize_action_delivery.py +471 -0
  2001. package/data/experts/spatial-computing/innovation-startup-mentor/.codebuddy-plugin/plugin.json +63 -0
  2002. package/data/experts/spatial-computing/innovation-startup-mentor/.downloaded_at +1 -0
  2003. package/data/experts/spatial-computing/innovation-startup-mentor/.imported-from-workbuddy +7 -0
  2004. package/data/experts/spatial-computing/innovation-startup-mentor/agents/innovation-startup-mentor.md +66 -0
  2005. package/data/experts/spatial-computing/innovation-startup-mentor/persona.md +62 -0
  2006. package/data/experts/spatial-computing/innovation-startup-mentor/skills/diagnostic-visualizer/SKILL.md +55 -0
  2007. package/data/experts/spatial-computing/innovation-startup-mentor/skills/diagnostic-visualizer/generate.py +39 -0
  2008. package/data/experts/spatial-computing/innovation-startup-mentor/skills/diagnostic-visualizer/template.html +194 -0
  2009. package/data/experts/spatial-computing/malaysia-marketing/.codebuddy-plugin/plugin.json +43 -0
  2010. package/data/experts/spatial-computing/malaysia-marketing/.downloaded_at +1 -0
  2011. package/data/experts/spatial-computing/malaysia-marketing/.imported-from-workbuddy +7 -0
  2012. package/data/experts/spatial-computing/malaysia-marketing/README.md +83 -0
  2013. package/data/experts/spatial-computing/malaysia-marketing/agents/malaysia-marketing.md +202 -0
  2014. package/data/experts/spatial-computing/malaysia-marketing/persona.md +199 -0
  2015. package/data/experts/spatial-computing/metamorphosis-practitioner/.codebuddy-plugin/plugin.json +48 -0
  2016. package/data/experts/spatial-computing/metamorphosis-practitioner/.downloaded_at +1 -0
  2017. package/data/experts/spatial-computing/metamorphosis-practitioner/.imported-from-workbuddy +7 -0
  2018. package/data/experts/spatial-computing/metamorphosis-practitioner/README.md +37 -0
  2019. package/data/experts/spatial-computing/metamorphosis-practitioner/agents/metamorphosis-practitioner.md +86 -0
  2020. package/data/experts/spatial-computing/metamorphosis-practitioner/persona.md +79 -0
  2021. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/boundary-guard/SKILL.md +77 -0
  2022. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/boundary-guard/references/boundary-rules.md +103 -0
  2023. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/experience-sharing/SKILL.md +98 -0
  2024. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/experience-sharing/references/dialogue-scenes.md +91 -0
  2025. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/experience-sharing/references/quotes.md +44 -0
  2026. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/mindset-routing/SKILL.md +57 -0
  2027. package/data/experts/spatial-computing/metamorphosis-practitioner/skills/mindset-routing/references/routing-framework.md +55 -0
  2028. package/data/experts/spatial-computing/tianyu-account-guardian/.codebuddy-plugin/plugin.json +64 -0
  2029. package/data/experts/spatial-computing/tianyu-account-guardian/.downloaded_at +1 -0
  2030. package/data/experts/spatial-computing/tianyu-account-guardian/.imported-from-workbuddy +7 -0
  2031. package/data/experts/spatial-computing/tianyu-account-guardian/README.md +43 -0
  2032. package/data/experts/spatial-computing/tianyu-account-guardian/persona.md +62 -0
  2033. package/data/experts/spatial-computing/uae-marketing-advisor/.codebuddy-plugin/plugin.json +65 -0
  2034. package/data/experts/spatial-computing/uae-marketing-advisor/.downloaded_at +1 -0
  2035. package/data/experts/spatial-computing/uae-marketing-advisor/.imported-from-workbuddy +7 -0
  2036. package/data/experts/spatial-computing/uae-marketing-advisor/README.md +67 -0
  2037. package/data/experts/spatial-computing/uae-marketing-advisor/expert-card.json +36 -0
  2038. package/data/experts/spatial-computing/uae-marketing-advisor/persona.md +103 -0
  2039. package/data/experts/spatial-computing/well-arch-expert/.codebuddy-plugin/plugin.json +65 -0
  2040. package/data/experts/spatial-computing/well-arch-expert/.downloaded_at +1 -0
  2041. package/data/experts/spatial-computing/well-arch-expert/.imported-from-workbuddy +7 -0
  2042. package/data/experts/spatial-computing/well-arch-expert/README.md +28 -0
  2043. package/data/experts/spatial-computing/well-arch-expert/agents/well-arch-expert.md +248 -0
  2044. package/data/experts/spatial-computing/well-arch-expert/persona.md +245 -0
  2045. package/data/experts/specialized/campus-conversation-coach/.codebuddy-plugin/plugin.json +60 -0
  2046. package/data/experts/specialized/campus-conversation-coach/.downloaded_at +1 -0
  2047. package/data/experts/specialized/campus-conversation-coach/.imported-from-workbuddy +7 -0
  2048. package/data/experts/specialized/campus-conversation-coach/README.md +64 -0
  2049. package/data/experts/specialized/campus-conversation-coach/agents/campus-conversation-coach.md +98 -0
  2050. package/data/experts/specialized/campus-conversation-coach/persona.md +94 -0
  2051. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/SKILL.md +128 -0
  2052. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/references/boundaries-and-safety.md +52 -0
  2053. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/references/campus-playbooks.md +158 -0
  2054. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/references/feedback-and-output.md +163 -0
  2055. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/references/provenance-and-limitations.md +107 -0
  2056. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/references/scenario-routing.md +56 -0
  2057. package/data/experts/specialized/campus-conversation-coach/skills/campus-social-practice/references/training-modes.md +162 -0
  2058. package/data/experts/specialized/capacity-expert/.codebuddy-plugin/plugin.json +65 -0
  2059. package/data/experts/specialized/capacity-expert/.downloaded_at +1 -0
  2060. package/data/experts/specialized/capacity-expert/.imported-from-workbuddy +7 -0
  2061. package/data/experts/specialized/capacity-expert/README.md +28 -0
  2062. package/data/experts/specialized/capacity-expert/agents/capacity-expert.md +254 -0
  2063. package/data/experts/specialized/capacity-expert/persona.md +251 -0
  2064. package/data/experts/specialized/chaos-expert/.codebuddy-plugin/plugin.json +65 -0
  2065. package/data/experts/specialized/chaos-expert/.downloaded_at +1 -0
  2066. package/data/experts/specialized/chaos-expert/.imported-from-workbuddy +7 -0
  2067. package/data/experts/specialized/chaos-expert/README.md +28 -0
  2068. package/data/experts/specialized/chaos-expert/agents/chaos-expert.md +272 -0
  2069. package/data/experts/specialized/chaos-expert/persona.md +269 -0
  2070. package/data/experts/specialized/fbsir-super-independent-board/.codebuddy-plugin/plugin.json +74 -0
  2071. package/data/experts/specialized/fbsir-super-independent-board/.downloaded_at +1 -0
  2072. package/data/experts/specialized/fbsir-super-independent-board/.imported-from-workbuddy +7 -0
  2073. package/data/experts/specialized/fbsir-super-independent-board/ASSET-NOTICE.md +28 -0
  2074. package/data/experts/specialized/fbsir-super-independent-board/CHANGELOG.md +12 -0
  2075. package/data/experts/specialized/fbsir-super-independent-board/FILE-MANIFEST.sha256.json +214 -0
  2076. package/data/experts/specialized/fbsir-super-independent-board/LICENSE +21 -0
  2077. package/data/experts/specialized/fbsir-super-independent-board/PRIVACY.md +11 -0
  2078. package/data/experts/specialized/fbsir-super-independent-board/README.md +39 -0
  2079. package/data/experts/specialized/fbsir-super-independent-board/SECURITY.md +21 -0
  2080. package/data/experts/specialized/fbsir-super-independent-board/persona.md +160 -0
  2081. package/data/experts/specialized/indie-founder-coach/.codebuddy-plugin/plugin.json +49 -0
  2082. package/data/experts/specialized/indie-founder-coach/.downloaded_at +1 -0
  2083. package/data/experts/specialized/indie-founder-coach/.imported-from-workbuddy +7 -0
  2084. package/data/experts/specialized/indie-founder-coach/README.md +57 -0
  2085. package/data/experts/specialized/indie-founder-coach/agents/indie-founder-coach.md +107 -0
  2086. package/data/experts/specialized/indie-founder-coach/persona.md +93 -0
  2087. package/data/experts/specialized/indie-founder-coach/skills/company-values/SKILL.md +113 -0
  2088. package/data/experts/specialized/indie-founder-coach/skills/find-community/SKILL.md +73 -0
  2089. package/data/experts/specialized/indie-founder-coach/skills/first-customers/SKILL.md +96 -0
  2090. package/data/experts/specialized/indie-founder-coach/skills/founder-review/SKILL.md +88 -0
  2091. package/data/experts/specialized/indie-founder-coach/skills/grow-sustainably/SKILL.md +126 -0
  2092. package/data/experts/specialized/indie-founder-coach/skills/marketing-plan/SKILL.md +130 -0
  2093. package/data/experts/specialized/indie-founder-coach/skills/mvp/SKILL.md +94 -0
  2094. package/data/experts/specialized/indie-founder-coach/skills/pricing/SKILL.md +118 -0
  2095. package/data/experts/specialized/indie-founder-coach/skills/processize/SKILL.md +105 -0
  2096. package/data/experts/specialized/indie-founder-coach/skills/validate-idea/SKILL.md +86 -0
  2097. package/data/experts/specialized/job-companion-team/.codebuddy-plugin/plugin.json +150 -0
  2098. package/data/experts/specialized/job-companion-team/.downloaded_at +1 -0
  2099. package/data/experts/specialized/job-companion-team/.imported-from-workbuddy +7 -0
  2100. package/data/experts/specialized/job-companion-team/README.md +69 -0
  2101. package/data/experts/specialized/job-companion-team/agents/job-companion-interview.md +74 -0
  2102. package/data/experts/specialized/job-companion-team/agents/job-companion-negotiation.md +82 -0
  2103. package/data/experts/specialized/job-companion-team/agents/job-companion-reflection.md +87 -0
  2104. package/data/experts/specialized/job-companion-team/agents/job-companion-resume.md +82 -0
  2105. package/data/experts/specialized/job-companion-team/agents/job-companion-team-lead.md +162 -0
  2106. package/data/experts/specialized/job-companion-team/persona.md +442 -0
  2107. package/data/experts/specialized/job-companion-team/settings.json +3 -0
  2108. package/data/experts/specialized/job-companion-team/skills/interview-prep/SKILL.md +73 -0
  2109. package/data/experts/specialized/job-companion-team/skills/mock-interview/SKILL.md +65 -0
  2110. package/data/experts/specialized/job-companion-team/skills/onboarding-reflection/SKILL.md +142 -0
  2111. package/data/experts/specialized/job-companion-team/skills/resume-polish/SKILL.md +82 -0
  2112. package/data/experts/specialized/job-companion-team/skills/salary-negotiation/SKILL.md +105 -0
  2113. package/data/experts/specialized/job-companion-team/skills/self-inventory/SKILL.md +67 -0
  2114. package/data/experts/specialized/job-companion-team/skills/target-positioning/SKILL.md +64 -0
  2115. package/data/experts/specialized/note-class-representative/.codebuddy-plugin/plugin.json +64 -0
  2116. package/data/experts/specialized/note-class-representative/.downloaded_at +1 -0
  2117. package/data/experts/specialized/note-class-representative/.imported-from-workbuddy +7 -0
  2118. package/data/experts/specialized/note-class-representative/README.md +42 -0
  2119. package/data/experts/specialized/note-class-representative/agents/note-class-representative.md +88 -0
  2120. package/data/experts/specialized/note-class-representative/persona.md +84 -0
  2121. package/data/experts/specialized/note-class-representative/skills/class-notes-workflow/SKILL.md +159 -0
  2122. package/data/experts/specialized/note-class-representative/skills/class-notes-workflow/references/course-routing.md +64 -0
  2123. package/data/experts/specialized/note-class-representative/skills/class-notes-workflow/references/output-templates.md +156 -0
  2124. package/data/experts/specialized/note-class-representative/skills/class-notes-workflow/references/quality-checklist.md +56 -0
  2125. package/data/experts/specialized/note-class-representative/skills/class-notes-workflow/references/source-and-content-status.md +123 -0
  2126. package/data/experts/specialized/panshi-customer-visit-agent/.codebuddy-plugin/plugin.json +69 -0
  2127. package/data/experts/specialized/panshi-customer-visit-agent/.downloaded_at +1 -0
  2128. package/data/experts/specialized/panshi-customer-visit-agent/.imported-from-workbuddy +7 -0
  2129. package/data/experts/specialized/panshi-customer-visit-agent/.mcp.json +53 -0
  2130. package/data/experts/specialized/panshi-customer-visit-agent/README.md +46 -0
  2131. package/data/experts/specialized/panshi-customer-visit-agent/persona.md +184 -0
  2132. package/data/experts/specialized/tc-chengxin-travel-expert/.codebuddy-plugin/plugin.json +75 -0
  2133. package/data/experts/specialized/tc-chengxin-travel-expert/.downloaded_at +1 -0
  2134. package/data/experts/specialized/tc-chengxin-travel-expert/.imported-from-workbuddy +7 -0
  2135. package/data/experts/specialized/tc-chengxin-travel-expert/README.md +33 -0
  2136. package/data/experts/specialized/tc-chengxin-travel-expert/persona.md +38 -0
  2137. package/data/experts/specialized/worldcup-buddy/.codebuddy-plugin/plugin.json +40 -0
  2138. package/data/experts/specialized/worldcup-buddy/.downloaded_at +1 -0
  2139. package/data/experts/specialized/worldcup-buddy/.imported-from-workbuddy +7 -0
  2140. package/data/experts/specialized/worldcup-buddy/README.md +44 -0
  2141. package/data/experts/specialized/worldcup-buddy/persona.md +487 -0
  2142. package/data/experts/supply-chain/tencent-cloud-quote-assistant/.codebuddy-plugin/plugin.json +64 -0
  2143. package/data/experts/supply-chain/tencent-cloud-quote-assistant/.downloaded_at +1 -0
  2144. package/data/experts/supply-chain/tencent-cloud-quote-assistant/.imported-from-workbuddy +7 -0
  2145. package/data/experts/supply-chain/tencent-cloud-quote-assistant/README.md +81 -0
  2146. package/data/experts/supply-chain/tencent-cloud-quote-assistant/persona.md +204 -0
  2147. package/data/experts/support/andon-q-expert/.codebuddy-plugin/plugin.json +64 -0
  2148. package/data/experts/support/andon-q-expert/.downloaded_at +1 -0
  2149. package/data/experts/support/andon-q-expert/.imported-from-workbuddy +7 -0
  2150. package/data/experts/support/andon-q-expert/README.md +62 -0
  2151. package/data/experts/support/andon-q-expert/persona.md +67 -0
  2152. package/data/experts/support/campus-job-search-coach/.codebuddy-plugin/plugin.json +60 -0
  2153. package/data/experts/support/campus-job-search-coach/.downloaded_at +1 -0
  2154. package/data/experts/support/campus-job-search-coach/.imported-from-workbuddy +7 -0
  2155. package/data/experts/support/campus-job-search-coach/README.md +95 -0
  2156. package/data/experts/support/campus-job-search-coach/persona.md +88 -0
  2157. package/data/experts/support/cloud-ops-team/.codebuddy-plugin/plugin.json +89 -0
  2158. package/data/experts/support/cloud-ops-team/.downloaded_at +1 -0
  2159. package/data/experts/support/cloud-ops-team/.imported-from-workbuddy +7 -0
  2160. package/data/experts/support/cloud-ops-team/README.md +98 -0
  2161. package/data/experts/support/cloud-ops-team/persona.md +346 -0
  2162. package/data/experts/support/cloud-ops-team/settings.json +3 -0
  2163. package/data/experts/support/migraq/.codebuddy-plugin/plugin.json +64 -0
  2164. package/data/experts/support/migraq/.downloaded_at +1 -0
  2165. package/data/experts/support/migraq/.imported-from-workbuddy +7 -0
  2166. package/data/experts/support/migraq/README.md +59 -0
  2167. package/data/experts/support/migraq/persona.md +56 -0
  2168. package/data/experts/support/skillhub-charity-expert-team/.codebuddy-plugin/plugin.json +181 -0
  2169. package/data/experts/support/skillhub-charity-expert-team/.downloaded_at +1 -0
  2170. package/data/experts/support/skillhub-charity-expert-team/.imported-from-workbuddy +7 -0
  2171. package/data/experts/support/skillhub-charity-expert-team/.mcp.json +26 -0
  2172. package/data/experts/support/skillhub-charity-expert-team/README.md +233 -0
  2173. package/data/experts/support/skillhub-charity-expert-team/persona.md +1383 -0
  2174. package/data/experts/support/skillhub-charity-expert-team/settings.json +3 -0
  2175. package/data/experts/support/tencent-cloud-price-expert/.codebuddy-plugin/plugin.json +64 -0
  2176. package/data/experts/support/tencent-cloud-price-expert/.downloaded_at +1 -0
  2177. package/data/experts/support/tencent-cloud-price-expert/.imported-from-workbuddy +7 -0
  2178. package/data/experts/support/tencent-cloud-price-expert/README.md +97 -0
  2179. package/data/experts/support/tencent-cloud-price-expert/persona.md +192 -0
  2180. package/data/experts/support/tencent-rtc-expert/.codebuddy-plugin/plugin.json +55 -0
  2181. package/data/experts/support/tencent-rtc-expert/.downloaded_at +1 -0
  2182. package/data/experts/support/tencent-rtc-expert/.imported-from-workbuddy +7 -0
  2183. package/data/experts/support/tencent-rtc-expert/README.md +75 -0
  2184. package/data/experts/support/tencent-rtc-expert/persona.md +230 -0
  2185. package/data/experts/support/tencent-rtc-expert/settings.json +3 -0
  2186. package/data/experts/support/workbuddy-universal-mentor/.codebuddy-plugin/plugin.json +61 -0
  2187. package/data/experts/support/workbuddy-universal-mentor/.downloaded_at +1 -0
  2188. package/data/experts/support/workbuddy-universal-mentor/.imported-from-workbuddy +7 -0
  2189. package/data/experts/support/workbuddy-universal-mentor/README.md +44 -0
  2190. package/data/experts/support/workbuddy-universal-mentor/persona.md +76 -0
  2191. package/data/experts/testing/aladin-test-design/.codebuddy-plugin/plugin.json +44 -0
  2192. package/data/experts/testing/aladin-test-design/.downloaded_at +1 -0
  2193. package/data/experts/testing/aladin-test-design/.imported-from-workbuddy +7 -0
  2194. package/data/experts/testing/aladin-test-design/README.md +44 -0
  2195. package/data/experts/testing/aladin-test-design/agents/aladin-test-design.md +189 -0
  2196. package/data/experts/testing/aladin-test-design/persona.md +185 -0
  2197. package/data/experts/testing/aladin-test-design/skills/test-design/SKILL.md +250 -0
  2198. package/data/experts/testing/aladin-test-design/skills/test-design/references/data_structures.md +264 -0
  2199. package/data/experts/testing/aladin-test-design/skills/test-design/scripts/render_html.py +147 -0
  2200. package/data/experts/testing/skill-smith/.codebuddy-plugin/plugin.json +64 -0
  2201. package/data/experts/testing/skill-smith/.downloaded_at +1 -0
  2202. package/data/experts/testing/skill-smith/.imported-from-workbuddy +7 -0
  2203. package/data/experts/testing/skill-smith/README.md +72 -0
  2204. package/data/experts/testing/skill-smith/persona.md +134 -0
  2205. package/data/experts/testing/thesis-writing-mentor/.codebuddy-plugin/plugin.json +72 -0
  2206. package/data/experts/testing/thesis-writing-mentor/.downloaded_at +1 -0
  2207. package/data/experts/testing/thesis-writing-mentor/.imported-from-workbuddy +7 -0
  2208. package/data/experts/testing/thesis-writing-mentor/README.md +60 -0
  2209. package/data/experts/testing/thesis-writing-mentor/persona.md +93 -0
  2210. package/data/roster.json +2726 -0
  2211. package/data/source.json +3 -3
  2212. package/lib/bootstrap.js.bak-before-pack +344 -0
  2213. package/lib/catalog.js +122 -20
  2214. package/lib/catalog.js.bak-before-pack +649 -0
  2215. package/lib/client.js +33 -5
  2216. package/lib/fetch-assets.js +257 -0
  2217. package/lib/index.js +188 -24
  2218. package/lib/index.js.bak-before-pack +1157 -0
  2219. package/lib/remote-schemas.js +15 -0
  2220. package/lib/remote.js +26 -0
  2221. package/package.json +3 -2
  2222. package/vendor/third-party-licenses/README.md +1 -1
@@ -0,0 +1,1157 @@
1
+ // @ts-check
2
+ /**
3
+ * T专家 host 插件:把 ~/.t-team/experts 里的专家名册接到 DSH。
4
+ *
5
+ * 提供:
6
+ * - 工具 list_t_experts / summon_t_expert / summon_t_experts
7
+ * - 设置段 t-team(enabled: 已启用的专家 slug)
8
+ * - systemPrompt 段(只在父会话里说明 @ 召唤语义与工具用法)
9
+ * - 服务 tTeamCatalog(远程服务用它读名册与 persona)
10
+ *
11
+ * 与其它专家插件并存:工具名、设置命名空间、服务名、remote 服务名都不重叠。
12
+ */
13
+ import { homedir } from "node:os";
14
+ import { existsSync, readFileSync, readdirSync } from "node:fs";
15
+ import { mkdir, stat, rmdir } from "node:fs/promises";
16
+ import { basename, dirname, join, resolve } from "node:path";
17
+ import schema from "@deepseek-ai/schemastery";
18
+ import { defineTool } from "@deepseek-ai/dsh-tools";
19
+ import {
20
+ CUSTOM_DIVISION,
21
+ CUSTOM_LIMITS,
22
+ catalogDivisions,
23
+ customExpertPath,
24
+ divisionOf,
25
+ fileFingerprint,
26
+ groupByDivision,
27
+ isValidDivision,
28
+ isValidSlug,
29
+ loadCatalog,
30
+ mapPool,
31
+ normalizedKey,
32
+ readPersona,
33
+ removeCustomExpert,
34
+ resolveExpert,
35
+ sanitize,
36
+ saveCustomLabel,
37
+ serializeCustomExpert,
38
+ truncate,
39
+ writeFileAtomic,
40
+ } from "./catalog.js";
41
+ // 技能开关(2026-09-28 从 dsh-plugin-skill-gate 整体搬来):包装 ctx.skills,把名单里的技能
42
+ // 从模型目录里摘掉。装配入口是动态 inject 调的 —— 宿主没有 skills 服务时只少这一块。
43
+ import { installSkillGate } from "./skill-gate/install.js";
44
+ import { localized, NS, readLocale, renderList, renderSummonResults, t, toRenderableGroups, toRenderableSummonResults } from "./i18n.js";
45
+ import { seedData } from "./bootstrap.js";
46
+ import { installBundledSkills } from "./skill.js";
47
+ import { SNAPSHOT_DIR } from "./bootstrap.js";
48
+ // 两个插件允许同时安装同时可用,所以存储、服务名、错误码、消息来源全都各走各的。
49
+ import { createUserMessage } from "@deepseek-ai/dsh-llm";
50
+
51
+ export const name = NS;
52
+ /**
53
+ * 静态注入的**只有硬依赖**:少了它们,名册功能本身就不成立(工具表、子代理、提示段)。
54
+ *
55
+ * `settings` 与 `commands` 刻意**不在这里**:它们是可选能力,cordis 遇到缺失的静态 inject
56
+ * 会让整个 fiber 静默 pending —— 插件一行日志都不会打,用户既看不到工具也得不到原因。
57
+ * 两者改为在 `apply` 里做同步能力检查(缺了只降级对应功能并 warn)。
58
+ */
59
+ export const inject = ["tools", "subagents", "systemPrompt"];
60
+
61
+ /**
62
+ * 插件配置。
63
+ *
64
+ * 规范要求「部署可能取不同值的参数都必须是可被 cordis.yml 覆盖的 Config 字段」,
65
+ * 所以召唤上限/并发、任务长度上限、简介截断长度都放在这里;
66
+ * 模块级常量只保留协议常量与固定清单。
67
+ */
68
+ /**
69
+ * cosmokit 的 volatile 引用所用的全局 symbol —— 跨 ESM/CJS 副本的稳定判据。
70
+ */
71
+ const VOLATILE_WRITE = Symbol.for("cosmokit.volatile.write");
72
+
73
+ /**
74
+ * 读一个可能是 volatile 引用的配置值。
75
+ *
76
+ * 为什么不用 `typeof value.get === "function"`:普通对象也可能有 get;也不用 `instanceof`:
77
+ * 多份 cosmokit 副本之间会漏判。0.1.7 的 volatile 字段在 Config 上就是这种引用。
78
+ * @param value - Config 上的原始值。
79
+ * @returns 引用的当前快照,或原值。
80
+ */
81
+ const unwrapVolatile = (value) => (
82
+ typeof value === "object" && value !== null && VOLATILE_WRITE in value ? value.get() : value
83
+ );
84
+
85
+ /**
86
+ * 按宿主能力给字段打 `volatile` 标记。
87
+ *
88
+ * 为什么需要包装:`.volatile()` 是 DSH 0.1.7 才有的 schemastery API(旧宿主上是
89
+ * `undefined`),而本插件要同时跑在 0.1.5/0.1.6 与 0.1.7+ 上 —— 直接调 `.volatile()`
90
+ * 会让插件在旧宿主上一启动就抛 `field.volatile is not a function`。旧宿主上原样返回即可。
91
+ * @param field - Config 字段 schema。
92
+ * @returns 打了 volatile 标记的字段(宿主不支持时就是原字段)。
93
+ */
94
+ const volatileField = (field) => (
95
+ typeof field?.volatile === "function" ? field.volatile() : field
96
+ );
97
+
98
+ export const Config = schema.object({
99
+ root: schema.string().default(join(homedir(), ".t-team", "experts")),
100
+ zhRoot: schema.string().default(join(homedir(), ".t-team", "zh")),
101
+ /**
102
+ * 用户自建专家的根目录(与内置名册分开:内置名册随包发布、升级时整棵替换,自建专家放进去会被覆盖)。
103
+ * 面板「新建专家」写到这里,固定落在 custom 分区。
104
+ */
105
+ customRoot: schema.string().default(join(homedir(), ".t-team", "custom")),
106
+ provider: schema.string().default("spawn"),
107
+ /** 留空 = 自动扫描 root 下所有含 .md 的分类目录(新增分类不必改配置/代码)。 */
108
+ divisions: schema.array(schema.string()).default([]),
109
+ maxDepth: schema.natural(),
110
+ /** 一次 summon_t_experts 最多召唤几位专家。 */
111
+ maxSummonBatch: schema.natural().min(1).default(8),
112
+ /** summon_t_experts 的并发度。 */
113
+ summonConcurrency: schema.natural().min(1).default(4),
114
+ /** 单个专家任务的最大字符数。 */
115
+ summonTaskMaxChars: schema.natural().min(1).default(8000),
116
+ /** list_t_experts 里简介的截断长度。 */
117
+ descriptionLimit: schema.natural().min(1).default(120),
118
+
119
+ /**
120
+ * 以下五个是**用户偏好**(专家启停 + 界面开关),不是部署配置。
121
+ *
122
+ * 为什么它们必须待在 Config 里:DSH 0.1.7 起设置服务不再提供 `register()` / 命名空间句柄
123
+ * (PR #4587「project volatile Config through profile-backed forms」),用户偏好改由
124
+ * 「entry Config 的 volatile 字段 + profile patch」承载。字段不进 Config,设置服务就
125
+ * 列不出这个 entry —— 实测表现是服务端抛「T专家 设置段尚未注册」、设置页整块白屏、
126
+ * `list_t_experts` 报「还没有启用任何专家」(2026-09-22 定位)。
127
+ *
128
+ * 旧宿主(≤0.1.6)读写的仍是 settings 命名空间(见 apply 里的 prefsMode),
129
+ * 这些字段只是多出来的、带默认值的普通配置,不影响旧行为。
130
+ */
131
+ enabled: volatileField(schema.array(schema.string()).default([])),
132
+ /** 兼容位:早期实现用的「已播种」布尔标记。幂等判据已改用 enabledSeedVersion。 */
133
+ enabledSeeded: volatileField(schema.boolean().default(false)),
134
+ /** 「默认全部启用」已按哪一版策略播种过;+1 即对所有用户重新播种一次。 */
135
+ enabledSeedVersion: volatileField(schema.number().default(0)),
136
+ /**
137
+ * 技能开关的名单文件(技能开关那部分的配置,2026-09-28 随它一起搬进来)。
138
+ *
139
+ * 默认仍是原来的 `~/.dsh/skill-gate.json` —— **刻意不改路径**:用户的名单就在那里,
140
+ * 换路径等于把已有的开关状态清零。字段类型与其它 Config 一致(普通 string,
141
+ * 不需要 volatile:它不属于「用户偏好」那套 profile patch 机制)。
142
+ */
143
+ skillGateStore: schema.string().default(join(homedir(), ".dsh", "skill-gate.json")),
144
+ });
145
+
146
+ /** 供 remote 服务读取名册的服务名。 */
147
+ export const CATALOG_SERVICE = "tTeamCatalog";
148
+
149
+ /** 设置命名空间(= 插件名)。 */
150
+ export const SETTINGS_NAMESPACE = NS;
151
+
152
+ /**
153
+ * 「未知专家 slug」的稳定错误码(与 `lib/remote.js` 共用)。
154
+ *
155
+ * 为什么要有它:remote 侧过去靠 `message.includes("未知专家")` 判断这是不是「未知专家」,
156
+ * 而 message 是**显示文案**(随 locale 变,也会被改写)——用它做错误身份,等于把分类建在
157
+ * 会漂移的字符串上。这里给出稳定码,remote 只认码(D-3)。
158
+ */
159
+ export const UNKNOWN_SLUG_ERROR_CODE = "tTeam/unknown-slug";
160
+
161
+
162
+ /** 「默认全部启用」的当前策略版本;把它 +1 即对所有用户重新播种一次(见 seedDefaultEnabled)。 */
163
+ const ENABLED_SEED_VERSION = 1;
164
+
165
+ const settingsSchema = schema.object({
166
+ enabled: schema.array(schema.string()).default([]),
167
+ /** 兼容位:早期实现用的「已播种」布尔标记。幂等判据已改用 enabledSeedVersion,保留它只为不弄坏已写入的旧数据。 */
168
+ enabledSeeded: schema.boolean().default(false),
169
+ /**
170
+ * 「默认全部启用」已按哪一版策略播种过。见 seedDefaultEnabled。
171
+ *
172
+ * 为什么用版本号而不是布尔:策略本身会演进,而布尔是一次性的。早期实现是「只在 enabled 为空时播种」
173
+ * 且播完就把布尔置 true —— 于是「早就手动启用过一部分」的老用户永远拿不到默认值(用户实测报过),
174
+ * 而且置了 true 之后连改逻辑都救不回来。换成版本号后,+1 就能对所有人重新播种一次。
175
+ */
176
+ enabledSeedVersion: schema.number().default(0),
177
+ });
178
+
179
+ /**
180
+ * 把启动期名册同步的结果写进日志:**送达的内容要留痕,送不到的内容要出声**。
181
+ *
182
+ * 为什么单独成函数:旧实现只有一句 `copied.length > 0` 才打印的 info —— 于是「升级后
183
+ * 包内新增的专家/译文一个都没到达」这件事在日志里**完全不存在**(2026-09-13 定性的
184
+ * 恒存缺陷)。这里把「漂移状态变化」变成唯一告警条件:既不静默,也不每次启动刷屏。
185
+ * @param logger - `ctx.logger`(可能缺席)。
186
+ * @param seeded - `seedData` 的报告。
187
+ * @param dataHome - 数据目录(日志里给人看的位置)。
188
+ */
189
+ function logSeedReport(logger, seeded, dataHome) {
190
+ const sample = (list) => (list.length === 0 ? "" : `,如 ${list.slice(0, 3).join("、")}${list.length > 3 ? " 等" : ""}`);
191
+ const mergedKeys = seeded.merged.reduce((sum, item) => sum + item.keys.length, 0);
192
+ const delivered = seeded.copied.length + seeded.updated.length + mergedKeys;
193
+ const versionNote = seeded.previousVersion !== "" && seeded.previousVersion !== seeded.version
194
+ ? `(包内快照 v${seeded.previousVersion} → v${seeded.version})`
195
+ : "";
196
+
197
+ if (delivered > 0 || versionNote !== "") {
198
+ const parts = [];
199
+ if (seeded.copied.length > 0) parts.push(`新增 ${seeded.copied.length} 项${sample(seeded.copied)}`);
200
+ if (seeded.updated.length > 0) parts.push(`对齐只读条目 ${seeded.updated.length} 项${sample(seeded.updated)}`);
201
+ if (mergedKeys > 0) parts.push(`补齐键 ${mergedKeys} 个${sample(seeded.merged.flatMap((item) => item.keys))}`);
202
+ logger?.info?.(`[t-team] 名册快照已同步到 ${dataHome}${versionNote}:${parts.join(";") || "无内容变更"}`);
203
+ }
204
+
205
+ // 送不到的必须出声:只在「与上次记录相比有变化」时告警一次,避免每次启动刷屏。
206
+ if ((seeded.kept.length > 0 || seeded.stale.length > 0) && seeded.driftChanged) {
207
+ const parts = [];
208
+ if (seeded.kept.length > 0) parts.push(`${seeded.kept.length} 项与包内快照不同${sample(seeded.kept)}`);
209
+ if (seeded.stale.length > 0) parts.push(`${seeded.stale.length} 项包内已移除${sample(seeded.stale)}`);
210
+ logger?.warn?.(
211
+ `[t-team] 名册快照有${parts.join("、")};已按「不覆盖你的内容」保留盘上那份,未做任何覆盖。`
212
+ + "若这些不是你改的,删掉对应文件后重启即可重新播种。",
213
+ );
214
+ }
215
+ }
216
+
217
+ /**
218
+ * 包内名册的规模(专家数 / 分区数),**从名册目录现算**并按目录缓存。
219
+ *
220
+ * 为什么不能写死:提示段是**模型可见的事实**。把「a N-expert, M-division roster」写成
221
+ * 字面量之后,名册增删或改分区之后那个 N/M 就对模型说谎,且没有任何东西会红
222
+ * (2026-09-13 定性的恒存缺陷之一:数据更新了,模型看到的事实还是旧的)。现算 + 按目录
223
+ * 缓存:一次 readdir 的开销,换来提示永远等于该名册的真实规模。
224
+ * @param root - 名册目录(包内快照或用户数据目录)。
225
+ * @returns 规模;目录读不到时 `experts` 为 0(调用方据此改用不带数字的说法,而不是报 0 位)。
226
+ */
227
+ const rosterScaleCache = new Map();
228
+ function rosterScale(root) {
229
+ const key = typeof root === "string" ? root : "";
230
+ const cached = rosterScaleCache.get(key);
231
+ if (cached !== undefined) return cached;
232
+ let scale = { experts: 0, divisions: 0 };
233
+ try {
234
+ const divisions = readdirSync(key, { withFileTypes: true }).filter((entry) => entry.isDirectory());
235
+ // **递归**数 `.md`:名册里存在 `game-development/unity/<slug>.md` 这类二级分组,
236
+ // 只数一层会少算(2026-09-13 实测:一层 vs 递归差几十;具体数随名册增长而变,
237
+ // 所以**不**把数字写在这里 —— 真源是 `data/source.json` 与 verify 的 [15] 名册工具,
238
+ // 本注释只解释"为什么必须递归")。分区数只取一级目录 —— 二级目录是分组不是分区。
239
+ const experts = readdirSync(key, { recursive: true }).filter((name) => String(name).endsWith(".md")).length;
240
+ scale = { experts, divisions: divisions.length };
241
+ } catch {
242
+ scale = { experts: 0, divisions: 0 };
243
+ }
244
+ rosterScaleCache.set(key, scale);
245
+ return scale;
246
+ }
247
+
248
+ export function apply(ctx, config) {
249
+ const locale = () => readLocale(ctx);
250
+ const maxDepth = config.maxDepth;
251
+
252
+ // ---- 启动期同步:包内自带名册快照 → 可写数据目录(缺失就补、只读对齐、用户内容不动)----
253
+ const seeded = seedData({ root: config.root, zhRoot: config.zhRoot });
254
+ logSeedReport(ctx.logger, seeded, dirname(config.root));
255
+ if (!seeded.ok) {
256
+ // 同步失败不当作致命:名册目录若因此缺失,第一次读名册会在 ensureReady() 里**响亮地**抛出
257
+ // (error.rootMissing),那才是最早可解析点。这里只保证失败一定会出现在日志里。
258
+ ctx.logger?.error?.(`[t-team] 名册快照同步失败,将按已有数据继续:${seeded.error}`);
259
+ }
260
+
261
+ // ---- 技能开关(原 dsh-plugin-skill-gate)----
262
+ // ⚠️ 用**动态** ctx.inject 而不是静态 `inject = ["skills"]`:后者是强依赖,宿主某版本没有
263
+ // skills 服务时 T专家 会整个不激活 —— 连专家名册与召唤一起没。这里拿不到就只少技能开关。
264
+ if (typeof ctx.inject === "function") {
265
+ // ⚠️ 只装一次:`ctx.inject` 的回调在依赖服务**被重新提供**时会再次触发,重复装配会把
266
+ // `ctx.skills` 层层包装(wrapper 累积、卸载时的还原也会错位),而且 cordis 的
267
+ // `reflect.provide` 对同名服务是**硬冲突**(`service "skillGateHost" has been registered
268
+ // at <fiber>`,见 cordis 的 provide 实现:`if (this.store[key]) throw`)—— 第二次装配
269
+ // 必然抛在 provide 那一步。
270
+ //
271
+ // 但"只装一次"不能等于"之后什么都不说":宿主真把 skills 换成新实例时(另一个插件重载并
272
+ // 重新 provide 了它),停用名单仍作用在**旧**实例上,新实例的技能不受约束 ——
273
+ // 那是静默失效,用户关掉技能却发现它照样能被召唤,且日志里一个字都没有。所以这里出声。
274
+ let installedSkills; // undefined = 还没装过
275
+ ctx.inject(["skills"], (scoped) => {
276
+ const skillsCtx = scoped ?? ctx;
277
+ const skills = skillsCtx?.skills;
278
+ if (installedSkills === undefined) {
279
+ installedSkills = skills;
280
+ try {
281
+ installSkillGate(skillsCtx, { storePath: config.skillGateStore });
282
+ } catch (error) {
283
+ ctx.logger?.error?.("[t-team] 技能开关装配失败(专家名册不受影响):", error);
284
+ }
285
+ return;
286
+ }
287
+ if (skills === installedSkills) return; // 同一个实例:已经包过,幂等
288
+ ctx.logger?.warn?.("[t-team] 宿主的 skills 服务换了新实例,而技能开关仍作用在旧实例上:"
289
+ + "此后新装/重载的技能可能不受停用名单约束。重载 T专家 插件(或重启宿主)即可恢复;"
290
+ + "专家名册与召唤不受影响。");
291
+ });
292
+ } else {
293
+ ctx.logger?.warn?.("[t-team] 上下文没有 inject:技能开关不可用(专家名册不受影响)。");
294
+ }
295
+
296
+
297
+
298
+
299
+ // ---- 设置段(T专家 自己的命名空间,与其它插件不冲突)----
300
+ // `settings` 是**可选**服务(见文件顶部的 inject 注释):宿主没挂它时本插件仍要能加载并工作,
301
+ // 所以不在静态 `inject` 里。
302
+ //
303
+ // ⚠️ 但**不能**用 `ctx.get("settings")` 做同步探测(2026-09-13 实测踩到):把 settings 移出静态
304
+ // inject 之后,`apply` 不再等待 settings 就绪,于是那一刻 `ctx.get("settings")` 是 undefined;
305
+ // 而 cordis 的 `provide` **不会回溯通知**已经跑过的同步代码,于是这个判断**永久**为假 ——
306
+ // 真实 GUI 里表现为「设置段没注册 → 点 T专家 是白板」(host 日志有对应 warn)。
307
+ //
308
+ // 正解是用 cordis 的 `ctx.inject`:它等的就是「该服务就绪」这件事,服务迟到也能补上。
309
+ // `ctx.inject(["settings"])` 同时保留了「宿主真没有 settings 就不注册、只降级」的语义。
310
+ /** @type {undefined | { get: () => any }} 设置段句柄;只有旧宿主(≤0.1.6)的 register 会给。 */
311
+ let scope;
312
+ /** @type {any} settings 服务本体;就绪后由 inject 赋值,`requireSettings()` 用它。 */
313
+ let settingsService;
314
+ /**
315
+ * 偏好来源,两条路径**必须二选一**,不能"读得到就用、读不到就退":
316
+ * - `scope`:≤0.1.6 —— 偏好存在 settings 命名空间里,只有 register 返回的句柄读得到。
317
+ * - `entry`:0.1.7+ —— 偏好就是本 entry 的 Config 字段(volatile 引用),直接读 Config。
318
+ *
319
+ * 为什么不能一律读 Config:0.1.7 给这些字段带了 schema 默认值,在旧宿主上误读 Config
320
+ * 会把用户真实的启用名单读成一份空数组 —— 那正是这次事故的表象(「专家列表空了」)。
321
+ */
322
+ let prefsMode = "none";
323
+ if (typeof ctx.inject !== "function") {
324
+ // 只可能出现在极简/测试上下文里:如实说明,不要静默。
325
+ ctx.logger?.warn?.("[t-team] 上下文没有 inject:无法等待 settings 就绪,专家启停不可用。");
326
+ } else {
327
+ // 先如实说一句"在等 settings":`ctx.inject` 对**永不出现**的服务不会有任何回调,
328
+ // 所以只在回调里告警的话,宿主真没给 settings 时用户/日志里**什么都看不到**(实测如此)。
329
+ // 服务随后到了就正常注册;一直没到,这行就是唯一的原因线索。
330
+ ctx.logger?.warn?.("[t-team] 正在等待 settings 服务就绪以注册设置段;若宿主不提供它,专家启停与设置页的 T专家 段将不可用。");
331
+ ctx.inject(["settings"], (scoped) => {
332
+ settingsService = scoped.settings ?? scoped.get?.("settings");
333
+ if (typeof settingsService?.register === "function") {
334
+ // ── 旧宿主(≤0.1.6):按命名空间注册,读写都走返回的句柄。
335
+ scope = settingsService.register(SETTINGS_NAMESPACE, settingsSchema, {
336
+ base: { enabled: [], enabledSeeded: false, enabledSeedVersion: 0 },
337
+ applies: "live",
338
+ validate: (value) => {
339
+ const list = value?.enabled;
340
+ if (!Array.isArray(list) || list.some((item) => typeof item !== "string")) {
341
+ throw new Error("t-team.enabled 必须是字符串数组");
342
+ }
343
+ },
344
+ });
345
+ prefsMode = "scope";
346
+ return;
347
+ }
348
+ if (typeof settingsService?.mutate === "function") {
349
+ // ── 0.1.7+:设置服务改由「entry Config 的 volatile 字段 + profile patch」承载
350
+ // (PR #4587 移除了 register/SettingsScope),没有句柄可拿,也没有东西要注册。
351
+ // 读走 Config;写与修订号仍走 settings.mutate / settings.describe ——
352
+ // 它们的 ns 就是 profile entry id,而本插件的 entry id 正是 SETTINGS_NAMESPACE。
353
+ prefsMode = "entry";
354
+ // 声明「本插件自带设置页」:否则 0.1.7 会按 Config schema 为这个 entry 自动生成
355
+ // 一个表单页,与插件自己注册的「T专家」页重复(宿主 README 的适配指引即此)。
356
+ if (typeof settingsService?.configure === "function" && typeof ctx.effect === "function") {
357
+ ctx.effect(
358
+ () => settingsService.configure({ auto: false }, ctx.fiber),
359
+ "t-team: 设置页策略",
360
+ );
361
+ }
362
+ return;
363
+ }
364
+ ctx.logger?.warn?.("[t-team] settings 服务既没有 register 也没有 mutate:专家启停不可用(名册与召唤不受影响)。");
365
+ });
366
+ }
367
+ /**
368
+ * 读偏好段(专家启停)。
369
+ *
370
+ * 来源严格按 `prefsMode` 二选一(理由见 prefsMode 注释);0.1.7 的 Config 字段是
371
+ * volatile 引用,统一 unwrap 后再用。
372
+ * @returns 偏好对象;设置段不可用时为 undefined(调用方按各自语义处理)。
373
+ */
374
+ function readPrefs() {
375
+ if (prefsMode === "scope") return scope?.get?.();
376
+ if (prefsMode === "entry") {
377
+ const source = config ?? {};
378
+ return {
379
+ enabled: unwrapVolatile(source.enabled),
380
+ enabledSeeded: unwrapVolatile(source.enabledSeeded),
381
+ enabledSeedVersion: unwrapVolatile(source.enabledSeedVersion),
382
+ };
383
+ }
384
+ return undefined;
385
+ }
386
+ const enabledSet = () => new Set(
387
+ (readPrefs()?.enabled ?? []).filter((value) => typeof value === "string"),
388
+ );
389
+ /**
390
+ * 需要读写「专家启停」的路径在 settings 缺席时必须**响亮失败**。
391
+ *
392
+ * 为什么不能给个空集合凑合:那样 `list_t_experts` 会返回 `total=0`、readonly 工具报「未启用」,
393
+ * 用户与模型都以为「名册是空的 / 什么都没开」,而不是「宿主没挂 settings」—— 正是要被消灭的
394
+ * 那类静默错误。异常经工具错误面报出,原因可读(A-4)。
395
+ */
396
+ const requireSettings = () => {
397
+ if (settingsService === undefined) throw new Error(t(locale(), "error.settingsServiceMissing"));
398
+ return settingsService;
399
+ };
400
+
401
+ // ---- 花名册加载 ----
402
+ let entries = [];
403
+ // 初始为显式配置的分区(默认空);空数组 = 交给 loadCatalog 自动发现,
404
+ // 加载后 effectiveDivisions 会被 catalogDivisions() 的发现结果覆盖(不再有硬编码分区清单)。
405
+ let effectiveDivisions = config.divisions.slice();
406
+ /** 自建专家根下发现的分区(默认只有 custom);进指纹,用于新建/删除后自动重载。 */
407
+ let customDivisions = [];
408
+ /** 只来自内置根的分区(官方、只读):自建分区不许与它们重名。 */
409
+ let rosterDivisions = [];
410
+ /** 自建分类的显示名表(键 = 声明过的自建分类,允许空分类)。 */
411
+ let customLabels = {};
412
+ let divisionLabels = {};
413
+ let loaded = false;
414
+ let loading = null;
415
+ let stamp = "";
416
+ let loadError = null;
417
+ /** 中文侧车目录是否存在(D-5:缺了要能被面板/日志看见,而不是静默变英文名册)。 */
418
+ let sidecarPresent = true;
419
+ /** 加载期被跳过的专家文件数(缺 frontmatter / 读不到 / 冲突,见 lib/catalog.js)。 */
420
+ let skippedFiles = 0;
421
+ /** 加载期读不动的分区目录(该分区专家整批缺席,D-18)。 */
422
+ let unreadableDivisions = [];
423
+
424
+ /**
425
+ * 名册指纹:source.json、各分区目录、以及中文侧车文件的 mtime。
426
+ *
427
+ * 要点:运行期读的中文正文路径是 `zh/<分区>/<slug>.md`(不是 `manual-bodies/`,那是
428
+ * 数据层的输入层,已冻结)。所以 `zhRoot` 与每个
429
+ * `zh/<分区>/` 目录都必须进指纹 —— 否则「给某位专家**新增**一篇中文正文」这条最常见的
430
+ * 补译操作不会触发重载:该专家的 personaPathZh 一直是 undefined,召唤时只能读英文。
431
+ * (已在 verify 里用临时数据目录做过行为验证。)
432
+ */
433
+ async function fingerprint() {
434
+ const mtimeOf = (path) => stat(path).then((info) => info.mtimeMs).catch(() => 0);
435
+ const parts = await Promise.all([
436
+ mtimeOf(config.root),
437
+ mtimeOf(config.zhRoot),
438
+ mtimeOf(join(config.zhRoot, "manual-bodies")),
439
+ mtimeOf(join(dirname(config.root), "source.json")),
440
+ mtimeOf(join(config.zhRoot, "names.json")),
441
+ mtimeOf(join(config.zhRoot, "descriptions.json")),
442
+ mtimeOf(join(config.zhRoot, "divisions.json")),
443
+ mtimeOf(join(config.zhRoot, "manual.json")),
444
+ ...effectiveDivisions.map((division) => mtimeOf(join(config.root, division))),
445
+ ...effectiveDivisions.map((division) => mtimeOf(join(config.zhRoot, division))),
446
+ ...effectiveDivisions.map((division) => mtimeOf(join(config.zhRoot, "manual-bodies", division))),
447
+ // 自建专家根:目录本身(新增/删除分区目录时变)+ 各分区目录(增删改单个专家时变)。
448
+ // 少了后一项,新建一位专家后指纹不变,面板要等到别的原因触发重载才看得到。
449
+ mtimeOf(config.customRoot),
450
+ ...customDivisions.map((division) => mtimeOf(join(config.customRoot, division))),
451
+ // 自建分区的显示名表:改一个已有文件不会变动父目录的 mtime,必须单独进指纹,
452
+ // 否则手工编辑 divisions.json 之后分区名不会刷新(与「新增 zh 正文不重载」同一类坑)。
453
+ mtimeOf(config.customRoot === undefined || config.customRoot === "" ? "" : join(config.customRoot, "divisions.json")),
454
+ ]);
455
+ return parts.join("|");
456
+ }
457
+
458
+ async function load() {
459
+ try {
460
+ const catalog = await loadCatalog(config.root, config.divisions, {
461
+ zhRoot: config.zhRoot,
462
+ customRoot: config.customRoot,
463
+ // 名册加载的诊断必须走宿主日志通道,而不是 console(N-3):桌面/Web 里 stderr 用户看不到。
464
+ logger: ctx.logger,
465
+ });
466
+ entries = [...catalog.values()];
467
+ sidecarPresent = catalog.sidecarPresent !== false;
468
+ skippedFiles = typeof catalog.skippedFiles === "number" ? catalog.skippedFiles : 0;
469
+ unreadableDivisions = Array.isArray(catalog.unreadableDivisions) ? catalog.unreadableDivisions : [];
470
+ const discovered = catalogDivisions(catalog);
471
+ if (catalog.customDivisions !== undefined) customDivisions = catalog.customDivisions;
472
+ if (catalog.rosterDivisions !== undefined) rosterDivisions = catalog.rosterDivisions;
473
+ customLabels = catalog.customLabels ?? {};
474
+ if (discovered.length > 0) effectiveDivisions = discovered;
475
+ divisionLabels = catalog.labels ?? {};
476
+ loadError = null;
477
+ loaded = true;
478
+ // 名册重载后让规模缓存失效:提示段的「a N-expert, M-division roster」现算一次即可跟上
479
+ // 运行时增删(rosterScale 按目录永久缓存,不清就会滞后到下次重启,与本文件「绝不对模型
480
+ // 说谎」的口径相悖)。只在真发生重载时删一次,不给每次渲染添 I/O。
481
+ rosterScaleCache.delete(config.root);
482
+ stamp = await fingerprint(); // 记录加载后的指纹
483
+ } catch (error) {
484
+ loadError = error instanceof Error ? error : new Error(String(error));
485
+ loaded = false;
486
+ }
487
+ }
488
+
489
+ async function ensureReady() {
490
+ const now = await fingerprint();
491
+ if (!loaded || now !== stamp) {
492
+ if (loading === null) {
493
+ loading = load().finally(() => {
494
+ loading = null;
495
+ });
496
+ }
497
+ await loading;
498
+ }
499
+ if (loadError !== null) throw loadError;
500
+ await pruneStaleEnabled();
501
+ await seedDefaultEnabled();
502
+ }
503
+ /**
504
+ * 清掉设置里**名册已不存在**的 slug(C-6)。
505
+ *
506
+ * 为什么必须清:`enabled` 只是 slug 列表,专家被删(自建专家删除、名册升级)后旧 slug 会留下。
507
+ * 后果不是"多一条无用配置",而是 `list_t_experts` 的 `total` 取 `enabled.size`、与真正展示出来的
508
+ * 条数**对不上**(用户看到「共 3 位」却只列出 2 位),而且没有任何地方会说明原因。
509
+ *
510
+ * 只在 settings 可用时清;清完写回并留一条 warn(用户的启用列表被改动过,应该看得见)。
511
+ * 防误清靠「名册为空就不动」那条判断(见下),不靠"只清一次"。
512
+ */
513
+ async function pruneStaleEnabled() {
514
+ if (settingsService === undefined) return;
515
+ const known = new Set(entries.map((expert) => expert.slug));
516
+ const list = [...enabledSet()];
517
+ const stale = list.filter((slug) => !known.has(slug));
518
+ if (stale.length === 0) return;
519
+ // 名册为空说明这次 load 是残缺的(例如分区目录暂时读不到),此时**不要**清 ——
520
+ // 否则一次临时故障会把用户全部启用项抹掉。
521
+ if (known.size === 0) return;
522
+ try {
523
+ const next = list.filter((slug) => known.has(slug));
524
+ await settingsService.mutate(SETTINGS_NAMESPACE, [{ op: "set", path: ["enabled"], value: next }], revision());
525
+ ctx.logger?.warn?.(`[t-team] 已从启用列表移除 ${stale.length} 个名册里不存在的 slug:${stale.slice(0, 5).join(", ")}`
526
+ + `${stale.length > 5 ? " …" : ""}(名册升级或自建专家删除后的收尾)`);
527
+ } catch (error) {
528
+ // 清不掉不影响可用性(那些 slug 本来也不会被展示),但不能因为并发冲突把加载搞挂。
529
+ ctx.logger?.warn?.(`[t-team] 启用列表里的失效 slug 未能清理:${String(error)}`);
530
+ }
531
+ }
532
+ /**
533
+ * 按当前策略把「默认全部启用」落到 enabled 名单上(同一策略版本对同一用户只做一次)。
534
+ *
535
+ * enabled 是白名单,缺省 [] 本意是"一个都没启用",这让新装用户得逐个开关 323 个专家。
536
+ * 现在只要还没按当前策略播种过,就把**全部可用专家**写进 enabled —— 不再看 enabled 是否为空:
537
+ * "非空"并不等于用户刻意挑过(早期版本留下的部分记录同样非空),拿它当挡箭牌会让老用户永远
538
+ * 停在部分启用(用户实测报过)。用户之后自己的启用/禁用不会被覆盖 —— 那时版本号已经追上来了。
539
+ */
540
+ async function seedDefaultEnabled() {
541
+ if (settingsService === undefined) return;
542
+ const state = readPrefs();
543
+ if (state === undefined || (state.enabledSeedVersion ?? 0) >= ENABLED_SEED_VERSION) return;
544
+ const nextEnabled = usable().map((expert) => expert.slug);
545
+ // 名册残缺(例如分区目录暂时读不到)时绝不写:否则等于用一份空名单把用户的启用项抹掉。
546
+ if (nextEnabled.length === 0) return;
547
+ try {
548
+ await settingsService.mutate(SETTINGS_NAMESPACE, [
549
+ { op: "set", path: ["enabled"], value: nextEnabled },
550
+ // 老键一并置 true:保持它在语义上的"已播种",也免得多版本并存时两边打架。
551
+ { op: "set", path: ["enabledSeeded"], value: true },
552
+ { op: "set", path: ["enabledSeedVersion"], value: ENABLED_SEED_VERSION },
553
+ ], revision());
554
+ ctx.logger?.info?.(`[t-team] 已按默认策略 v${ENABLED_SEED_VERSION} 启用全部 ${nextEnabled.length} 位专家`);
555
+ } catch (error) {
556
+ // 写不进(并发 / 服务暂不可用)不致命:下次 ensureReady 还会再试。
557
+ ctx.logger?.warn?.(`[t-team] 默认启用全部专家写入失败:${String(error)}`);
558
+ }
559
+ }
560
+ /** 可召唤/可展示的专家(排除重名冲突项)。 */
561
+ const usable = () => entries.filter((expert) => expert.conflict !== true);
562
+
563
+ /**
564
+ * 把一次召唤目标(中文名 / 英文名 / slug 都行)解析成**该语言下的显示名**。
565
+ * 解析不到就原样返回:失败项也要让模型看清它请求的是谁。
566
+ * @param query - 模型给的召唤目标。
567
+ * @param current - 执行期语言。
568
+ */
569
+ function displayNameOf(query, current) {
570
+ const text = String(query ?? "").trim();
571
+ if (text === "") return "";
572
+ try {
573
+ return localized(resolveExpert(usable(), text, current), current).name;
574
+ } catch {
575
+ return text;
576
+ }
577
+ }
578
+
579
+ // ---- 设置段修订号与写入 ----
580
+ const revision = () => {
581
+ // settings 是可选服务:缺它时给出同一个可读错误(error.settingsMissing),
582
+ // 而不是 `Cannot read properties of undefined` 这种对用户毫无意义的 TypeError。
583
+ const descriptor = settingsService?.describe?.().find((item) => item.ns === SETTINGS_NAMESPACE);
584
+ if (descriptor === undefined) throw new Error(t(locale(), "error.settingsMissing"));
585
+ return descriptor.revision;
586
+ };
587
+
588
+ /** 客户端面板用的名册快照。 */
589
+ async function snapshot() {
590
+ await ensureReady();
591
+ // 走工具面的读路径在 settings 缺席时响亮失败(见 requireSettings 的说明):
592
+ // 返回一套 "全部未启用" 的空快照会让用户以为是名册空了,而不是宿主少挂了一个服务。
593
+ requireSettings();
594
+ const enabled = enabledSet();
595
+ // 映射本身是同步的;只有**自建**专家需要读文件算内容指纹(await)。所以不要为了形式
596
+ // 统一给所有专家都套 async —— 这里保留 Promise.all 是因为 custom 分支确实要 await。
597
+ const experts = await Promise.all(usable().map(async (expert) => ({
598
+ // 面板按 locale 取字段:name/description 为中文(缺译回退英文),nameEn/descriptionEn 恒为英文。
599
+ slug: expert.slug,
600
+ name: expert.nameZh ?? expert.name,
601
+ nameEn: expert.nameEn,
602
+ description: expert.descriptionZh ?? expert.description,
603
+ descriptionEn: expert.descriptionEn,
604
+ emoji: expert.emoji,
605
+ division: expert.division,
606
+ divisionZh: divisionOf(expert.division, divisionLabels).zh,
607
+ divisionEn: divisionOf(expert.division, divisionLabels).en,
608
+ conflict: expert.conflict === true,
609
+ custom: expert.custom === true,
610
+ // 自建专家的内容指纹:编辑/删除时回传,拦住并发覆盖(内置专家不读文件、恒为空)。
611
+ hash: expert.custom === true ? await fileFingerprint(expert.personaPath) : "",
612
+ })));
613
+ return {
614
+ experts,
615
+ enabled: [...enabled],
616
+ revision: revision(),
617
+ // 名册健康状态:面板可以据此提示「中文侧车没找到 / 有 N 个专家文件被跳过」,
618
+ // 而不是让用户对着一个静默变全英文的名册猜。
619
+ sidecar: {
620
+ zhRoot: config.zhRoot,
621
+ present: sidecarPresent,
622
+ skippedFiles,
623
+ unreadableDivisions,
624
+ },
625
+ // 自建专家固定落在这个分区;连同中文标签一起给面板,省得两端各写一份常量。
626
+ customDivision: CUSTOM_DIVISION,
627
+ customDivisionLabel: divisionOf(CUSTOM_DIVISION, divisionLabels).zh,
628
+ // 全部分类(面板的「分类」下拉与管理页):
629
+ // official=官方分类(只读镜像的一部分,名字跟随中文侧车)
630
+ // count=该分类下的专家总数,customCount=其中自建的
631
+ // 自建专家可以归到官方分类名下 —— 分类是**归属**,文件始终写 customRoot,官方镜像不受影响。
632
+ // 默认分类恒在(它就是新建专家的落点),其余官方在前、自建在后。
633
+ categories: [...new Set([CUSTOM_DIVISION, ...rosterDivisions, ...customDivisions, ...Object.keys(customLabels)])]
634
+ .filter((key) => key !== "")
635
+ .map((key) => {
636
+ const inCategory = entries.filter((expert) => expert.division === key);
637
+ return {
638
+ key,
639
+ label: divisionOf(key, divisionLabels).zh,
640
+ official: rosterDivisions.includes(key),
641
+ count: inCategory.length,
642
+ customCount: inCategory.filter((expert) => expert.custom === true).length,
643
+ };
644
+ })
645
+ .sort((a, b) => Number(b.official) - Number(a.official) || a.label.localeCompare(b.label, "zh")),
646
+ };
647
+ }
648
+
649
+ /** 按需读取一位专家的 persona 正文。 */
650
+ async function prompt(slug, division) {
651
+ await ensureReady();
652
+ const expert = usable().find((item) => item.slug === slug && item.division === division);
653
+ if (expert === undefined) throw new Error(`找不到专家:${slug}`);
654
+ return { prompt: await readPersona(expert) };
655
+ }
656
+
657
+ // ---- 自建专家(面板「新建 / 编辑 / 删除」)----
658
+ // 写的是 customRoot(默认 ~/.t-team/custom),**不碰内置名册** —— 内置根是破坏性镜像,
659
+ // 往里写自建专家会在下次同步时被当成"意外文件"删掉。
660
+ /** 带业务码的错误:remote 的 businessError 会原样透传 code 给面板。 */
661
+ function customError(codeKey, params = {}) {
662
+ /** @type {Error & { code?: string }} */
663
+ const error = new Error(t(locale(), codeKey, params));
664
+ error.code = `tTeam/${codeKey.replace(/^error\./, "").replace(/[A-Z]/g, (ch) => `-${ch.toLowerCase()}`)}`;
665
+ return error;
666
+ }
667
+
668
+ /** 校验并归一化自建专家表单;重名会连累内置专家一起不可召唤,所以挡在写盘前。 */
669
+ function normalizeCustomInput(input, editingSlug) {
670
+ const name = String(input?.name ?? "").trim();
671
+ if (name === "") throw customError("error.customNameEmpty");
672
+ if (name.length > CUSTOM_LIMITS.name) {
673
+ throw customError("error.customTextTooLong", { field: "名称", limit: CUSTOM_LIMITS.name });
674
+ }
675
+ const description = String(input?.description ?? "").trim();
676
+ if (description === "") throw customError("error.customDescriptionEmpty");
677
+ if (description.length > CUSTOM_LIMITS.description) {
678
+ throw customError("error.customTextTooLong", { field: "简介", limit: CUSTOM_LIMITS.description });
679
+ }
680
+ const body = String(input?.body ?? "").trim();
681
+ if (body === "") throw customError("error.customBodyEmpty");
682
+ if (body.length > CUSTOM_LIMITS.body) {
683
+ throw customError("error.customTextTooLong", { field: "人格正文", limit: CUSTOM_LIMITS.body });
684
+ }
685
+ const nameEn = String(input?.nameEn ?? "").trim();
686
+ if (nameEn.length > CUSTOM_LIMITS.nameEn) {
687
+ throw customError("error.customTextTooLong", { field: "英文名", limit: CUSTOM_LIMITS.nameEn });
688
+ }
689
+ const descriptionEn = String(input?.descriptionEn ?? "").trim();
690
+ const emoji = String(input?.emoji ?? "").trim();
691
+
692
+ // 重名(中文名或英文名撞车):markConflicts 会把两位都标成冲突、双双不可召唤,
693
+ // 所以这里直接拒绝,并告诉用户撞上了谁。
694
+ for (const candidate of [name, nameEn]) {
695
+ if (candidate === "") continue;
696
+ const key = normalizedKey(candidate);
697
+ const clash = entries.find((expert) => expert.slug !== editingSlug
698
+ && (normalizedKey(expert.nameZh ?? expert.name) === key || normalizedKey(expert.nameEn) === key));
699
+ if (clash !== undefined) {
700
+ throw customError("error.customNameTaken", { name: candidate, other: clash.nameZh ?? clash.name });
701
+ }
702
+ }
703
+ return { name, nameEn, description, descriptionEn, emoji, body };
704
+ }
705
+
706
+ /** 写完立刻重载(不靠 mtime 分辨率:同一毫秒内的连续写也要看到最新结果)。 */
707
+ async function refreshCatalog() {
708
+ await load();
709
+ if (loadError !== null) throw loadError;
710
+ }
711
+
712
+ function requireCustomRoot() {
713
+ if (typeof config.customRoot !== "string" || config.customRoot.trim() === "") {
714
+ throw customError("error.customRootMissing");
715
+ }
716
+ return config.customRoot;
717
+ }
718
+
719
+ /**
720
+ * 定下这位自建专家该归到哪个分类(分类 = 面板里的归属,不决定文件写在哪)。
721
+ *
722
+ * 规则(服务端说了算,不信任面板传什么):
723
+ * - 空 → 默认分类 `custom`;
724
+ * - 必须过 `isValidDivision`(与扫描口径同一个判断,避免写出「列表里有、扫不到」的目录);
725
+ * - **可以**用官方分类名(学术/金融/游戏…):分类是归属,文件始终写 customRoot,
726
+ * 官方镜像目录一个字节都不动,所以不会被同步删掉(2026-09-12 用户选定)。
727
+ *
728
+ * @param keep - 当前所在分类:编辑时保留原值可以跳过校验(历史遗留的非 ASCII 目录名仍能就地保存)。
729
+ */
730
+ async function resolveDivision(raw, customRoot, keep) {
731
+ const requested = String(raw ?? "").trim();
732
+ const key = requested === "" ? (typeof keep === "string" && keep !== "" ? keep : CUSTOM_DIVISION) : requested;
733
+ if (typeof keep === "string" && key === keep) return key;
734
+ if (!isValidDivision(key)) throw customError("error.customDivisionInvalid", { division: key });
735
+ return key;
736
+ }
737
+
738
+ /** 分类管理只允许动自建分类:官方分类随包发布(名字与存亡都跟包内名册走,本机改不了)。 */
739
+ function requireCustomCategory(key) {
740
+ const name = String(key ?? "").trim();
741
+ if (!isValidDivision(name)) throw customError("error.customDivisionInvalid", { division: name });
742
+ if (rosterDivisions.includes(name)) throw customError("error.categoryOfficial", { division: name });
743
+ return name;
744
+ }
745
+
746
+ /** 该分类下已有的自建专家(删除分类前的安全检查)。 */
747
+ function customExpertsIn(division) {
748
+ return entries.filter((expert) => expert.division === division && expert.custom === true);
749
+ }
750
+
751
+ /** 分类是否已存在(官方名、已声明、或目录里已有专家都算)。 */
752
+ function categoryExists(key) {
753
+ return rosterDivisions.includes(key) || customDivisions.includes(key) || Object.hasOwn(customLabels, key);
754
+ }
755
+
756
+ /** 新建自建分类(可以暂时是空分类:目录等第一位专家落进来时才创建)。 */
757
+ async function createCategory(key, label) {
758
+ await ensureReady();
759
+ const customRoot = requireCustomRoot();
760
+ const name = String(key ?? "").trim();
761
+ if (!isValidDivision(name)) throw customError("error.customDivisionInvalid", { division: name });
762
+ if (categoryExists(name)) throw customError("error.categoryExists", { division: name });
763
+ const text = String(label ?? "").trim();
764
+ if (text.length > CUSTOM_LIMITS.divisionLabel) {
765
+ throw customError("error.customTextTooLong", { field: "分类显示名", limit: CUSTOM_LIMITS.divisionLabel });
766
+ }
767
+ await saveCustomLabel(customRoot, name, text);
768
+ await refreshCatalog();
769
+ return await snapshot();
770
+ }
771
+
772
+ /** 改自建分类的显示名(清空=回退到目录名本身)。 */
773
+ async function updateCategory(key, label) {
774
+ await ensureReady();
775
+ const customRoot = requireCustomRoot();
776
+ const name = requireCustomCategory(key);
777
+ if (!categoryExists(name)) throw customError("error.categoryMissing", { division: name });
778
+ const text = String(label ?? "").trim();
779
+ if (text.length > CUSTOM_LIMITS.divisionLabel) {
780
+ throw customError("error.customTextTooLong", { field: "分类显示名", limit: CUSTOM_LIMITS.divisionLabel });
781
+ }
782
+ await saveCustomLabel(customRoot, name, text);
783
+ await refreshCatalog();
784
+ return await snapshot();
785
+ }
786
+
787
+ /** 删除自建分类:里面还有自建专家就拒绝(不静默连删),删完顺手收掉空目录。 */
788
+ async function deleteCategory(key) {
789
+ await ensureReady();
790
+ const customRoot = requireCustomRoot();
791
+ const name = requireCustomCategory(key);
792
+ if (!categoryExists(name)) throw customError("error.categoryMissing", { division: name });
793
+ const owned = customExpertsIn(name);
794
+ if (owned.length > 0) {
795
+ throw customError("error.categoryNotEmpty", { division: name, count: owned.length });
796
+ }
797
+ await saveCustomLabel(customRoot, name, "");
798
+ // 只收空目录:目录里若还有别的文件(用户自己放的),rmdir 会失败,忽略即可。
799
+ await rmdirIfEmpty(join(customRoot, name));
800
+ await refreshCatalog();
801
+ return await snapshot();
802
+ }
803
+
804
+ /** 记下自建分区的中文显示名(没传就什么都不做,不动已有标签)。 */
805
+ async function rememberDivisionLabel(customRoot, division, label) {
806
+ const text = String(label ?? "").trim();
807
+ if (text === "" || text.length > CUSTOM_LIMITS.divisionLabel) return;
808
+ await saveCustomLabel(customRoot, division, text);
809
+ }
810
+
811
+ /** 新建自建专家 → 返回刷新后的整份快照。 */
812
+ async function createExpert(input) {
813
+ await ensureReady();
814
+ const customRoot = requireCustomRoot();
815
+ const slug = String(input?.slug ?? "").trim().toLowerCase();
816
+ if (!isValidSlug(slug)) throw customError("error.customSlugInvalid", { slug });
817
+ if (entries.some((expert) => expert.slug === slug)) {
818
+ throw customError("error.customSlugTaken", { slug });
819
+ }
820
+ const fields = normalizeCustomInput(input);
821
+ const division = await resolveDivision(input?.division, customRoot);
822
+ await writeFileAtomic(customExpertPath(customRoot, slug, division), serializeCustomExpert(fields));
823
+ await rememberDivisionLabel(customRoot, division, input?.divisionLabel);
824
+ await refreshCatalog();
825
+ return await snapshot();
826
+ }
827
+
828
+ /** 编辑自建专家(不改 slug;改分区=移动文件)→ 返回刷新后的快照。 */
829
+ async function updateExpert(slug, input, expectedHash) {
830
+ await ensureReady();
831
+ const customRoot = requireCustomRoot();
832
+ const expert = entries.find((item) => item.slug === slug);
833
+ if (expert === undefined) throw customError("error.customMissing", { slug });
834
+ if (expert.custom !== true) throw customError("error.customNotCustom", { slug });
835
+ const path = expert.customPath ?? customExpertPath(customRoot, slug, expert.division);
836
+ const actual = await fileFingerprint(path);
837
+ if (typeof expectedHash === "string" && expectedHash !== "" && actual !== expectedHash) {
838
+ throw customError("error.customConflict");
839
+ }
840
+ const fields = normalizeCustomInput(input, slug);
841
+ const division = await resolveDivision(input?.division, customRoot, expert.division);
842
+ const target = customExpertPath(customRoot, slug, division);
843
+ await writeFileAtomic(target, serializeCustomExpert(fields));
844
+ // 换分区=移动:老文件必须删掉,否则同一个 slug 会以两份文件出现在两个分区里
845
+ // (扫描按 slug 去重,面板上表现为"改完分区又弹回原处")。
846
+ if (target !== path) await removeCustomExpert(customRoot, slug, expert.division);
847
+ await rememberDivisionLabel(customRoot, division, input?.divisionLabel);
848
+ await refreshCatalog();
849
+ return await snapshot();
850
+ }
851
+
852
+ /** 删除自建专家 → 返回刷新后的快照。 */
853
+ async function deleteExpert(slug, expectedHash) {
854
+ await ensureReady();
855
+ const customRoot = requireCustomRoot();
856
+ const expert = entries.find((item) => item.slug === slug);
857
+ if (expert === undefined) throw customError("error.customMissing", { slug });
858
+ if (expert.custom !== true) throw customError("error.customNotCustom", { slug });
859
+ const path = expert.customPath ?? customExpertPath(customRoot, slug, expert.division);
860
+ const actual = await fileFingerprint(path);
861
+ if (typeof expectedHash === "string" && expectedHash !== "" && actual !== expectedHash) {
862
+ throw customError("error.customConflict");
863
+ }
864
+ await removeCustomExpert(customRoot, slug, expert.division);
865
+ // 删除后把该专家从启用列表里摘掉,否则设置段会留下一个指向空气的 slug
866
+ const enabled = [...enabledSet()].filter((item) => item !== slug);
867
+ if (enabled.length !== enabledSet().size) {
868
+ await settingsService.mutate(SETTINGS_NAMESPACE, [{ op: "set", path: ["enabled"], value: enabled }], revision());
869
+ }
870
+ await refreshCatalog();
871
+ return await snapshot();
872
+ }
873
+
874
+ /** 整体替换启用列表(远程服务用)。 */
875
+ async function setEnabled(next, expectedRevision) {
876
+ const list = (Array.isArray(next) ? next : []).filter((item) => typeof item === "string");
877
+ const known = new Set(usable().map((expert) => expert.slug));
878
+ const unknown = list.filter((slug) => !known.has(slug));
879
+ if (unknown.length > 0) {
880
+ // 稳定 code(不是显示文案):remote 侧按它分类成 tTeam/unknown-expert,与 locale 无关(D-3)。
881
+ // 文案走正确的 t() 通道(过去这里也是硬编码中文,非中文 locale 下会中英混排)。
882
+ const slugs = unknown.slice(0, 5);
883
+ /** @type {Error & { code?: string, details?: { slugs: string[] } }} */
884
+ const error = new Error(t(locale(), "error.customUnknownSlug", { slugs: slugs.join(", ") }));
885
+ error.code = UNKNOWN_SLUG_ERROR_CODE;
886
+ error.details = { slugs };
887
+ throw error;
888
+ }
889
+ await settingsService.mutate(SETTINGS_NAMESPACE, [{ op: "set", path: ["enabled"], value: list }], expectedRevision);
890
+ return { enabled: [...enabledSet()], revision: revision() };
891
+ }
892
+
893
+ /** 删掉一个空目录;非空或不存在都当没事(只用于分类删除后的收尾)。 */
894
+ async function rmdirIfEmpty(path) {
895
+ try {
896
+ await rmdir(path);
897
+ } catch {
898
+ // ENOTEMPTY / ENOENT 都无所谓:里面还有别的东西就不动它。
899
+ }
900
+ }
901
+
902
+ const catalogService = {
903
+ snapshot, prompt, setEnabled, root: config.root,
904
+ createExpert, updateExpert, deleteExpert,
905
+ createCategory, updateCategory, deleteCategory,
906
+ };
907
+ ctx.reflect.provide(CATALOG_SERVICE, catalogService);
908
+
909
+ // ---- 召唤 ----
910
+ async function runExpert(query, task, exec) {
911
+ const current = locale();
912
+ requireSettings();
913
+ const taskText = String(task ?? "").trim();
914
+ if (taskText === "") throw new Error(t(current, "error.taskEmpty"));
915
+ if ([...taskText].length > config.summonTaskMaxChars) {
916
+ throw new Error(t(current, "error.taskTooLong", { limit: config.summonTaskMaxChars }));
917
+ }
918
+ if (exec.agent === undefined) throw new Error(t(current, "error.summonRequiresAgent"));
919
+
920
+ const provider = ctx.subagents.getProvider(config.provider);
921
+ if (provider === undefined) {
922
+ throw new Error(t(current, "error.providerMissing", { provider: config.provider }));
923
+ }
924
+ if (provider.capabilities.persona !== true) {
925
+ throw new Error(t(current, "error.providerNoPersona", { provider: config.provider }));
926
+ }
927
+ if (provider.capabilities.toolFilter !== true) {
928
+ throw new Error(t(current, "error.providerNoToolFilter", { provider: config.provider }));
929
+ }
930
+ if (maxDepth !== undefined && provider.capabilities.depthLimit !== true) {
931
+ throw new Error(t(current, "error.providerNoMaxDepth", { provider: config.provider }));
932
+ }
933
+
934
+ await ensureReady();
935
+ const expert = resolveExpert(usable(), query, current);
936
+ if (!enabledSet().has(expert.slug)) {
937
+ throw new Error(t(current, "error.expertDisabled", { name: localized(expert, current).name }));
938
+ }
939
+ const persona = await readPersona(expert, current);
940
+ const run = await ctx.subagents.start(config.provider, {
941
+ label: `t-team:${expert.slug}`,
942
+ prompt: [{ type: "text", text: taskText }],
943
+ parent: exec.agent,
944
+ persona: sanitize(persona),
945
+ toolFilter: { deny: ["summon_t_expert", "summon_t_experts", "list_t_experts"] },
946
+ ...(maxDepth === undefined ? {} : { maxDepth }),
947
+ signal: exec.signal,
948
+ });
949
+ try {
950
+ const result = await run.result;
951
+ const text = (result.output ?? [])
952
+ .filter((block) => block?.type === "text")
953
+ .map((block) => block.text)
954
+ .join("");
955
+ if (result.stopReason !== "completed") {
956
+ throw new Error(t(current, "error.expertRun", {
957
+ reason: result.stopReason,
958
+ detail: text === "" ? "" : t(current, "error.partialOutput", { text }),
959
+ }));
960
+ }
961
+ return { expert: localized(expert, current).name, answer: text };
962
+ } finally {
963
+ await run.dispose();
964
+ }
965
+ }
966
+
967
+ // ---- 工具 ----
968
+ ctx.tools.register(defineTool({
969
+ name: "list_t_experts",
970
+ description: "List the enabled T专家 domain experts grouped by division. Without a division filter it returns division names and counts; pass a division to expand it with expert names, slugs and descriptions. Use this only to DISCOVER an expert when the user named none; if the user already named one (a leading `@专家名` chip, or an explicit name/slug), skip this and call summon_t_expert directly.",
971
+ parameters: {
972
+ division: {
973
+ type: "string",
974
+ description: "Optional division key to filter (e.g. engineering, marketing, security, design).",
975
+ },
976
+ },
977
+ output: {
978
+ schema: {
979
+ type: "object",
980
+ additionalProperties: false,
981
+ properties: {
982
+ divisions: { type: "array", required: true, items: { type: "json" } },
983
+ total: { type: "number", required: true },
984
+ // 渲染期事实:语言与过滤词进 canonical value,render 才能是纯函数(D-11)。
985
+ locale: { type: "string", required: true },
986
+ query: { type: "string", required: true },
987
+ allDivisions: { type: "array", required: true, items: { type: "string" } },
988
+ },
989
+ },
990
+ // render 只读 (args, value):同一个 value 在日志里回放时渲染出同一段文本。
991
+ render: (args, value) => [{ type: "text", text: renderList(args, value) }],
992
+ },
993
+ async execute(args) {
994
+ await ensureReady();
995
+ const current = locale();
996
+ requireSettings();
997
+ const query = args.division === undefined ? "" : String(args.division).trim();
998
+ const enabled = enabledSet();
999
+ const groups = groupByDivision(usable(), enabled);
1000
+ // 简介截断是**执行期**的可配项(Config.descriptionLimit),所以在投影时一次做完,
1001
+ // render 拿到的就是最终文本(纯函数,不再读 config)。
1002
+ const projection = (list) => toRenderableGroups(list, current).map((group) => ({
1003
+ ...group,
1004
+ experts: group.experts.map((expert) => ({
1005
+ ...expert,
1006
+ description: truncate(expert.description, config.descriptionLimit),
1007
+ })),
1008
+ }));
1009
+ if (query === "") {
1010
+ return {
1011
+ divisions: projection(groups),
1012
+ total: enabled.size,
1013
+ locale: current,
1014
+ query,
1015
+ allDivisions: effectiveDivisions.slice(),
1016
+ };
1017
+ }
1018
+ const needle = query.toLowerCase();
1019
+ const matched = groups
1020
+ .filter((group) => group.division.toLowerCase() === needle
1021
+ || group.label.toLowerCase() === needle
1022
+ || group.labelEn.toLowerCase() === needle);
1023
+ return {
1024
+ divisions: projection(matched),
1025
+ total: matched.reduce((sum, group) => sum + group.count, 0),
1026
+ locale: current,
1027
+ query,
1028
+ allDivisions: effectiveDivisions.slice(),
1029
+ };
1030
+ },
1031
+ }));
1032
+
1033
+ ctx.tools.register(defineTool({
1034
+ name: "summon_t_expert",
1035
+ description: "Summon one T专家 domain expert to complete a task: a specialist subagent runs with that expert's full persona and returns its result. Use it for tasks that clearly belong to a specialist domain. This call waits for the result. If the user already named the expert (a leading `@专家名` chip, or an explicit name/slug), summon it right away — no list_t_experts lookup is needed. Call list_t_experts only when no expert is named.",
1036
+ // 预算声明:单次召唤给 10 分钟。**注意它只是声明**(`dsh-tools` 的 registry 不强制 deadline),
1037
+ // 真正生效要宿主装配 `@deepseek-ai/dsh-tool-call-timeout-policy`;这里写出来是为了让
1038
+ // 「最坏要等多久」有个明确契约,而不是无界挂起。
1039
+ timeoutMs: 600_000,
1040
+ parameters: {
1041
+ expert: { type: "string", required: true, description: "Expert name to summon — the Chinese display name (e.g. \"前端开发者\"), the English name (e.g. \"Frontend Developer\"), or its slug (e.g. engineering-frontend-developer). A name copied from a composer `@` chip works as-is; variants and an emoji prefix (e.g. \"🧠 心理学家\") resolve to the same expert, so no exact-spelling lookup is required." },
1042
+ task: { type: "string", required: true, description: "The complete, self-contained task to give the expert. Include all necessary context." },
1043
+ },
1044
+ output: {
1045
+ schema: {
1046
+ type: "object",
1047
+ additionalProperties: false,
1048
+ properties: {
1049
+ expert: { type: "string", required: true },
1050
+ answer: { type: "string", required: true },
1051
+ },
1052
+ },
1053
+ render: (_args, value) => [{ type: "text", text: value.answer }],
1054
+ },
1055
+ async execute(args, exec) {
1056
+ await ensureReady();
1057
+ return runExpert(args.expert, args.task, exec);
1058
+ },
1059
+ }));
1060
+
1061
+ ctx.tools.register(defineTool({
1062
+ name: "summon_t_experts",
1063
+ description: `Summon multiple T专家 experts in parallel for one mission. At most ${config.maxSummonBatch} experts run with concurrency ${config.summonConcurrency}; successful answers are returned even when some fail. Each expert is usually pre-named by the caller (a composer @ chip, or an explicit @专家名 anywhere in the text — including a stored prompt from elsewhere) — when so, summon directly without list_t_experts; only call list_t_experts when no expert is named.`,
1064
+ // 预算声明:批量最坏是 ceil(批大小 / 并发) 轮串行,给 20 分钟。
1065
+ // 与单次召唤同理,它只是声明,强制 deadline 需要宿主装配 timeout-policy wrapper。
1066
+ timeoutMs: 1_200_000,
1067
+ parameters: {
1068
+ experts: {
1069
+ type: "array",
1070
+ required: true,
1071
+ description: "The experts to summon, each with its own name and task.",
1072
+ items: {
1073
+ type: "object",
1074
+ additionalProperties: false,
1075
+ properties: {
1076
+ expert: { type: "string", required: true, description: "Expert name — Chinese display name, English name, or slug." },
1077
+ task: { type: "string", required: true, description: "That expert's complete task." },
1078
+ },
1079
+ },
1080
+ },
1081
+ },
1082
+ output: {
1083
+ schema: {
1084
+ type: "object",
1085
+ additionalProperties: false,
1086
+ properties: {
1087
+ results: { type: "array", required: true, items: { type: "json" } },
1088
+ // 渲染期事实(D-11):语言进 canonical value,render 才不需要读宿主。
1089
+ locale: { type: "string", required: true },
1090
+ },
1091
+ },
1092
+ render: (args, value) => [{ type: "text", text: renderSummonResults(args, value) }],
1093
+ },
1094
+ async execute(args, exec) {
1095
+ await ensureReady();
1096
+ const current = locale();
1097
+ const specs = Array.isArray(args.experts) ? args.experts : [];
1098
+ if (specs.length === 0) throw new Error(t(current, "error.specsEmpty"));
1099
+ if (specs.length > config.maxSummonBatch) {
1100
+ throw new Error(t(current, "error.specsTooMany", { limit: config.maxSummonBatch }));
1101
+ }
1102
+ specs.forEach((spec, index) => {
1103
+ if (spec === null || typeof spec !== "object" || typeof spec.expert !== "string" || typeof spec.task !== "string") {
1104
+ throw new Error(t(current, "error.specInvalid", { index }));
1105
+ }
1106
+ });
1107
+ const results = await mapPool(specs, config.summonConcurrency, async (spec) => {
1108
+ try {
1109
+ const result = await runExpert(spec.expert, spec.task, exec);
1110
+ return { expert: result.expert, ok: true, answer: result.answer };
1111
+ } catch (error) {
1112
+ return {
1113
+ // 失败项也要在**执行期**定好显示名:否则 render 得自己去解析名册才说得清是谁失败了
1114
+ // (D-11:render 必须是 (args,value) 的纯函数,不能读名册/宿主 locale)。
1115
+ expert: displayNameOf(spec.expert, current),
1116
+ ok: false,
1117
+ answer: "",
1118
+ error: error instanceof Error ? error.message : String(error),
1119
+ };
1120
+ }
1121
+ });
1122
+ return {
1123
+ results: toRenderableSummonResults(results, current),
1124
+ locale: current,
1125
+ };
1126
+ },
1127
+ }));
1128
+
1129
+
1130
+
1131
+ ctx.systemPrompt.section({
1132
+ name: "t-team:experts",
1133
+ order: 118,
1134
+ text: (context) => {
1135
+ if (context.agent?.session?.header?.parentSession !== undefined) return "";
1136
+ // 名册规模与批量上限都**现算**:写死会在名册变更 / 用户改 Config 之后对模型说谎。
1137
+ const scale = rosterScale(config.root);
1138
+ const scope = scale.experts > 0
1139
+ ? `The parent session has T专家 — a ${scale.experts}-expert, ${scale.divisions}-division roster with full Chinese translations, exposed as summonable domain experts.`
1140
+ : "The parent session has T专家 — a curated roster of domain experts with full Chinese translations, exposed as summonable domain experts.";
1141
+ return [
1142
+ "## T专家 (T Expert) expert mode",
1143
+ scope,
1144
+ "Experts are individually enabled/disabled in the T专家 settings tab; all experts are enabled by default and a disabled expert cannot be summoned.",
1145
+ "A composer selection inserts one enabled expert as a native reference chip; the remaining draft text is that expert's task. The chip reaches you as plain text `@专家名` at the head of the user's message — that IS the user's selection, and the name as written is enough (the resolver accepts the Chinese display name, the English name or the slug, and tolerates an emoji prefix).",
1146
+ "When the user's message already names the expert — a leading `@专家名` chip, or an explicit name/slug in the text — call `summon_t_expert` FIRST with that name. Do NOT call `list_t_experts` to confirm or spell the name: the lookup costs two extra round trips and does not change which expert runs.",
1147
+ `Only when the user named no expert, discover one first: call \`list_t_experts()\` for enabled division names and counts, then \`list_t_experts(division)\` to expand the relevant division, then \`summon_t_expert(expert, task)\` — or \`summon_t_experts\` for a small parallel team (at most ${config.maxSummonBatch}; partial results when some fail).`,
1148
+ ].join("\n");
1149
+ },
1150
+ });
1151
+
1152
+ // ---- 随包 skill(运维入口)----
1153
+ // 它只对特定任务有用,所以不占常驻提示段,改成按需加载的 skill:
1154
+ // · t-expert-manager 维护这个插件的人:名册 / 装机 / 发布
1155
+ // 可选依赖:宿主没有 skill 注册表时静默跳过,不影响上面任何功能。
1156
+ installBundledSkills(ctx, config);
1157
+ }