sinapse-ai 1.24.0 → 1.25.1

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 (526) hide show
  1. package/.agents/skills/react-bits-frontend/SKILL.md +66 -0
  2. package/.agents/skills/react-bits-frontend/agents/openai.yaml +4 -0
  3. package/.agents/skills/react-bits-frontend/references/corpus-map.md +29 -0
  4. package/.agents/skills/sinapse/SKILL.md +10 -0
  5. package/.agents/skills/sinapse-agent/SKILL.md +22 -0
  6. package/{.codex → .agents}/skills/sinapse-claude/SKILL.md +1 -1
  7. package/.agents/skills/sinapse-loop/SKILL.md +35 -0
  8. package/.agents/skills/sinapse-orqx/SKILL.md +44 -0
  9. package/.agents/skills/sinapse-spec-driven/SKILL.md +35 -0
  10. package/.agents/skills/snps/SKILL.md +10 -0
  11. package/.agents/skills/snps-orqx/SKILL.md +10 -0
  12. package/.claude/agents/README.md +67 -0
  13. package/.claude/agents/sinapse-ad-copywriter.md +14 -0
  14. package/.claude/agents/sinapse-agent-forger.md +14 -0
  15. package/.claude/agents/sinapse-analyst.md +14 -0
  16. package/.claude/agents/sinapse-animation-interpreter.md +14 -0
  17. package/.claude/agents/sinapse-animation-performance-engineer.md +14 -0
  18. package/.claude/agents/sinapse-animations-orqx.md +14 -0
  19. package/.claude/agents/sinapse-architect.md +14 -0
  20. package/.claude/agents/sinapse-assessment-creator.md +14 -0
  21. package/.claude/agents/sinapse-audience-intelligence.md +14 -0
  22. package/.claude/agents/sinapse-blake-snyder.md +14 -0
  23. package/.claude/agents/sinapse-brand-archetype-strategist.md +14 -0
  24. package/.claude/agents/sinapse-brand-auditor.md +14 -0
  25. package/.claude/agents/sinapse-brand-collateral-designer.md +14 -0
  26. package/.claude/agents/sinapse-brand-compiler.md +14 -0
  27. package/.claude/agents/sinapse-brand-creative-engineer.md +14 -0
  28. package/.claude/agents/sinapse-brand-culture-architect.md +14 -0
  29. package/.claude/agents/sinapse-brand-growth-strategist.md +14 -0
  30. package/.claude/agents/sinapse-brand-identity-designer.md +14 -0
  31. package/.claude/agents/sinapse-brand-motion-vfx.md +14 -0
  32. package/.claude/agents/sinapse-brand-naming-specialist.md +14 -0
  33. package/.claude/agents/sinapse-brand-orqx.md +14 -0
  34. package/.claude/agents/sinapse-brand-positioning-strategist.md +14 -0
  35. package/.claude/agents/sinapse-brand-sonic-designer.md +14 -0
  36. package/.claude/agents/sinapse-brand-strategist.md +14 -0
  37. package/.claude/agents/sinapse-brand-system-architect.md +14 -0
  38. package/.claude/agents/sinapse-brand-voice-writer.md +14 -0
  39. package/.claude/agents/sinapse-brene-brown.md +14 -0
  40. package/.claude/agents/sinapse-budget-controller.md +14 -0
  41. package/.claude/agents/sinapse-campaign-analyst.md +14 -0
  42. package/.claude/agents/sinapse-charlie-munger.md +14 -0
  43. package/.claude/agents/sinapse-claude-mastery-chief.md +14 -0
  44. package/.claude/agents/sinapse-cloning-orqx.md +14 -0
  45. package/.claude/agents/sinapse-cloud-security-engineer.md +14 -0
  46. package/.claude/agents/sinapse-cognitive-extractor.md +14 -0
  47. package/.claude/agents/sinapse-commercial-orqx.md +14 -0
  48. package/.claude/agents/sinapse-competitive-intelligence.md +14 -0
  49. package/.claude/agents/sinapse-compliance-officer.md +14 -0
  50. package/.claude/agents/sinapse-config-engineer.md +14 -0
  51. package/.claude/agents/sinapse-content-analyst.md +14 -0
  52. package/.claude/agents/sinapse-content-capturer.md +14 -0
  53. package/.claude/agents/sinapse-content-engineer.md +14 -0
  54. package/.claude/agents/sinapse-content-governor.md +14 -0
  55. package/.claude/agents/sinapse-content-orqx.md +14 -0
  56. package/.claude/agents/sinapse-content-writer.md +14 -0
  57. package/.claude/agents/sinapse-conversion-writer.md +14 -0
  58. package/.claude/agents/sinapse-copy-editor.md +14 -0
  59. package/.claude/agents/sinapse-copy-orqx.md +14 -0
  60. package/.claude/agents/sinapse-copy-strategist.md +14 -0
  61. package/.claude/agents/sinapse-cost-optimizer.md +14 -0
  62. package/.claude/agents/sinapse-council-orqx.md +14 -0
  63. package/.claude/agents/sinapse-courses-orqx.md +14 -0
  64. package/.claude/agents/sinapse-creative-strategist.md +14 -0
  65. package/.claude/agents/sinapse-cro-persuasion.md +14 -0
  66. package/.claude/agents/sinapse-cro-specialist.md +14 -0
  67. package/.claude/agents/sinapse-cs-business-auditor.md +14 -0
  68. package/.claude/agents/sinapse-cs-client-success.md +14 -0
  69. package/.claude/agents/sinapse-cs-crm-specialist.md +14 -0
  70. package/.claude/agents/sinapse-cs-funnel-architect.md +14 -0
  71. package/.claude/agents/sinapse-cs-lead-generation-strategist.md +14 -0
  72. package/.claude/agents/sinapse-cs-offer-designer.md +14 -0
  73. package/.claude/agents/sinapse-cs-revops-analyst.md +14 -0
  74. package/.claude/agents/sinapse-cs-sales-closer.md +14 -0
  75. package/.claude/agents/sinapse-cs-sales-enablement.md +14 -0
  76. package/.claude/agents/sinapse-css-motion-artist.md +14 -0
  77. package/.claude/agents/sinapse-curriculum-designer.md +14 -0
  78. package/.claude/agents/sinapse-cyber-orqx.md +14 -0
  79. package/.claude/agents/sinapse-dan-harmon.md +14 -0
  80. package/.claude/agents/sinapse-data-engineer.md +14 -0
  81. package/.claude/agents/sinapse-data-synthesizer.md +14 -0
  82. package/.claude/agents/sinapse-deep-researcher.md +14 -0
  83. package/.claude/agents/sinapse-derek-sivers.md +14 -0
  84. package/.claude/agents/sinapse-design-orqx.md +14 -0
  85. package/.claude/agents/sinapse-design-system.md +14 -0
  86. package/.claude/agents/sinapse-developer.md +14 -0
  87. package/.claude/agents/sinapse-devops.md +14 -0
  88. package/.claude/agents/sinapse-direct-response-writer.md +14 -0
  89. package/.claude/agents/sinapse-dx-accessibility-specialist.md +14 -0
  90. package/.claude/agents/sinapse-dx-design-system-architect.md +14 -0
  91. package/.claude/agents/sinapse-dx-frontend-engineer.md +14 -0
  92. package/.claude/agents/sinapse-dx-interaction-designer.md +14 -0
  93. package/.claude/agents/sinapse-dx-performance-engineer.md +14 -0
  94. package/.claude/agents/sinapse-dx-ui-designer.md +14 -0
  95. package/.claude/agents/sinapse-dx-ux-strategist.md +14 -0
  96. package/.claude/agents/sinapse-editorial-strategist.md +14 -0
  97. package/.claude/agents/sinapse-email-sequence-strategist.md +14 -0
  98. package/.claude/agents/sinapse-finance-orqx.md +14 -0
  99. package/.claude/agents/sinapse-fiscal-compliance-br.md +14 -0
  100. package/.claude/agents/sinapse-forecast-strategist.md +14 -0
  101. package/.claude/agents/sinapse-funnel-copywriter.md +14 -0
  102. package/.claude/agents/sinapse-ga-analytics-engineer.md +14 -0
  103. package/.claude/agents/sinapse-ga-campaign-analyst.md +14 -0
  104. package/.claude/agents/sinapse-ga-cro-specialist.md +14 -0
  105. package/.claude/agents/sinapse-ga-data-analyst.md +14 -0
  106. package/.claude/agents/sinapse-ga-growth-hacker.md +14 -0
  107. package/.claude/agents/sinapse-ga-seo-strategist.md +14 -0
  108. package/.claude/agents/sinapse-generative-particle-engineer.md +14 -0
  109. package/.claude/agents/sinapse-google-ads-specialist.md +14 -0
  110. package/.claude/agents/sinapse-growth-orqx.md +14 -0
  111. package/.claude/agents/sinapse-headline-specialist.md +14 -0
  112. package/.claude/agents/sinapse-hooks-architect.md +14 -0
  113. package/.claude/agents/sinapse-incident-responder.md +14 -0
  114. package/.claude/agents/sinapse-joseph-campbell.md +14 -0
  115. package/.claude/agents/sinapse-kb-architect.md +14 -0
  116. package/.claude/agents/sinapse-keith-johnstone.md +14 -0
  117. package/.claude/agents/sinapse-kindra-hall.md +14 -0
  118. package/.claude/agents/sinapse-launch-strategist.md +14 -0
  119. package/.claude/agents/sinapse-lesson-architect.md +14 -0
  120. package/.claude/agents/sinapse-long-form-writer.md +14 -0
  121. package/.claude/agents/sinapse-market-analyst.md +14 -0
  122. package/.claude/agents/sinapse-marshall-ganz.md +14 -0
  123. package/.claude/agents/sinapse-mcp-integrator.md +14 -0
  124. package/.claude/agents/sinapse-meta-ads-specialist.md +14 -0
  125. package/.claude/agents/sinapse-mind-synthesizer.md +14 -0
  126. package/.claude/agents/sinapse-motion-choreographer.md +14 -0
  127. package/.claude/agents/sinapse-nancy-duarte.md +14 -0
  128. package/.claude/agents/sinapse-naval-ravikant.md +14 -0
  129. package/.claude/agents/sinapse-network-security-engineer.md +14 -0
  130. package/.claude/agents/sinapse-oren-klaff.md +14 -0
  131. package/.claude/agents/sinapse-paidmedia-orqx.md +14 -0
  132. package/.claude/agents/sinapse-park-howell.md +14 -0
  133. package/.claude/agents/sinapse-patrick-lencioni.md +14 -0
  134. package/.claude/agents/sinapse-penetration-tester.md +14 -0
  135. package/.claude/agents/sinapse-performance-engineer.md +14 -0
  136. package/.claude/agents/sinapse-persuasion-psychologist.md +14 -0
  137. package/.claude/agents/sinapse-peter-thiel.md +14 -0
  138. package/.claude/agents/sinapse-platform-aesthetic-director.md +14 -0
  139. package/.claude/agents/sinapse-platform-specialist.md +14 -0
  140. package/.claude/agents/sinapse-pm-creative-performance-analyst.md +14 -0
  141. package/.claude/agents/sinapse-pm-youtube-ads-specialist.md +14 -0
  142. package/.claude/agents/sinapse-premium-packaging-strategist.md +14 -0
  143. package/.claude/agents/sinapse-pricing-strategist.md +14 -0
  144. package/.claude/agents/sinapse-product-lead.md +14 -0
  145. package/.claude/agents/sinapse-product-orqx.md +14 -0
  146. package/.claude/agents/sinapse-product-surface-director.md +14 -0
  147. package/.claude/agents/sinapse-production-director.md +14 -0
  148. package/.claude/agents/sinapse-profitability-analyst.md +14 -0
  149. package/.claude/agents/sinapse-project-integrator.md +14 -0
  150. package/.claude/agents/sinapse-project-lead.md +14 -0
  151. package/.claude/agents/sinapse-proof-architect.md +14 -0
  152. package/.claude/agents/sinapse-ps-client-product-manager.md +14 -0
  153. package/.claude/agents/sinapse-ps-delivery-manager.md +14 -0
  154. package/.claude/agents/sinapse-ps-discovery-lead.md +14 -0
  155. package/.claude/agents/sinapse-ps-product-analyst.md +14 -0
  156. package/.claude/agents/sinapse-ps-product-ops-specialist.md +14 -0
  157. package/.claude/agents/sinapse-ps-product-strategist.md +14 -0
  158. package/.claude/agents/sinapse-quality-gate.md +14 -0
  159. package/.claude/agents/sinapse-ray-dalio.md +14 -0
  160. package/.claude/agents/sinapse-reid-hoffman.md +14 -0
  161. package/.claude/agents/sinapse-research-orqx.md +14 -0
  162. package/.claude/agents/sinapse-revenue-analyst.md +14 -0
  163. package/.claude/agents/sinapse-roadmap-sentinel.md +14 -0
  164. package/.claude/agents/sinapse-scroll-narrative-engineer.md +14 -0
  165. package/.claude/agents/sinapse-shader-artist.md +14 -0
  166. package/.claude/agents/sinapse-signal-intelligence.md +14 -0
  167. package/.claude/agents/sinapse-simon-sinek.md +14 -0
  168. package/.claude/agents/sinapse-skill-craftsman.md +14 -0
  169. package/.claude/agents/sinapse-slide-designer.md +14 -0
  170. package/.claude/agents/sinapse-snps-orqx.md +14 -0
  171. package/.claude/agents/sinapse-soc-analyst.md +14 -0
  172. package/.claude/agents/sinapse-sop-extractor.md +14 -0
  173. package/.claude/agents/sinapse-source-hunter.md +14 -0
  174. package/.claude/agents/sinapse-sprint-lead.md +14 -0
  175. package/.claude/agents/sinapse-squad-assembler.md +14 -0
  176. package/.claude/agents/sinapse-squad-creator.md +14 -0
  177. package/.claude/agents/sinapse-storytelling-orqx.md +14 -0
  178. package/.claude/agents/sinapse-swarm-orqx.md +14 -0
  179. package/.claude/agents/sinapse-threat-analyst.md +14 -0
  180. package/.claude/agents/sinapse-threejs-architect.md +14 -0
  181. package/.claude/agents/sinapse-trend-forecaster.md +14 -0
  182. package/.claude/agents/sinapse-ux-design-expert.md +14 -0
  183. package/.claude/agents/sinapse-ux-designer.md +14 -0
  184. package/.claude/agents/sinapse-yvon-chouinard.md +14 -0
  185. package/.claude/rules/software-engineering-applicability.md +13 -0
  186. package/.claude/settings.json +170 -0
  187. package/.claude/skill-manifest.json +41 -0
  188. package/.claude/skills/api-review.md +50 -0
  189. package/.claude/skills/component-check.md +47 -0
  190. package/.claude/skills/db-review.md +41 -0
  191. package/.claude/skills/sinapse/SKILL.md +11 -0
  192. package/.claude/skills/sinapse-agent/SKILL.md +11 -0
  193. package/.claude/skills/sinapse-analyst/SKILL.md +11 -0
  194. package/.claude/skills/sinapse-animations/SKILL.md +11 -0
  195. package/.claude/skills/sinapse-architect/SKILL.md +11 -0
  196. package/.claude/skills/sinapse-brand/SKILL.md +11 -0
  197. package/.claude/skills/sinapse-claude/SKILL.md +11 -0
  198. package/.claude/skills/sinapse-cloning/SKILL.md +11 -0
  199. package/.claude/skills/sinapse-commercial/SKILL.md +11 -0
  200. package/.claude/skills/sinapse-content/SKILL.md +11 -0
  201. package/.claude/skills/sinapse-copy/SKILL.md +11 -0
  202. package/.claude/skills/sinapse-council/SKILL.md +11 -0
  203. package/.claude/skills/sinapse-courses/SKILL.md +11 -0
  204. package/.claude/skills/sinapse-cyber/SKILL.md +11 -0
  205. package/.claude/skills/sinapse-data-engineer/SKILL.md +11 -0
  206. package/.claude/skills/sinapse-design/SKILL.md +11 -0
  207. package/.claude/skills/sinapse-dev/SKILL.md +11 -0
  208. package/.claude/skills/sinapse-devops/SKILL.md +11 -0
  209. package/.claude/skills/sinapse-finance/SKILL.md +11 -0
  210. package/.claude/skills/sinapse-growth/SKILL.md +11 -0
  211. package/.claude/skills/sinapse-loop/SKILL.md +11 -0
  212. package/.claude/skills/sinapse-orqx/SKILL.md +11 -0
  213. package/.claude/skills/sinapse-paidmedia/SKILL.md +11 -0
  214. package/.claude/skills/sinapse-pm/SKILL.md +11 -0
  215. package/.claude/skills/sinapse-po/SKILL.md +11 -0
  216. package/.claude/skills/sinapse-product/SKILL.md +11 -0
  217. package/.claude/skills/sinapse-qa/SKILL.md +11 -0
  218. package/.claude/skills/sinapse-research/SKILL.md +11 -0
  219. package/.claude/skills/sinapse-sm/SKILL.md +11 -0
  220. package/.claude/skills/sinapse-spec-driven/SKILL.md +11 -0
  221. package/.claude/skills/sinapse-squad-creator/SKILL.md +11 -0
  222. package/.claude/skills/sinapse-storytelling/SKILL.md +11 -0
  223. package/.claude/skills/sinapse-swarm/SKILL.md +11 -0
  224. package/.claude/skills/sinapse-ux-design-expert/SKILL.md +11 -0
  225. package/.claude/skills/snps/SKILL.md +11 -0
  226. package/.claude/skills/snps-orqx/SKILL.md +11 -0
  227. package/.claude/skills/story-update.md +52 -0
  228. package/.claude/skills/test-guard.md +41 -0
  229. package/.codex/agents/ad-copywriter.toml +3 -0
  230. package/.codex/agents/agent-forger.toml +3 -0
  231. package/.codex/agents/analyst.toml +3 -0
  232. package/.codex/agents/animation-interpreter.toml +3 -0
  233. package/.codex/agents/animation-performance-engineer.toml +3 -0
  234. package/.codex/agents/animations-orqx.toml +3 -0
  235. package/.codex/agents/architect.toml +3 -0
  236. package/.codex/agents/assessment-creator.toml +3 -0
  237. package/.codex/agents/audience-intelligence.toml +3 -0
  238. package/.codex/agents/blake-snyder.toml +3 -0
  239. package/.codex/agents/brand-archetype-strategist.toml +3 -0
  240. package/.codex/agents/brand-auditor.toml +3 -0
  241. package/.codex/agents/brand-collateral-designer.toml +3 -0
  242. package/.codex/agents/brand-compiler.toml +3 -0
  243. package/.codex/agents/brand-creative-engineer.toml +3 -0
  244. package/.codex/agents/brand-culture-architect.toml +3 -0
  245. package/.codex/agents/brand-growth-strategist.toml +3 -0
  246. package/.codex/agents/brand-identity-designer.toml +3 -0
  247. package/.codex/agents/brand-motion-vfx.toml +3 -0
  248. package/.codex/agents/brand-naming-specialist.toml +3 -0
  249. package/.codex/agents/brand-orqx.toml +3 -0
  250. package/.codex/agents/brand-positioning-strategist.toml +3 -0
  251. package/.codex/agents/brand-sonic-designer.toml +3 -0
  252. package/.codex/agents/brand-strategist.toml +3 -0
  253. package/.codex/agents/brand-system-architect.toml +3 -0
  254. package/.codex/agents/brand-voice-writer.toml +3 -0
  255. package/.codex/agents/brene-brown.toml +3 -0
  256. package/.codex/agents/budget-controller.toml +3 -0
  257. package/.codex/agents/campaign-analyst.toml +3 -0
  258. package/.codex/agents/charlie-munger.toml +3 -0
  259. package/.codex/agents/claude-mastery-chief.toml +3 -0
  260. package/.codex/agents/cloning-orqx.toml +3 -0
  261. package/.codex/agents/cloud-security-engineer.toml +3 -0
  262. package/.codex/agents/cognitive-extractor.toml +3 -0
  263. package/.codex/agents/commercial-orqx.toml +3 -0
  264. package/.codex/agents/competitive-intelligence.toml +3 -0
  265. package/.codex/agents/compliance-officer.toml +3 -0
  266. package/.codex/agents/config-engineer.toml +3 -0
  267. package/.codex/agents/content-analyst.toml +3 -0
  268. package/.codex/agents/content-capturer.toml +3 -0
  269. package/.codex/agents/content-engineer.toml +3 -0
  270. package/.codex/agents/content-governor.toml +3 -0
  271. package/.codex/agents/content-orqx.toml +3 -0
  272. package/.codex/agents/content-writer.toml +3 -0
  273. package/.codex/agents/conversion-writer.toml +3 -0
  274. package/.codex/agents/copy-editor.toml +3 -0
  275. package/.codex/agents/copy-orqx.toml +3 -0
  276. package/.codex/agents/copy-strategist.toml +3 -0
  277. package/.codex/agents/cost-optimizer.toml +3 -0
  278. package/.codex/agents/council-orqx.toml +3 -0
  279. package/.codex/agents/courses-orqx.toml +3 -0
  280. package/.codex/agents/creative-strategist.toml +3 -0
  281. package/.codex/agents/cro-persuasion.toml +3 -0
  282. package/.codex/agents/cro-specialist.toml +3 -0
  283. package/.codex/agents/cs-business-auditor.toml +3 -0
  284. package/.codex/agents/cs-client-success.toml +3 -0
  285. package/.codex/agents/cs-crm-specialist.toml +3 -0
  286. package/.codex/agents/cs-funnel-architect.toml +3 -0
  287. package/.codex/agents/cs-lead-generation-strategist.toml +3 -0
  288. package/.codex/agents/cs-offer-designer.toml +3 -0
  289. package/.codex/agents/cs-revops-analyst.toml +3 -0
  290. package/.codex/agents/cs-sales-closer.toml +3 -0
  291. package/.codex/agents/cs-sales-enablement.toml +3 -0
  292. package/.codex/agents/css-motion-artist.toml +3 -0
  293. package/.codex/agents/curriculum-designer.toml +3 -0
  294. package/.codex/agents/cyber-orqx.toml +3 -0
  295. package/.codex/agents/dan-harmon.toml +3 -0
  296. package/.codex/agents/data-engineer.toml +3 -0
  297. package/.codex/agents/data-synthesizer.toml +3 -0
  298. package/.codex/agents/deep-researcher.toml +3 -0
  299. package/.codex/agents/derek-sivers.toml +3 -0
  300. package/.codex/agents/design-orqx.toml +3 -0
  301. package/.codex/agents/design-system.toml +3 -0
  302. package/.codex/agents/developer.toml +3 -0
  303. package/.codex/agents/devops.toml +3 -0
  304. package/.codex/agents/direct-response-writer.toml +3 -0
  305. package/.codex/agents/dx-accessibility-specialist.toml +3 -0
  306. package/.codex/agents/dx-design-system-architect.toml +3 -0
  307. package/.codex/agents/dx-frontend-engineer.toml +3 -0
  308. package/.codex/agents/dx-interaction-designer.toml +3 -0
  309. package/.codex/agents/dx-performance-engineer.toml +3 -0
  310. package/.codex/agents/dx-ui-designer.toml +3 -0
  311. package/.codex/agents/dx-ux-strategist.toml +3 -0
  312. package/.codex/agents/editorial-strategist.toml +3 -0
  313. package/.codex/agents/email-sequence-strategist.toml +3 -0
  314. package/.codex/agents/finance-orqx.toml +3 -0
  315. package/.codex/agents/fiscal-compliance-br.toml +3 -0
  316. package/.codex/agents/forecast-strategist.toml +3 -0
  317. package/.codex/agents/funnel-copywriter.toml +3 -0
  318. package/.codex/agents/ga-analytics-engineer.toml +3 -0
  319. package/.codex/agents/ga-campaign-analyst.toml +3 -0
  320. package/.codex/agents/ga-cro-specialist.toml +3 -0
  321. package/.codex/agents/ga-data-analyst.toml +3 -0
  322. package/.codex/agents/ga-growth-hacker.toml +3 -0
  323. package/.codex/agents/ga-seo-strategist.toml +3 -0
  324. package/.codex/agents/generative-particle-engineer.toml +3 -0
  325. package/.codex/agents/google-ads-specialist.toml +3 -0
  326. package/.codex/agents/growth-orqx.toml +3 -0
  327. package/.codex/agents/headline-specialist.toml +3 -0
  328. package/.codex/agents/hooks-architect.toml +3 -0
  329. package/.codex/agents/incident-responder.toml +3 -0
  330. package/.codex/agents/joseph-campbell.toml +3 -0
  331. package/.codex/agents/kb-architect.toml +3 -0
  332. package/.codex/agents/keith-johnstone.toml +3 -0
  333. package/.codex/agents/kindra-hall.toml +3 -0
  334. package/.codex/agents/launch-strategist.toml +3 -0
  335. package/.codex/agents/lesson-architect.toml +3 -0
  336. package/.codex/agents/long-form-writer.toml +3 -0
  337. package/.codex/agents/market-analyst.toml +3 -0
  338. package/.codex/agents/marshall-ganz.toml +3 -0
  339. package/.codex/agents/mcp-integrator.toml +3 -0
  340. package/.codex/agents/meta-ads-specialist.toml +3 -0
  341. package/.codex/agents/mind-synthesizer.toml +3 -0
  342. package/.codex/agents/motion-choreographer.toml +3 -0
  343. package/.codex/agents/nancy-duarte.toml +3 -0
  344. package/.codex/agents/naval-ravikant.toml +3 -0
  345. package/.codex/agents/network-security-engineer.toml +3 -0
  346. package/.codex/agents/oren-klaff.toml +3 -0
  347. package/.codex/agents/paidmedia-orqx.toml +3 -0
  348. package/.codex/agents/park-howell.toml +3 -0
  349. package/.codex/agents/patrick-lencioni.toml +3 -0
  350. package/.codex/agents/penetration-tester.toml +3 -0
  351. package/.codex/agents/performance-engineer.toml +3 -0
  352. package/.codex/agents/persuasion-psychologist.toml +3 -0
  353. package/.codex/agents/peter-thiel.toml +3 -0
  354. package/.codex/agents/platform-aesthetic-director.toml +3 -0
  355. package/.codex/agents/platform-specialist.toml +3 -0
  356. package/.codex/agents/pm-creative-performance-analyst.toml +3 -0
  357. package/.codex/agents/pm-youtube-ads-specialist.toml +3 -0
  358. package/.codex/agents/premium-packaging-strategist.toml +3 -0
  359. package/.codex/agents/pricing-strategist.toml +3 -0
  360. package/.codex/agents/product-lead.toml +3 -0
  361. package/.codex/agents/product-orqx.toml +3 -0
  362. package/.codex/agents/product-surface-director.toml +3 -0
  363. package/.codex/agents/production-director.toml +3 -0
  364. package/.codex/agents/profitability-analyst.toml +3 -0
  365. package/.codex/agents/project-integrator.toml +3 -0
  366. package/.codex/agents/project-lead.toml +3 -0
  367. package/.codex/agents/proof-architect.toml +3 -0
  368. package/.codex/agents/ps-client-product-manager.toml +3 -0
  369. package/.codex/agents/ps-delivery-manager.toml +3 -0
  370. package/.codex/agents/ps-discovery-lead.toml +3 -0
  371. package/.codex/agents/ps-product-analyst.toml +3 -0
  372. package/.codex/agents/ps-product-ops-specialist.toml +3 -0
  373. package/.codex/agents/ps-product-strategist.toml +3 -0
  374. package/.codex/agents/quality-gate.toml +3 -0
  375. package/.codex/agents/ray-dalio.toml +3 -0
  376. package/.codex/agents/reid-hoffman.toml +3 -0
  377. package/.codex/agents/research-orqx.toml +3 -0
  378. package/.codex/agents/revenue-analyst.toml +3 -0
  379. package/.codex/agents/roadmap-sentinel.toml +3 -0
  380. package/.codex/agents/scroll-narrative-engineer.toml +3 -0
  381. package/.codex/agents/shader-artist.toml +3 -0
  382. package/.codex/agents/signal-intelligence.toml +3 -0
  383. package/.codex/agents/simon-sinek.toml +3 -0
  384. package/.codex/agents/skill-craftsman.toml +3 -0
  385. package/.codex/agents/slide-designer.toml +3 -0
  386. package/.codex/agents/snps-orqx.toml +3 -0
  387. package/.codex/agents/soc-analyst.toml +3 -0
  388. package/.codex/agents/sop-extractor.toml +3 -0
  389. package/.codex/agents/source-hunter.toml +3 -0
  390. package/.codex/agents/sprint-lead.toml +3 -0
  391. package/.codex/agents/squad-assembler.toml +3 -0
  392. package/.codex/agents/squad-creator.toml +3 -0
  393. package/.codex/agents/storytelling-orqx.toml +3 -0
  394. package/.codex/agents/swarm-orqx.toml +3 -0
  395. package/.codex/agents/threat-analyst.toml +3 -0
  396. package/.codex/agents/threejs-architect.toml +3 -0
  397. package/.codex/agents/trend-forecaster.toml +3 -0
  398. package/.codex/agents/ux-design-expert.toml +3 -0
  399. package/.codex/agents/ux-designer.toml +3 -0
  400. package/.codex/agents/yvon-chouinard.toml +3 -0
  401. package/.codex/catalog.json +20 -5
  402. package/.codex/command-registry.json +94 -0
  403. package/.codex/config.toml +8 -0
  404. package/.codex/delegation-matrix.json +39 -25
  405. package/.codex/delegation-parity.json +46 -41
  406. package/.codex/hooks/claude-compat.cjs +547 -0
  407. package/.codex/hooks.json +123 -0
  408. package/.codex/scripts/resolve-codex-agent.js +30 -1
  409. package/.codex/scripts/resolve-codex-workflow.js +283 -0
  410. package/.codex/scripts/sinapse-codex.js +304 -0
  411. package/.codex/scripts/sync-codex-native.js +581 -0
  412. package/.codex/scripts/validate-codex-native.js +277 -0
  413. package/.codex/tasks/onboard-sinapse-codex.md +1 -1
  414. package/.sinapse-ai/data/entity-registry.yaml +91 -39
  415. package/.sinapse-ai/install-manifest.yaml +5 -5
  416. package/.sinapse-ai/product/templates/statusline/agent-badges.json +37 -37
  417. package/AGENTS.md +5 -4
  418. package/CHANGELOG.md +23 -7
  419. package/README.en.md +1 -1
  420. package/README.md +25 -10
  421. package/bin/cli.js +8 -1
  422. package/bin/commands/help.js +3 -2
  423. package/bin/commands/install.js +79 -53
  424. package/bin/commands/status.js +4 -3
  425. package/bin/commands/uninstall.js +247 -29
  426. package/bin/commands/update.js +38 -23
  427. package/bin/lib/command-generator.js +25 -3
  428. package/bin/lib/global-provider-adapters.js +199 -0
  429. package/bin/lib/provider-parity.js +22 -0
  430. package/bin/postinstall.js +11 -11
  431. package/bin/utils/validate-publish.js +43 -10
  432. package/docs/framework/codex-parity/codex-integration-process.md +6 -7
  433. package/docs/framework/codex-parity/codex-native-runtime-v2.md +230 -0
  434. package/docs/framework/codex-parity/codex-parity-program.md +4 -4
  435. package/docs/framework/codex-parity/codex-total-parity-orchestration-plan.md +1 -1
  436. package/docs/framework/codex-parity/codex-workflow-task-parity.md +21 -7
  437. package/docs/framework/react-bits/animations.md +49 -0
  438. package/docs/framework/react-bits/audit-findings.md +103 -0
  439. package/docs/framework/react-bits/backgrounds.md +63 -0
  440. package/docs/framework/react-bits/catalog-summary.json +61 -0
  441. package/docs/framework/react-bits/components.md +58 -0
  442. package/docs/framework/react-bits/implementation-playbook.md +161 -0
  443. package/docs/framework/react-bits/index.md +130 -0
  444. package/docs/framework/react-bits/inventory.json +9333 -0
  445. package/docs/framework/react-bits/text-animations.md +41 -0
  446. package/docs/framework/software-engineering-applicability.md +31 -0
  447. package/docs/getting-started.md +6 -2
  448. package/docs/guides/codex-config.md +2 -2
  449. package/docs/guides/development-setup.md +1 -2
  450. package/docs/guides/ide-integration.md +6 -6
  451. package/docs/guides/quality-gates.md +2 -2
  452. package/docs/ide-integration.md +2 -2
  453. package/docs/installation/README.md +2 -2
  454. package/docs/installation/faq.md +1 -1
  455. package/docs/installation/troubleshooting.md +2 -2
  456. package/docs/installation/v4-quick-start.md +1 -1
  457. package/docs/pt/contributing.md +1 -1
  458. package/docs/pt/guides/development-setup.md +1 -2
  459. package/docs/pt/guides/quality-gates.md +2 -2
  460. package/docs/pt/ide-integration.md +6 -6
  461. package/docs/pt/installation/faq.md +1 -1
  462. package/docs/pt/installation/troubleshooting.md +2 -3
  463. package/docs/pt/installation/v4-quick-start.md +1 -2
  464. package/docs/pt/platforms/claude-code.md +4 -4
  465. package/docs/sinapse-agent-flows/analyst-system.md +1 -1
  466. package/docs/sinapse-agent-flows/architect-system.md +1 -1
  467. package/docs/sinapse-agent-flows/data-engineer-system.md +1 -1
  468. package/docs/sinapse-agent-flows/dev-system.md +1 -1
  469. package/docs/sinapse-agent-flows/pm-system.md +1 -1
  470. package/docs/sinapse-agent-flows/qa-system.md +1 -1
  471. package/docs/sinapse-agent-flows/sm-system.md +1 -1
  472. package/docs/sinapse-agent-flows/snps-orqx-system.md +1 -1
  473. package/docs/sinapse-agent-flows/squad-creator-system.md +2 -2
  474. package/docs/sinapse-agent-flows/ux-design-expert-system.md +1 -1
  475. package/package.json +37 -19
  476. package/packages/engineering-applicability/fixtures.json +52 -0
  477. package/packages/engineering-applicability/index.js +150 -0
  478. package/packages/installer/src/config/ide-configs.js +1 -1
  479. package/packages/installer/src/installer/sinapse-ai-installer.js +359 -2
  480. package/packages/installer/src/migrations/legacy-claude-agent-command-hashes.json +36 -0
  481. package/packages/installer/src/migrations/legacy-codex-native-skill-hashes.json +42 -0
  482. package/packages/installer/src/updater/index.js +51 -13
  483. package/packages/installer/src/wizard/feedback.js +1 -1
  484. package/packages/installer/src/wizard/ide-config-generator.js +22 -0
  485. package/packages/installer/src/wizard/index.js +106 -75
  486. package/scripts/gen-agent-badges.js +17 -1
  487. package/scripts/release-readiness.js +9 -3
  488. package/scripts/research/generate-react-bits-catalog.mjs +206 -0
  489. package/scripts/sync-provider-adapters.js +203 -0
  490. package/scripts/validate-codex-command-registry.js +101 -0
  491. package/scripts/validate-provider-adapters.js +243 -0
  492. package/squads/claude-code-mastery/agents/skill-craftsman.md +2 -2
  493. package/squads/claude-code-mastery/knowledge-base/skill-creation-patterns.md +1 -1
  494. package/squads/squad-animations/knowledge-base/react-bits-operational-guide.md +43 -0
  495. package/squads/squad-animations/squad.yaml +10 -5
  496. package/squads/squad-animations/tasks/orchestrate-react-bits-frontend.md +60 -0
  497. package/squads/squad-design/agents/ux-designer.md +1 -1
  498. package/.codex/skills/sinapse-orqx/SKILL.md +0 -25
  499. /package/{.codex → .agents}/skills/sinapse-analyst/SKILL.md +0 -0
  500. /package/{.codex → .agents}/skills/sinapse-animations/SKILL.md +0 -0
  501. /package/{.codex → .agents}/skills/sinapse-architect/SKILL.md +0 -0
  502. /package/{.codex → .agents}/skills/sinapse-brand/SKILL.md +0 -0
  503. /package/{.codex → .agents}/skills/sinapse-cloning/SKILL.md +0 -0
  504. /package/{.codex → .agents}/skills/sinapse-commercial/SKILL.md +0 -0
  505. /package/{.codex → .agents}/skills/sinapse-content/SKILL.md +0 -0
  506. /package/{.codex → .agents}/skills/sinapse-copy/SKILL.md +0 -0
  507. /package/{.codex → .agents}/skills/sinapse-council/SKILL.md +0 -0
  508. /package/{.codex → .agents}/skills/sinapse-courses/SKILL.md +0 -0
  509. /package/{.codex → .agents}/skills/sinapse-cyber/SKILL.md +0 -0
  510. /package/{.codex → .agents}/skills/sinapse-data-engineer/SKILL.md +0 -0
  511. /package/{.codex → .agents}/skills/sinapse-design/SKILL.md +0 -0
  512. /package/{.codex → .agents}/skills/sinapse-dev/SKILL.md +0 -0
  513. /package/{.codex → .agents}/skills/sinapse-devops/SKILL.md +0 -0
  514. /package/{.codex → .agents}/skills/sinapse-finance/SKILL.md +0 -0
  515. /package/{.codex → .agents}/skills/sinapse-growth/SKILL.md +0 -0
  516. /package/{.codex → .agents}/skills/sinapse-paidmedia/SKILL.md +0 -0
  517. /package/{.codex → .agents}/skills/sinapse-pm/SKILL.md +0 -0
  518. /package/{.codex → .agents}/skills/sinapse-po/SKILL.md +0 -0
  519. /package/{.codex → .agents}/skills/sinapse-product/SKILL.md +0 -0
  520. /package/{.codex → .agents}/skills/sinapse-qa/SKILL.md +0 -0
  521. /package/{.codex → .agents}/skills/sinapse-research/SKILL.md +0 -0
  522. /package/{.codex → .agents}/skills/sinapse-sm/SKILL.md +0 -0
  523. /package/{.codex → .agents}/skills/sinapse-squad-creator/SKILL.md +0 -0
  524. /package/{.codex → .agents}/skills/sinapse-storytelling/SKILL.md +0 -0
  525. /package/{.codex → .agents}/skills/sinapse-swarm/SKILL.md +0 -0
  526. /package/{.codex → .agents}/skills/sinapse-ux-design-expert/SKILL.md +0 -0
