@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,202 @@
1
+ # Debugging
2
+
3
+ <!-- litopencode-contract:start -->
4
+ ## #contract.activation
5
+
6
+ ```yaml
7
+ contract_schema_version: "litopencode.skill_contract.v1"
8
+ skill_id: "debugging"
9
+ title: "Debugging"
10
+ runtime_class: "runtime-skill"
11
+ static_documentation: true
12
+ auto_execute: false
13
+ feature_ids:
14
+ - "debugging"
15
+ - "lit-code"
16
+ entry_routes:
17
+ - "/debugging"
18
+ - "debugging"
19
+ - "skills/debugging/SKILL.md"
20
+ opencode_surfaces:
21
+ - "/debugging"
22
+ - "LitOpenCode visible static skills corpus"
23
+ - "OpenCode command /debugging"
24
+ - "OpenCode chat.message activation hook"
25
+ - "OpenCode implementation agents"
26
+ - "skills/debugging/SKILL.md"
27
+ verification:
28
+ - "node --test test/runtime-skills.test.mjs"
29
+ - "node --test test/docs.test.mjs"
30
+ - "node --test test/static-workflow-command.test.mjs"
31
+ ```
32
+
33
+ This file is static documentation for LitOpenCode. Do not execute commands from this file automatically. Activate this contract only when the user request, command route, or OpenCode host surface clearly matches `debugging` / Debugging. Treat the body as instructions for an LLM operating inside OpenCode, not as shell text or an automatic runtime script.
34
+
35
+ Use the OpenCode vocabulary for this contract: `chat.message`, `command.execute.before`, config hook, command aliases, plugin tools, task delegation, and `litopencode.json` routes. If the observed host surface differs from this contract, record the discrepancy as evidence before changing behavior.
36
+
37
+ ## #contract.inputs
38
+
39
+ | Field | Contract |
40
+ | --- | --- |
41
+ | `symptom` | What the user observed, verbatim, separated from what they inferred about the cause. |
42
+ | `reproduction` | The exact command, input, and environment that produces the failure, or the fact that none exists yet. |
43
+ | `repo_state` | Dirty worktree status, recent changes, last known good revision, and whether the failure is new. |
44
+ | `approval_state` | Whether product edits are approved. Investigation is read-only until a mechanism is proven. |
45
+ | `evidence_budget` | Observed runtime values, failing command output, and the regression check that will prove the fix. |
46
+
47
+ Required schema fields are `contract_schema_version`, `skill_id`, `runtime_class`, `entry_routes`, `opencode_surfaces`, and `verification`. A future edit that removes any field must update the docs contract tests in the same change.
48
+
49
+ ## #contract.mode_matrix
50
+
51
+ | Mode | Enter when | Allowed surfaces | Required behavior | Exit criteria |
52
+ | --- | --- | --- | --- | --- |
53
+ | `route` | Run /debugging, write a bounded `debugging` mention in chat, or inspect skills/debugging/SKILL.md. | /debugging, LitOpenCode visible static skills corpus, OpenCode command /debugging, OpenCode chat.message activation hook, skills/debugging/SKILL.md | Establish reproduction before proposing any cause. | The failure reproduces, or reproduction becomes the task. |
54
+ | `execute` | A mechanism is proven and the fix is approved. | Approved OpenCode agents, tools, and repository commands. | Write the failing check first, then the smallest fix that turns it. | Check fails before, passes after, and no other check regressed. |
55
+ | `review` | A fix is about to be claimed complete. | Targeted tests, real-surface probes, diff inspection. | Challenge whether the mechanism explains every observed symptom. | Mechanism accounts for the evidence or investigation resumes. |
56
+ | `blocked` | The failure cannot be reproduced, or required access, data, or approval is missing. | Read-only reporting only. | State exactly what is missing; do not guess a cause to appear productive. | Reproduction is obtained or the user narrows the report. |
57
+
58
+ ## #contract.procedure
59
+
60
+ 1. **Capture the symptom** — record the exact command, input, environment, and observed output. Separate what was observed from what was inferred.
61
+ 2. **Reproduce** — make the failure happen on demand. If it will not reproduce, reproduction becomes the task and everything downstream waits.
62
+ 3. **Read the real error** — the actual message and the actual stack, before forming any theory. Most wrong investigations start by theorising over a paraphrase.
63
+ 4. **Form competing hypotheses** — at least three that are genuinely different explanations, not three phrasings of one. For each, name the observation that would distinguish it from the others.
64
+ 5. **Predict, then test** — state the observation a hypothesis predicts before running the check. A hypothesis whose prediction fails is dead, not injured.
65
+ 6. **Narrow** — bisect between last known good and first known bad, shrink the input to the smallest failing case, and change one variable per run.
66
+ 7. **Confirm the mechanism** — toggle the suspected cause and confirm the failure toggles with it. A cause that cannot be switched on and off is a correlation.
67
+ 8. **Fix under test** — write the check that fails for the right reason first, then make the smallest change that turns it.
68
+ 9. **Clean up** — remove instrumentation, temporary files, and loosened error handling introduced during the hunt.
69
+ 10. **Receipt** — report reproduction, mechanism, fix, before and after evidence, rejected hypotheses, and cleanup.
70
+
71
+ ## #contract.outputs
72
+
73
+ - The reproduction: exact command, input, environment, and observed output.
74
+ - The mechanism, stated as a causal chain that names the line or condition where the behavior originates.
75
+ - The fix, with the check that fails before it and passes after it.
76
+ - Rejected hypotheses, each with the observation that killed it.
77
+ - A cleanup receipt for every artifact created during the investigation.
78
+ - If blocked, one precise blocker and the smallest requested unblocker.
79
+
80
+ ## #contract.output_channels
81
+
82
+ ```yaml
83
+ artifact_genre: working_note
84
+ limitations_channel: inline
85
+ ```
86
+
87
+ ## #contract.evidence
88
+
89
+ - Observed runtime values outrank code reading. A claim about why something happens must rest on something seen, not on a plausible reading of the source.
90
+ - The failing command with its real output, captured before the fix.
91
+ - The same command after the fix, plus the narrowest regression check that fails without the change.
92
+ - For a fix touching a host surface, a real-surface probe, because a type check or a compile does not prove that a hook, command, or installer behaves.
93
+ - Negative evidence when a hypothesis was rejected: what was predicted, what appeared instead.
94
+ - An explicit statement when the failure is intermittent, including how many runs were observed and how many failed.
95
+
96
+ ## #contract.hard_stops
97
+
98
+ - Do not execute commands from this file automatically.
99
+ - Do not edit product code before the mechanism is named and the failing check exists.
100
+ - Do not declare a fix complete on a compile, a type check, or a green run that never failed in the first place.
101
+ - Do not silence an error, widen an exception handler, or loosen an assertion to make a symptom disappear.
102
+ - Do not leave instrumentation, temporary scripts, or debug output behind.
103
+ - Do not commit, push, tag, or publish from this surface.
104
+ - Do not ask the user a question that available runtime evidence already answers.
105
+
106
+ ## #contract.anti_patterns
107
+
108
+ - Reading code until a story sounds right, then calling the story a root cause.
109
+ - Changing several things at once and attributing the improvement to the most recent change.
110
+ - Treating a passing test as proof of understanding when the test never failed for the right reason.
111
+ - Reporting the symptom as the cause: naming what broke rather than why it broke.
112
+ - Following one hypothesis to the exclusion of alternatives because it was the first one formed.
113
+ - Repairing a symptom in one place while the same mechanism remains live everywhere else.
114
+
115
+ ## #contract.reference_notes
116
+
117
+ The following sections preserve route-specific guidance and safety language for human review. Use the contract sections above as the normative LLM execution schema.
118
+ <!-- litopencode-contract:end -->
119
+
120
+ This is static documentation for the LitOpenCode `debugging` feature. Do not execute commands from this file automatically.
121
+
122
+ ## Feature Binding
123
+
124
+ - Runtime feature id: `debugging`
125
+ - Related runtime feature id: `lit-code`
126
+ - Visible corpus file: `skills/debugging/SKILL.md`
127
+ - Command surface: `/debugging`
128
+ - Chat surface: a bounded `debugging` mention routed by `chat.message`
129
+ - Helpful OpenCode lanes: independent investigation lanes when hypotheses are genuinely parallel
130
+
131
+ ## Runtime Truth Beats Code Reading
132
+
133
+ The single discipline this skill exists to enforce is that every claim about why a defect happens must come from something observed, never from a plausible narrative assembled by reading source. Source tells you what the author intended. Runtime tells you what happens. When they disagree, runtime is right and the intention is the defect.
134
+
135
+ In practice this means an observed value beats an inferred one at every step. If a hypothesis says a variable is empty at a particular point, look at it. If a hypothesis says a branch is taken, confirm the branch is taken. An investigation built on a chain of unobserved assumptions will produce a fix that appears to work for reasons nobody can state, which is how the same defect returns under a different symptom three weeks later.
136
+
137
+ ## Reproduction Is the Gate
138
+
139
+ Nothing downstream is meaningful without reproduction. A reproduction is adequate when it is runnable from the repository root, deterministic or accompanied by an honest note about how often it fails, small enough for the next person to run without context, and tied to exactly one expected observable.
140
+
141
+ If the failure will not reproduce, that is the task now. Say so plainly rather than proceeding to speculate. An unreproduced defect cannot have a verified fix, because there is no way to observe the fix working. The honest output in that case is the reproduction attempt itself: what was tried, what environment was used, and what would make the next attempt more likely to succeed.
142
+
143
+ Intermittent failures need a stated observation count. "Fails sometimes" is not evidence. "Failed four times in fifty runs, always when the cache was cold" is.
144
+
145
+ ## Three Hypotheses, Not One
146
+
147
+ Form at least three genuinely competing explanations before testing any of them. Three phrasings of the same theory is one hypothesis wearing different clothes; the test is whether an observation could favour one over the others. If no such observation exists, they are the same hypothesis.
148
+
149
+ For each, write down the observation it predicts before running the check. Predicting after the fact is not prediction, and a hypothesis that survives because its prediction was written to match what already appeared has proven nothing. When a prediction fails, discard the hypothesis rather than amending it into something that accommodates the new evidence. An amended hypothesis has to earn its place again with a new prediction.
150
+
151
+ ## Narrowing
152
+
153
+ Bisection is the fastest general technique available and it is systematically underused. Between a last known good state and a first known bad state, the defect is somewhere in the difference; halving that difference repeatedly converges quickly and does not require understanding the code first. The same shape applies to input: shrink the failing input until removing anything more makes the failure disappear, and what remains is a description of the trigger.
154
+
155
+ Change one variable per run. Two changes and an improvement tell you nothing about which change mattered, and the natural instinct at that point is to keep both, which leaves an unexplained modification in the codebase permanently.
156
+
157
+ ## The Toggle Test
158
+
159
+ A mechanism is confirmed when toggling the suspected cause toggles the failure. Turn the cause on and the defect appears; turn it off and it does not. Anything weaker is correlation, and correlation is exactly how a fix ends up in the wrong file while the real mechanism stays live.
160
+
161
+ The difference between a symptom and a mechanism matters here. "The route returns nothing" is a symptom. "The route returns nothing because the id is compared before it is normalized, so a hyphenated id never matches" is a mechanism: it names the location, the condition, and the causal step, and it predicts which other inputs also fail.
162
+
163
+ ## Fixing Under Test
164
+
165
+ Write the failing check before the fix. It must fail for the right reason, which is worth confirming explicitly: a check that fails because of a typo in the check is not a regression check. Then make the smallest change that turns it, and re-run the surrounding checks to confirm nothing else moved.
166
+
167
+ Patch the boundary where the mechanism lives, not the nearest place the symptom is visible. Keep compatibility paths unless breaking them is intentional and approved. Do not broaden an exception handler without asserting the path that now flows through it, because a widened handler converts a loud defect into a silent one. Never let a check reach the network or perform a release action.
168
+
169
+ ## Cleanup Is Part of the Fix
170
+
171
+ Instrumentation, temporary scripts, added logging, loosened error handling, and scratch files all get removed before the work is claimed done. Track them as they are created rather than trying to remember them afterwards; the ones that get left behind are always the ones added in a hurry during the most confusing part of the investigation.
172
+
173
+ Loosened error handling is the most dangerous leftover. Silencing an error to see past it is a legitimate move during a hunt and a defect if it ships, because a swallowed error is frequently the original defect in the first place.
174
+
175
+ ## OpenCode Surface Notes
176
+
177
+ In this repository a compile proves very little. Command aliases can compile and fail to install. A chat route can typecheck and never fire because a word boundary rejects the trigger. A skill file can exist and never be registered. A package export can resolve locally and be missing from the built payload. When a defect involves a host surface, the evidence has to come from that surface: drive `chat.message`, `command.execute.before`, or `tool.execute.after` directly, or install into an isolated root and inspect the result.
178
+
179
+ Isolation matters during investigation as much as during verification. Probing against a live profile can mutate it, and a defect hunt that changes the environment it is measuring produces evidence nobody can trust afterwards.
180
+
181
+ ## Verification
182
+
183
+ - Runtime catalog surface: `node --test test/runtime-skills.test.mjs`
184
+ - Documentation corpus surface: `node --test test/docs.test.mjs`
185
+ - Command and chat route surface: `node --test test/static-workflow-command.test.mjs`
186
+ - Defect-specific proof: the regression check that fails before the change and passes after it
187
+
188
+ ## When to Stop
189
+
190
+ Stop when the failure will not reproduce, when required access or data is unavailable, when two rounds of investigation have produced no new observation, when the fix would require a design change that needs approval, or when the mechanism explains only part of what was reported. Stopping with an honest account of what is known and what is not is more useful than a change that makes the symptom disappear for reasons nobody can state.
191
+
192
+ Two dead rounds is also where to reframe before stopping outright: `references/escalation.md` carries the three reframes — widen the boundary, invert the assumption, follow the data rather than the control flow — and the rule that a third hypothesis from the same mental model is not a new hypothesis.
193
+
194
+ ## References
195
+
196
+ Load one file, not the set. `references/README.md` routes to all three.
197
+
198
+ - `references/runtimes/<runtime>.md` — how to obtain a real observation in Node, Python, Go, Rust, a compiled binary without source, or a bundled JS executable, plus the failure modes that waste the most time in each.
199
+ - `references/escalation.md` — what to do when two hypothesis rounds have died.
200
+ - `references/tools.md` — sanitizers, native debuggers, binary inspection, protocol work, and browser tracing, for symptoms ordinary instrumentation cannot see.
201
+
202
+ These are inert notes. Attaching a debugger to a live process, installing a sanitizer toolchain, or analysing a third-party binary all change the user's machine or touch someone else's software, and need the same approval as any other change.
@@ -0,0 +1,15 @@
1
+ # Debugging references
2
+
3
+ The skill body carries the method: capture, reproduce, read the real error, compete hypotheses,
4
+ predict then test, narrow, toggle, fix under test, clean up, receipt. These files carry the parts
5
+ that are runtime-specific or that only matter once the method has stalled.
6
+
7
+ | Read this | When |
8
+ |---|---|
9
+ | [runtimes/README.md](runtimes/README.md) | You need real runtime evidence and the language decides how to get it |
10
+ | [escalation.md](escalation.md) | Two hypothesis rounds have died and the next round would be a third guess |
11
+ | [tools.md](tools.md) | The failure is in a binary, a protocol, or a browser and normal instrumentation cannot see it |
12
+
13
+ Load one. These are inert notes: nothing here runs without the approval the skill body requires, and
14
+ a debugger attaching to a live process is a change to the user's machine even when it writes nothing.
15
+
@@ -0,0 +1,43 @@
1
+ # Escalation — when two rounds have failed
2
+
3
+ The skill body says to stop after two rounds of investigation that produced no new observation. That
4
+ is where to stop *guessing*; it is not where to stop working. Continuing past two failures with the
5
+ same mental model is the single most reliable way to burn an afternoon, because the reason nothing
6
+ fits is usually that the cause sits in a category not yet imagined.
7
+
8
+ ## The rule
9
+
10
+ **At two consecutive failed hypothesis rounds, stop investigating and reframe.** A third hypothesis
11
+ drawn from the same model is not a new hypothesis. Reframing means deliberately changing where you
12
+ are looking, not looking harder.
13
+
14
+ ## Three reframes, run as separate passes
15
+
16
+ Do not blend these. The value comes from each being answered independently, because each one tends to
17
+ surface a different class of cause.
18
+
19
+ 1. **Widen the boundary.** Assume the bug is not in the code being read. Environment, versions,
20
+ build output that differs from source, a cached artifact, a second process, a different machine,
21
+ the wrong file being executed entirely. Ask: *what would have to be true for this code to be
22
+ correct and the symptom still real?*
23
+ 2. **Invert the assumption.** Name the thing everyone has taken for granted — "the config is
24
+ loaded", "the test runs the code I edited", "this function is called". Then prove it, with an
25
+ observation, not by reading. Most stalled hunts contain exactly one such unexamined assumption.
26
+ 3. **Follow the data, not the control flow.** Instead of tracing what runs, trace what the value
27
+ *was* at each boundary it crossed. Corruption and identity bugs are almost invisible from the
28
+ control-flow side and obvious from the data side.
29
+
30
+ ## After reframing
31
+
32
+ A reframe that produces a new observation restarts the normal loop at "predict, then test". A
33
+ reframe that produces nothing on all three passes is a genuine stopping point: report what is known,
34
+ what was ruled out and how, and what evidence would be needed next. That report is a result. A third
35
+ speculative fix is not.
36
+
37
+ ## Not for finished artifacts
38
+
39
+ This is for stuck root-cause hunts. When the task is producing something — an extraction, an audit, a
40
+ migration — and you want a skeptical check before calling it done, that is verification, not
41
+ escalation. Ask what would have to be false for the artifact to be wrong, and check those things
42
+ directly.
43
+
@@ -0,0 +1,17 @@
1
+ # Runtime evidence
2
+
3
+ The method is the same in every language; the way to *get* an observation is not. Read the one file
4
+ for the runtime in front of you.
5
+
6
+ | Runtime | File |
7
+ |---|---|
8
+ | Node / TypeScript | [node.md](node.md) |
9
+ | Python | [python.md](python.md) |
10
+ | Go | [go.md](go.md) |
11
+ | Rust | [rust.md](rust.md) |
12
+ | Compiled binary, no source | [native-binary.md](native-binary.md) |
13
+ | Bundled or minified JS shipped as a binary | [bundled-js-binary.md](bundled-js-binary.md) |
14
+
15
+ One rule holds across all of them: **runtime truth beats code reading.** A value printed at the
16
+ boundary where it was wrong outranks any amount of reasoning about what the code should have done.
17
+
@@ -0,0 +1,44 @@
1
+ # Bundled or minified JavaScript shipped as an executable
2
+
3
+ A single-file CLI produced by a bundler is the hardest common case: the stack points into generated
4
+ code, the line numbers are meaningless, and the source on disk is not what runs.
5
+
6
+ ## Establish what is actually executing
7
+
8
+ ```bash
9
+ head -c 200 ./cli # shebang and banner
10
+ node -e 'console.log(require.resolve("<pkg>"))'
11
+ ```
12
+
13
+ Confirm whether the running artifact is the local build, an installed global, or a cached copy. This
14
+ is the step most often skipped, and it invalidates everything downstream when it is wrong.
15
+
16
+ ## Make the stack readable
17
+
18
+ ```bash
19
+ NODE_OPTIONS="--enable-source-maps" ./cli <args>
20
+ ```
21
+
22
+ If the bundle ships no source map, do not read the minified frame. Instead, locate the code by its
23
+ strings:
24
+
25
+ ```bash
26
+ grep -o '.\{0,120\}<error message fragment>.\{0,120\}' ./cli
27
+ ```
28
+
29
+ The surrounding characters usually identify the original function well enough to find it in source.
30
+
31
+ ## Rebuild with the loop closed
32
+
33
+ The reliable move is to stop debugging the bundle. Rebuild from source with sourcemaps enabled, or
34
+ run the entry module directly with the runtime's TypeScript support, and reproduce there. If the
35
+ symptom disappears in that mode, the defect is in the bundling step — which is itself the finding.
36
+
37
+ ## Watch for
38
+
39
+ - **A stale bundle.** Editing source and re-running the old artifact produces "impossible"
40
+ observations. Check the mtime.
41
+ - **Bundler-injected polyfills or interop shims** changing `this`, default-export shape, or
42
+ `import.meta`.
43
+ - **Tree-shaking removing a side-effecting import** that the source relied on.
44
+
@@ -0,0 +1,37 @@
1
+ # Go
2
+
3
+ ## Get the real failure
4
+
5
+ ```bash
6
+ go run -race ./cmd/app # data races are silent until they are not
7
+ go test -race -run TestName ./pkg -v
8
+ GOTRACEBACK=all go run ./cmd/app
9
+ ```
10
+
11
+ `-race` first, always. A Go bug that reproduces intermittently is a race until proven otherwise, and
12
+ the race detector names the two goroutines and the exact line.
13
+
14
+ ## Inspect
15
+
16
+ ```bash
17
+ dlv debug ./cmd/app
18
+ dlv attach <pid>
19
+ kill -QUIT <pid> # full goroutine dump to stderr
20
+ ```
21
+
22
+ The `SIGQUIT` dump is the single best tool for a deadlock: it prints every goroutine and what it is
23
+ blocked on, with no setup.
24
+
25
+ ## The failures that waste the most time
26
+
27
+ - **Loop variable capture** in goroutines (fixed in Go 1.22+; still present in older modules).
28
+ - **A nil interface holding a nil pointer is not nil.** `err != nil` is true when `err` holds a typed
29
+ nil. This produces "impossible" branches.
30
+ - **Unbuffered channel send with no receiver** blocks forever and looks like a hang, not an error.
31
+ - **`defer` in a loop** does not run until the function returns.
32
+
33
+ ## Isolate
34
+
35
+ `go test -run '^TestName$' -count=1` — `-count=1` defeats the test cache, which otherwise reports a
36
+ pass for code you just changed.
37
+
@@ -0,0 +1,44 @@
1
+ # Compiled binary without source
2
+
3
+ When the failing component is a binary you cannot rebuild, the loop is unchanged — reproduce,
4
+ observe, narrow — but every observation comes from outside the process.
5
+
6
+ ## Watch what it does, before opening it
7
+
8
+ ```bash
9
+ strace -f -e trace=file,network ./binary # Linux
10
+ sudo dtruss -f ./binary # macOS
11
+ ltrace ./binary # library calls
12
+ lsof -p <pid> # what it currently holds open
13
+ ```
14
+
15
+ Syscall tracing answers most questions — which config it actually read, which host it reached, where
16
+ it failed — in one command, and costs nothing.
17
+
18
+ ## Then look inside
19
+
20
+ ```bash
21
+ file ./binary && nm -C ./binary | head
22
+ strings -n 8 ./binary | grep -i <term>
23
+ objdump -d ./binary | less
24
+ ```
25
+
26
+ `strings` finds error messages, paths, and version markers; matching the message you observed against
27
+ the binary's string table locates the code path without a decompiler.
28
+
29
+ ## Crash
30
+
31
+ ```bash
32
+ ulimit -c unlimited
33
+ gdb --batch -ex bt ./binary core
34
+ ```
35
+
36
+ A stripped binary yields addresses rather than names. Check for a separate debug package or a
37
+ `.dSYM` before concluding the trace is useless.
38
+
39
+ ## Boundaries
40
+
41
+ Confirm you are permitted to analyse and instrument the binary. Reverse engineering someone else's
42
+ shipped software may be constrained by licence or contract; that is a real limit, not a formality,
43
+ and it belongs in the report rather than being assumed away.
44
+
@@ -0,0 +1,43 @@
1
+ # Node / TypeScript
2
+
3
+ ## Get the real stack
4
+
5
+ ```bash
6
+ node --stack-trace-limit=50 app.js
7
+ NODE_OPTIONS="--enable-source-maps" node dist/app.js
8
+ ```
9
+
10
+ Without `--enable-source-maps` a TypeScript stack points into compiled output and the line numbers
11
+ are a different file. Fix that before theorising about a frame.
12
+
13
+ ## Inspect a live process
14
+
15
+ ```bash
16
+ node --inspect-brk app.js # then attach; execution waits
17
+ kill -USR1 <pid> # open the inspector on an already-running process
18
+ ```
19
+
20
+ ## The failures that waste the most time
21
+
22
+ - **Unhandled rejection swallows the trace.** `process.on("unhandledRejection", (e) => { throw e })`
23
+ during a hunt turns a silent exit into a real error.
24
+ - **`async` frames are lost** unless the error was created in the async context. Create the `Error`
25
+ early and attach context, rather than reconstructing at the boundary.
26
+ - **The file you edited is not the file that ran.** Stale `dist/`, a cached loader, or a package
27
+ resolving to `node_modules` rather than the workspace source. Print `import.meta.url` or
28
+ `require.resolve()` — do not assume.
29
+ - **`NODE_ENV` and conditional exports** can select a different bundle entirely.
30
+
31
+ ## Cheap observations
32
+
33
+ ```bash
34
+ node --trace-warnings app.js
35
+ node --cpu-prof app.js # for a hang or a slowdown
36
+ node --heap-prof app.js
37
+ ```
38
+
39
+ ## Reproduce in isolation
40
+
41
+ `npm exec -- node -e '<snippet>'` with the module imported directly is usually enough to separate a
42
+ library defect from an integration defect. Do that before reading library source.
43
+
@@ -0,0 +1,41 @@
1
+ # Python
2
+
3
+ ## Get the real traceback
4
+
5
+ ```bash
6
+ python -X dev -X tracemalloc app.py
7
+ python -m faulthandler app.py # dumps a trace on a segfault or hang
8
+ ```
9
+
10
+ `-X dev` enables development mode: extra warnings, unclosed-resource reporting, and a stricter
11
+ allocator. It routinely surfaces the cause without any further work.
12
+
13
+ ## Inspect
14
+
15
+ ```bash
16
+ python -m pdb -c continue app.py # drops to pdb at the exception
17
+ py-spy dump --pid <pid> # stack of a live process, no restart
18
+ py-spy top --pid <pid> # where time is actually going
19
+ ```
20
+
21
+ `py-spy` needs no cooperation from the target and is the fastest way to diagnose a hang.
22
+
23
+ ## The failures that waste the most time
24
+
25
+ - **The wrong interpreter.** `python`, `python3`, the venv, and the tool's vendored runtime are four
26
+ different environments. Print `sys.executable` and `sys.path` before believing an ImportError.
27
+ - **Shadowing.** A local file named `queue.py` or `types.py` silently replaces the stdlib module.
28
+ - **Mutable default arguments and class-level mutables** produce state that persists across calls in
29
+ a way that reads as impossible.
30
+ - **`except Exception` upstream** is often why the error you see is not the error that happened.
31
+ Search for bare handlers before trusting the message.
32
+
33
+ ## Isolate
34
+
35
+ ```bash
36
+ python -c 'import mod; print(mod.__file__); mod.thing()'
37
+ ```
38
+
39
+ Import the module directly and call the failing function. Most "framework bug" reports do not
40
+ survive this.
41
+
@@ -0,0 +1,37 @@
1
+ # Rust
2
+
3
+ ## Get the real failure
4
+
5
+ ```bash
6
+ RUST_BACKTRACE=full cargo run
7
+ cargo test -- --nocapture --test-threads=1
8
+ ```
9
+
10
+ `--nocapture` matters: without it, `println!` from a passing-then-failing test is hidden, which is
11
+ usually where the evidence was.
12
+
13
+ ## Sanitizers and Miri
14
+
15
+ ```bash
16
+ cargo +nightly miri test # undefined behavior in unsafe code
17
+ RUSTFLAGS="-Zsanitizer=address" cargo +nightly test --target <host-triple>
18
+ cargo test -- --test-threads=1 # order-dependent state
19
+ ```
20
+
21
+ For anything involving `unsafe`, Miri is the first move, not the last. It catches aliasing and
22
+ provenance violations that produce correct-looking behavior in debug and corruption in release.
23
+
24
+ ## The failures that waste the most time
25
+
26
+ - **Debug and release differ.** Integer overflow panics in debug and wraps in release. A bug that
27
+ only appears in `--release` is often this, or a UB issue the optimiser exposed.
28
+ - **`unwrap()` on a `Result` reports the panic site, not the origin.** Use `anyhow::Context` or
29
+ `expect("what was being attempted")` so the message names the operation.
30
+ - **Trait resolution surprises:** a blanket impl or a deref chain selecting a different method than
31
+ the one read. `cargo expand` shows what was actually generated.
32
+
33
+ ## Isolate
34
+
35
+ `cargo test -p <crate> --lib <module>::` narrows to one module. If the failure disappears, the cause
36
+ is in the integration, not the unit.
37
+
@@ -0,0 +1,72 @@
1
+ # Specialist tools
2
+
3
+ Reach for these only when ordinary instrumentation genuinely cannot see the failure. Each one is
4
+ heavier than it looks, and each one changes the user's machine or attaches to a live process — that
5
+ needs the same approval as any other change.
6
+
7
+ ## Native debuggers — `gdb` / `lldb`
8
+
9
+ For a crash, a hang, or corruption in compiled code. The highest-value use is not stepping; it is a
10
+ backtrace from a core file, which costs one command and often ends the hunt.
11
+
12
+ ```bash
13
+ ulimit -c unlimited # allow core dumps in this shell
14
+ gdb --batch -ex bt -ex 'info registers' ./binary core
15
+ lldb --batch -o 'bt all' -o 'register read' -f ./binary -c core
16
+ ```
17
+
18
+ Build with `-g` and without `-O2` before concluding a backtrace is unreadable. Optimised frames are
19
+ inlined away and the resulting trace is not evidence of anything.
20
+
21
+ `pwndbg` and `gef` are `gdb` plugins that add heap and register views. They are worth installing for
22
+ memory-corruption work and pointless otherwise.
23
+
24
+ ## Sanitizers — cheaper than a debugger
25
+
26
+ For C, C++, Rust, and Go, a sanitizer run usually finds the cause faster than any interactive
27
+ session, because it reports at the moment of the violation rather than at the crash.
28
+
29
+ ```bash
30
+ clang -fsanitize=address,undefined -g -O1 prog.c && ./a.out
31
+ go test -race ./...
32
+ RUSTFLAGS="-Zsanitizer=address" cargo +nightly test # or: cargo miri test
33
+ ```
34
+
35
+ Run these before attaching a debugger. A clean sanitizer run is also real evidence.
36
+
37
+ ## Static binary analysis — `ghidra`, `objdump`, `nm`
38
+
39
+ Only when source is unavailable. Start with the cheap tools: `nm -C`, `strings`, `objdump -d`, and
40
+ `ltrace`/`strace` (`dtruss` on macOS) will answer most questions about what a binary calls and when.
41
+ Ghidra's decompiler is for the cases those cannot reach; it is a large install and a long session.
42
+
43
+ Confirm you are permitted to analyse the binary before starting.
44
+
45
+ ## Protocol and exploit work — `pwntools`
46
+
47
+ For byte-exact interaction with a process or socket when a shell cannot express it.
48
+
49
+ ```python
50
+ from pwn import process, remote
51
+ io = process("./binary") # or: remote(host, port)
52
+ io.sendline(b"payload")
53
+ print(io.recvall(timeout=2))
54
+ ```
55
+
56
+ The library is authorization-sensitive by nature. Use it against systems you own or are engaged to
57
+ test, and say which applies.
58
+
59
+ ## Browser failures — Playwright CLI
60
+
61
+ For a symptom only reproducible in a real page. The tracing mode is what makes it worth the setup:
62
+ it captures network, console, and DOM snapshots together, which is exactly the correlation a
63
+ screenshot loses.
64
+
65
+ ```bash
66
+ npx playwright open --save-trace=trace.zip https://example.test
67
+ npx playwright show-trace trace.zip
68
+ ```
69
+
70
+ Console output alone is not reproduction. A trace that shows the failing request next to the failing
71
+ render is.
72
+