sinapse-ai 1.23.0 → 1.25.0

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 (499) hide show
  1. package/.agents/skills/sinapse/SKILL.md +10 -0
  2. package/.agents/skills/sinapse-agent/SKILL.md +22 -0
  3. package/.agents/skills/sinapse-analyst/SKILL.md +29 -0
  4. package/.agents/skills/sinapse-animations/SKILL.md +28 -0
  5. package/.agents/skills/sinapse-architect/SKILL.md +31 -0
  6. package/.agents/skills/sinapse-brand/SKILL.md +28 -0
  7. package/.agents/skills/sinapse-claude/SKILL.md +28 -0
  8. package/.agents/skills/sinapse-cloning/SKILL.md +28 -0
  9. package/.agents/skills/sinapse-commercial/SKILL.md +28 -0
  10. package/.agents/skills/sinapse-content/SKILL.md +28 -0
  11. package/.agents/skills/sinapse-copy/SKILL.md +28 -0
  12. package/.agents/skills/sinapse-council/SKILL.md +28 -0
  13. package/.agents/skills/sinapse-courses/SKILL.md +28 -0
  14. package/.agents/skills/sinapse-cyber/SKILL.md +28 -0
  15. package/.agents/skills/sinapse-data-engineer/SKILL.md +31 -0
  16. package/.agents/skills/sinapse-design/SKILL.md +28 -0
  17. package/.agents/skills/sinapse-dev/SKILL.md +31 -0
  18. package/.agents/skills/sinapse-devops/SKILL.md +31 -0
  19. package/.agents/skills/sinapse-finance/SKILL.md +28 -0
  20. package/.agents/skills/sinapse-growth/SKILL.md +28 -0
  21. package/.agents/skills/sinapse-loop/SKILL.md +35 -0
  22. package/.agents/skills/sinapse-orqx/SKILL.md +44 -0
  23. package/.agents/skills/sinapse-paidmedia/SKILL.md +28 -0
  24. package/.agents/skills/sinapse-pm/SKILL.md +31 -0
  25. package/.agents/skills/sinapse-po/SKILL.md +31 -0
  26. package/.agents/skills/sinapse-product/SKILL.md +28 -0
  27. package/.agents/skills/sinapse-qa/SKILL.md +31 -0
  28. package/.agents/skills/sinapse-research/SKILL.md +28 -0
  29. package/.agents/skills/sinapse-sm/SKILL.md +27 -0
  30. package/.agents/skills/sinapse-spec-driven/SKILL.md +35 -0
  31. package/.agents/skills/sinapse-squad-creator/SKILL.md +31 -0
  32. package/.agents/skills/sinapse-storytelling/SKILL.md +28 -0
  33. package/.agents/skills/sinapse-swarm/SKILL.md +28 -0
  34. package/.agents/skills/sinapse-ux-design-expert/SKILL.md +24 -0
  35. package/.agents/skills/snps/SKILL.md +10 -0
  36. package/.agents/skills/snps-orqx/SKILL.md +10 -0
  37. package/.claude/agents/README.md +67 -0
  38. package/.claude/agents/sinapse-ad-copywriter.md +14 -0
  39. package/.claude/agents/sinapse-agent-forger.md +14 -0
  40. package/.claude/agents/sinapse-analyst.md +14 -0
  41. package/.claude/agents/sinapse-animation-interpreter.md +14 -0
  42. package/.claude/agents/sinapse-animation-performance-engineer.md +14 -0
  43. package/.claude/agents/sinapse-animations-orqx.md +14 -0
  44. package/.claude/agents/sinapse-architect.md +14 -0
  45. package/.claude/agents/sinapse-assessment-creator.md +14 -0
  46. package/.claude/agents/sinapse-audience-intelligence.md +14 -0
  47. package/.claude/agents/sinapse-blake-snyder.md +14 -0
  48. package/.claude/agents/sinapse-brand-archetype-strategist.md +14 -0
  49. package/.claude/agents/sinapse-brand-auditor.md +14 -0
  50. package/.claude/agents/sinapse-brand-collateral-designer.md +14 -0
  51. package/.claude/agents/sinapse-brand-compiler.md +14 -0
  52. package/.claude/agents/sinapse-brand-creative-engineer.md +14 -0
  53. package/.claude/agents/sinapse-brand-culture-architect.md +14 -0
  54. package/.claude/agents/sinapse-brand-growth-strategist.md +14 -0
  55. package/.claude/agents/sinapse-brand-identity-designer.md +14 -0
  56. package/.claude/agents/sinapse-brand-motion-vfx.md +14 -0
  57. package/.claude/agents/sinapse-brand-naming-specialist.md +14 -0
  58. package/.claude/agents/sinapse-brand-orqx.md +14 -0
  59. package/.claude/agents/sinapse-brand-positioning-strategist.md +14 -0
  60. package/.claude/agents/sinapse-brand-sonic-designer.md +14 -0
  61. package/.claude/agents/sinapse-brand-strategist.md +14 -0
  62. package/.claude/agents/sinapse-brand-system-architect.md +14 -0
  63. package/.claude/agents/sinapse-brand-voice-writer.md +14 -0
  64. package/.claude/agents/sinapse-brene-brown.md +14 -0
  65. package/.claude/agents/sinapse-budget-controller.md +14 -0
  66. package/.claude/agents/sinapse-campaign-analyst.md +14 -0
  67. package/.claude/agents/sinapse-charlie-munger.md +14 -0
  68. package/.claude/agents/sinapse-claude-mastery-chief.md +14 -0
  69. package/.claude/agents/sinapse-cloning-orqx.md +14 -0
  70. package/.claude/agents/sinapse-cloud-security-engineer.md +14 -0
  71. package/.claude/agents/sinapse-cognitive-extractor.md +14 -0
  72. package/.claude/agents/sinapse-commercial-orqx.md +14 -0
  73. package/.claude/agents/sinapse-competitive-intelligence.md +14 -0
  74. package/.claude/agents/sinapse-compliance-officer.md +14 -0
  75. package/.claude/agents/sinapse-config-engineer.md +14 -0
  76. package/.claude/agents/sinapse-content-analyst.md +14 -0
  77. package/.claude/agents/sinapse-content-capturer.md +14 -0
  78. package/.claude/agents/sinapse-content-engineer.md +14 -0
  79. package/.claude/agents/sinapse-content-governor.md +14 -0
  80. package/.claude/agents/sinapse-content-orqx.md +14 -0
  81. package/.claude/agents/sinapse-content-writer.md +14 -0
  82. package/.claude/agents/sinapse-conversion-writer.md +14 -0
  83. package/.claude/agents/sinapse-copy-editor.md +14 -0
  84. package/.claude/agents/sinapse-copy-orqx.md +14 -0
  85. package/.claude/agents/sinapse-copy-strategist.md +14 -0
  86. package/.claude/agents/sinapse-cost-optimizer.md +14 -0
  87. package/.claude/agents/sinapse-council-orqx.md +14 -0
  88. package/.claude/agents/sinapse-courses-orqx.md +14 -0
  89. package/.claude/agents/sinapse-creative-strategist.md +14 -0
  90. package/.claude/agents/sinapse-cro-persuasion.md +14 -0
  91. package/.claude/agents/sinapse-cro-specialist.md +14 -0
  92. package/.claude/agents/sinapse-cs-business-auditor.md +14 -0
  93. package/.claude/agents/sinapse-cs-client-success.md +14 -0
  94. package/.claude/agents/sinapse-cs-crm-specialist.md +14 -0
  95. package/.claude/agents/sinapse-cs-funnel-architect.md +14 -0
  96. package/.claude/agents/sinapse-cs-lead-generation-strategist.md +14 -0
  97. package/.claude/agents/sinapse-cs-offer-designer.md +14 -0
  98. package/.claude/agents/sinapse-cs-revops-analyst.md +14 -0
  99. package/.claude/agents/sinapse-cs-sales-closer.md +14 -0
  100. package/.claude/agents/sinapse-cs-sales-enablement.md +14 -0
  101. package/.claude/agents/sinapse-css-motion-artist.md +14 -0
  102. package/.claude/agents/sinapse-curriculum-designer.md +14 -0
  103. package/.claude/agents/sinapse-cyber-orqx.md +14 -0
  104. package/.claude/agents/sinapse-dan-harmon.md +14 -0
  105. package/.claude/agents/sinapse-data-engineer.md +14 -0
  106. package/.claude/agents/sinapse-data-synthesizer.md +14 -0
  107. package/.claude/agents/sinapse-deep-researcher.md +14 -0
  108. package/.claude/agents/sinapse-derek-sivers.md +14 -0
  109. package/.claude/agents/sinapse-design-orqx.md +14 -0
  110. package/.claude/agents/sinapse-design-system.md +14 -0
  111. package/.claude/agents/sinapse-developer.md +14 -0
  112. package/.claude/agents/sinapse-devops.md +14 -0
  113. package/.claude/agents/sinapse-direct-response-writer.md +14 -0
  114. package/.claude/agents/sinapse-dx-accessibility-specialist.md +14 -0
  115. package/.claude/agents/sinapse-dx-design-system-architect.md +14 -0
  116. package/.claude/agents/sinapse-dx-frontend-engineer.md +14 -0
  117. package/.claude/agents/sinapse-dx-interaction-designer.md +14 -0
  118. package/.claude/agents/sinapse-dx-performance-engineer.md +14 -0
  119. package/.claude/agents/sinapse-dx-ui-designer.md +14 -0
  120. package/.claude/agents/sinapse-dx-ux-strategist.md +14 -0
  121. package/.claude/agents/sinapse-editorial-strategist.md +14 -0
  122. package/.claude/agents/sinapse-email-sequence-strategist.md +14 -0
  123. package/.claude/agents/sinapse-finance-orqx.md +14 -0
  124. package/.claude/agents/sinapse-fiscal-compliance-br.md +14 -0
  125. package/.claude/agents/sinapse-forecast-strategist.md +14 -0
  126. package/.claude/agents/sinapse-funnel-copywriter.md +14 -0
  127. package/.claude/agents/sinapse-ga-analytics-engineer.md +14 -0
  128. package/.claude/agents/sinapse-ga-campaign-analyst.md +14 -0
  129. package/.claude/agents/sinapse-ga-cro-specialist.md +14 -0
  130. package/.claude/agents/sinapse-ga-data-analyst.md +14 -0
  131. package/.claude/agents/sinapse-ga-growth-hacker.md +14 -0
  132. package/.claude/agents/sinapse-ga-seo-strategist.md +14 -0
  133. package/.claude/agents/sinapse-generative-particle-engineer.md +14 -0
  134. package/.claude/agents/sinapse-google-ads-specialist.md +14 -0
  135. package/.claude/agents/sinapse-growth-orqx.md +14 -0
  136. package/.claude/agents/sinapse-headline-specialist.md +14 -0
  137. package/.claude/agents/sinapse-hooks-architect.md +14 -0
  138. package/.claude/agents/sinapse-incident-responder.md +14 -0
  139. package/.claude/agents/sinapse-joseph-campbell.md +14 -0
  140. package/.claude/agents/sinapse-kb-architect.md +14 -0
  141. package/.claude/agents/sinapse-keith-johnstone.md +14 -0
  142. package/.claude/agents/sinapse-kindra-hall.md +14 -0
  143. package/.claude/agents/sinapse-launch-strategist.md +14 -0
  144. package/.claude/agents/sinapse-lesson-architect.md +14 -0
  145. package/.claude/agents/sinapse-long-form-writer.md +14 -0
  146. package/.claude/agents/sinapse-market-analyst.md +14 -0
  147. package/.claude/agents/sinapse-marshall-ganz.md +14 -0
  148. package/.claude/agents/sinapse-mcp-integrator.md +14 -0
  149. package/.claude/agents/sinapse-meta-ads-specialist.md +14 -0
  150. package/.claude/agents/sinapse-mind-synthesizer.md +14 -0
  151. package/.claude/agents/sinapse-motion-choreographer.md +14 -0
  152. package/.claude/agents/sinapse-nancy-duarte.md +14 -0
  153. package/.claude/agents/sinapse-naval-ravikant.md +14 -0
  154. package/.claude/agents/sinapse-network-security-engineer.md +14 -0
  155. package/.claude/agents/sinapse-oren-klaff.md +14 -0
  156. package/.claude/agents/sinapse-paidmedia-orqx.md +14 -0
  157. package/.claude/agents/sinapse-park-howell.md +14 -0
  158. package/.claude/agents/sinapse-patrick-lencioni.md +14 -0
  159. package/.claude/agents/sinapse-penetration-tester.md +14 -0
  160. package/.claude/agents/sinapse-performance-engineer.md +14 -0
  161. package/.claude/agents/sinapse-persuasion-psychologist.md +14 -0
  162. package/.claude/agents/sinapse-peter-thiel.md +14 -0
  163. package/.claude/agents/sinapse-platform-aesthetic-director.md +14 -0
  164. package/.claude/agents/sinapse-platform-specialist.md +14 -0
  165. package/.claude/agents/sinapse-pm-creative-performance-analyst.md +14 -0
  166. package/.claude/agents/sinapse-pm-youtube-ads-specialist.md +14 -0
  167. package/.claude/agents/sinapse-premium-packaging-strategist.md +14 -0
  168. package/.claude/agents/sinapse-pricing-strategist.md +14 -0
  169. package/.claude/agents/sinapse-product-lead.md +14 -0
  170. package/.claude/agents/sinapse-product-orqx.md +14 -0
  171. package/.claude/agents/sinapse-product-surface-director.md +14 -0
  172. package/.claude/agents/sinapse-production-director.md +14 -0
  173. package/.claude/agents/sinapse-profitability-analyst.md +14 -0
  174. package/.claude/agents/sinapse-project-integrator.md +14 -0
  175. package/.claude/agents/sinapse-project-lead.md +14 -0
  176. package/.claude/agents/sinapse-proof-architect.md +14 -0
  177. package/.claude/agents/sinapse-ps-client-product-manager.md +14 -0
  178. package/.claude/agents/sinapse-ps-delivery-manager.md +14 -0
  179. package/.claude/agents/sinapse-ps-discovery-lead.md +14 -0
  180. package/.claude/agents/sinapse-ps-product-analyst.md +14 -0
  181. package/.claude/agents/sinapse-ps-product-ops-specialist.md +14 -0
  182. package/.claude/agents/sinapse-ps-product-strategist.md +14 -0
  183. package/.claude/agents/sinapse-quality-gate.md +14 -0
  184. package/.claude/agents/sinapse-ray-dalio.md +14 -0
  185. package/.claude/agents/sinapse-reid-hoffman.md +14 -0
  186. package/.claude/agents/sinapse-research-orqx.md +14 -0
  187. package/.claude/agents/sinapse-revenue-analyst.md +14 -0
  188. package/.claude/agents/sinapse-roadmap-sentinel.md +14 -0
  189. package/.claude/agents/sinapse-scroll-narrative-engineer.md +14 -0
  190. package/.claude/agents/sinapse-shader-artist.md +14 -0
  191. package/.claude/agents/sinapse-signal-intelligence.md +14 -0
  192. package/.claude/agents/sinapse-simon-sinek.md +14 -0
  193. package/.claude/agents/sinapse-skill-craftsman.md +14 -0
  194. package/.claude/agents/sinapse-slide-designer.md +14 -0
  195. package/.claude/agents/sinapse-snps-orqx.md +14 -0
  196. package/.claude/agents/sinapse-soc-analyst.md +14 -0
  197. package/.claude/agents/sinapse-sop-extractor.md +14 -0
  198. package/.claude/agents/sinapse-source-hunter.md +14 -0
  199. package/.claude/agents/sinapse-sprint-lead.md +14 -0
  200. package/.claude/agents/sinapse-squad-assembler.md +14 -0
  201. package/.claude/agents/sinapse-squad-creator.md +14 -0
  202. package/.claude/agents/sinapse-storytelling-orqx.md +14 -0
  203. package/.claude/agents/sinapse-swarm-orqx.md +14 -0
  204. package/.claude/agents/sinapse-threat-analyst.md +14 -0
  205. package/.claude/agents/sinapse-threejs-architect.md +14 -0
  206. package/.claude/agents/sinapse-trend-forecaster.md +14 -0
  207. package/.claude/agents/sinapse-ux-design-expert.md +14 -0
  208. package/.claude/agents/sinapse-ux-designer.md +14 -0
  209. package/.claude/agents/sinapse-yvon-chouinard.md +14 -0
  210. package/.claude/rules/mandatory-delegation-reference.md +1 -1
  211. package/.claude/rules/mandatory-delegation.md +1 -1
  212. package/.claude/rules/software-engineering-applicability.md +13 -0
  213. package/.claude/rules/squad-awareness.md +1 -1
  214. package/.claude/rules/token-economy.md +1 -1
  215. package/.claude/skill-manifest.json +41 -0
  216. package/.claude/skills/api-review.md +50 -0
  217. package/.claude/skills/component-check.md +47 -0
  218. package/.claude/skills/db-review.md +41 -0
  219. package/.claude/skills/sinapse/SKILL.md +11 -0
  220. package/.claude/skills/sinapse-agent/SKILL.md +11 -0
  221. package/.claude/skills/sinapse-analyst/SKILL.md +11 -0
  222. package/.claude/skills/sinapse-animations/SKILL.md +11 -0
  223. package/.claude/skills/sinapse-architect/SKILL.md +11 -0
  224. package/.claude/skills/sinapse-brand/SKILL.md +11 -0
  225. package/.claude/skills/sinapse-claude/SKILL.md +11 -0
  226. package/.claude/skills/sinapse-cloning/SKILL.md +11 -0
  227. package/.claude/skills/sinapse-commercial/SKILL.md +11 -0
  228. package/.claude/skills/sinapse-content/SKILL.md +11 -0
  229. package/.claude/skills/sinapse-copy/SKILL.md +11 -0
  230. package/.claude/skills/sinapse-council/SKILL.md +11 -0
  231. package/.claude/skills/sinapse-courses/SKILL.md +11 -0
  232. package/.claude/skills/sinapse-cyber/SKILL.md +11 -0
  233. package/.claude/skills/sinapse-data-engineer/SKILL.md +11 -0
  234. package/.claude/skills/sinapse-design/SKILL.md +11 -0
  235. package/.claude/skills/sinapse-dev/SKILL.md +11 -0
  236. package/.claude/skills/sinapse-devops/SKILL.md +11 -0
  237. package/.claude/skills/sinapse-finance/SKILL.md +11 -0
  238. package/.claude/skills/sinapse-growth/SKILL.md +11 -0
  239. package/.claude/skills/sinapse-loop/SKILL.md +11 -0
  240. package/.claude/skills/sinapse-orqx/SKILL.md +11 -0
  241. package/.claude/skills/sinapse-paidmedia/SKILL.md +11 -0
  242. package/.claude/skills/sinapse-pm/SKILL.md +11 -0
  243. package/.claude/skills/sinapse-po/SKILL.md +11 -0
  244. package/.claude/skills/sinapse-product/SKILL.md +11 -0
  245. package/.claude/skills/sinapse-qa/SKILL.md +11 -0
  246. package/.claude/skills/sinapse-research/SKILL.md +11 -0
  247. package/.claude/skills/sinapse-sm/SKILL.md +11 -0
  248. package/.claude/skills/sinapse-spec-driven/SKILL.md +11 -0
  249. package/.claude/skills/sinapse-squad-creator/SKILL.md +11 -0
  250. package/.claude/skills/sinapse-storytelling/SKILL.md +11 -0
  251. package/.claude/skills/sinapse-swarm/SKILL.md +11 -0
  252. package/.claude/skills/sinapse-ux-design-expert/SKILL.md +11 -0
  253. package/.claude/skills/snps/SKILL.md +11 -0
  254. package/.claude/skills/snps-orqx/SKILL.md +11 -0
  255. package/.claude/skills/story-update.md +52 -0
  256. package/.claude/skills/test-guard.md +41 -0
  257. package/.codex/agents/ad-copywriter.toml +3 -0
  258. package/.codex/agents/agent-forger.toml +3 -0
  259. package/.codex/agents/analyst.toml +3 -0
  260. package/.codex/agents/animation-interpreter.toml +3 -0
  261. package/.codex/agents/animation-performance-engineer.toml +3 -0
  262. package/.codex/agents/animations-orqx.toml +3 -0
  263. package/.codex/agents/architect.toml +3 -0
  264. package/.codex/agents/assessment-creator.toml +3 -0
  265. package/.codex/agents/audience-intelligence.toml +3 -0
  266. package/.codex/agents/blake-snyder.toml +3 -0
  267. package/.codex/agents/brand-archetype-strategist.toml +3 -0
  268. package/.codex/agents/brand-auditor.toml +3 -0
  269. package/.codex/agents/brand-collateral-designer.toml +3 -0
  270. package/.codex/agents/brand-compiler.toml +3 -0
  271. package/.codex/agents/brand-creative-engineer.toml +3 -0
  272. package/.codex/agents/brand-culture-architect.toml +3 -0
  273. package/.codex/agents/brand-growth-strategist.toml +3 -0
  274. package/.codex/agents/brand-identity-designer.toml +3 -0
  275. package/.codex/agents/brand-motion-vfx.toml +3 -0
  276. package/.codex/agents/brand-naming-specialist.toml +3 -0
  277. package/.codex/agents/brand-orqx.toml +3 -0
  278. package/.codex/agents/brand-positioning-strategist.toml +3 -0
  279. package/.codex/agents/brand-sonic-designer.toml +3 -0
  280. package/.codex/agents/brand-strategist.toml +3 -0
  281. package/.codex/agents/brand-system-architect.toml +3 -0
  282. package/.codex/agents/brand-voice-writer.toml +3 -0
  283. package/.codex/agents/brene-brown.toml +3 -0
  284. package/.codex/agents/budget-controller.toml +3 -0
  285. package/.codex/agents/campaign-analyst.toml +3 -0
  286. package/.codex/agents/charlie-munger.toml +3 -0
  287. package/.codex/agents/claude-mastery-chief.toml +3 -0
  288. package/.codex/agents/cloning-orqx.toml +3 -0
  289. package/.codex/agents/cloud-security-engineer.toml +3 -0
  290. package/.codex/agents/cognitive-extractor.toml +3 -0
  291. package/.codex/agents/commercial-orqx.toml +3 -0
  292. package/.codex/agents/competitive-intelligence.toml +3 -0
  293. package/.codex/agents/compliance-officer.toml +3 -0
  294. package/.codex/agents/config-engineer.toml +3 -0
  295. package/.codex/agents/content-analyst.toml +3 -0
  296. package/.codex/agents/content-capturer.toml +3 -0
  297. package/.codex/agents/content-engineer.toml +3 -0
  298. package/.codex/agents/content-governor.toml +3 -0
  299. package/.codex/agents/content-orqx.toml +3 -0
  300. package/.codex/agents/content-writer.toml +3 -0
  301. package/.codex/agents/conversion-writer.toml +3 -0
  302. package/.codex/agents/copy-editor.toml +3 -0
  303. package/.codex/agents/copy-orqx.toml +3 -0
  304. package/.codex/agents/copy-strategist.toml +3 -0
  305. package/.codex/agents/cost-optimizer.toml +3 -0
  306. package/.codex/agents/council-orqx.toml +3 -0
  307. package/.codex/agents/courses-orqx.toml +3 -0
  308. package/.codex/agents/creative-strategist.toml +3 -0
  309. package/.codex/agents/cro-persuasion.toml +3 -0
  310. package/.codex/agents/cro-specialist.toml +3 -0
  311. package/.codex/agents/cs-business-auditor.toml +3 -0
  312. package/.codex/agents/cs-client-success.toml +3 -0
  313. package/.codex/agents/cs-crm-specialist.toml +3 -0
  314. package/.codex/agents/cs-funnel-architect.toml +3 -0
  315. package/.codex/agents/cs-lead-generation-strategist.toml +3 -0
  316. package/.codex/agents/cs-offer-designer.toml +3 -0
  317. package/.codex/agents/cs-revops-analyst.toml +3 -0
  318. package/.codex/agents/cs-sales-closer.toml +3 -0
  319. package/.codex/agents/cs-sales-enablement.toml +3 -0
  320. package/.codex/agents/css-motion-artist.toml +3 -0
  321. package/.codex/agents/curriculum-designer.toml +3 -0
  322. package/.codex/agents/cyber-orqx.toml +3 -0
  323. package/.codex/agents/dan-harmon.toml +3 -0
  324. package/.codex/agents/data-engineer.toml +3 -0
  325. package/.codex/agents/data-synthesizer.toml +3 -0
  326. package/.codex/agents/deep-researcher.toml +3 -0
  327. package/.codex/agents/derek-sivers.toml +3 -0
  328. package/.codex/agents/design-orqx.toml +3 -0
  329. package/.codex/agents/design-system.toml +3 -0
  330. package/.codex/agents/developer.toml +3 -0
  331. package/.codex/agents/devops.toml +3 -0
  332. package/.codex/agents/direct-response-writer.toml +3 -0
  333. package/.codex/agents/dx-accessibility-specialist.toml +3 -0
  334. package/.codex/agents/dx-design-system-architect.toml +3 -0
  335. package/.codex/agents/dx-frontend-engineer.toml +3 -0
  336. package/.codex/agents/dx-interaction-designer.toml +3 -0
  337. package/.codex/agents/dx-performance-engineer.toml +3 -0
  338. package/.codex/agents/dx-ui-designer.toml +3 -0
  339. package/.codex/agents/dx-ux-strategist.toml +3 -0
  340. package/.codex/agents/editorial-strategist.toml +3 -0
  341. package/.codex/agents/email-sequence-strategist.toml +3 -0
  342. package/.codex/agents/finance-orqx.toml +3 -0
  343. package/.codex/agents/fiscal-compliance-br.toml +3 -0
  344. package/.codex/agents/forecast-strategist.toml +3 -0
  345. package/.codex/agents/funnel-copywriter.toml +3 -0
  346. package/.codex/agents/ga-analytics-engineer.toml +3 -0
  347. package/.codex/agents/ga-campaign-analyst.toml +3 -0
  348. package/.codex/agents/ga-cro-specialist.toml +3 -0
  349. package/.codex/agents/ga-data-analyst.toml +3 -0
  350. package/.codex/agents/ga-growth-hacker.toml +3 -0
  351. package/.codex/agents/ga-seo-strategist.toml +3 -0
  352. package/.codex/agents/generative-particle-engineer.toml +3 -0
  353. package/.codex/agents/google-ads-specialist.toml +3 -0
  354. package/.codex/agents/growth-orqx.toml +3 -0
  355. package/.codex/agents/headline-specialist.toml +3 -0
  356. package/.codex/agents/hooks-architect.toml +3 -0
  357. package/.codex/agents/incident-responder.toml +3 -0
  358. package/.codex/agents/joseph-campbell.toml +3 -0
  359. package/.codex/agents/kb-architect.toml +3 -0
  360. package/.codex/agents/keith-johnstone.toml +3 -0
  361. package/.codex/agents/kindra-hall.toml +3 -0
  362. package/.codex/agents/launch-strategist.toml +3 -0
  363. package/.codex/agents/lesson-architect.toml +3 -0
  364. package/.codex/agents/long-form-writer.toml +3 -0
  365. package/.codex/agents/market-analyst.toml +3 -0
  366. package/.codex/agents/marshall-ganz.toml +3 -0
  367. package/.codex/agents/mcp-integrator.toml +3 -0
  368. package/.codex/agents/meta-ads-specialist.toml +3 -0
  369. package/.codex/agents/mind-synthesizer.toml +3 -0
  370. package/.codex/agents/motion-choreographer.toml +3 -0
  371. package/.codex/agents/nancy-duarte.toml +3 -0
  372. package/.codex/agents/naval-ravikant.toml +3 -0
  373. package/.codex/agents/network-security-engineer.toml +3 -0
  374. package/.codex/agents/oren-klaff.toml +3 -0
  375. package/.codex/agents/paidmedia-orqx.toml +3 -0
  376. package/.codex/agents/park-howell.toml +3 -0
  377. package/.codex/agents/patrick-lencioni.toml +3 -0
  378. package/.codex/agents/penetration-tester.toml +3 -0
  379. package/.codex/agents/performance-engineer.toml +3 -0
  380. package/.codex/agents/persuasion-psychologist.toml +3 -0
  381. package/.codex/agents/peter-thiel.toml +3 -0
  382. package/.codex/agents/platform-aesthetic-director.toml +3 -0
  383. package/.codex/agents/platform-specialist.toml +3 -0
  384. package/.codex/agents/pm-creative-performance-analyst.toml +3 -0
  385. package/.codex/agents/pm-youtube-ads-specialist.toml +3 -0
  386. package/.codex/agents/premium-packaging-strategist.toml +3 -0
  387. package/.codex/agents/pricing-strategist.toml +3 -0
  388. package/.codex/agents/product-lead.toml +3 -0
  389. package/.codex/agents/product-orqx.toml +3 -0
  390. package/.codex/agents/product-surface-director.toml +3 -0
  391. package/.codex/agents/production-director.toml +3 -0
  392. package/.codex/agents/profitability-analyst.toml +3 -0
  393. package/.codex/agents/project-integrator.toml +3 -0
  394. package/.codex/agents/project-lead.toml +3 -0
  395. package/.codex/agents/proof-architect.toml +3 -0
  396. package/.codex/agents/ps-client-product-manager.toml +3 -0
  397. package/.codex/agents/ps-delivery-manager.toml +3 -0
  398. package/.codex/agents/ps-discovery-lead.toml +3 -0
  399. package/.codex/agents/ps-product-analyst.toml +3 -0
  400. package/.codex/agents/ps-product-ops-specialist.toml +3 -0
  401. package/.codex/agents/ps-product-strategist.toml +3 -0
  402. package/.codex/agents/quality-gate.toml +3 -0
  403. package/.codex/agents/ray-dalio.toml +3 -0
  404. package/.codex/agents/reid-hoffman.toml +3 -0
  405. package/.codex/agents/research-orqx.toml +3 -0
  406. package/.codex/agents/revenue-analyst.toml +3 -0
  407. package/.codex/agents/roadmap-sentinel.toml +3 -0
  408. package/.codex/agents/scroll-narrative-engineer.toml +3 -0
  409. package/.codex/agents/shader-artist.toml +3 -0
  410. package/.codex/agents/signal-intelligence.toml +3 -0
  411. package/.codex/agents/simon-sinek.toml +3 -0
  412. package/.codex/agents/skill-craftsman.toml +3 -0
  413. package/.codex/agents/slide-designer.toml +3 -0
  414. package/.codex/agents/snps-orqx.toml +3 -0
  415. package/.codex/agents/soc-analyst.toml +3 -0
  416. package/.codex/agents/sop-extractor.toml +3 -0
  417. package/.codex/agents/source-hunter.toml +3 -0
  418. package/.codex/agents/sprint-lead.toml +3 -0
  419. package/.codex/agents/squad-assembler.toml +3 -0
  420. package/.codex/agents/squad-creator.toml +3 -0
  421. package/.codex/agents/storytelling-orqx.toml +3 -0
  422. package/.codex/agents/swarm-orqx.toml +3 -0
  423. package/.codex/agents/threat-analyst.toml +3 -0
  424. package/.codex/agents/threejs-architect.toml +3 -0
  425. package/.codex/agents/trend-forecaster.toml +3 -0
  426. package/.codex/agents/ux-design-expert.toml +3 -0
  427. package/.codex/agents/ux-designer.toml +3 -0
  428. package/.codex/agents/yvon-chouinard.toml +3 -0
  429. package/.codex/catalog.json +19 -4
  430. package/.codex/command-registry.json +94 -0
  431. package/.codex/config.toml +8 -0
  432. package/.codex/delegation-matrix.json +39 -25
  433. package/.codex/delegation-parity.json +46 -41
  434. package/.codex/hooks/claude-compat.cjs +547 -0
  435. package/.codex/hooks.json +123 -0
  436. package/.codex/scripts/resolve-codex-agent.js +30 -1
  437. package/.codex/scripts/resolve-codex-workflow.js +283 -0
  438. package/.codex/scripts/sinapse-codex.js +309 -0
  439. package/.codex/scripts/sync-codex-native.js +614 -0
  440. package/.codex/scripts/validate-codex-native.js +287 -0
  441. package/.codex/skills/react-bits-frontend/SKILL.md +66 -0
  442. package/.codex/skills/react-bits-frontend/agents/openai.yaml +4 -0
  443. package/.codex/skills/react-bits-frontend/references/corpus-map.md +29 -0
  444. package/.codex/skills/sinapse/SKILL.md +10 -0
  445. package/.codex/skills/sinapse-agent/SKILL.md +22 -0
  446. package/.codex/skills/sinapse-claude/SKILL.md +1 -1
  447. package/.codex/skills/sinapse-loop/SKILL.md +35 -0
  448. package/.codex/skills/sinapse-orqx/SKILL.md +33 -14
  449. package/.codex/skills/sinapse-spec-driven/SKILL.md +35 -0
  450. package/.codex/skills/snps/SKILL.md +10 -0
  451. package/.codex/skills/snps-orqx/SKILL.md +10 -0
  452. package/.sinapse-ai/data/entity-registry.yaml +57 -31
  453. package/.sinapse-ai/development/agents/snps-orqx.md +14 -1
  454. package/.sinapse-ai/install-manifest.yaml +16 -12
  455. package/.sinapse-ai/product/templates/statusline/agent-badges.json +37 -37
  456. package/.sinapse-ai/product/templates/statusline/track-agent-clear.cjs +22 -3
  457. package/.sinapse-ai/product/templates/statusline/track-agent.cjs +94 -7
  458. package/.sinapse-ai/product/templates/statusline/track-delegation.cjs +162 -0
  459. package/AGENTS.md +5 -4
  460. package/CHANGELOG.md +38 -2
  461. package/README.en.md +1 -1
  462. package/README.md +25 -10
  463. package/bin/commands/install.js +56 -41
  464. package/bin/commands/uninstall.js +57 -4
  465. package/bin/commands/update.js +32 -21
  466. package/bin/lib/command-generator.js +25 -3
  467. package/bin/lib/global-provider-adapters.js +136 -0
  468. package/bin/lib/setup-statusline.js +43 -12
  469. package/bin/utils/validate-publish.js +43 -10
  470. package/docs/framework/codex-parity/codex-native-runtime-v2.md +230 -0
  471. package/docs/framework/codex-parity/codex-workflow-task-parity.md +21 -7
  472. package/docs/framework/react-bits/animations.md +49 -0
  473. package/docs/framework/react-bits/audit-findings.md +103 -0
  474. package/docs/framework/react-bits/backgrounds.md +63 -0
  475. package/docs/framework/react-bits/catalog-summary.json +61 -0
  476. package/docs/framework/react-bits/components.md +58 -0
  477. package/docs/framework/react-bits/implementation-playbook.md +161 -0
  478. package/docs/framework/react-bits/index.md +130 -0
  479. package/docs/framework/react-bits/inventory.json +9333 -0
  480. package/docs/framework/react-bits/text-animations.md +41 -0
  481. package/docs/framework/software-engineering-applicability.md +31 -0
  482. package/docs/getting-started.md +6 -2
  483. package/docs/installation/README.md +2 -2
  484. package/package.json +18 -5
  485. package/packages/engineering-applicability/fixtures.json +52 -0
  486. package/packages/engineering-applicability/index.js +150 -0
  487. package/packages/installer/src/installer/sinapse-ai-installer.js +87 -2
  488. package/packages/installer/src/updater/index.js +34 -13
  489. package/packages/installer/src/wizard/feedback.js +1 -1
  490. package/packages/installer/src/wizard/ide-config-generator.js +26 -0
  491. package/packages/installer/src/wizard/index.js +101 -74
  492. package/scripts/gen-agent-badges.js +17 -1
  493. package/scripts/release-readiness.js +9 -3
  494. package/scripts/research/generate-react-bits-catalog.mjs +206 -0
  495. package/scripts/sync-provider-adapters.js +203 -0
  496. package/scripts/validate-provider-adapters.js +127 -0
  497. package/squads/squad-animations/knowledge-base/react-bits-operational-guide.md +43 -0
  498. package/squads/squad-animations/squad.yaml +10 -5
  499. package/squads/squad-animations/tasks/orchestrate-react-bits-frontend.md +60 -0