@@ -29,7 +29,14 @@ const {
29
29
  } = require('../lib/detection');
30
30
  const { promptLlmChoice } = require('../lib/prompts');
31
31
  const { generateSquadAwareness } = require('./install');
32
+ const {
33
+ recordInstalledAgents,
34
+ reconcileInstalledAgents,
35
+ removeManagedGlobalSkills,
36
+ } = require('./uninstall');
32
37
  const { regenerateAgentCommands } = require('../lib/command-generator');
38
+ const { deliverGlobalProviderAdapters, getGlobalCommandStagingDir } = require('../lib/global-provider-adapters');
39
+ const { assertProviderAdapterParity } = require('../lib/provider-parity');
33
40
  const { execSync } = require('child_process');
34
41
 
35
42
  // Query the latest version published to npm. Returns null when npm is unreachable.
@@ -146,39 +153,46 @@ async function cmdUpdateGlobal() {
146
153
  logger.always(` ${GREEN}OK${NC} sinapse (orqx)`);
147
154
  }
148
155
 
156
+ const coreDevelopmentSrc = path.join(ROOT, '.sinapse-ai', 'development');
157
+ const coreDevelopmentDest = path.join(SINAPSE_HOME, 'core');
158
+ if (fs.existsSync(coreDevelopmentSrc)) {
159
+ const delta = syncDirSync(coreDevelopmentSrc, coreDevelopmentDest);
160
+ totalDelta.added += delta.added;
161
+ totalDelta.updated += delta.updated;
162
+ totalDelta.unchanged += delta.unchanged;
163
+ totalDelta.removed += delta.removed;
164
+ logger.always(` ${GREEN}OK${NC} core development`);
165
+ }
166
+
149
167
  // Phase 2: Regenerate commands — shared with `install` so `update` produces the
