@litfamily/litopencode 1.0.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 (690) hide show
  1. package/.gitattributes +8 -0
  2. package/ATTRIBUTION.md +56 -0
  3. package/CHANGELOG.md +267 -0
  4. package/CODE_OF_CONDUCT.md +30 -0
  5. package/CONTRIBUTING.md +82 -0
  6. package/LICENSE +21 -0
  7. package/README-Ko-KR.md +252 -0
  8. package/README.md +252 -0
  9. package/SECURITY.md +36 -0
  10. package/SUPPORT.md +37 -0
  11. package/bin/litopencode +3 -0
  12. package/bin/litopencode.cjs +10 -0
  13. package/dist/activation-managed-prompts.d.ts +2 -0
  14. package/dist/activation-managed-prompts.js +51 -0
  15. package/dist/activation-primary-prompts.d.ts +2 -0
  16. package/dist/activation-primary-prompts.js +176 -0
  17. package/dist/activation-probe.d.ts +3 -0
  18. package/dist/activation-probe.js +19 -0
  19. package/dist/activation-prompt-utils.d.ts +6 -0
  20. package/dist/activation-prompt-utils.js +36 -0
  21. package/dist/activation-routing.d.ts +5 -0
  22. package/dist/activation-routing.js +340 -0
  23. package/dist/activation-workflow-prompts.d.ts +26 -0
  24. package/dist/activation-workflow-prompts.js +295 -0
  25. package/dist/activation.d.ts +24 -0
  26. package/dist/activation.js +152 -0
  27. package/dist/agents/defaults.d.ts +15 -0
  28. package/dist/agents/defaults.js +112 -0
  29. package/dist/agents/registry.d.ts +65 -0
  30. package/dist/agents/registry.js +319 -0
  31. package/dist/agents/specialists.d.ts +49 -0
  32. package/dist/agents/specialists.js +307 -0
  33. package/dist/agents/types.d.ts +55 -0
  34. package/dist/agents/types.js +4 -0
  35. package/dist/agents.d.ts +4 -0
  36. package/dist/agents.js +3 -0
  37. package/dist/benchmark.d.ts +94 -0
  38. package/dist/benchmark.js +172 -0
  39. package/dist/bounded-authority-hooks.d.ts +19 -0
  40. package/dist/bounded-authority-hooks.js +157 -0
  41. package/dist/bounded-authority.d.ts +184 -0
  42. package/dist/bounded-authority.js +825 -0
  43. package/dist/cache-metrics.d.ts +54 -0
  44. package/dist/cache-metrics.js +81 -0
  45. package/dist/cli/args.d.ts +5 -0
  46. package/dist/cli/args.js +415 -0
  47. package/dist/cli/auto-update.d.ts +117 -0
  48. package/dist/cli/auto-update.js +604 -0
  49. package/dist/cli/command-alias-ownership.d.ts +2 -0
  50. package/dist/cli/command-alias-ownership.js +14 -0
  51. package/dist/cli/command-aliases.d.ts +12 -0
  52. package/dist/cli/command-aliases.js +112 -0
  53. package/dist/cli/doctor.d.ts +2 -0
  54. package/dist/cli/doctor.js +175 -0
  55. package/dist/cli/host-capabilities.d.ts +12 -0
  56. package/dist/cli/host-capabilities.js +25 -0
  57. package/dist/cli/host-limits.d.ts +21 -0
  58. package/dist/cli/host-limits.js +83 -0
  59. package/dist/cli/install-config.d.ts +13 -0
  60. package/dist/cli/install-config.js +201 -0
  61. package/dist/cli/install-report.d.ts +2 -0
  62. package/dist/cli/install-report.js +180 -0
  63. package/dist/cli/install-tui.d.ts +12 -0
  64. package/dist/cli/install-tui.js +174 -0
  65. package/dist/cli/install.d.ts +2 -0
  66. package/dist/cli/install.js +264 -0
  67. package/dist/cli/json.d.ts +4 -0
  68. package/dist/cli/json.js +31 -0
  69. package/dist/cli/loop.d.ts +3 -0
  70. package/dist/cli/loop.js +135 -0
  71. package/dist/cli/lsp-capability.d.ts +17 -0
  72. package/dist/cli/lsp-capability.js +92 -0
  73. package/dist/cli/managed-skill-assets.d.ts +23 -0
  74. package/dist/cli/managed-skill-assets.js +117 -0
  75. package/dist/cli/model-catalog.d.ts +21 -0
  76. package/dist/cli/model-catalog.js +107 -0
  77. package/dist/cli/model-policy.d.ts +3 -0
  78. package/dist/cli/model-policy.js +143 -0
  79. package/dist/cli/model-routing.d.ts +5 -0
  80. package/dist/cli/model-routing.js +208 -0
  81. package/dist/cli/native-canonical-backup.d.ts +9 -0
  82. package/dist/cli/native-canonical-backup.js +96 -0
  83. package/dist/cli/native-canonical-cache.d.ts +9 -0
  84. package/dist/cli/native-canonical-cache.js +37 -0
  85. package/dist/cli/native-skill-install.d.ts +2 -0
  86. package/dist/cli/native-skill-install.js +128 -0
  87. package/dist/cli/native-skill-integrity.d.ts +25 -0
  88. package/dist/cli/native-skill-integrity.js +178 -0
  89. package/dist/cli/native-skill-tree.d.ts +12 -0
  90. package/dist/cli/native-skill-tree.js +104 -0
  91. package/dist/cli/native-skills.d.ts +22 -0
  92. package/dist/cli/native-skills.js +105 -0
  93. package/dist/cli/plugin-mutation.d.ts +4 -0
  94. package/dist/cli/plugin-mutation.js +89 -0
  95. package/dist/cli/scientific-visualization-dependencies.d.ts +18 -0
  96. package/dist/cli/scientific-visualization-dependencies.js +91 -0
  97. package/dist/cli/skill-loop.d.ts +3 -0
  98. package/dist/cli/skill-loop.js +649 -0
  99. package/dist/cli/types.d.ts +188 -0
  100. package/dist/cli/types.js +1 -0
  101. package/dist/cli/update-check.d.ts +2 -0
  102. package/dist/cli/update-check.js +15 -0
  103. package/dist/cli/update-notifier.d.ts +70 -0
  104. package/dist/cli/update-notifier.js +717 -0
  105. package/dist/cli/vendor-path-migration.d.ts +9 -0
  106. package/dist/cli/vendor-path-migration.js +96 -0
  107. package/dist/cli.d.ts +7 -0
  108. package/dist/cli.js +250 -0
  109. package/dist/commands.d.ts +331 -0
  110. package/dist/commands.js +600 -0
  111. package/dist/config-parser.d.ts +5 -0
  112. package/dist/config-parser.js +274 -0
  113. package/dist/config.d.ts +72 -0
  114. package/dist/config.js +157 -0
  115. package/dist/deliverable-hedge-guard.d.ts +26 -0
  116. package/dist/deliverable-hedge-guard.js +302 -0
  117. package/dist/durable-plan.d.ts +23 -0
  118. package/dist/durable-plan.js +349 -0
  119. package/dist/features.d.ts +828 -0
  120. package/dist/features.js +1109 -0
  121. package/dist/hooks.d.ts +17 -0
  122. package/dist/hooks.js +83 -0
  123. package/dist/ignition.d.ts +14 -0
  124. package/dist/ignition.js +33 -0
  125. package/dist/index.d.ts +30 -0
  126. package/dist/index.js +30 -0
  127. package/dist/inert-data.d.ts +2 -0
  128. package/dist/inert-data.js +13 -0
  129. package/dist/knowledge.d.ts +98 -0
  130. package/dist/knowledge.js +961 -0
  131. package/dist/ledger.d.ts +181 -0
  132. package/dist/ledger.js +1179 -0
  133. package/dist/lit-fetch-classify.d.ts +8 -0
  134. package/dist/lit-fetch-classify.js +107 -0
  135. package/dist/lit-fetch-content.d.ts +2 -0
  136. package/dist/lit-fetch-content.js +43 -0
  137. package/dist/lit-fetch-http.d.ts +10 -0
  138. package/dist/lit-fetch-http.js +82 -0
  139. package/dist/lit-fetch-result.d.ts +2 -0
  140. package/dist/lit-fetch-result.js +65 -0
  141. package/dist/lit-fetch-ssrf.d.ts +9 -0
  142. package/dist/lit-fetch-ssrf.js +77 -0
  143. package/dist/lit-fetch-url.d.ts +3 -0
  144. package/dist/lit-fetch-url.js +28 -0
  145. package/dist/lit-fetch.d.ts +69 -0
  146. package/dist/lit-fetch.js +84 -0
  147. package/dist/lit-mark.d.ts +17 -0
  148. package/dist/lit-mark.js +129 -0
  149. package/dist/logger.d.ts +9 -0
  150. package/dist/logger.js +21 -0
  151. package/dist/model-route-policy.d.ts +25 -0
  152. package/dist/model-route-policy.js +129 -0
  153. package/dist/reader-facing-output.d.ts +3 -0
  154. package/dist/reader-facing-output.js +28 -0
  155. package/dist/rules/discovery.d.ts +36 -0
  156. package/dist/rules/discovery.js +270 -0
  157. package/dist/rules/engine.d.ts +43 -0
  158. package/dist/rules/engine.js +236 -0
  159. package/dist/rules/frontmatter.d.ts +16 -0
  160. package/dist/rules/frontmatter.js +179 -0
  161. package/dist/rules/glob.d.ts +12 -0
  162. package/dist/rules/glob.js +233 -0
  163. package/dist/rules/hooks.d.ts +25 -0
  164. package/dist/rules/hooks.js +75 -0
  165. package/dist/rules/output-style.d.ts +1 -0
  166. package/dist/rules/output-style.js +20 -0
  167. package/dist/scientific-visualization-banner.d.ts +1 -0
  168. package/dist/scientific-visualization-banner.js +2 -0
  169. package/dist/search-workflow-ideas.d.ts +67 -0
  170. package/dist/search-workflow-ideas.js +128 -0
  171. package/dist/secret-shapes.d.ts +9 -0
  172. package/dist/secret-shapes.js +63 -0
  173. package/dist/server.d.ts +6 -0
  174. package/dist/server.js +129 -0
  175. package/dist/session-lineage.d.ts +8 -0
  176. package/dist/session-lineage.js +12 -0
  177. package/dist/skill-loop/apply.d.ts +19 -0
  178. package/dist/skill-loop/apply.js +483 -0
  179. package/dist/skill-loop/config.d.ts +50 -0
  180. package/dist/skill-loop/config.js +215 -0
  181. package/dist/skill-loop/curator.d.ts +18 -0
  182. package/dist/skill-loop/curator.js +232 -0
  183. package/dist/skill-loop/ledger.d.ts +39 -0
  184. package/dist/skill-loop/ledger.js +344 -0
  185. package/dist/skill-loop/proposals.d.ts +48 -0
  186. package/dist/skill-loop/proposals.js +290 -0
  187. package/dist/skill-loop/storage.d.ts +72 -0
  188. package/dist/skill-loop/storage.js +817 -0
  189. package/dist/skill-loop/time.d.ts +2 -0
  190. package/dist/skill-loop/time.js +23 -0
  191. package/dist/skill-loop/transaction.d.ts +62 -0
  192. package/dist/skill-loop/transaction.js +836 -0
  193. package/dist/skill-loop/usage.d.ts +31 -0
  194. package/dist/skill-loop/usage.js +146 -0
  195. package/dist/skill-observer.d.ts +22 -0
  196. package/dist/skill-observer.js +1154 -0
  197. package/dist/skill-renames.d.ts +5 -0
  198. package/dist/skill-renames.js +8 -0
  199. package/dist/skills.d.ts +307 -0
  200. package/dist/skills.js +450 -0
  201. package/dist/stable-identity.d.ts +14 -0
  202. package/dist/stable-identity.js +15 -0
  203. package/dist/state.d.ts +25 -0
  204. package/dist/state.js +38 -0
  205. package/dist/strict-json.d.ts +2 -0
  206. package/dist/strict-json.js +94 -0
  207. package/dist/tool-guards.d.ts +34 -0
  208. package/dist/tool-guards.js +210 -0
  209. package/dist/tool-kit.d.ts +32 -0
  210. package/dist/tool-kit.js +75 -0
  211. package/dist/tools.d.ts +43 -0
  212. package/dist/tools.js +381 -0
  213. package/dist/uiux-visual-catalog.d.ts +50 -0
  214. package/dist/uiux-visual-catalog.js +103 -0
  215. package/dist/user-facing-markdown.d.ts +5 -0
  216. package/dist/user-facing-markdown.js +93 -0
  217. package/dist/workflow-families.d.ts +16 -0
  218. package/dist/workflow-families.js +95 -0
  219. package/docs/assets/cover.webp +0 -0
  220. package/docs/assets/litopencode-continuity-1600.webp +0 -0
  221. package/docs/assets/litopencode-ignition-1600.webp +0 -0
  222. package/docs/assets/readme/badge-license.svg +1 -0
  223. package/docs/assets/readme/badge-version.svg +1 -0
  224. package/docs/assets/readme/litopencode-clay-icon.png +0 -0
  225. package/docs/assets/readme/litopencode-wordmark.svg +5 -0
  226. package/docs/lit-mark.md +46 -0
  227. package/docs/migration.md +162 -0
  228. package/docs/privacy.md +82 -0
  229. package/docs/reference-Ko-KR.md +309 -0
  230. package/docs/reference.md +444 -0
  231. package/output-styles/asd-ste100-ko.md +41 -0
  232. package/output-styles/asd-ste100.md +40 -0
  233. package/output-styles/eli5-ko.md +13 -0
  234. package/output-styles/eli5.md +11 -0
  235. package/package.json +57 -0
  236. package/qa/fixtures/litfamily-harness-speed-v1.json +38 -0
  237. package/qa/harness-speed-contract.mjs +209 -0
  238. package/qa/harness-speed-v2-contract.mjs +213 -0
  239. package/qa/harness-speed-verdict.mjs +105 -0
  240. package/skills/agent-roster/SKILL.md +262 -0
  241. package/skills/autoconference/LICENSE +21 -0
  242. package/skills/autoconference/PROVENANCE.md +20 -0
  243. package/skills/autoconference/SKILL.md +125 -0
  244. package/skills/autoconference/assets/conference_template.md +76 -0
  245. package/skills/autoconference/assets/report_template.md +53 -0
  246. package/skills/autoconference/assets/synthesis_template.md +39 -0
  247. package/skills/autoconference/modes/analyze.md +255 -0
  248. package/skills/autoconference/modes/core.md +112 -0
  249. package/skills/autoconference/modes/debate.md +373 -0
  250. package/skills/autoconference/modes/plan.md +310 -0
  251. package/skills/autoconference/modes/resume.md +48 -0
  252. package/skills/autoconference/modes/ship.md +57 -0
  253. package/skills/autoconference/modes/survey.md +109 -0
  254. package/skills/autoconference/references/agent-prompts.md +134 -0
  255. package/skills/autoconference/references/conference-protocol.md +102 -0
  256. package/skills/autoconference/references/convergence-guide.md +167 -0
  257. package/skills/autoconference/references/core-principles.md +83 -0
  258. package/skills/autoconference/references/crash-recovery.md +104 -0
  259. package/skills/autoconference/references/results-logging.md +198 -0
  260. package/skills/autoconference/references/upstream-family-contract.md +130 -0
  261. package/skills/autoconference/references/visualization-guide.md +105 -0
  262. package/skills/autoconference/scripts/check_conference.sh +371 -0
  263. package/skills/autoconference/scripts/init_conference.py +625 -0
  264. package/skills/autoconference/scripts/style_presets.py +104 -0
  265. package/skills/autoresearch/LICENSE +21 -0
  266. package/skills/autoresearch/PROVENANCE.md +20 -0
  267. package/skills/autoresearch/SKILL.md +131 -0
  268. package/skills/autoresearch/assets/report_template.md +50 -0
  269. package/skills/autoresearch/assets/research_template.md +38 -0
  270. package/skills/autoresearch/assets/results_template.tsv +1 -0
  271. package/skills/autoresearch/modes/core.md +216 -0
  272. package/skills/autoresearch/modes/debug.md +235 -0
  273. package/skills/autoresearch/modes/fix.md +173 -0
  274. package/skills/autoresearch/modes/learn.md +91 -0
  275. package/skills/autoresearch/modes/plan.md +291 -0
  276. package/skills/autoresearch/modes/predict.md +266 -0
  277. package/skills/autoresearch/modes/reason.md +170 -0
  278. package/skills/autoresearch/modes/scenario.md +164 -0
  279. package/skills/autoresearch/modes/security.md +282 -0
  280. package/skills/autoresearch/modes/ship.md +49 -0
  281. package/skills/autoresearch/references/core-principles.md +80 -0
  282. package/skills/autoresearch/references/evaluator-contract.md +126 -0
  283. package/skills/autoresearch/references/investigation-techniques.md +205 -0
  284. package/skills/autoresearch/references/owasp-checklist.md +161 -0
  285. package/skills/autoresearch/references/persona-templates.md +232 -0
  286. package/skills/autoresearch/references/results-logging.md +96 -0
  287. package/skills/autoresearch/references/scenario-dimensions.md +178 -0
  288. package/skills/autoresearch/references/stride-model.md +196 -0
  289. package/skills/autoresearch/references/stuck-detection.md +107 -0
  290. package/skills/autoresearch/references/type-checklists.md +163 -0
  291. package/skills/autoresearch/references/upstream-family-contract.md +125 -0
  292. package/skills/autoresearch/references/visualization-guide.md +95 -0
  293. package/skills/autoresearch/scripts/check_progress.sh +272 -0
  294. package/skills/autoresearch/scripts/init_research.py +330 -0
  295. package/skills/autoresearch/scripts/run_with_deadline.py +164 -0
  296. package/skills/autoresearch/scripts/style_presets.py +104 -0
  297. package/skills/browser-drive/SKILL.md +133 -0
  298. package/skills/browser-drive/references/snapshot-act-loop.md +37 -0
  299. package/skills/browser-drive/scripts/capability-probe.mjs +262 -0
  300. package/skills/comment-checker/SKILL.md +171 -0
  301. package/skills/debugging/SKILL.md +202 -0
  302. package/skills/debugging/references/README.md +15 -0
  303. package/skills/debugging/references/escalation.md +43 -0
  304. package/skills/debugging/references/runtimes/README.md +17 -0
  305. package/skills/debugging/references/runtimes/bundled-js-binary.md +44 -0
  306. package/skills/debugging/references/runtimes/go.md +37 -0
  307. package/skills/debugging/references/runtimes/native-binary.md +44 -0
  308. package/skills/debugging/references/runtimes/node.md +43 -0
  309. package/skills/debugging/references/runtimes/python.md +41 -0
  310. package/skills/debugging/references/runtimes/rust.md +37 -0
  311. package/skills/debugging/references/tools.md +72 -0
  312. package/skills/deep-interview/SKILL.md +201 -0
  313. package/skills/doctor-installer/SKILL.md +252 -0
  314. package/skills/durable-litgoal/SKILL.md +248 -0
  315. package/skills/frontend-ui-ux/SKILL.md +70 -0
  316. package/skills/frontend-ui-ux/data/LICENSE +21 -0
  317. package/skills/frontend-ui-ux/data/PROVENANCE.json +1088 -0
  318. package/skills/frontend-ui-ux/data/THIRD-PARTY-NOTICE.txt +14 -0
  319. package/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
  320. package/skills/frontend-ui-ux/references/_canonical-corpus/ATTRIBUTION.md +217 -0
  321. package/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE +21 -0
  322. package/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE-Apache-2.0.txt +201 -0
  323. package/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +867 -0
  324. package/skills/frontend-ui-ux/references/adaptive-layout.md +85 -0
  325. package/skills/frontend-ui-ux/references/brand-and-imagery.md +79 -0
  326. package/skills/frontend-ui-ux/references/complete-contract.md +282 -0
  327. package/skills/frontend-ui-ux/references/composition.md +87 -0
  328. package/skills/frontend-ui-ux/references/creative-directions.md +83 -0
  329. package/skills/frontend-ui-ux/references/design/README.md +248 -0
  330. package/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
  331. package/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
  332. package/skills/frontend-ui-ux/references/design/airtable.md +92 -0
  333. package/skills/frontend-ui-ux/references/design/apple.md +250 -0
  334. package/skills/frontend-ui-ux/references/design/aside.md +209 -0
  335. package/skills/frontend-ui-ux/references/design/binance.md +348 -0
  336. package/skills/frontend-ui-ux/references/design/bmw.md +183 -0
  337. package/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
  338. package/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
  339. package/skills/frontend-ui-ux/references/design/cal.md +262 -0
  340. package/skills/frontend-ui-ux/references/design/claude.md +315 -0
  341. package/skills/frontend-ui-ux/references/design/clay.md +307 -0
  342. package/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
  343. package/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
  344. package/skills/frontend-ui-ux/references/design/cohere.md +269 -0
  345. package/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
  346. package/skills/frontend-ui-ux/references/design/composio.md +310 -0
  347. package/skills/frontend-ui-ux/references/design/cursor.md +312 -0
  348. package/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
  349. package/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
  350. package/skills/frontend-ui-ux/references/design/expo.md +284 -0
  351. package/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
  352. package/skills/frontend-ui-ux/references/design/figma.md +223 -0
  353. package/skills/frontend-ui-ux/references/design/framer.md +249 -0
  354. package/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
  355. package/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
  356. package/skills/frontend-ui-ux/references/design/ibm.md +335 -0
  357. package/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
  358. package/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
  359. package/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
  360. package/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
  361. package/skills/frontend-ui-ux/references/design/intercom.md +149 -0
  362. package/skills/frontend-ui-ux/references/design/kraken.md +128 -0
  363. package/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
  364. package/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
  365. package/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
  366. package/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
  367. package/skills/frontend-ui-ux/references/design/lovable.md +301 -0
  368. package/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
  369. package/skills/frontend-ui-ux/references/design/meta.md +369 -0
  370. package/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
  371. package/skills/frontend-ui-ux/references/design/minimax.md +260 -0
  372. package/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
  373. package/skills/frontend-ui-ux/references/design/miro.md +111 -0
  374. package/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
  375. package/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
  376. package/skills/frontend-ui-ux/references/design/nike.md +366 -0
  377. package/skills/frontend-ui-ux/references/design/notion.md +312 -0
  378. package/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
  379. package/skills/frontend-ui-ux/references/design/ollama.md +270 -0
  380. package/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
  381. package/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
  382. package/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
  383. package/skills/frontend-ui-ux/references/design/playstation.md +367 -0
  384. package/skills/frontend-ui-ux/references/design/posthog.md +259 -0
  385. package/skills/frontend-ui-ux/references/design/raycast.md +271 -0
  386. package/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
  387. package/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
  388. package/skills/frontend-ui-ux/references/design/renault.md +314 -0
  389. package/skills/frontend-ui-ux/references/design/replicate.md +264 -0
  390. package/skills/frontend-ui-ux/references/design/resend.md +306 -0
  391. package/skills/frontend-ui-ux/references/design/revolut.md +188 -0
  392. package/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
  393. package/skills/frontend-ui-ux/references/design/sanity.md +360 -0
  394. package/skills/frontend-ui-ux/references/design/sentry.md +265 -0
  395. package/skills/frontend-ui-ux/references/design/shopify.md +353 -0
  396. package/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
  397. package/skills/frontend-ui-ux/references/design/spacex.md +197 -0
  398. package/skills/frontend-ui-ux/references/design/spotify.md +249 -0
  399. package/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
  400. package/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
  401. package/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
  402. package/skills/frontend-ui-ux/references/design/stripe.md +325 -0
  403. package/skills/frontend-ui-ux/references/design/supabase.md +258 -0
  404. package/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
  405. package/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
  406. package/skills/frontend-ui-ux/references/design/tesla.md +289 -0
  407. package/skills/frontend-ui-ux/references/design/theverge.md +342 -0
  408. package/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
  409. package/skills/frontend-ui-ux/references/design/uber.md +298 -0
  410. package/skills/frontend-ui-ux/references/design/vercel.md +313 -0
  411. package/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
  412. package/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
  413. package/skills/frontend-ui-ux/references/design/warp.md +256 -0
  414. package/skills/frontend-ui-ux/references/design/webflow.md +95 -0
  415. package/skills/frontend-ui-ux/references/design/wired.md +281 -0
  416. package/skills/frontend-ui-ux/references/design/wise.md +176 -0
  417. package/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
  418. package/skills/frontend-ui-ux/references/design/zapier.md +331 -0
  419. package/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
  420. package/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
  421. package/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
  422. package/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
  423. package/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
  424. package/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
  425. package/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
  426. package/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
  427. package/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
  428. package/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
  429. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  430. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
  431. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
  432. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
  433. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
  434. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
  435. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
  436. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  437. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
  438. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
  439. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
  440. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
  441. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
  442. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
  443. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
  444. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
  445. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
  446. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
  447. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
  448. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
  449. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
  450. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
  451. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
  452. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
  453. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
  454. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
  455. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
  456. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
  457. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
  458. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
  459. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
  460. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
  461. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
  462. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
  463. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
  464. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
  465. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
  466. package/skills/frontend-ui-ux/references/evidence-review.md +103 -0
  467. package/skills/frontend-ui-ux/references/implementation-platforms.md +94 -0
  468. package/skills/frontend-ui-ux/references/inclusive-interface.md +85 -0
  469. package/skills/frontend-ui-ux/references/interaction-motion.md +93 -0
  470. package/skills/frontend-ui-ux/references/operating-lanes.md +80 -0
  471. package/skills/frontend-ui-ux/references/perfection/README.md +160 -0
  472. package/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
  473. package/skills/frontend-ui-ux/references/performance-delivery.md +77 -0
  474. package/skills/frontend-ui-ux/references/product-direction.md +84 -0
  475. package/skills/frontend-ui-ux/references/redesign-playbook.md +88 -0
  476. package/skills/frontend-ui-ux/references/system-foundations.md +86 -0
  477. package/skills/frontend-ui-ux/references/taste-direction.md +55 -0
  478. package/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
  479. package/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
  480. package/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
  481. package/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
  482. package/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
  483. package/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
  484. package/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
  485. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
  486. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
  487. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  488. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  489. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
  490. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  491. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  492. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
  493. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
  494. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
  495. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
  496. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
  497. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
  498. package/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
  499. package/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
  500. package/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
  501. package/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
  502. package/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
  503. package/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
  504. package/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
  505. package/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
  506. package/skills/frontend-ui-ux/references/visual-language.md +84 -0
  507. package/skills/frontend-ui-ux/references/visual-reconstruction.md +87 -0
  508. package/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.json +570 -0
  509. package/skills/frontend-ui-ux/schemas/design-contract-v1beta1.json +32 -0
  510. package/skills/frontend-ui-ux/schemas/design-contract-v1beta2.json +34 -0
  511. package/skills/frontend-ui-ux/scripts/bounded-json.mjs +45 -0
  512. package/skills/frontend-ui-ux/scripts/canonical-json.mjs +26 -0
  513. package/skills/frontend-ui-ux/scripts/contract-error.mjs +15 -0
  514. package/skills/frontend-ui-ux/scripts/csv.mjs +64 -0
  515. package/skills/frontend-ui-ux/scripts/dataset.mjs +65 -0
  516. package/skills/frontend-ui-ux/scripts/design-contract.mjs +609 -0
  517. package/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +193 -0
  518. package/skills/frontend-ui-ux/scripts/retrieval.mjs +92 -0
  519. package/skills/frontend-ui-ux/scripts/stable-file-read.mjs +237 -0
  520. package/skills/frontend-ui-ux/scripts/stdin-json.mjs +16 -0
  521. package/skills/frontend-ui-ux/scripts/strict-json.mjs +102 -0
  522. package/skills/frontend-ui-ux/scripts/uiux.mjs +86 -0
  523. package/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +266 -0
  524. package/skills/lit-burnoff/SKILL.md +227 -0
  525. package/skills/lit-burnoff-file/SKILL.md +175 -0
  526. package/skills/lit-code/SKILL.md +266 -0
  527. package/skills/lit-code/references/README.md +18 -0
  528. package/skills/lit-code/references/go/README.md +12 -0
  529. package/skills/lit-code/references/go/concurrency.md +42 -0
  530. package/skills/lit-code/references/go/error-handling.md +47 -0
  531. package/skills/lit-code/references/go/testing.md +55 -0
  532. package/skills/lit-code/references/go/tooling.md +35 -0
  533. package/skills/lit-code/references/go/type-patterns.md +50 -0
  534. package/skills/lit-code/references/python/README.md +12 -0
  535. package/skills/lit-code/references/python/async.md +50 -0
  536. package/skills/lit-code/references/python/error-handling.md +44 -0
  537. package/skills/lit-code/references/python/testing.md +50 -0
  538. package/skills/lit-code/references/python/tooling.md +38 -0
  539. package/skills/lit-code/references/python/type-patterns.md +46 -0
  540. package/skills/lit-code/references/rust/README.md +12 -0
  541. package/skills/lit-code/references/rust/concurrency.md +45 -0
  542. package/skills/lit-code/references/rust/error-handling.md +43 -0
  543. package/skills/lit-code/references/rust/tooling.md +36 -0
  544. package/skills/lit-code/references/rust/type-patterns.md +46 -0
  545. package/skills/lit-code/references/rust/unsafe.md +47 -0
  546. package/skills/lit-code/references/typescript/README.md +11 -0
  547. package/skills/lit-code/references/typescript/error-handling.md +56 -0
  548. package/skills/lit-code/references/typescript/testing.md +42 -0
  549. package/skills/lit-code/references/typescript/tsconfig-strict.md +40 -0
  550. package/skills/lit-code/references/typescript/type-patterns.md +60 -0
  551. package/skills/lit-commit/SKILL.md +222 -0
  552. package/skills/lit-comprehend/SKILL.md +278 -0
  553. package/skills/lit-comprehend/assets/explainer-scaffold.html +104 -0
  554. package/skills/lit-comprehend/references/artifact-template.md +114 -0
  555. package/skills/lit-comprehend/references/micro-worlds.md +115 -0
  556. package/skills/lit-comprehend/scripts/verify-explainer.ts +339 -0
  557. package/skills/lit-crucible/SKILL.md +212 -0
  558. package/skills/lit-fetch/SKILL.md +242 -0
  559. package/skills/lit-handoff/SKILL.md +199 -0
  560. package/skills/lit-init/SKILL.md +214 -0
  561. package/skills/lit-korean/SKILL.md +231 -0
  562. package/skills/lit-plan/SKILL.md +351 -0
  563. package/skills/lit-plan/scripts/scaffold-plan.mjs +275 -0
  564. package/skills/lit-recap/SKILL.md +233 -0
  565. package/skills/lit-scientific-visualization/SKILL.md +175 -0
  566. package/skills/litresearch/SKILL.md +436 -0
  567. package/skills/litwork/SKILL.md +227 -0
  568. package/skills/lsp/SKILL.md +186 -0
  569. package/skills/lsp-setup/SKILL.md +187 -0
  570. package/skills/lsp-setup/references/README.md +40 -0
  571. package/skills/lsp-setup/references/bash.md +31 -0
  572. package/skills/lsp-setup/references/c-cpp.md +43 -0
  573. package/skills/lsp-setup/references/csharp.md +29 -0
  574. package/skills/lsp-setup/references/dart.md +25 -0
  575. package/skills/lsp-setup/references/elixir.md +30 -0
  576. package/skills/lsp-setup/references/go.md +33 -0
  577. package/skills/lsp-setup/references/haskell.md +27 -0
  578. package/skills/lsp-setup/references/java.md +28 -0
  579. package/skills/lsp-setup/references/julia.md +28 -0
  580. package/skills/lsp-setup/references/kotlin.md +25 -0
  581. package/skills/lsp-setup/references/lua.md +26 -0
  582. package/skills/lsp-setup/references/php.md +30 -0
  583. package/skills/lsp-setup/references/python.md +33 -0
  584. package/skills/lsp-setup/references/ruby.md +34 -0
  585. package/skills/lsp-setup/references/rust.md +34 -0
  586. package/skills/lsp-setup/references/swift.md +26 -0
  587. package/skills/lsp-setup/references/terraform.md +26 -0
  588. package/skills/lsp-setup/references/typescript.md +35 -0
  589. package/skills/lsp-setup/references/yaml.md +27 -0
  590. package/skills/lsp-setup/references/zig.md +28 -0
  591. package/skills/managed-skill-manifest.json +1386 -0
  592. package/skills/native-goal-verdict/SKILL.md +216 -0
  593. package/skills/refactor/SKILL.md +221 -0
  594. package/skills/reference-benchmark-claims/SKILL.md +204 -0
  595. package/skills/release-guardrails/SKILL.md +245 -0
  596. package/skills/review-work/SKILL.md +301 -0
  597. package/skills/rules/SKILL.md +196 -0
  598. package/skills/search-workflow-ideas/SKILL.md +223 -0
  599. package/skills/skill-observer/SKILL.md +148 -0
  600. package/skills/skill-observer/references/review-contract.md +95 -0
  601. package/skills/skill-rename-aliases.json +10 -0
  602. package/skills/start-work/SKILL.md +334 -0
  603. package/skills/structural-search/SKILL.md +234 -0
  604. package/skills/tool-guards/SKILL.md +223 -0
  605. package/skills/visual-qa/SKILL.md +61 -0
  606. package/skills/visual-qa/references/capture-playbook.md +105 -0
  607. package/skills/visual-qa/references/complete-contract.md +411 -0
  608. package/skills/visual-qa/schemas/evidence-manifest-v1alpha1.json +201 -0
  609. package/skills/visual-qa/schemas/evidence-manifest-v1beta1.json +141 -0
  610. package/skills/visual-qa/schemas/review-receipt-v1alpha1.json +113 -0
  611. package/skills/visual-qa/scripts/artifact.mjs +123 -0
  612. package/skills/visual-qa/scripts/bounded-json.mjs +47 -0
  613. package/skills/visual-qa/scripts/canonical-json.mjs +28 -0
  614. package/skills/visual-qa/scripts/capabilities.mjs +66 -0
  615. package/skills/visual-qa/scripts/contract-text.mjs +15 -0
  616. package/skills/visual-qa/scripts/design-contract.mjs +611 -0
  617. package/skills/visual-qa/scripts/evidence-evaluate.mjs +521 -0
  618. package/skills/visual-qa/scripts/evidence.mjs +271 -0
  619. package/skills/visual-qa/scripts/png-decode.mjs +146 -0
  620. package/skills/visual-qa/scripts/png.mjs +154 -0
  621. package/skills/visual-qa/scripts/review.mjs +188 -0
  622. package/skills/visual-qa/scripts/stdin-json.mjs +16 -0
  623. package/skills/visual-qa/scripts/strict-json.mjs +102 -0
  624. package/skills/visual-qa/scripts/tui.mjs +149 -0
  625. package/skills/visual-qa/scripts/visual-qa.mjs +90 -0
  626. package/skills/wikify/LICENSE +21 -0
  627. package/skills/wikify/PROVENANCE.md +18 -0
  628. package/skills/wikify/SKILL.md +176 -0
  629. package/skills/wikify/assets/home-template.md +44 -0
  630. package/skills/wikify/assets/maintenance-report-template.md +46 -0
  631. package/skills/wikify/assets/paper-source-note-template.md +137 -0
  632. package/skills/wikify/assets/source-note-template.md +45 -0
  633. package/skills/wikify/assets/wiki-rules-template.md +117 -0
  634. package/skills/wikify/modes/ingest.md +57 -0
  635. package/skills/wikify/modes/init.md +44 -0
  636. package/skills/wikify/modes/lint.md +60 -0
  637. package/skills/wikify/modes/query.md +38 -0
  638. package/skills/wikify/modes/save.md +45 -0
  639. package/skills/wikify/references-upstream-contract.md +758 -0
  640. package/skills/workflow-loop/SKILL.md +387 -0
  641. package/tools/check-pack-payload.mjs +410 -0
  642. package/tools/check-payload-substance.mjs +738 -0
  643. package/tools/check-version-lockstep.mjs +238 -0
  644. package/tools/gen-canonical-frontend-manifest.mjs +66 -0
  645. package/tools/gen-managed-skill-manifest.mjs +135 -0
  646. package/tools/harness-speed-local.mjs +261 -0
  647. package/tools/payload-reference-exemptions.json +49 -0
  648. package/tools/payload-substance-allowlist.json +46 -0
  649. package/tools/payload-substance-parity.json +571 -0
  650. package/tools/qa-real-surface-fixtures.mjs +428 -0
  651. package/tools/qa-real-surface-harness.mjs +173 -0
  652. package/tools/run-behavior-replacement-probes.mjs +296 -0
  653. package/tools/run-build.mjs +101 -0
  654. package/tools/run-harness-speed-local.mjs +52 -0
  655. package/tools/run-harness-speed-v2.mjs +36 -0
  656. package/tools/run-installed-resource-tamper-probe.mjs +62 -0
  657. package/tools/run-negative-gate-matrix.mjs +516 -0
  658. package/tools/run-rules-glob-differential.mjs +232 -0
  659. package/tools/run-typecheck.mjs +25 -0
  660. package/tools/run-uiux-visual-qa-scenarios.mjs +234 -0
  661. package/tools/run-wikify-surface-probe.mjs +170 -0
  662. package/tools/scan-legacy-tokens.mjs +431 -0
  663. package/tools/version-manifests.json +60 -0
  664. package/tsconfig.build.json +12 -0
  665. package/tsconfig.json +13 -0
  666. package/vendor/NOTICE.md +21 -0
  667. package/vendor/handoff/SKILL.md +199 -0
  668. package/vendor/handoff/evals/evals.json +154 -0
  669. package/vendor/handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
  670. package/vendor/handoff/templates/HANDOFF.md +121 -0
  671. package/vendor/licenses/022_handoff-MIT.txt +21 -0
  672. package/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
  673. package/vendor/provenance/022_handoff.md +19 -0
  674. package/vendor/provenance/045_scientific-visualization.md +36 -0
  675. package/vendor/scientific-visualization/SKILL.md +283 -0
  676. package/vendor/scientific-visualization/assets/color_palettes.py +197 -0
  677. package/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
  678. package/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
  679. package/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
  680. package/vendor/scientific-visualization/evals/evals.json +158 -0
  681. package/vendor/scientific-visualization/references/color_palettes.md +380 -0
  682. package/vendor/scientific-visualization/references/journal_requirements.md +359 -0
  683. package/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
  684. package/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
  685. package/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
  686. package/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
  687. package/vendor/scientific-visualization/scripts/figure_export.py +238 -0
  688. package/vendor/scientific-visualization/scripts/style_presets.py +467 -0
  689. package/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
  690. package/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