@@ -20,10 +20,11 @@ const fs = require('fs-extra');
20
20
  const path = require('path');
21
21
  const os = require('os');
22
22
  const https = require('https');
23
- const { execSync } = require('child_process');
23
+ const { execFileSync } = require('child_process');
24
24
  const { hashFile, hashesMatch } = require('../installer/file-hasher');
25
25
  const { PostInstallValidator, formatReport: formatValidationReport } = require('../installer/post-install-validator');
26
26
  const { _testing: { installGlobalAgents } } = require('../wizard/index');
27
+ const { installSinapseCore } = require('../installer/sinapse-ai-installer');
27
28
 
28
29
  /**
29
30
  * Update status types
@@ -601,20 +602,35 @@ class SINAPSEUpdater {
601
602
 
602
603
  try {
603
604
  // Use npm to update the package
604
- const cmd = `npm install sinapse-ai@${targetVersion} --save-exact`;
605
- this.log(`Running: ${cmd}`);
605
+ const packageSpec = `sinapse-ai@${targetVersion}`;
606
+ this.log(`Running: npm install ${packageSpec} --save-exact`);
606
607
 
607
- execSync(cmd, {
608
+ execFileSync(process.platform === 'win32' ? 'npm.cmd' : 'npm', ['install', packageSpec, '--save-exact'], {
608
609
  cwd: this.projectRoot,
609
610
  stdio: this.options.verbose ? 'inherit' : 'pipe',
610
611
  timeout: 120000, // 2 minutes
611
612
  });
612
613
 
613
- result.success = true;
614
- result.filesUpdated = 1; // At least package updated
614
+ const recordedProviders = Array.isArray(this.versionInfo?.providers)
615
+ ? this.versionInfo.providers
616
+ : [];
617
+ const includeClaude = recordedProviders.length > 0
618
+ ? recordedProviders.includes('claude-code')
619
+ : fs.existsSync(path.join(this.projectRoot, '.claude', 'skill-manifest.json'));
620
+ const includeCodex = recordedProviders.length > 0
621
+ ? recordedProviders.includes('codex')
622
+ : fs.existsSync(path.join(this.projectRoot, '.codex', 'catalog.json'))
623
+ && fs.existsSync(path.join(this.projectRoot, '.agents', 'skills', 'sinapse-agent', 'SKILL.md'));
624
+ const delivery = await installSinapseCore({
625
+ targetDir: this.projectRoot,
626
+ includeClaude,
627
+ includeCodex,
628
+ overwriteManagedAdapters: true,
629
+ });
630
+ if (!delivery.success) throw new Error(`Framework payload reconciliation failed: ${delivery.errors.join('; ')}`);
615
631
 
616
- // TODO: Copy new files from node_modules to .sinapse-ai
617
- // preserving customizedFiles
632
+ result.success = true;
633
+ result.filesUpdated = 1 + delivery.installedFiles.length;
618
634
 
619
635
  return result;
620
636
  } catch (error) {
@@ -637,6 +653,7 @@ class SINAPSEUpdater {
637
653
  installedAt: new Date().toISOString(),
638
654
  updatedAt: new Date().toISOString(),
639
655
  mode: this.versionInfo?.mode || 'project-development',
656
+ providers: Array.isArray(this.versionInfo?.providers) ? this.versionInfo.providers : [],
640
657
  fileHashes: {}, // Will be populated by file copy
641
658
  };
642
659
 
@@ -764,14 +781,14 @@ class SINAPSEUpdater {
764
781
  const installResult = await installGlobalAgents();
765
782
  result.installed = installResult.count;
766
783
  if (installResult.errors.length > 0) {
767
- console.log(` Agent install warnings: ${installResult.errors.join(', ')}`);
784
+ console.log(` Agent install warnings: ${sanitizeLogText(installResult.errors.join(', '))}`);
768
785
  }
769
786
 
770
787
  result.migrated = true;
771
788
  console.log(` v6 migration complete: ${result.removed} removed, ${result.installed} installed`);
772
789
  } catch (error) {
773
790
  // Migration errors should not block the update
774
- console.log(` v6 migration warning: ${error.message}`);
791
+ console.log(` v6 migration warning: ${sanitizeLogText(error.message)}`);
775
792
  }
776
793
 
777
794
  return result;
@@ -788,13 +805,17 @@ class SINAPSEUpdater {
788
805
  */