150
168
  // SAME complete set (every specialist command + the rich master Imperator stubs),
151
169
  // not just the `-orqx` subset it used to write.
152
170
  logger.always(`\n${CYAN}Phase 2:${NC} Regenerating commands`);
153
- rmDirSync(CLAUDE_COMMANDS_DIR);
171
+ const commandStagingDir = getGlobalCommandStagingDir({ llmChoice, sinapseHome: SINAPSE_HOME, claudeCommandsDir: CLAUDE_COMMANDS_DIR });
172
+ rmDirSync(commandStagingDir);
154
173
  const { writtenAgents, totalAgents } = regenerateAgentCommands({
155
174
  sinapseHome: SINAPSE_HOME,
156
- commandsDir: CLAUDE_COMMANDS_DIR,
175
+ commandsDir: commandStagingDir,
157
176
  squads,
158
177
  sinapseMasterDest: path.join(SINAPSE_HOME, 'sinapse'),
178
+ coreDevelopmentDest,
159
179
  });
160
180
  logger.always(` ${GREEN}OK${NC} ${writtenAgents.size} command files (${totalAgents} agents total)`);
161
181
 
162
182
  // Phase 2b: Install global agents based on LLM choice
163
- if (llmChoice === 'claude-code' || llmChoice === 'both') {
164
- const globalAgentsDir = path.join(HOME, '.claude', 'agents');
165
- fs.mkdirSync(globalAgentsDir, { recursive: true });
166
- // Copy all generated agent commands as global agents
167
- for (const f of fs.readdirSync(CLAUDE_COMMANDS_DIR).filter(f => f.endsWith('.md'))) {
168
- fs.copyFileSync(path.join(CLAUDE_COMMANDS_DIR, f), path.join(globalAgentsDir, f));
169
- }
170
- logger.always(` ${GREEN}OK${NC} Claude Code global agents (${writtenAgents.size})`);
171
- }
183
+ const globalAdapters = deliverGlobalProviderAdapters({ llmChoice, home: HOME, commandsDir: commandStagingDir });
184
+ const activeAgentCount = assertProviderAdapterParity(llmChoice, globalAdapters, totalAgents);
185
+ if (globalAdapters.claude.length) logger.always(` ${GREEN}OK${NC} Claude Code global agents (${globalAdapters.claude.length})`);
186
+ if (globalAdapters.codex.length) logger.always(` ${GREEN}OK${NC} Codex global agents (${globalAdapters.codex.length} TOML, ${globalAdapters.skills.length} skills)`);
172
187
 