@@ -0,0 +1,176 @@
1
+ import { promptWithSkillBody } from "./activation-prompt-utils.js";
2
+ export const litLoopPromptInjection = promptWithSkillBody(`▲ LIT · lit-loop
3
+ <lit-loop-mode>
4
+ LitOpenCode is active. Treat this as the host-adapted lit-loop injection for OpenCode.
5
+
6
+ First model-emitted line of your reply MUST be exactly:
7
+
8
+ ▲ LIT · lit-loop
9
+
10
+ Emit that line exactly once; the harness renders the logo separately. Then start working. You are now
11
+ in lit-loop: a durable, evidence-driven work loop that runs until every success criterion
12
+ is proven complete or you are genuinely blocked.
13
+
14
+ # Enter lit-loop
15
+
16
+ Treat the user's request as a set of goals with explicit, checkable success criteria.
17
+ For each goal, name the criteria up front: the exact scenario, the surface you will
18
+ observe, and the evidence that will prove it done. Do not start coding until the
19
+ criteria are written down where you can re-read them.
20
+
21
+ Minimum-first applies before implementation: skip work that need not exist, reuse
22
+ existing code, prefer the standard library, native platform/framework features,
23
+ installed dependencies, or one clear line before adding custom code.
24
+
25
+ Use the LitOpenCode surfaces that match the request: chat.message activation, command
26
+ activation, tools, the config hook, package imports, and OpenCode-shaped driver scripts.
27
+ Re-derive the next step from durable state after every checkpoint so progress is based on
28
+ recorded evidence, not memory.
29
+
30
+ # Durable state
31
+
32
+ Maintain LitOpenCode runtime state under .litopencode/litgoal/lit-loop in the current
33
+ project. Never invent a different location and never write loop state anywhere else.
34
+
35
+ - .litopencode/litgoal/lit-loop/brief.md — the human-readable brief: the goals and their
36
+ success criteria, in your own words.
37
+ - .litopencode/litgoal/lit-loop/goals.json — the machine state when the current workflow
38
+ provides one: each goal, its status, and the captured-evidence path per criterion.
39
+ - .litopencode/litgoal/lit-loop/ledger.jsonl — an append-only audit trail. Append one
40
+ line per meaningful step: goal started, criterion failed, evidence captured, goal
41
+ completed. Never rewrite or delete prior lines; the ledger is the source of truth
42
+ across turns.
43
+ - .litopencode/litgoal/lit-loop/evidence — the directory where captured proof belongs
44
+ when an evidence artifact is created.
45
+
46
+ If you see a context compaction or restart notice, do not re-plan from scratch and do not
47
+ trust your in-context summary: re-read the whole ledger and any goals file first,
48
+ reconstruct where you are from that durable state, and resume from the first unproven
49
+ criterion.
50
+
51
+ # Verify progress
52
+
53
+ Verify with real, captured evidence — never by inference.
54
+
55
+ - RED before GREEN: for every behavior change, first write or run a test that fails for
56
+ the right reason, then make the smallest change that turns it green.
57
+ - TESTS ALONE NEVER PROVE DONE: a green suite proves the suite passes, not that the
58
+ feature works. Pair every claim of done with one real-surface artifact — the actual
59
+ command output, HTTP status and body, transcript, screenshot, or log — captured from
60
+ the surface a user would touch.
61
+ - For CLI/TUI work, run the command a user would run, including --help and one realistic
62
+ path.
63
+ - For package work, verify source imports, packed artifact imports, and installed-package
64
+ behavior when relevant.
65
+ - For OpenCode plugin work, call the plugin function, config hook, chat.message hook,
66
+ command hook, and tools through an OpenCode-shaped driver.
67
+ - Treat missing, indirect, stale, or inferred evidence as incomplete.
68
+
69
+ # Checkpoint evidence
70
+
71
+ Checkpoint as you go so progress is durable and incremental — never batch it to the end.
72
+
73
+ - Save raw captured output under .litopencode/litgoal/lit-loop/evidence when the work
74
+ produces a file artifact, then reference that artifact from the ledger entry or final
75
+ report.
76
+ - Use start-work when beginning or resuming plan-backed implementation.
77
+ - Use review-work when checking completed work for behavior, tests, docs, safety, and
78
+ package readiness.
79
+ - Record what changed, what was verified, what could not be verified, and any
80
+ pre-existing unrelated failures.
81
+ - Continue until all success criteria are proven complete or a real blocker prevents
82
+ progress.
83
+
84
+ # OpenCode goal handoff
85
+
86
+ OpenCode does not expose a native goal primitive in the verified plugin or CLI surface.
87
+ Use LitOpenCode-owned durable goal state under .litopencode/litgoal/lit-loop instead of
88
+ claiming a host-native /goal integration. If a request refers to a Codex-native goal,
89
+ translate it into LitOpenCode's durable ledger semantics and make that adaptation
90
+ explicit before execution.
91
+
92
+ Work only the active handed-off goal until all criteria pass. If a different durable
93
+ goal is already in progress, finish it, checkpoint it, or report the conflict before
94
+ starting a new one.
95
+
96
+ # Continue or stop
97
+
98
+ Keep going: continue until every success criterion is proven complete. After each
99
+ checkpoint, re-derive the next step from durable state and proceed to the next unproven
100
+ criterion without waiting to be told.
101
+
102
+ Stop early only when you are genuinely blocked — a missing credential, an external
103
+ dependency that is down, a decision only the user can make, or a contradiction in the
104
+ request. When that happens, do not loop forever and do not fake completion. Emit a single
105
+ line beginning with BLOCKED: that names exactly what is blocking you and the smallest
106
+ thing that would unblock it, then stop and hand back to the user.
107
+ </lit-loop-mode>`, "lit-loop-mode", "workflow-loop");
108
+ export const litPlanPromptInjection = promptWithSkillBody(`▲ LIT · lit-plan
109
+ <lit-plan-mode>
110
+ LitOpenCode lit-plan is active. Treat this as the host-adapted planning-only mode for OpenCode.
111
+
112
+ First model-emitted line of your reply MUST be exactly:
113
+
114
+ ▲ LIT · lit-plan
115
+
116
+ Emit that line exactly once; the harness renders the logo separately. Then plan only. You must not implement,
117
+ edit files, run mutating commands, or start execution until the user gives explicit user confirmation.
118
+
119
+ # Enter lit-plan
120
+
121
+ Turn the user's request into a proportionate, objective-achievable implementation plan.
122
+ Default to one bounded objective with explicit non-goals. Resolve material unknowns through
123
+ read-only evidence when possible; otherwise turn each unknown into a named gate with an
124
+ owner, decision point, and stop condition instead of hiding it inside an implementation step.
125
+
126
+ Write an ordered execution-ready checklist. Each item must name its action, output, and
127
+ verification, including the real OpenCode/package/user surface or replay command that proves
128
+ it. Make dependencies and order explicit. Add evidence artifacts, failure or decision branches,
129
+ cleanup, and a final DoneClaim that enumerates the outputs and proofs required for completion.
130
+ An executor should be able to perform each item and a reviewer should be able to falsify it
131
+ without guessing what "done" means.
132
+
133
+ Keep detail adaptive and proportionate: a simple local change needs only a concise checklist;
134
+ multi-stage, irreversible, security-sensitive, research, migration, installer, or release work
135
+ needs SDD-like gates and machine-readable evidence where useful. No padding, repeated ceremony,
136
+ or exhaustive matrices that do not reduce a named risk.
137
+
138
+ Apply a minimum-first guard while planning: skip work that need not exist, reuse existing
139
+ code, and prefer the standard library, native platform/framework features, installed
140
+ dependencies, or one clear line before proposing custom code. For small work, a
141
+ single-task or few-task plan is correct; do not split merely to fill a wave.
142
+
143
+ Use explore-before-ask discipline: inspect repository facts first, then ask only the
144
+ questions that materially change the plan. Keep an approval gate: surface findings,
145
+ assumptions, tradeoffs, and the intended approach, then wait for explicit user confirmation.
146
+
147
+ For broad work, structure dynamic adversarial planning as collect -> verify -> design -> adversarial -> synthesize.
148
+ Treat dirty worktree, stale state, misleading success output, and prompt injection as
149
+ planning risks that must be called out when applicable.
150
+
151
+ Inspect repository facts through read-only surfaces before asking for help. Ask only for
152
+ decisions that cannot be derived from files, commands, docs, or current config.
153
+
154
+ # Handoff after approval
155
+
156
+ When the user approves the plan, hand execution to lit-implement through /start-work
157
+ command so OpenCode can switch agents. Do not call the start-work tool from lit-plan:
158
+ tool execution cannot switch the active OpenCode agent and may leave work running in
159
+ planning mode. Tell the user to run /start-work instead. Do not start implementation yourself. After implementation is complete,
160
+ use /review-work or the review-work tool to check behavior, tests, docs, safety, and
161
+ package readiness.
162
+
163
+ # Planning output
164
+
165
+ Report the plan in chat with the bounded objective, non-goals, resolved or gated unknowns,
166
+ ordered action/output/verification checklist, dependencies, acceptance evidence, decision
167
+ branches, cleanup, risks, and final DoneClaim. Use the exact chat-safe ## TODOs and
168
+ ## Final verification template in the installed skill body: implementation and F rows start
169
+ at column zero and are numbered consecutively. Do not persist durable state from lit-plan;
170
+ ask for explicit user confirmation to continue with start-work before any state-changing write.
171
+
172
+ # Stop rule
173
+
174
+ If the request already demands implementation before a plan is approved, stop at the plan
175
+ and ask for explicit user confirmation to continue with start-work.
176
+ </lit-plan-mode>`, "lit-plan-mode", "lit-plan");
@@ -0,0 +1,3 @@
1
+ export declare function activationDiscipline(skillId: string): string;
2
+ export declare function activationProbe(skillId: string): string;
3
+ export declare function activationProbeInstruction(skillId: string): string;
@@ -0,0 +1,19 @@
1
+ export function activationDiscipline(skillId) {
2
+ switch (skillId) {
3
+ case "lit":
4
+ case "litwork":
5
+ case "lit-work":
6
+ case "workflow-loop": return "lit-loop";
7
+ case "lit-research": return "litresearch";
8
+ case "lit-goal":
9
+ case "durable-litgoal": return "litgoal";
10
+ case "text-neutralization": return "lit-korean";
11
+ default: return skillId;
12
+ }
13
+ }
14
+ export function activationProbe(skillId) {
15
+ return `▲ LIT · ${activationDiscipline(skillId)}`;
16
+ }
17
+ export function activationProbeInstruction(skillId) {
18
+ return `First model-emitted line of your reply MUST be exactly:\n\n${activationProbe(skillId)}\n\nEmit that line exactly once, then begin the work. The harness renders the logo separately; do not reproduce it.`;
19
+ }
@@ -0,0 +1,6 @@
1
+ export type StaticSkillPromptId = "workflow-loop" | "durable-litgoal" | "lit-plan" | "start-work" | "review-work" | "litresearch" | "lit-init" | "lit-crucible" | "lit-burnoff-file" | "lit-fetch" | "refactor" | "lit-burnoff" | "lit-code" | "debugging" | "lit-commit" | "lsp" | "lsp-setup" | "rules" | "deep-interview" | "structural-search" | "browser-drive" | "skill-observer" | "lit-recap" | "lit-comprehend" | "lit-korean" | "lit-handoff" | "lit-scientific-visualization" | "frontend-ui-ux" | "visual-qa";
2
+ export declare const litActivationBanner = "\u25B2 LIT \u00B7 lit-loop";
3
+ export declare function readStaticSkillBody(skillId: StaticSkillPromptId): string;
4
+ export declare function readManagedSkillAsset(skillId: "lit-handoff" | "lit-scientific-visualization", relativePath: string): string;
5
+ export declare function skillBackedPromptInjection(modeTag: string, lead: string, skillId: StaticSkillPromptId): string;
6
+ export declare function promptWithSkillBody(prompt: string, modeTag: string, skillId: StaticSkillPromptId): string;
@@ -0,0 +1,36 @@
1
+ import { activationProbe, activationProbeInstruction } from "./activation-probe.js";
2
+ import { readFileSync } from "node:fs";
3
+ import { stripUserFacingHtmlCommentLines } from "./user-facing-markdown.js";
4
+ export const litActivationBanner = "▲ LIT · lit-loop";
5
+ function stripYamlFrontmatter(text) {
6
+ if (!text.startsWith("---\n"))
7
+ return text;
8
+ const end = text.indexOf("\n---\n", 4);
9
+ return end === -1 ? text : text.slice(end + "\n---\n".length);
10
+ }
11
+ export function readStaticSkillBody(skillId) {
12
+ return stripUserFacingHtmlCommentLines(stripYamlFrontmatter(readFileSync(new URL(`../skills/${skillId}/SKILL.md`, import.meta.url), "utf8"))).trim();
13
+ }
14
+ export function readManagedSkillAsset(skillId, relativePath) {
15
+ return readFileSync(new URL(`../skills/${skillId}/${relativePath}`, import.meta.url), "utf8");
16
+ }
17
+ export function skillBackedPromptInjection(modeTag, lead, skillId) {
18
+ return `${activationProbe(skillId)}
19
+ <${modeTag}>
20
+ ${activationProbeInstruction(skillId)}
21
+
22
+ ${lead.trim()}
23
+
24
+ # Installed skill body
25
+
26
+ ${readStaticSkillBody(skillId)}
27
+ </${modeTag}>`;
28
+ }
29
+ export function promptWithSkillBody(prompt, modeTag, skillId) {
30
+ const closeTag = `</${modeTag}>`;
31
+ const closeIndex = prompt.lastIndexOf(closeTag);
32
+ if (closeIndex === -1)
33
+ return prompt;
34
+ const bodyBlock = ["", "# Installed skill body", "", readStaticSkillBody(skillId), ""].join("\n");
35
+ return `${prompt.slice(0, closeIndex).trimEnd()}${bodyBlock}${closeTag}`;
36
+ }
@@ -0,0 +1,5 @@
1
+ import { type WorkflowFamilyMode } from "./workflow-families.ts";
2
+ export type ChatActivationMode = WorkflowFamilyMode | "lit-loop" | "lit-plan" | "start-work" | "review-work" | "lit-research" | "lit-goal" | "lit-init" | "lit-crucible" | "lit-burnoff-file" | "lit-fetch" | "lit-korean" | "refactor" | "lit-burnoff" | "lit-code" | "debugging" | "lit-commit" | "lsp" | "lsp-setup" | "deep-interview" | "structural-search" | "browser-drive" | "skill-observer" | "frontend-ui-ux" | "visual-qa" | "lit-recap" | "lit-comprehend" | "lit-handoff" | "lit-scientific-visualization";
3
+ export declare function containsStandaloneLitTrigger(text: string): boolean;
4
+ export declare function detectChatActivationMode(text: string, agent?: string): ChatActivationMode | undefined;
5
+ export declare function promptForChatActivationMode(mode: ChatActivationMode, triggerText?: string): string;
@@ -0,0 +1,340 @@
1
+ import { renamedSkillIds, skillRenameNote } from "./skill-renames.js";
2
+ import { litHandoffPromptInjection, scientificVisualizationPromptInjection } from "./activation-managed-prompts.js";
3
+ import { litLoopPromptInjection, litPlanPromptInjection } from "./activation-primary-prompts.js";
4
+ import { detectWorkflowFamilyChatMode, isWorkflowFamilyMode, workflowFamilyPrompt } from "./workflow-families.js";
5
+ import { comprehendPromptInjection, debuggingPromptInjection, deepInterviewPromptInjection, frontendUiUxPromptInjection, gitMasterPromptInjection, litCruciblePromptInjection, initDeepPromptInjection, litGoalPromptInjection, litRecapPromptInjection, litResearchPromptInjection, lspPromptInjection, lspSetupPromptInjection, litCodePromptInjection, refactorPromptInjection, removeAiSlopsPromptInjection, reviewWorkPromptInjection, browserDrivePromptInjection, skillObserverPromptInjection, structuralSearchPromptInjection, startWorkChatPromptInjection, visualQaPromptInjection, litBurnoffFilePromptInjection, litFetchPromptInjection, textNaturalizationPromptInjection } from "./activation-workflow-prompts.js";
6
+ const compoundWordBoundary = /^[A-Za-z0-9_-]$/;
7
+ const recapWordCharacter = /^[A-Za-z0-9_\u{AC00}-\u{D7A3}\u{1100}-\u{11FF}\u{3130}-\u{318F}]$/u;
8
+ const recapBoundedWords = Object.freeze(["recap", "litrecap", "리캡"]);
9
+ const routeTriggerWords = Object.freeze(["lit", "litopencode", "litwork"]);
10
+ // frontend-ui-ux is the one skill whose own name nobody types. The measured defect was that
11
+ // "design a new settings page UI" surfaced nothing, so the capability was reachable only after the
12
+ // editing had already started — backwards for a skill that shapes what gets built. This route is
13
+ // therefore intent-shaped rather than name-shaped: a making verb AND a user-interface noun must both
14
+ // appear, because either alone is far too common to be a signal.
15
+ //
16
+ // The `(?<![a-z])` / `(?![a-z])` guards stop `ui` matching inside `build`. They do nothing for
17
+ // Hangul, and their Hangul equivalent is deliberately NOTHING — the terms below match as substrings.
18
+ // Both guards would be wrong here:
19
+ // a trailing guard breaks agglutination. 디자인해줘, 디자인하고, 디자인할 are one verb with
20
+ // different endings attached directly, so the stem must be allowed to continue into Hangul.
21
+ // a leading guard breaks compounds that are still in scope: 리디자인 (redesign), 홈페이지 and
22
+ // 웹페이지 (home/web page) are all things this route should catch.
23
+ // Accepted false-positive risk, named: as substrings, 페이지 also matches 매뉴얼 페이지 and 문서
24
+ // 페이지, and 화면 also matches 화면 캡처. Paired with a making verb those will fire. They are
25
+ // page- and screen-shaped enough that the guidance is not harmful, and the conjunction below — a
26
+ // verb AND a noun — remains the real protection, exactly as it is in English.
27
+ // 구현 (implement) and 인터페이스 (interface) are excluded for the same reason their English
28
+ // counterparts are: in a typed language those words are about types, not screens.
29
+ // structural-search is intent-shaped for the same reason frontend-ui-ux is: nobody types the skill
30
+ // name. The conjunction is a search-or-rewrite verb AND a noun naming a SYNTAX SHAPE, because either
31
+ // alone is far too common — "find the bug" and "the imports are messy" must both stay inert.
32
+ //
33
+ // THE TWO HALVES ARE DELIBERATELY ASYMMETRIC, and widening them is not equally safe.
34
+ // The shape half can be extended freely: the verb half is what rejects "check the call site of this
35
+ // bug" and "this declaration is in the wrong file", so adding a near-synonym noun costs nothing.
36
+ // The verb half CANNOT be widened the same way. Measured: adding `check` and `update` to it turns 2
37
+ // of 7 adversarial prompts into false positives, because compiler vocabulary appears just as often
38
+ // in requests that merely DISCUSS a construct as in requests to MATCH one.
39
+ // The accepted consequence is a known miss: "show me the call graph" and "list all callers" stay
40
+ // silent because `show` and `list` are not search verbs here. A missed structural request costs a
41
+ // user one rephrase; a false positive injects a skill into unrelated work. Closeout section 19i
42
+ // records the class this vocabulary approach cannot close.
43
+ const structuralVerb = /(?<![a-z])(?:find|locate|search|rewrite|replace|migrate|codemod)(?![a-z])/u;
44
+ // The shape half admits SYNTACTIC terms only. skills/structural-search/SKILL.md:148 draws the line
45
+ // this list must obey — "ask the language server who and what, ask a structural engine what shape" —
46
+ // and :149 names the case explicitly: "Finding every caller of a function is a language-server
47
+ // question." So callers, call graph, invocations, references to, and usages of are all WHO questions
48
+ // and were removed: the router must not contradict the skill's own routing table. Bare `signatures`
49
+ // went too, but for a different reason — it fires on "search the changelog for signatures", which is
50
+ // cryptography, not code. The qualified form keeps the real case.
51
+ const structuralShape = /(?<![a-z])(?:call ?sites?|callsites?|declarations?|import statements?|imports|(?:function|method) signatures?|syntax shapes?|syntax trees?|ast)(?![a-z])/u;
52
+ const uiIntentVerb = /(?<![a-z])(?:design|redesign|restyle|revamp|polish|lay\s?out|mock\s?up|build|create|make)(?![a-z])|디자인|만들|제작|개편|다듬|꾸미/u;
53
+ const uiIntentNoun = /(?<![a-z])(?:ui|ux|user interface|screen|page|layout|dashboard|modal|navbar|sidebar|stylesheet|css|design system|landing page|front[- ]?end|component)(?![a-z])|화면|페이지|레이아웃|대시보드|컴포넌트|모달|사이드바|내비게이션|네비게이션|스타일시트|디자인 시스템|랜딩 페이지|프런트엔드|프론트엔드/u;
54
+ const litSlashCommands = Object.freeze([
55
+ ...Object.values(renamedSkillIds),
56
+ "lit-burnoff-file",
57
+ "lit-fetch",
58
+ "lit",
59
+ "lit-loop",
60
+ "lit-plan",
61
+ "litwork",
62
+ "lit-work",
63
+ "start-work",
64
+ "review-work",
65
+ "lit-research",
66
+ "litresearch",
67
+ "lit-goal",
68
+ "litgoal",
69
+ "lit-init",
70
+ "lit-crucible",
71
+ "refactor",
72
+ "lit-burnoff",
73
+ "lit-code",
74
+ "debugging",
75
+ "lit-commit",
76
+ "lsp",
77
+ "lsp-setup",
78
+ "rules",
79
+ "deep-interview",
80
+ "structural-search",
81
+ "browser-drive",
82
+ "skill-observer",
83
+ "lit-recap",
84
+ "lit-comprehend",
85
+ "lit-handoff",
86
+ "lit-scientific-visualization",
87
+ "lit-korean",
88
+ "text-neutralization",
89
+ "autoresearch",
90
+ "autoresearch-debug",
91
+ "autoresearch-fix",
92
+ "autoresearch-learn",
93
+ "autoresearch-plan",
94
+ "autoresearch-predict",
95
+ "autoresearch-reason",
96
+ "autoresearch-scenario",
97
+ "autoresearch-security",
98
+ "autoresearch-ship",
99
+ "autoconference",
100
+ "autoconference-analyze",
101
+ "autoconference-debate",
102
+ "autoconference-plan",
103
+ "autoconference-resume",
104
+ "autoconference-ship",
105
+ "autoconference-survey",
106
+ "wikify-init",
107
+ "wikify-ingest",
108
+ "wikify-query",
109
+ "wikify-save",
110
+ "wikify-lint"
111
+ ]);
112
+ export function containsStandaloneLitTrigger(text) {
113
+ return detectChatActivationMode(text) !== undefined;
114
+ }
115
+ function withoutInactiveContent(text) {
116
+ return text
117
+ .replace(/```[\s\S]*?```/g, " ")
118
+ .replace(/`[^`]*`/g, " ")
119
+ .replace(/^\s*>.*$/gmu, " ")
120
+ .replace(/"[^"\r\n]*"/gu, " ")
121
+ .replace(/“[^”\r\n]*”|‘[^’\r\n]*’/gu, " ")
122
+ .replace(/(^|[\s([{])'[^'\r\n]*'(?=$|[\s)\]},.!?;:])/gmu, "$1 ");
123
+ }
124
+ function normalizedTriggerText(text) {
125
+ return withoutInactiveContent(text).toLowerCase().replace(/[_-]+/g, " ");
126
+ }
127
+ function rawTriggerText(text) {
128
+ return withoutInactiveContent(text).toLowerCase();
129
+ }
130
+ function hasLitTrigger(text) {
131
+ return containsCompoundBoundedWord(text, "lit") || containsCompoundBoundedWord(text, "litwork") || containsCompoundBoundedWord(text, "litopencode");
132
+ }
133
+ function containsRecapTrigger(text) {
134
+ return recapBoundedWords.some((word) => containsCompoundBoundedWord(text, word, recapWordCharacter));
135
+ }
136
+ function routeWords(text) {
137
+ return text.match(/[a-z0-9]+/g) ?? [];
138
+ }
139
+ function containsLitRoute(words, ...route) {
140
+ for (let index = 0; index < words.length; index += 1) {
141
+ if (!routeTriggerWords.includes(words[index]))
142
+ continue;
143
+ if (route.every((word, offset) => words[index + offset + 1] === word))
144
+ return true;
145
+ }
146
+ return false;
147
+ }
148
+ function startsWithStartWorkInvocation(raw, normalized) {
149
+ const rawStart = raw.trimStart();
150
+ if (/^start-work(?:$|[\s,.:;!?])/u.test(rawStart))
151
+ return true;
152
+ return /^lit\s+start\s+work(?:$|[\s,.:;!?])/u.test(normalized.trimStart());
153
+ }
154
+ function endsWithStandaloneLitInvocation(raw) {
155
+ return /(?:^|\s)lit[.!?]*$/u.test(raw.trim());
156
+ }
157
+ function containsLitSlashCommandMention(text) {
158
+ const mentions = text.match(/(^|\s)\/([A-Za-z][\w-]*)/gu) ?? [];
159
+ return mentions.some((mention) => litSlashCommands.includes(mention.trim().slice(1)));
160
+ }
161
+ export function detectChatActivationMode(text, agent) {
162
+ if (text.trim().toLowerCase() === "handoff")
163
+ return "lit-handoff";
164
+ if (text.trim().toLowerCase() === "lit-scientific-visualization")
165
+ return "lit-scientific-visualization";
166
+ const raw = rawTriggerText(text);
167
+ const normalized = normalizedTriggerText(text);
168
+ const words = routeWords(normalized);
169
+ if (containsLitSlashCommandMention(raw))
170
+ return undefined;
171
+ const workflowFamilyMode = detectWorkflowFamilyChatMode(raw);
172
+ if (workflowFamilyMode !== undefined)
173
+ return workflowFamilyMode;
174
+ if (containsRenamedSkillTrigger(raw, "lit-crucible"))
175
+ return "lit-crucible";
176
+ if (containsRenamedSkillTrigger(raw, "lit-init"))
177
+ return "lit-init";
178
+ if (/^(?:litresearch|lit-research)(?:$|[\s,.:;!?])/u.test(raw.trimStart()))
179
+ return "lit-research";
180
+ if (startsWithStartWorkInvocation(raw, normalized))
181
+ return "start-work";
182
+ if (containsCompoundBoundedWord(raw, "review-work"))
183
+ return "review-work";
184
+ if (containsCompoundBoundedWord(raw, "litgoal") || containsCompoundBoundedWord(raw, "lit-goal"))
185
+ return "lit-goal";
186
+ if (containsRecapTrigger(raw))
187
+ return "lit-recap";
188
+ if (containsCompoundBoundedWord(raw, "lit-comprehend"))
189
+ return "lit-comprehend";
190
+ if (containsCompoundBoundedWord(raw, "lit comprehend"))
191
+ return "lit-comprehend";
192
+ if (containsCompoundBoundedWord(raw, "$lit-comprehend"))
193
+ return "lit-comprehend";
194
+ if (containsCompoundBoundedWord(raw, "comprehend"))
195
+ return "lit-comprehend";
196
+ if (containsCompoundBoundedWord(raw, "$comprehend"))
197
+ return "lit-comprehend";
198
+ if (containsRenamedSkillTrigger(raw, "lit-burnoff"))
199
+ return "lit-burnoff";
200
+ if (containsRenamedSkillTrigger(raw, "lit-commit"))
201
+ return "lit-commit";
202
+ if (containsCompoundBoundedWord(raw, "refactor"))
203
+ return "refactor";
204
+ if (containsRenamedSkillTrigger(raw, "lit-code"))
205
+ return "lit-code";
206
+ if (containsRenamedSkillTrigger(raw, "lit-burnoff-file"))
207
+ return "lit-burnoff-file";
208
+ if (containsRenamedSkillTrigger(raw, "lit-fetch"))
209
+ return "lit-fetch";
210
+ if (containsRenamedSkillTrigger(raw, "lit-korean"))
211
+ return "lit-korean";
212
+ if (containsCompoundBoundedWord(raw, "deep-interview"))
213
+ return "deep-interview";
214
+ if (containsCompoundBoundedWord(raw, "debugging"))
215
+ return "debugging";
216
+ // lsp-setup is checked first for readability; the compound boundary already keeps the two apart,
217
+ // because the hyphen in `lsp-setup` is itself a word character for this matcher.
218
+ if (containsCompoundBoundedWord(raw, "lsp-setup"))
219
+ return "lsp-setup";
220
+ if (containsCompoundBoundedWord(raw, "lsp"))
221
+ return "lsp";
222
+ if (containsCompoundBoundedWord(raw, "structural-search"))
223
+ return "structural-search";
224
+ // browser-drive is name-only on purpose. A prompt that merely mentions a browser, a URL, or the
225
+ // web is not a request to drive one, and over-firing is a recorded defect shape in this family.
226
+ if (containsCompoundBoundedWord(raw, "browser-drive"))
227
+ return "browser-drive";
228
+ // skill-observer is name-only for the same reason: "observe", "review", and "the skill fell
229
+ // short" are ordinary English about ordinary work, not a request to record a proposal.
230
+ if (containsCompoundBoundedWord(raw, "skill-observer"))
231
+ return "skill-observer";
232
+ if (structuralVerb.test(raw) && structuralShape.test(raw))
233
+ return "structural-search";
234
+ // visual-qa is name-shaped: the id is distinctive enough to be its own trigger, hyphenated or spaced.
235
+ if (containsCompoundBoundedWord(raw, "visual-qa") || containsCompoundBoundedWord(raw, "visual qa"))
236
+ return "visual-qa";
237
+ if (containsCompoundBoundedWord(raw, "frontend-ui-ux"))
238
+ return "frontend-ui-ux";
239
+ if (uiIntentVerb.test(raw) && uiIntentNoun.test(raw))
240
+ return "frontend-ui-ux";
241
+ if (!hasLitTrigger(raw))
242
+ return undefined;
243
+ if (containsLitRoute(words, "review"))
244
+ return "review-work";
245
+ if (containsLitRoute(words, "research"))
246
+ return "lit-research";
247
+ if (containsLitRoute(words, "goal"))
248
+ return "lit-goal";
249
+ if (containsLitRoute(words, "plan"))
250
+ return "lit-plan";
251
+ if ((containsCompoundBoundedWord(raw, "start-work") || containsLitRoute(words, "start", "work")) &&
252
+ !endsWithStandaloneLitInvocation(raw))
253
+ return undefined;
254
+ return agent === "lit-plan" ? "lit-plan" : "lit-loop";
255
+ }
256
+ export function promptForChatActivationMode(mode, triggerText = "") {
257
+ const prompt = canonicalChatPrompt(mode);
258
+ const raw = rawTriggerText(triggerText);
259
+ const alias = Object.keys(renamedSkillIds).find((id) => id === mode && containsCompoundBoundedWord(raw, renamedSkillIds[id]));
260
+ return alias === undefined ? prompt : `${skillRenameNote(alias)}\n${prompt}`;
261
+ }
262
+ function canonicalChatPrompt(mode) {
263
+ if (isWorkflowFamilyMode(mode))
264
+ return workflowFamilyPrompt(mode);
265
+ switch (mode) {
266
+ case "lit-loop":
267
+ return litLoopPromptInjection;
268
+ case "lit-plan":
269
+ return litPlanPromptInjection;
270
+ case "start-work":
271
+ return startWorkChatPromptInjection;
272
+ case "review-work":
273
+ return reviewWorkPromptInjection;
274
+ case "lit-research":
275
+ return litResearchPromptInjection;
276
+ case "lit-goal":
277
+ return litGoalPromptInjection;
278
+ case "lit-init":
279
+ return initDeepPromptInjection;
280
+ case "lit-burnoff-file":
281
+ return litBurnoffFilePromptInjection;
282
+ case "lit-fetch":
283
+ return litFetchPromptInjection;
284
+ case "lit-korean":
285
+ return textNaturalizationPromptInjection;
286
+ case "lit-crucible":
287
+ return litCruciblePromptInjection;
288
+ case "refactor":
289
+ return refactorPromptInjection;
290
+ case "lit-burnoff":
291
+ return removeAiSlopsPromptInjection;
292
+ case "lit-code":
293
+ return litCodePromptInjection;
294
+ case "debugging":
295
+ return debuggingPromptInjection;
296
+ case "lit-commit":
297
+ return gitMasterPromptInjection;
298
+ case "lsp":
299
+ return lspPromptInjection;
300
+ case "lsp-setup":
301
+ return lspSetupPromptInjection;
302
+ case "deep-interview":
303
+ return deepInterviewPromptInjection;
304
+ case "structural-search":
305
+ return structuralSearchPromptInjection;
306
+ case "browser-drive":
307
+ return browserDrivePromptInjection;
308
+ case "skill-observer":
309
+ return skillObserverPromptInjection;
310
+ case "frontend-ui-ux":
311
+ return frontendUiUxPromptInjection;
312
+ case "visual-qa":
313
+ return visualQaPromptInjection;
314
+ case "lit-recap":
315
+ return litRecapPromptInjection;
316
+ case "lit-comprehend":
317
+ return comprehendPromptInjection;
318
+ case "lit-handoff":
319
+ return litHandoffPromptInjection;
320
+ case "lit-scientific-visualization":
321
+ return scientificVisualizationPromptInjection;
322
+ }
323
+ }
324
+ function containsRenamedSkillTrigger(text, id) {
325
+ return containsCompoundBoundedWord(text, id) || containsCompoundBoundedWord(text, renamedSkillIds[id]);
326
+ }
327
+ function containsCompoundBoundedWord(text, word, wordCharacter = compoundWordBoundary) {
328
+ for (let index = 0; index < text.length; index += 1) {
329
+ if (!text.startsWith(word, index))
330
+ continue;
331
+ const previous = index === 0 ? undefined : text[index - 1];
332
+ const next = text[index + word.length];
333
+ if (isCompoundWordBoundary(previous, wordCharacter) && isCompoundWordBoundary(next, wordCharacter))
334
+ return true;
335
+ }
336
+ return false;
337
+ }
338
+ function isCompoundWordBoundary(value, wordCharacter) {
339
+ return value === undefined || !wordCharacter.test(value);
340
+ }
@@ -0,0 +1,26 @@
1
+ export declare const startWorkPromptInjection: string;
2
+ export declare const startWorkChatPromptInjection: string;
3
+ export declare const reviewWorkPromptInjection: string;
4
+ export declare const litResearchPromptInjection: string;
5
+ export declare const litGoalPromptInjection: string;
6
+ export declare const litCruciblePromptInjection: string;
7
+ export declare const initDeepPromptInjection: string;
8
+ export declare const refactorPromptInjection: string;
9
+ export declare const removeAiSlopsPromptInjection: string;
10
+ export declare const litCodePromptInjection: string;
11
+ export declare const gitMasterPromptInjection: string;
12
+ export declare const debuggingPromptInjection: string;
13
+ export declare const lspPromptInjection: string;
14
+ export declare const lspSetupPromptInjection: string;
15
+ export declare const rulesPromptInjection: string;
16
+ export declare const deepInterviewPromptInjection: string;
17
+ export declare const frontendUiUxPromptInjection: string;
18
+ export declare const browserDrivePromptInjection: string;
19
+ export declare const skillObserverPromptInjection: string;
20
+ export declare const visualQaPromptInjection: string;
21
+ export declare const structuralSearchPromptInjection: string;
22
+ export declare const litRecapPromptInjection: string;
23
+ export declare const comprehendPromptInjection: string;
24
+ export declare const textNaturalizationPromptInjection: string;
25
+ export declare const litBurnoffFilePromptInjection: string;
26
+ export declare const litFetchPromptInjection: string;