789
806
  log(message) {
790
807
  if (this.options.verbose) {
791
- // eslint-disable-next-line no-control-regex
792
- const sanitized = String(message).replace(/[\x00-\x08\x0B-\x1F\x7F]/g, '');
808
+ const sanitized = sanitizeLogText(message);
793
809
  console.log(`[SINAPSEUpdater] ${sanitized}`);
794
810
  }
795
811
  }
796
812
  }
797
813
 
814
+ function sanitizeLogText(value) {
815
+ // eslint-disable-next-line no-control-regex
816
+ return String(value).replace(/[\x00-\x1F\x7F\u2028\u2029]/g, ' ');
817
+ }
818
+
798
819
  /**
799
820
  * Format update check result for console
800
821
  *
@@ -920,5 +941,5 @@ module.exports = {
920
941
  FileAction,
921
942
  formatCheckResult,
922
943
  formatUpdateResult,
944
+ sanitizeLogText,
923
945
  };
924
-
@@ -22,7 +22,7 @@ const { t } = require('./i18n');
22
22
  * Do NOT inline these numbers elsewhere in this file — reference `ECOSYSTEM`
23
23
  * so there is exactly one place to update when `sync:counts` changes.
24
24
  */
25
- const ECOSYSTEM = Object.freeze({ squads: 17, agents: 172, tasks: '1,200' });
25
+ const ECOSYSTEM = Object.freeze({ squads: 17, agents: 172, tasks: '1,411' });
26
26
 