173
- if (llmChoice === 'codex' || llmChoice === 'both') {
174
- const codexAgentsDir = path.join(HOME, '.codex', 'agents');
175
- fs.mkdirSync(codexAgentsDir, { recursive: true });
176
- // Copy all generated agent commands for Codex
177
- for (const f of fs.readdirSync(CLAUDE_COMMANDS_DIR).filter(f => f.endsWith('.md'))) {
178
- fs.copyFileSync(path.join(CLAUDE_COMMANDS_DIR, f), path.join(codexAgentsDir, f));
179
- }
180
- logger.always(` ${GREEN}OK${NC} Codex global agents (${writtenAgents.size})`);
181
- }
188
+ const installedAgentFilenames = new Set([...globalAdapters.claude, ...globalAdapters.codex]);
189
+ reconcileInstalledAgents(HOME, installedAgentFilenames);
190
+ if (llmChoice === 'claude-code') removeManagedGlobalSkills(HOME, { providers: ['codex'] });
191
+ if (llmChoice === 'codex') removeManagedGlobalSkills(HOME, { providers: ['claude-code'] });
192
+ const installedIdes = [];
193
+ if (globalAdapters.claude.length) installedIdes.push('claude-code');
194
+ if (globalAdapters.codex.length) installedIdes.push('codex');
195
+ recordInstalledAgents(installedAgentFilenames, installedIdes);
182
196
 