27
27
  /**
28
28
  * Create and start a spinner with SINAPSE styling
@@ -544,6 +544,9 @@ async function copyClaudeHooksFolder(projectRoot) {
544
544
  'enforce-story-gate.cjs',
545
545
  'doc-first-gate.cjs',
546
546
  'enforce-framework-boundary.cjs',
547
+ 'enforce-permission-mode.cjs',
548
+ 'enforce-nsn-guard.cjs',
549
+ 'verify-packages.cjs',
547
550
  'secret-scanning.cjs',
548
551
  'write-path-validation.cjs',
549
552
  // Frente 4.3 — DORA + OTel telemetry hooks (STREAM A)
@@ -619,6 +622,21 @@ const HOOK_EVENT_MAP = {
619
622
  matcher: 'Write|Edit',
620
623
  timeout: 5,
621
624
  },
625
+ 'enforce-permission-mode.cjs': {
626
+ event: 'PreToolUse',
627
+ matcher: 'Write|Edit|Bash',
628
+ timeout: 5,
629
+ },
630
+ 'enforce-nsn-guard.cjs': {
631
+ event: 'PreToolUse',
632
+ matcher: 'Write|Edit',
633
+ timeout: 5,
634
+ },
635
+ 'verify-packages.cjs': {
636
+ event: 'PreToolUse',
637
+ matcher: 'Bash',
638
+ timeout: 10,
639
+ },
622
640
  'write-path-validation.cjs': {
623
641
  event: 'PreToolUse',
624
642
  matcher: 'Write|Edit',
@@ -659,6 +677,14 @@ const HOOK_EVENT_MAP = {
659
677
  matcher: null,
660
678
  timeout: 10,
661
679
  },
680
+ // Delegation tracker — registers each real Task-tool delegation in the
681
+ // session-cache so auto-routed specialists surface in the badge context.
682
+ // Observer-only, fail-open (always exit 0).
683
+ 'track-delegation.cjs': {
684
+ event: 'PreToolUse',
685
+ matcher: 'Task',
686
+ timeout: 5,
687
+ },
662
688
  };
663
689
 
664
690
  /** Default event config for unmapped hooks (backwards compatible). */