183
197
  // Phase 3: Regenerate awareness
184
198
  logger.always(`\n${CYAN}Phase 3:${NC} Updating squad-awareness`);
@@ -192,7 +206,8 @@ async function cmdUpdateGlobal() {
192
206
  meta.updatedAt = new Date().toISOString();
193
207
  meta.version = VERSION;
194
208
  meta.squads = squads.length;
195
- meta.commands = writtenAgents.size;
209
+ meta.agents = activeAgentCount;
210
+ meta.commands = activeAgentCount;
196
211
  meta.llm = llmChoice;
197
212
  fs.writeFileSync(metaPath, JSON.stringify(meta, null, 2));
198
213
 
@@ -235,9 +250,9 @@ async function cmdUpdateGlobal() {
235
250
  logger.always(`${GREEN} SINAPSE AI atualizado para v${VERSION}!${NC}`);
236
251
  logger.always(`${GREEN}══════════════════════════════════════════════════════════════${NC}`);
237
252
  logger.always('');
238
- logger.always(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${totalAgents} agents${NC} | ${BOLD}${writtenAgents.size} command files${NC}`);
253
+ logger.always(` ${BOLD}${squads.length} squads${NC} | ${BOLD}${activeAgentCount} agents${NC} | ${BOLD}${activeAgentCount} native adapters${NC}`);
239
254
  logger.always(` ${startCmd}`);
240
255
  logger.always('');
241
256
  }
242
257
 
243
- module.exports = { cmdUpdateGlobal };
258
+ module.exports = { cmdUpdateGlobal, assertProviderAdapterParity };
@@ -116,7 +116,7 @@ Tasks: \`${squadPath}/tasks/\` · Workflows: \`${squadPath}/workflows/\` · Mani
116
116
  `;
117
117
  }
118
118
 
119
- function generateCommandMd(agentId, agentName, agentIcon, squadName, squadPath, agentFile) {
119
+ function generateCommandMd(agentId, agentName, agentIcon, squadName, squadPath, agentFile, options = {}) {
120
120
  // Detecta se é orquestrador: id termina em -orqx OU é Imperator (snps-orqx/sinapse-orqx)
121
121
  // ou um dos apelidos curtos do master (sinapse/snps).
122
122
  const isOrchestrator = /-orqx$/.test(agentId) || agentId === 'snps-orqx' || agentId === 'sinapse-orqx' || agentId === 'sinapse' || agentId === 'snps';
@@ -139,6 +139,12 @@ function generateCommandMd(agentId, agentName, agentIcon, squadName, squadPath,
139
139
  const fmDesc = (isOrchestrator
140
140
  ? `${agentName || agentId} — orchestrator for ${squadName}; diagnoses, routes to specialists and auto-generates an orchestration plan`
141
141
  : `${agentName || agentId} — ${squadName} specialist`).replace(/["\n\r]/g, ' ').trim();
142
+ const manifestActivation = options.hasManifest === false
143
+ ? '2. Use the installed core development module as canonical context'
144
+ : `2. Load the squad manifest at \`${squadPath}/squad.yaml\` for context`;
145
+ const manifestReference = options.hasManifest === false
146
+ ? `- **Canonical module:** \`${squadPath}/\``
147
+ : `- **Squad Manifest:** \`${squadPath}/squad.yaml\``;
142
148
 
143
149
  return `---
144
150
  name: ${agentId}
@@ -151,7 +157,7 @@ ACTIVATION-NOTICE: This command activates an agent from ${squadName}.
151
157
 
152
158
  CRITICAL: Read the agent definition file at \`${squadPath}/agents/${agentFile}\` to understand your full operating parameters. Then:
153
159
  1. Adopt the persona defined in that file (name: ${agentName}, icon: ${agentIcon})
154
- 2. Load the squad manifest at \`${squadPath}/squad.yaml\` for context
160
+ ${manifestActivation}
155
161
  3. Display a greeting showing your agent name, role, and available commands
156
162
  ${step4}
157
163
 
@@ -159,7 +165,7 @@ ${step4}
159
165
  - **Agent ID:** ${agentId}
160
166
  - **Squad:** ${squadName}
161
167
  - **Definition:** \`${squadPath}/agents/${agentFile}\`
162
- - **Squad Manifest:** \`${squadPath}/squad.yaml\`
168
+ ${manifestReference}
163
169
  - **Tasks:** \`${squadPath}/tasks/\`
164
170
  - **Knowledge Bases:** \`${squadPath}/knowledge-base/\`
165
171
  - **Workflows:** \`${squadPath}/workflows/\`
@@ -209,6 +215,7 @@ function regenerateAgentCommands(deps = {}) {
209
215
  commandsDir = CLAUDE_COMMANDS_DIR,
210
216
  squads,
211
217
  sinapseMasterDest = path.join(sinapseHome, 'sinapse'),
218
+ coreDevelopmentDest = path.join(sinapseHome, 'core'),
212
219
  } = deps;
213
220
 
214
221
  if (!Array.isArray(squads)) {
@@ -244,6 +251,21 @@ function regenerateAgentCommands(deps = {}) {
244
251
  }
245
252
  }
246
253
 
254
+ // Core agents are mirrored by the global installer so definitions and tasks
255
+ // remain resolvable after the npm process exits.
256
+ const coreAgentsDir = path.join(coreDevelopmentDest, 'agents');
257
+ if (fs.existsSync(coreAgentsDir)) {
258
+ const coreBase = toForwardSlash(coreDevelopmentDest);
259
+ for (const file of fs.readdirSync(coreAgentsDir).filter(f => f.endsWith('.md'))) {
260
+ if (file === 'README.md' || file === 'MEMORY.md' || file.startsWith('_') || writtenAgents.has(file)) continue;
261
+ const agentId = file.replace('.md', '');
262
+ const meta = extractAgentMeta(path.join(coreAgentsDir, file));
263
+ const cmdContent = generateCommandMd(agentId, meta.name, meta.icon, 'core', coreBase, file, { hasManifest: false });
264
+ atomicWriteFileSync(path.join(commandsDir, `${agentId}.md`), cmdContent);
265
+ writtenAgents.add(file);
266
+ }
267
+ }
268
+
247
269
  // 2. Commands for sinapse/ master squad agents.
248
270
  if (fs.existsSync(sinapseMasterDest)) {
249
271
  const masterAgentsDir = path.join(sinapseMasterDest, 'agents');
@@ -0,0 +1,199 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ const NOFOLLOW_READ_FLAGS = fs.constants.O_RDONLY | (fs.constants.O_NOFOLLOW || 0);
7
+
8
+ function readRegularFileNoFollowSync(filePath, encoding = null) {
9
+ let handle;
10
+ try {
11
+ handle = fs.openSync(filePath, NOFOLLOW_READ_FLAGS);
12
+ if (!fs.fstatSync(handle).isFile()) return null;
13
+ return fs.readFileSync(handle, encoding || undefined);
14
+ } catch (error) {
15
+ if (['ENOENT', 'ELOOP', 'EISDIR'].includes(error.code)) return null;
16
+ throw error;
17
+ } finally {
18
+ if (handle !== undefined) fs.closeSync(handle);
19
+ }
20
+ }
21
+
22
+ function parseAgentMarkdown(content, fallbackName) {
23
+ const name = content.match(/^name:\s*([^\r\n]+)$/m)?.[1]?.trim() || fallbackName;
24
+ const raw = content.match(/^description:\s*(.+)$/m)?.[1]?.trim() || `SINAPSE ${name} agent`;
25
+ return { name, description: raw.replace(/^['"]|['"]$/g, '') };
26
+ }
27
+
28
+ function renderCodexToml(name, description, instructions) {
29
+ return [
30
+ `name = ${JSON.stringify(name)}`,
31
+ `description = ${JSON.stringify(description)}`,
32
+ `developer_instructions = ${JSON.stringify(instructions)}`,
33
+ '',
34
+ ].join('\n');
35
+ }
36
+
37
+ function markGlobalAgent(markdown, fileName = '') {
38
+ let content = markdown;
39
+ if (fileName === 'snps-orqx.md') {
40
+ content = content.replace(/^name:\s*snps-orqx\s*$/m, 'name: sinapse-orqx');
41
+ }
42
+ if (content.includes('SINAPSE-MANAGED:global-agent')) return content;
43
+ return `${content.trimEnd()}\n\n<!-- SINAPSE-MANAGED:global-agent -->\n`;
44
+ }
45
+
46
+ function renderGlobalSkill(skillId) {
47
+ const generic = skillId === 'sinapse-agent';
48
+ return [
49
+ '---',
50
+ `name: ${skillId}`,
51
+ `description: ${generic ? 'Resolve and activate any globally installed SINAPSE agent by ID.' : 'Activate the globally installed SINAPSE supreme orchestrator.'}`,
52
+ '---', '',
53
+ '<!-- SINAPSE-MANAGED:global-skill -->', '',
54
+ generic ? '# SINAPSE Global Agent Activator' : '# SINAPSE Global Orchestrator', '',
55
+ generic
56
+ ? 'Resolve the requested ID through the native agent catalog of the active provider; reject unknown IDs without guessing.'
57
+ : 'Resolve this alias to the `sinapse-orqx` custom agent and preserve its delegation-only authority.',
58
+ 'Canonical global persona and task sources live under `~/.sinapse/`.',
59
+ 'Use native Codex delegation and never start a nested CLI.', '',
60
+ ].join('\n');
61
+ }
62
+
63
+ function writeFileAtomically(filePath, content) {
64
+ const temporaryPath = `${filePath}.${process.pid}.${Date.now()}.tmp`;
65
+ let handle;
66
+ try {
67
+ handle = fs.openSync(temporaryPath, 'wx', 0o600);
68
+ fs.writeFileSync(handle, content, 'utf8');
69
+ fs.fsyncSync(handle);
70
+ fs.closeSync(handle);
71
+ handle = undefined;
72
+ fs.renameSync(temporaryPath, filePath);
73
+ } finally {
74
+ if (handle !== undefined) fs.closeSync(handle);
75
+ try { fs.unlinkSync(temporaryPath); } catch { /* already published or cleanup is best-effort */ }
76
+ }
77
+ }
78
+
79
+ function writeGlobalSkillIfManaged(skillPath, content) {
80
+ fs.mkdirSync(path.dirname(skillPath), { recursive: true });
81
+
82
+ let handle;
83
+ try {
84
+ const noFollow = fs.constants.O_NOFOLLOW || 0;
85
+ handle = fs.openSync(skillPath, fs.constants.O_RDONLY | noFollow);
86
+ } catch (error) {
87
+ if (error.code === 'ELOOP') return false;
88
+ if (error.code !== 'ENOENT') throw error;
89
+ try {
90
+ handle = fs.openSync(skillPath, 'wx');
91
+ } catch (createError) {
92
+ if (createError.code === 'EEXIST') return writeGlobalSkillIfManaged(skillPath, content);
93
+ throw createError;
94
+ }
95
+ try {
96
+ fs.writeFileSync(handle, content, 'utf8');
97
+ return true;
98
+ } finally {
99
+ fs.closeSync(handle);
100
+ }
101
+ }
102
+
103
+ try {
104
+ if (!fs.fstatSync(handle).isFile()) return false;
105
+ const existing = fs.readFileSync(handle, 'utf8');
106
+ if (!existing.includes('SINAPSE-MANAGED:global-skill')) return false;
107
+ fs.closeSync(handle);
108
+ handle = undefined;
109
+ writeFileAtomically(skillPath, content);
110
+ return true;
111
+ } finally {
112
+ if (handle !== undefined) fs.closeSync(handle);
113
+ }
114
+ }
115
+
116
+ function removeStaleManagedAgents(targetDir, expectedFiles, extension) {
117
+ if (!fs.existsSync(targetDir)) return [];
118
+ const expected = new Set(expectedFiles);
119
+ const removed = [];
120
+ for (const file of fs.readdirSync(targetDir).filter((name) => name.endsWith(extension))) {
121
+ if (expected.has(file)) continue;
122
+ const filePath = path.join(targetDir, file);
123
+ const content = readRegularFileNoFollowSync(filePath, 'utf8');
124
+ if (content === null) continue;
125
+ const explicitlyManaged = content.includes('SINAPSE-MANAGED:global-agent');
126
+ const legacyManaged = content.includes('ACTIVATION-NOTICE: This command activates an agent from sinapse.')
127
+ && /\.sinapse[\\/]sinapse[\\/]agents[\\/]/.test(content)
128
+ && content.includes('Load the squad manifest');
129
+ if (!explicitlyManaged && !legacyManaged) continue;
130
+ fs.unlinkSync(filePath);
131
+ removed.push(file);
132
+ }
133
+ return removed;
134
+ }
135
+
136
+ function deliverGlobalProviderAdapters({ llmChoice, home, commandsDir }) {
137
+ let commandFiles = fs.existsSync(commandsDir)
138
+ ? fs.readdirSync(commandsDir).filter((file) => file.endsWith('.md')).sort()
139
+ : [];
140
+ if (commandFiles.includes('snps-orqx.md')) {
141
+ const aliasFiles = new Set(['sinapse.md', 'sinapse-orqx.md', 'snps.md']);
142
+ commandFiles = commandFiles.filter((file) => !aliasFiles.has(file));
143
+ }
144
+ const written = { claude: [], claudeSkills: [], codex: [], skills: [] };
145
+
146
+ if (llmChoice === 'claude-code' || llmChoice === 'both') {
147
+ const targetDir = path.join(home, '.claude', 'agents');
148
+ fs.mkdirSync(targetDir, { recursive: true });
149
+ removeStaleManagedAgents(targetDir, commandFiles, '.md');
150
+ for (const file of commandFiles) {
151
+ const markdown = markGlobalAgent(fs.readFileSync(path.join(commandsDir, file), 'utf8'), file);
152
+ fs.writeFileSync(path.join(targetDir, file), markdown, 'utf8');
153
+ written.claude.push(file);
154
+ }
155
+ const skillsRoot = path.join(home, '.claude', 'skills');
156
+ for (const skillId of ['snps', 'sinapse', 'snps-orqx', 'sinapse-orqx', 'sinapse-agent']) {
157
+ const skillPath = path.join(skillsRoot, skillId, 'SKILL.md');
158
+ if (writeGlobalSkillIfManaged(skillPath, renderGlobalSkill(skillId))) {
159
+ written.claudeSkills.push(skillId);
160
+ }
161
+ }
162
+ }
163
+ if (llmChoice === 'codex' || llmChoice === 'both') {
164
+ const targetDir = path.join(home, '.codex', 'agents');
165
+ fs.mkdirSync(targetDir, { recursive: true });
166
+ removeStaleManagedAgents(
167
+ targetDir,
168
+ commandFiles.map((file) => file.replace(/\.md$/, '.toml')),
169
+ '.toml',
170
+ );
171
+ for (const file of commandFiles) {
172
+ const markdown = markGlobalAgent(fs.readFileSync(path.join(commandsDir, file), 'utf8'), file);
173
+ const id = file.replace(/\.md$/, '');
174
+ const metadata = parseAgentMarkdown(markdown, id);
175
+ const tomlName = `${id}.toml`;
176
+ fs.writeFileSync(path.join(targetDir, tomlName), renderCodexToml(metadata.name, metadata.description, markdown), 'utf8');
177
+ const staleMarkdown = path.join(targetDir, file);
178
+ if (fs.existsSync(staleMarkdown)) fs.unlinkSync(staleMarkdown);
179
+ written.codex.push(tomlName);
180
+ }
181
+ const skillsRoot = path.join(home, '.agents', 'skills');
182
+ for (const skillId of ['snps', 'sinapse', 'snps-orqx', 'sinapse-orqx', 'sinapse-agent']) {
183
+ const skillDir = path.join(skillsRoot, skillId);
184
+ const skillPath = path.join(skillDir, 'SKILL.md');
185
+ if (writeGlobalSkillIfManaged(skillPath, renderGlobalSkill(skillId))) {
186
+ written.skills.push(skillId);
187
+ }
188
+ }
189
+ }
190
+ return written;
191
+ }
192
+
193
+ function getGlobalCommandStagingDir({ llmChoice, sinapseHome, claudeCommandsDir }) {
194
+ void llmChoice;
195
+ void claudeCommandsDir;
196
+ return path.join(sinapseHome, '.generated', 'agents');
197
+ }
198
+
199
+ module.exports = { parseAgentMarkdown, renderCodexToml, markGlobalAgent, renderGlobalSkill, writeGlobalSkillIfManaged, removeStaleManagedAgents, deliverGlobalProviderAdapters, getGlobalCommandStagingDir };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ function assertProviderAdapterParity(llmChoice, adapters, canonicalCount) {
4
+ if (!['claude-code', 'codex', 'both'].includes(llmChoice)) {
5
+ throw new Error(`Invalid LLM choice for provider parity: ${llmChoice}`);
6
+ }
7
+ const providerCounts = [];
8
+ if (llmChoice === 'claude-code' || llmChoice === 'both') {
9
+ providerCounts.push(['Claude Code', adapters.claude.length]);
10
+ }
11
+ if (llmChoice === 'codex' || llmChoice === 'both') {
12
+ providerCounts.push(['Codex', adapters.codex.length]);
13
+ }
14
+ const divergent = providerCounts.filter(([, count]) => count !== canonicalCount);
15
+ if (divergent.length) {
16
+ const details = divergent.map(([provider, count]) => `${provider}: ${count}/${canonicalCount}`).join(', ');
17
+ throw new Error(`Provider adapter parity failed (${details})`);
18
+ }
19
+ return canonicalCount;
20
+ }
21
+
22
+ module.exports = { assertProviderAdapterParity };
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * Execution order (see Story A.1 AC 4):
19
19
  * 1. env guard (SINAPSE_SKIP_POSTINSTALL / CI)
20
- * 2. npm run sync:ide -- --ide claude-code
20
+ * 2. npm run sync:providers
21
21
  * 3. mkdir -p .sinapse/handoffs
22
22
  * 4. mkdir -p .sinapse/scratchpad
23
23
  * 5. sinapse doctor --quiet (exit code 2 = abort, 0/1 = OK)
@@ -30,7 +30,7 @@
30
30
  *
31
31
  * Exit codes:
32
32
  * 0 success OR non-critical warning (framework operational)
33
- * 2 critical failure (sync:ide failed, or doctor exit >= 2)
33
+ * 2 critical failure (provider sync failed, or doctor exit >= 2)
34
34
  *
35
35
  * Note: exit 1 is NOT used. npm treats any non-zero postinstall exit as
36
36
  * `command failed`, which scares users when the install is actually operational.
@@ -273,7 +273,7 @@ function run(command, args, opts = {}) {
273
273
  * Detect if we're running inside a global npm install.
274
274
  * Global installs land in /usr/local/lib/node_modules (Mac/Linux) or
275
275
  * %APPDATA%\npm\node_modules (Windows). Agent sync to those paths is pointless
276
- * — sync:ide must run inside a real project (per-project install).
276
+ * — sync:providers must run inside a real project (per-project install).
277
277
  */
278
278
  function isGlobalInstall() {
279
279
  if (process.env.npm_config_global === 'true') return true;
@@ -287,8 +287,8 @@ function isGlobalInstall() {
287
287
  }
288
288
 
289
289
  /**
290
- * Step 1: sync:ide --ide claude-code.
291
- * Copies agent definitions to .claude/commands/SINAPSE/agents/ so Claude Code can resolve @developer, etc.
290
+ * Step 1: synchronize native Claude and Codex provider adapters.
291
+ * Writes Claude agents to .claude/agents and Codex skills to .agents/skills.
292
292
  *
293
293
  * Skipped on global installs (no project to sync to). EACCES is treated as a
294
294
  * non-critical warning — the user can run `sinapse install` inside their project
@@ -296,17 +296,17 @@ function isGlobalInstall() {
296
296
  */
297
297
  function stepSyncIde() {
298
298
  if (isGlobalInstall()) {
299
- verboseLog(`${c.dim}sync:ide pulado (install global — rode 'sinapse install' no seu projeto)${c.reset}`);
299
+ verboseLog(`${c.dim}sync:providers pulado (install global — rode 'sinapse install' no seu projeto)${c.reset}`);
300
300
  return { ok: true, critical: false, skipped: true };
301
301
  }
302
- verboseLog(`${c.cyan}›${c.reset} Sincronizando agents para Claude Code...`);
303
- const result = run('npm', ['run', 'sync:ide', '--silent', '--', '--ide', 'claude-code', '--quiet']);
302
+ verboseLog(`${c.cyan}›${c.reset} Sincronizando adapters para Claude Code e Codex...`);
303
+ const result = run('npm', ['run', 'sync:providers', '--silent']);
304
304
  if (result.error) {
305
305
  if (result.error.code === 'EACCES' || result.error.code === 'EPERM') {
306
306
  warn("Sem permissão pra sincronizar agents. Rode 'sinapse install' dentro do seu projeto.");
307
307
  return { ok: false, critical: false };
308
308
  }
309
- warn(`sync:ide falhou ao iniciar: ${result.error.message} — rode 'sinapse install' no projeto pra completar.`);
309
+ warn(`sync:providers falhou ao iniciar: ${result.error.message} — rode 'sinapse install' no projeto pra completar.`);
310
310
  return { ok: false, critical: false };
311
311
  }
312
312
  if (result.status !== 0) {
@@ -315,7 +315,7 @@ function stepSyncIde() {
315
315
  warn("Sem permissão pra sincronizar agents (npm global sem write). Rode 'sinapse install' no seu projeto.");
316
316
  return { ok: false, critical: false };
317
317
  }
318
- warn(`sync:ide saiu com código ${result.status} — rode 'sinapse install' no projeto pra completar.`);
318
+ warn(`sync:providers saiu com código ${result.status} — rode 'sinapse install' no projeto pra completar.`);
319
319
  return { ok: false, critical: false };
320
320
  }
321
321
  verboseLog(`${c.green}✓${c.reset} Agents sincronizados`);
@@ -380,7 +380,7 @@ function stepGenerateSynapse() {
380
380
  return { ok: true, critical: false, skipped: true };
381
381
  }
382
382
  // Run in-process (not a subprocess) — faster, and keeps the shared run()
383
- // sequence (sync:ide → doctor) intact for callers/tests. The wrapper's
383
+ // sequence (sync:providers → doctor) intact for callers/tests. The wrapper's
384
384
  // generate() is tolerant and never throws; preserve our own exit code since
385
385
  // the underlying generator sets process.exitCode=1 on a miss.
386
386
  const savedExit = process.exitCode;
@@ -15,31 +15,64 @@
15
15
 
16
16
  const fs = require('fs');
17
17
  const path = require('path');
18
- const { execSync } = require('child_process');
18
+ const { execFileSync, execSync } = require('child_process');
19
19
 
20
20
  const PROJECT_ROOT = path.join(__dirname, '..', '..');
21
21
  const MIN_FILE_COUNT = 50;
22
22
 
23
+ function isNewerVersion(candidate, current) {
24
+ const left = String(candidate).replace(/^v/, '').split(/[.-]/).slice(0, 3).map(Number);
25
+ const right = String(current).replace(/^v/, '').split(/[.-]/).slice(0, 3).map(Number);
26
+ for (let i = 0; i < 3; i += 1) {
27
+ const delta = (left[i] || 0) - (right[i] || 0);
28
+ if (delta !== 0) return delta > 0;
29
+ }
30
+ return false;
31
+ }
32
+
23
33
  let passed = true;
24
34
  let fileCount = 0;
25
35
 
26
36
  console.log('--- Publish Safety Gate (INS-4.10) ---\n');
27
37
 
38
+ // Check 0: npm never accepts re-publishing an existing version. Surface the
39
+ // collision before the expensive package scan so release readiness stays
40
+ // honest and operators know that a semantic version bump is still required.
41
+ try {
42
+ const localVersion = require(path.join(PROJECT_ROOT, 'package.json')).version;
43
+ const npmCli = process.env.npm_execpath;
44
+ const npmExecutable = npmCli ? process.execPath : (process.platform === 'win32' ? 'npm.cmd' : 'npm');
45
+ const npmArgs = npmCli
46
+ ? [npmCli, 'view', 'sinapse-ai', 'version']
47
+ : ['view', 'sinapse-ai', 'version'];
48
+ const publishedVersion = execFileSync(npmExecutable, npmArgs, {
49
+ encoding: 'utf8',
50
+ cwd: PROJECT_ROOT,
51
+ timeout: 15000,
52
+ stdio: ['ignore', 'pipe', 'pipe'],
53
+ }).trim();
54
+ if (!isNewerVersion(localVersion, publishedVersion)) {
55
+ console.error(`FAIL: local version ${localVersion} is not newer than npm latest ${publishedVersion}.`);
56
+ console.error(' A semantic version bump is required before publishing.');
57
+ passed = false;
58
+ } else {
59
+ console.log(`PASS: local version ${localVersion} is newer than npm latest ${publishedVersion}`);
60
+ }
61
+ } catch (err) {
62
+ console.error(`FAIL: could not verify the npm version boundary: ${err.message}`);
63
+ passed = false;
64
+ }
65
+
28
66
  // Check 1: File count threshold via npm pack --dry-run
29
67
  try {
30
- const packOutput = execSync('npm pack --dry-run 2>&1', {
68
+ const packOutput = execSync('npm pack --dry-run --json', {
31
69
  encoding: 'utf8',
32
70
  cwd: PROJECT_ROOT,
33
71
  timeout: 30000,
72
+ stdio: ['ignore', 'pipe', 'ignore'],
73
+ maxBuffer: 32 * 1024 * 1024,
34
74
  });
35
- // npm pack --dry-run outputs lines starting with "npm notice" for each file
36
- const fileLines = packOutput.split('\n').filter(line =>
37
- line.includes('npm notice') && !line.includes('Tarball') && !line.includes('name:') &&
38
- !line.includes('version:') && !line.includes('filename:') && !line.includes('package size:') &&
39
- !line.includes('unpacked size:') && !line.includes('shasum:') && !line.includes('integrity:') &&
40
- !line.includes('total files:'),
41
- );
42
- fileCount = fileLines.length;
75
+ fileCount = ((JSON.parse(packOutput)[0] || {}).files || []).length;
43
76
 
44
77
  if (fileCount < MIN_FILE_COUNT) {
45
78
  console.error(`FAIL: Package has only ${fileCount} files, expected >= ${MIN_FILE_COUNT}.`);
@@ -9,7 +9,7 @@ O Codex hoje e alvo de primeira classe no SINAPSE:
9
9
 
10
10
  - `AGENTS.md` como contrato operacional do projeto no Codex
11
11
  - suporte oficial no installer/sync (`codex` em `ide-configs`)
12
- - skills nativas via `.codex/skills` com estrategia local-first
12
+ - skills nativas via `.agents/skills` com estrategia local-first e raiz unica
13
13
  - pipeline canonico de greeting/ativacao compartilhado
14
14
  - validadores dedicados para detectar drift rapidamente
15
15
  - suporte a notify command e hooks de ferramenta em releases recentes do Codex CLI
@@ -44,7 +44,7 @@ Regra prática para iniciantes:
44
44
  ### Artefatos Codex no projeto
45
45
 
46
46
  - Agentes auxiliares: `.codex/agents/`
47
- - Skills locais: `.codex/skills/sinapse-*/SKILL.md`
47
+ - Skills locais: `.agents/skills/sinapse-*/SKILL.md`
48
48
 
49
49
  ## Fluxo Operacional Recomendado
50
50
 
@@ -65,8 +65,8 @@ Fallback: atalhos definidos em `AGENTS.md` (`@architect`, `/architect`, etc.).
65
65
 
66
66
  Este repositorio usa local-first para skills:
67
67
 
68
- - preferir `.codex/skills` versionado no projeto
69
- - evitar duplicar com `~/.codex/skills`
68
+ - preferir `.agents/skills` versionado no projeto
69
+ - nao gerar espelhos SINAPSE em `.codex/skills` ou `~/.codex/skills`
70
70
  - usar `npm run sync:skills:codex:global` apenas quando quiser instalacao global explicitamente
71
71
 
72
72
  Isso evita menu duplicado no `/skills` e reduz drift entre equipe/CI.
@@ -97,7 +97,7 @@ Criterio de sucesso:
97
97
 
98
98
  - `AGENTS.md` presente e coerente
99
99
  - `.codex/agents/*.md` existente
100
- - `.codex/skills/sinapse-*/SKILL.md` existente
100
+ - `.agents/skills/sinapse-*/SKILL.md` existente
101
101
  - validadores sem erro
102
102
 
103
103
  ## Recursos Recentes do Codex (SINAPSE 4.0)
@@ -130,7 +130,7 @@ Mitigacao operacional no SINAPSE:
130
130
  ### Skills duplicadas no `/skills`
131
131
 
132
132
  Causa tipica:
133
- - artefatos duplicados entre `.codex/skills` e `~/.codex/skills`
133
+ - artefatos SINAPSE duplicados entre raizes de skills descobertas pelo Codex
134
134
 
135
135
  Correcao:
136
136
  - manter local-first neste repo
@@ -168,4 +168,3 @@ Se houver divergencia entre estes documentos, a ordem de verdade para operacao d
168
168
  2. scripts reais em `package.json`
169
169
  3. este documento
170
170
  4. docs de overview
171
-