@@ -88,6 +88,11 @@ async function writeClaudeSettings(language, projectDir = process.cwd()) {
88
88
  }
89
89
  }
90
90
 
91
+ async function writeProviderLanguageSettings({ selectedLLM, language, projectDir = process.cwd() }) {
92
+ if (!language || !shouldConfigureClaude(selectedLLM)) return false;
93
+ return writeClaudeSettings(language, projectDir);
94
+ }
95
+
91
96
  /** Detect system locale and return wizard language code. */
92
97
  function detectSystemLocale() {
93
98
  try {
@@ -285,6 +290,14 @@ function llmLabel(selectedLLM) {
285
290
  }
286
291
  }
287
292
 
293
+ function shouldConfigureClaude(selectedLLM) {
294
+ return selectedLLM === 'claude-code' || selectedLLM === 'both';
295
+ }
296
+
297
+ function shouldConfigureCodex(selectedLLM) {
298
+ return selectedLLM === 'codex' || selectedLLM === 'both';
299
+ }
300
+
288
301
  /**
289
302
  * 18 orqx agent definitions to install globally (17 squad orqx + 1 master).
290
303
  * Each entry maps agent-id to its squad directory name.
@@ -512,6 +525,7 @@ async function runWizard(options = {}) {
512
525
  sinapseCoreResult = await installSinapseCore({
513
526
  targetDir: process.cwd(),
514
527
  includeCodex: (answers.selectedLLM || 'claude-code') !== 'claude-code',
528
+ includeClaude: (answers.selectedLLM || 'claude-code') !== 'codex',
515
529
  onProgress: (_status) => {
516
530
  // Silent progress - spinner handles feedback
517
531
  },
@@ -557,7 +571,8 @@ async function runWizard(options = {}) {
557
571
 
558
572
  // Install global orqx agent definitions to ~/.claude/agents/ (only for Claude Code)
559
573
  const selectedLLM = answers.selectedLLM || 'claude-code';
560
- if (selectedLLM === 'claude-code' || selectedLLM === 'both') {
574
+ const targetProjectRoot = process.cwd();
575
+ if (shouldConfigureClaude(selectedLLM)) {
561
576
  console.log('\n🤖 ' + t('installingGlobalAgents'));
562
577
  try {
563
578
  const globalAgentsResult = await installGlobalAgents();
@@ -708,100 +723,106 @@ async function runWizard(options = {}) {
708
723
  // Legacy per-squad IDE copy path removed; sync pipeline handles IDE propagation.
709
724
  }
710
725
 
726
+ if (shouldConfigureClaude(selectedLLM)) {
711
727
  // Story INS-4.3: Wire settings.json boundary generator after .sinapse-ai/ copy
712
- console.log('\n🔒 ' + t('generatingBoundaryRules'));
713
- try {
714
- const settingsGenerator = require('../../../../.sinapse-ai/infrastructure/scripts/generate-settings-json');
715
- settingsGenerator.generate(process.cwd());
716
- const settingsContent = await fse.readFile(path.join(process.cwd(), '.claude', 'settings.json'), 'utf8').catch(() => '{}');
717
- const settingsParsed = JSON.parse(settingsContent);
718
- const denyCount = (settingsParsed.permissions && settingsParsed.permissions.deny) ? settingsParsed.permissions.deny.length : 0;
719
- console.log(`✅ settings.json: generated (${denyCount} deny rules)`);
720
- answers.settingsGenerated = true;
721
- answers.settingsDenyCount = denyCount;
722
- } catch (error) {
723
- console.warn(`⚠️ settings.json generation failed: ${error.message} — run 'sinapse doctor --fix' post-install`);
724
- answers.settingsGenerated = false;
725
- }
728
+ console.log('\n🔒 ' + t('generatingBoundaryRules'));
729
+ try {
730
+ const settingsGenerator = require('../../../../.sinapse-ai/infrastructure/scripts/generate-settings-json');
731
+ settingsGenerator.generate(process.cwd());
732
+ const settingsContent = await fse.readFile(path.join(process.cwd(), '.claude', 'settings.json'), 'utf8').catch(() => '{}');
733
+ const settingsParsed = JSON.parse(settingsContent);
734
+ const denyCount = (settingsParsed.permissions && settingsParsed.permissions.deny) ? settingsParsed.permissions.deny.length : 0;
735
+ console.log(`✅ settings.json: generated (${denyCount} deny rules)`);
736
+ answers.settingsGenerated = true;
737
+ answers.settingsDenyCount = denyCount;
738
+ } catch (error) {
739
+ console.warn(`⚠️ settings.json generation failed: ${error.message} — run 'sinapse doctor --fix' post-install`);
740
+ answers.settingsGenerated = false;
741
+ }
726
742
 
727
- // Story INS-4.3: Copy skills (Gap #11)
728
- console.log('\n📚 ' + t('copyingSkills'));
729
- try {
730
- const skillsResult = await copySkillFiles(process.cwd());
731
- if (skillsResult.skipped) {
732
- console.log(' ℹ️ Skills: source not found (skipped)');
733
- } else {
734
- console.log(`✅ Skills: ${skillsResult.count} copied`);
743
+ // Story INS-4.3: Copy skills (Gap #11)
744
+ console.log('\n📚 ' + t('copyingSkills'));
745
+ try {
746
+ const skillsResult = await copySkillFiles(process.cwd());
747
+ if (skillsResult.skipped) {
748
+ console.log(' ℹ️ Skills: source not found (skipped)');
749
+ } else {
750
+ console.log(`✅ Skills: ${skillsResult.count} copied`);
751
+ }
752
+ answers.skillsCopied = skillsResult.count;
753
+ answers.skillsSkipped = skillsResult.skipped;
754
+ } catch (error) {
755
+ console.warn(`⚠️ Skills copy failed: ${error.message}`);
756
+ answers.skillsCopied = 0;
735
757
  }
736
- answers.skillsCopied = skillsResult.count;
737
- answers.skillsSkipped = skillsResult.skipped;
738
- } catch (error) {
739
- console.warn(`⚠️ Skills copy failed: ${error.message}`);
740
- answers.skillsCopied = 0;
741
- }
742
758
 
743
- // Story INS-4.3: Copy extra commands (Gap #12)
744
- console.log('\n📋 ' + t('copyingExtraCommands'));
745
- try {
746
- const commandsResult = await copyExtraCommandFiles(process.cwd());
747
- if (commandsResult.skipped) {
748
- console.log(' ℹ️ Extra commands: source not found (skipped)');
749
- } else {
750
- console.log(`✅ Commands: ${commandsResult.count} extras copied`);
759
+ // Story INS-4.3: Copy extra commands (Gap #12)
760
+ console.log('\n📋 ' + t('copyingExtraCommands'));
761
+ try {
762
+ const commandsResult = await copyExtraCommandFiles(process.cwd());
763
+ if (commandsResult.skipped) {
764
+ console.log(' ℹ️ Extra commands: source not found (skipped)');
765
+ } else {
766
+ console.log(`✅ Commands: ${commandsResult.count} extras copied`);
767
+ }
768
+ answers.extraCommandsCopied = commandsResult.count;
769
+ answers.extraCommandsSkipped = commandsResult.skipped;
770
+ } catch (error) {
771
+ console.warn(`⚠️ Extra commands copy failed: ${error.message}`);
772
+ answers.extraCommandsCopied = 0;
751
773
  }
752
- answers.extraCommandsCopied = commandsResult.count;
753
- answers.extraCommandsSkipped = commandsResult.skipped;
754
- } catch (error) {
755
- console.warn(`⚠️ Extra commands copy failed: ${error.message}`);
756
- answers.extraCommandsCopied = 0;
757
- }
758
774
 
759
- // Story INS-4.5: IDE Sync — transform agents/skills/commands for each configured IDE
760
- console.log('\n🔄 ' + t('runningIdeSync'));
761
- const targetProjectRoot = process.cwd();
762
- const savedCwd = process.cwd();
763
- try {
764
- process.chdir(targetProjectRoot);
765
- await commandSync({ quiet: true });
766
- answers.ideSyncStatus = 'synced';
767
- console.log('✅ IDE sync: synced');
768
-
769
- // Validate sync output (commandValidate does not support quiet — suppress its console output)
770
- const _origLog = console.log;
771
- console.log = () => {};
775
+ // Story INS-4.5: IDE Sync — transform agents/skills/commands for each configured IDE
776
+ console.log('\n🔄 ' + t('runningIdeSync'));
777
+ const savedCwd = process.cwd();
772
778
  try {
773
- await commandValidate({ quiet: true });
774
- answers.ideSyncValidation = 'pass';
775
- } catch {
776
- answers.ideSyncValidation = 'drift';
779
+ process.chdir(targetProjectRoot);
780
+ await commandSync({ quiet: true });
781
+ answers.ideSyncStatus = 'synced';
782
+ console.log('✅ IDE sync: synced');
783
+
784
+ // Validate sync output (commandValidate does not support quiet — suppress its console output)
785
+ const _origLog = console.log;
786
+ console.log = () => {};
787
+ try {
788
+ await commandValidate({ quiet: true });
789
+ answers.ideSyncValidation = 'pass';
790
+ } catch {
791
+ answers.ideSyncValidation = 'drift';
792
+ } finally {
793
+ console.log = _origLog;
794
+ }
795
+ if (answers.ideSyncValidation === 'drift') {
796
+ console.warn('⚠️ ' + t('ideSyncDriftWarning'));
797
+ }
798
+ } catch (syncError) {
799
+ console.warn(`⚠️ IDE sync failed: ${syncError.message} — run 'sinapse doctor --fix' post-install`);
800
+ answers.ideSyncStatus = 'failed';
801
+ answers.ideSyncValidation = 'skipped';
777
802
  } finally {
778
- console.log = _origLog;
779
- }
780
- if (answers.ideSyncValidation === 'drift') {
781
- console.warn('⚠️ ' + t('ideSyncDriftWarning'));
803
+ process.chdir(savedCwd);
782
804
  }
783
- } catch (syncError) {
784
- console.warn(`⚠️ IDE sync failed: ${syncError.message} — run 'sinapse doctor --fix' post-install`);
785
- answers.ideSyncStatus = 'failed';
786
- answers.ideSyncValidation = 'skipped';
787
- } finally {
788
- process.chdir(savedCwd);
805
+
789
806
  }
790
807
 
791
808
  // Codex local-first sync: the ide-sync above drives claude-code only now,
792
809
  // so .codex/agents + .codex/skills are regenerated here from the canonical
793
810
  // source (the static .codex payload — scripts/tasks/JSONs — was already
794
811
  // copied by installSinapseCore when Codex was selected). Codex installs only.
795
- if (selectedLLM === 'codex' || selectedLLM === 'both') {
812
+ if (shouldConfigureCodex(selectedLLM)) {
796
813
  console.log('\n🔄 ' + t('runningCodexSync'));
797
814
  const savedCwdCodex = process.cwd();
798
815
  try {
799
816
  const { syncCodexLocalFirst } = require('../../../../.sinapse-ai/infrastructure/scripts/sync-codex-local-first');
817
+ const { syncCodexNativeAgents } = require('../../../../.codex/scripts/sync-codex-native');
800
818
  process.chdir(targetProjectRoot);
801
819
  const codexResult = syncCodexLocalFirst({ projectRoot: targetProjectRoot, quiet: true });
820
+ const nativeResult = codexResult.ok
821
+ ? syncCodexNativeAgents(targetProjectRoot)
822
+ : { total: 0 };
802
823
  answers.codexSyncStatus = codexResult.ok ? 'synced' : 'failed';
803
824
  const m = codexResult.metrics || {};
804
- console.log(`✅ Codex sync: ${codexResult.ok ? 'synced' : 'issues'} (${m.codexAgents || 0} agents, ${m.codexSkills || 0} skills)`);
825
+ console.log(`✅ Codex sync: ${codexResult.ok ? 'synced' : 'issues'} (${m.codexAgents || 0} adapters, ${nativeResult.total || 0} native agents, ${m.codexSkills || 0} compatibility skills)`);
805
826
  } catch (codexErr) {
806
827
  console.warn(`⚠️ Codex sync failed: ${codexErr.message} — run 'npm run sync:ide:codex' post-install`);
807
828
  answers.codexSyncStatus = 'failed';
@@ -877,8 +898,11 @@ async function runWizard(options = {}) {
877
898
  });
878
899
 
879
900
  // Story ACT-12: Write language to Claude Code settings.json
880
- if (answers.language) {
881
- const langWritten = await writeClaudeSettings(answers.language);
901
+ if (answers.language && shouldConfigureClaude(selectedLLM)) {
902
+ const langWritten = await writeProviderLanguageSettings({
903
+ selectedLLM,
904
+ language: answers.language,
905
+ });
882
906
  if (langWritten) {
883
907
  console.log(' - Language written to .claude/settings.json');
884
908
  } else {
@@ -1266,6 +1290,7 @@ module.exports = {
1266
1290
  // Exported for testing
1267
1291
  _testing: {
1268
1292
  writeClaudeSettings,
1293
+ writeProviderLanguageSettings,
1269
1294
  getExistingLanguage,
1270
1295
  LANGUAGE_MAP,
1271
1296
  detectProjectType,
@@ -1274,6 +1299,8 @@ module.exports = {
1274
1299
  detectSystemLocale,
1275
1300
  llmToIDEs,
1276
1301
  llmLabel,
1302
+ shouldConfigureClaude,
1303
+ shouldConfigureCodex,
1277
1304
  installGlobalAgents,
1278
1305
  buildAgentTemplate,
1279
1306
  generateAgentsMd,
@@ -96,8 +96,24 @@ for (const b of badges) if (!b.icon) { b.icon = squadIcon[b.squad] || '◆'; b.h
96
96
  // The badge uses only the FIRST name (never the full name).
97
97
  for (const b of badges) b.name = b.name.split(/\s+/)[0];
98
98
 
99
+ // Some source .md files carry the emoji as a LITERAL escape sequence
100
+ // ("\U0001F9E0" as text). Decode at generation time so every consumer
101
+ // (statusline, selo block) receives the real glyph — never garbage.
102
+ function decodeEmoji(e) {
103
+ if (typeof e !== 'string' || !e) return e;
104
+ if (!e.includes('\\u') && !e.includes('\\U')) return e;
105
+ try {
106
+ const decoded = e
107
+ .replace(/\\U([0-9A-Fa-f]{8})/g, (_, h) => String.fromCodePoint(parseInt(h, 16)))
108
+ .replace(/\\u([0-9A-Fa-f]{4})/g, (_, h) => String.fromCharCode(parseInt(h, 16)));
109
+ return decoded || e;
110
+ } catch {
111
+ return e;
112
+ }
113
+ }
114
+
99
115
  const out = {};
100
- for (const b of badges) out[b.id] = { emoji: b.icon, area: b.area, name: b.name };
116
+ for (const b of badges) out[b.id] = { emoji: decodeEmoji(b.icon), area: b.area, name: b.name };
101
117
  fs.writeFileSync(OUT, JSON.stringify(out, null, 2));
102
118
 
103
119
  const generic = badges.filter((b) => b.icon === '◆').length;
@@ -48,6 +48,9 @@ const GATES = [
48
48
  { id: 'parity', name: 'Cross-IDE parity (10.18)', cmd: ['npm', 'run', 'validate:parity', '--silent'] },
49
49
  { id: 'manifest', name: 'Install manifest', cmd: ['npm', 'run', 'validate:manifest', '--silent'] },
50
50
  { id: 'install-docs', name: 'Install docs', cmd: ['npm', 'run', 'validate:docs', '--silent'] },
51
+ { id: 'providers', name: 'Native providers', cmd: ['npm', 'run', 'validate:providers', '--silent'] },
52
+ { id: 'engineering', name: 'Engineering applicability', cmd: ['npm', 'run', 'validate:engineering-applicability', '--silent'] },
53
+ { id: 'publish', name: 'Publish safety', cmd: ['npm', 'run', 'validate:publish', '--silent'] },
51
54
  ];
52
55
 
53
56
  function parseArgs(argv = process.argv.slice(2)) {
@@ -60,10 +63,13 @@ function parseArgs(argv = process.argv.slice(2)) {
60
63
 
61
64
  function runGate(gate) {
62
65
  const start = Date.now();
63
- const result = spawnSync(gate.cmd[0], gate.cmd.slice(1), {
66
+ const npmCli = gate.cmd[0] === 'npm' ? process.env.npm_execpath : null;
67
+ const executable = npmCli ? process.execPath : gate.cmd[0];
68
+ const args = npmCli ? [npmCli, ...gate.cmd.slice(1)] : gate.cmd.slice(1);
69
+ const result = spawnSync(executable, args, {
64
70
  cwd: PROJECT_ROOT,
65
71
  encoding: 'utf8',
66
- shell: process.platform === 'win32',
72
+ shell: false,
67
73
  });
68
74
  const elapsed = Date.now() - start;
69
75
  return {
@@ -72,7 +78,7 @@ function runGate(gate) {
72
78
  status: result.status === 0 ? 'PASS' : 'FAIL',
73
79
  exitCode: result.status,
74
80
  elapsedMs: elapsed,
75
- stderr: result.stderr ? result.stderr.split('\n').slice(-5).join('\n') : '',
81
+ stderr: result.stderr ? result.stderr.split('\n').slice(-5).join('\n') : (result.error?.message || ''),
76
82
  };
77
83
  }
78
84