@tyroneross/build-loop 0.30.3

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 (389) hide show
  1. package/.agents/plugins/marketplace.json +10 -0
  2. package/.claude-plugin/marketplace.json +38 -0
  3. package/.claude-plugin/plugin.json +30 -0
  4. package/.codex-plugin/plugin.json +41 -0
  5. package/.cursor/rules/build-loop-surface.mdc +22 -0
  6. package/AGENTS.md +498 -0
  7. package/LICENSE +202 -0
  8. package/README.md +403 -0
  9. package/agents/alignment-checker.md +124 -0
  10. package/agents/api-assessor.md +136 -0
  11. package/agents/architecture-scout.md +185 -0
  12. package/agents/assessment-orchestrator.md +163 -0
  13. package/agents/build-orchestrator.md +198 -0
  14. package/agents/database-assessor.md +133 -0
  15. package/agents/design-contract-specialist.md +239 -0
  16. package/agents/fact-checker.md +69 -0
  17. package/agents/fix-critique.md +161 -0
  18. package/agents/frontend-assessor.md +136 -0
  19. package/agents/implementer.md +185 -0
  20. package/agents/independent-auditor.md +143 -0
  21. package/agents/mock-scanner.md +78 -0
  22. package/agents/optimize-runner.md +112 -0
  23. package/agents/overfitting-reviewer.md +96 -0
  24. package/agents/performance-assessor.md +159 -0
  25. package/agents/plan-critic.md +85 -0
  26. package/agents/promotion-reviewer.md +121 -0
  27. package/agents/recurring-pattern-detector.md +248 -0
  28. package/agents/retrospective-synthesizer.md +109 -0
  29. package/agents/root-cause-investigator.md +285 -0
  30. package/agents/scope-auditor.md +121 -0
  31. package/agents/security-reviewer.md +151 -0
  32. package/agents/self-improvement-architect.md +125 -0
  33. package/agents/synthesis-critic.md +99 -0
  34. package/agents/transcript-pattern-miner.md +165 -0
  35. package/agents/ui-validator.md +193 -0
  36. package/codex-skills/build-loop/SKILL.md +20 -0
  37. package/codex-skills/debug-loop/SKILL.md +18 -0
  38. package/codex-skills/handoff/SKILL.md +22 -0
  39. package/codex-skills/knowledge/SKILL.md +21 -0
  40. package/codex-skills/optimize/SKILL.md +18 -0
  41. package/codex-skills/research/SKILL.md +18 -0
  42. package/commands/agent-rally-point.md +301 -0
  43. package/commands/assess.md +41 -0
  44. package/commands/debug.md +20 -0
  45. package/commands/debugger-detail.md +34 -0
  46. package/commands/debugger-scan.md +15 -0
  47. package/commands/debugger-status.md +20 -0
  48. package/commands/debugger.md +32 -0
  49. package/commands/handoff.md +113 -0
  50. package/commands/knowledge-review.md +16 -0
  51. package/commands/optimize.md +31 -0
  52. package/commands/plan-verify.md +39 -0
  53. package/commands/promote-experiment.md +129 -0
  54. package/commands/research.md +22 -0
  55. package/commands/run.md +12 -0
  56. package/commands/self-review.md +51 -0
  57. package/commands/start-prd.md +57 -0
  58. package/commands/test.md +34 -0
  59. package/dist/src/assessment-orchestrator.d.ts +78 -0
  60. package/dist/src/assessment-orchestrator.d.ts.map +1 -0
  61. package/dist/src/assessment-orchestrator.js +304 -0
  62. package/dist/src/assessment-orchestrator.js.map +1 -0
  63. package/dist/src/audit-miner.d.ts +21 -0
  64. package/dist/src/audit-miner.d.ts.map +1 -0
  65. package/dist/src/audit-miner.js +421 -0
  66. package/dist/src/audit-miner.js.map +1 -0
  67. package/dist/src/batch-operations.d.ts +30 -0
  68. package/dist/src/batch-operations.d.ts.map +1 -0
  69. package/dist/src/batch-operations.js +339 -0
  70. package/dist/src/batch-operations.js.map +1 -0
  71. package/dist/src/config.d.ts +83 -0
  72. package/dist/src/config.d.ts.map +1 -0
  73. package/dist/src/config.js +176 -0
  74. package/dist/src/config.js.map +1 -0
  75. package/dist/src/context-engine.d.ts +45 -0
  76. package/dist/src/context-engine.d.ts.map +1 -0
  77. package/dist/src/context-engine.js +135 -0
  78. package/dist/src/context-engine.js.map +1 -0
  79. package/dist/src/debug-wrapper.d.ts +58 -0
  80. package/dist/src/debug-wrapper.d.ts.map +1 -0
  81. package/dist/src/debug-wrapper.js +285 -0
  82. package/dist/src/debug-wrapper.js.map +1 -0
  83. package/dist/src/index.d.ts +31 -0
  84. package/dist/src/index.d.ts.map +1 -0
  85. package/dist/src/index.js +149 -0
  86. package/dist/src/index.js.map +1 -0
  87. package/dist/src/interactive-verifier.d.ts +26 -0
  88. package/dist/src/interactive-verifier.d.ts.map +1 -0
  89. package/dist/src/interactive-verifier.js +435 -0
  90. package/dist/src/interactive-verifier.js.map +1 -0
  91. package/dist/src/lessons.d.ts +59 -0
  92. package/dist/src/lessons.d.ts.map +1 -0
  93. package/dist/src/lessons.js +172 -0
  94. package/dist/src/lessons.js.map +1 -0
  95. package/dist/src/log-reader.d.ts +39 -0
  96. package/dist/src/log-reader.d.ts.map +1 -0
  97. package/dist/src/log-reader.js +291 -0
  98. package/dist/src/log-reader.js.map +1 -0
  99. package/dist/src/logger.d.ts +59 -0
  100. package/dist/src/logger.d.ts.map +1 -0
  101. package/dist/src/logger.js +328 -0
  102. package/dist/src/logger.js.map +1 -0
  103. package/dist/src/parallel-retrieval.d.ts +52 -0
  104. package/dist/src/parallel-retrieval.d.ts.map +1 -0
  105. package/dist/src/parallel-retrieval.js +309 -0
  106. package/dist/src/parallel-retrieval.js.map +1 -0
  107. package/dist/src/pattern-extractor.d.ts +30 -0
  108. package/dist/src/pattern-extractor.d.ts.map +1 -0
  109. package/dist/src/pattern-extractor.js +386 -0
  110. package/dist/src/pattern-extractor.js.map +1 -0
  111. package/dist/src/result-aggregator.d.ts +44 -0
  112. package/dist/src/result-aggregator.d.ts.map +1 -0
  113. package/dist/src/result-aggregator.js +315 -0
  114. package/dist/src/result-aggregator.js.map +1 -0
  115. package/dist/src/retrieval.d.ts +139 -0
  116. package/dist/src/retrieval.d.ts.map +1 -0
  117. package/dist/src/retrieval.js +724 -0
  118. package/dist/src/retrieval.js.map +1 -0
  119. package/dist/src/setup/auto-setup.d.ts +15 -0
  120. package/dist/src/setup/auto-setup.d.ts.map +1 -0
  121. package/dist/src/setup/auto-setup.js +157 -0
  122. package/dist/src/setup/auto-setup.js.map +1 -0
  123. package/dist/src/setup/configure-hooks.d.ts +8 -0
  124. package/dist/src/setup/configure-hooks.d.ts.map +1 -0
  125. package/dist/src/setup/configure-hooks.js +16 -0
  126. package/dist/src/setup/configure-hooks.js.map +1 -0
  127. package/dist/src/setup/create-slash-commands.d.ts +8 -0
  128. package/dist/src/setup/create-slash-commands.d.ts.map +1 -0
  129. package/dist/src/setup/create-slash-commands.js +101 -0
  130. package/dist/src/setup/create-slash-commands.js.map +1 -0
  131. package/dist/src/setup/index.d.ts +8 -0
  132. package/dist/src/setup/index.d.ts.map +1 -0
  133. package/dist/src/setup/index.js +17 -0
  134. package/dist/src/setup/index.js.map +1 -0
  135. package/dist/src/setup/inject-claude-md.d.ts +10 -0
  136. package/dist/src/setup/inject-claude-md.d.ts.map +1 -0
  137. package/dist/src/setup/inject-claude-md.js +150 -0
  138. package/dist/src/setup/inject-claude-md.js.map +1 -0
  139. package/dist/src/setup/uninstall.d.ts +22 -0
  140. package/dist/src/setup/uninstall.d.ts.map +1 -0
  141. package/dist/src/setup/uninstall.js +235 -0
  142. package/dist/src/setup/uninstall.js.map +1 -0
  143. package/dist/src/storage.d.ts +192 -0
  144. package/dist/src/storage.d.ts.map +1 -0
  145. package/dist/src/storage.js +1037 -0
  146. package/dist/src/storage.js.map +1 -0
  147. package/dist/src/string-similarity.d.ts +8 -0
  148. package/dist/src/string-similarity.d.ts.map +1 -0
  149. package/dist/src/string-similarity.js +57 -0
  150. package/dist/src/string-similarity.js.map +1 -0
  151. package/dist/src/traces/adapters/browser.d.ts +69 -0
  152. package/dist/src/traces/adapters/browser.d.ts.map +1 -0
  153. package/dist/src/traces/adapters/browser.js +280 -0
  154. package/dist/src/traces/adapters/browser.js.map +1 -0
  155. package/dist/src/traces/adapters/index.d.ts +23 -0
  156. package/dist/src/traces/adapters/index.d.ts.map +1 -0
  157. package/dist/src/traces/adapters/index.js +67 -0
  158. package/dist/src/traces/adapters/index.js.map +1 -0
  159. package/dist/src/traces/adapters/langchain.d.ts +42 -0
  160. package/dist/src/traces/adapters/langchain.d.ts.map +1 -0
  161. package/dist/src/traces/adapters/langchain.js +151 -0
  162. package/dist/src/traces/adapters/langchain.js.map +1 -0
  163. package/dist/src/traces/adapters/opentelemetry.d.ts +46 -0
  164. package/dist/src/traces/adapters/opentelemetry.d.ts.map +1 -0
  165. package/dist/src/traces/adapters/opentelemetry.js +164 -0
  166. package/dist/src/traces/adapters/opentelemetry.js.map +1 -0
  167. package/dist/src/traces/adapters/sentry.d.ts +58 -0
  168. package/dist/src/traces/adapters/sentry.d.ts.map +1 -0
  169. package/dist/src/traces/adapters/sentry.js +212 -0
  170. package/dist/src/traces/adapters/sentry.js.map +1 -0
  171. package/dist/src/traces/index.d.ts +10 -0
  172. package/dist/src/traces/index.d.ts.map +1 -0
  173. package/dist/src/traces/index.js +45 -0
  174. package/dist/src/traces/index.js.map +1 -0
  175. package/dist/src/traces/storage.d.ts +78 -0
  176. package/dist/src/traces/storage.d.ts.map +1 -0
  177. package/dist/src/traces/storage.js +399 -0
  178. package/dist/src/traces/storage.js.map +1 -0
  179. package/dist/src/traces/summarizer.d.ts +83 -0
  180. package/dist/src/traces/summarizer.d.ts.map +1 -0
  181. package/dist/src/traces/summarizer.js +247 -0
  182. package/dist/src/traces/summarizer.js.map +1 -0
  183. package/dist/src/traces/types.d.ts +365 -0
  184. package/dist/src/traces/types.d.ts.map +1 -0
  185. package/dist/src/traces/types.js +14 -0
  186. package/dist/src/traces/types.js.map +1 -0
  187. package/dist/src/types.d.ts +495 -0
  188. package/dist/src/types.d.ts.map +1 -0
  189. package/dist/src/types.js +27 -0
  190. package/dist/src/types.js.map +1 -0
  191. package/docs/agent-surface-policy.md +45 -0
  192. package/docs/memory-setup.md +226 -0
  193. package/hooks/_arch_scan_bg.py +88 -0
  194. package/hooks/_plugin_drift_check_bg.py +85 -0
  195. package/hooks/_session_start_lib.sh +42 -0
  196. package/hooks/git/pre-push +141 -0
  197. package/hooks/hooks.json +126 -0
  198. package/hooks/post-commit +30 -0
  199. package/hooks/pre-commit +29 -0
  200. package/hooks/pre-edit-apppulse.sh +6 -0
  201. package/hooks/pre-edit-architecture.sh +106 -0
  202. package/hooks/pre-edit-rally-point.sh +92 -0
  203. package/hooks/session-start-apppulse.sh +6 -0
  204. package/hooks/session-start-architecture.sh +10 -0
  205. package/hooks/session-start-git-hooks.sh +12 -0
  206. package/hooks/session-start-plugin-drift.sh +27 -0
  207. package/hooks/session-start-rally-point.sh +44 -0
  208. package/hooks/session-start-retrieval.sh +24 -0
  209. package/hooks/session-start-worktree-gc.sh +105 -0
  210. package/hooks/test_apppulse_hooks.sh +6 -0
  211. package/hooks/test_rally_point_hooks.sh +388 -0
  212. package/hooks/test_sec008_hooks.sh +66 -0
  213. package/package.json +111 -0
  214. package/scripts/README.md +301 -0
  215. package/scripts/_db_url.py +61 -0
  216. package/scripts/_paths.py +445 -0
  217. package/scripts/blm.py +162 -0
  218. package/scripts/blm_api.py +263 -0
  219. package/scripts/check_cache_sync.py +490 -0
  220. package/scripts/embed_backend.py +475 -0
  221. package/scripts/install_memory.py +556 -0
  222. package/scripts/lessons_index/__init__.py +77 -0
  223. package/scripts/lessons_index/__main__.py +135 -0
  224. package/scripts/lessons_index/ingest.py +288 -0
  225. package/scripts/lessons_index/query.py +285 -0
  226. package/scripts/lessons_index/schema.py +114 -0
  227. package/scripts/memory_context/__init__.py +610 -0
  228. package/scripts/memory_graph/__init__.py +393 -0
  229. package/scripts/project_resolver.py +172 -0
  230. package/scripts/prune_codex_plugin_cache.py +23 -0
  231. package/scripts/prune_plugin_cache.py +359 -0
  232. package/scripts/semantic_index/__init__.py +482 -0
  233. package/scripts/semantic_index/_bench_hybrid.py +175 -0
  234. package/scripts/semantic_index/backfill.py +263 -0
  235. package/scripts/semantic_index/hybrid.py +174 -0
  236. package/scripts/semantic_index/test_backfill.py +292 -0
  237. package/scripts/semantic_index/test_hybrid.py +541 -0
  238. package/scripts/sync_navgator_lessons.py +666 -0
  239. package/scripts/sync_plugin_cache.py +388 -0
  240. package/skills/agent-rally-point/SKILL.md +165 -0
  241. package/skills/agent-rally-watcher/SKILL.md +83 -0
  242. package/skills/api-registry-bridge/SKILL.md +59 -0
  243. package/skills/architecture/dead/SKILL.md +56 -0
  244. package/skills/architecture/impact/SKILL.md +88 -0
  245. package/skills/architecture/review/SKILL.md +227 -0
  246. package/skills/architecture/rules/SKILL.md +72 -0
  247. package/skills/architecture/scan/SKILL.md +79 -0
  248. package/skills/architecture/trace/SKILL.md +65 -0
  249. package/skills/attribution-standard/SKILL.md +122 -0
  250. package/skills/authentication/SKILL.md +81 -0
  251. package/skills/authentication/references/better-auth-magic-link.md +135 -0
  252. package/skills/authentication/references/better-auth-setup.md +224 -0
  253. package/skills/authentication/references/google-calendar-sync.md +278 -0
  254. package/skills/authentication/references/google-cloud-console.md +159 -0
  255. package/skills/authentication/references/google-geocoding-directions.md +126 -0
  256. package/skills/authentication/references/google-lessons-example-web-app.md +177 -0
  257. package/skills/authentication/references/google-maps.md +162 -0
  258. package/skills/authentication/references/google-oauth-setup.md +343 -0
  259. package/skills/authentication/references/google-places.md +173 -0
  260. package/skills/authentication/references/lessons-example-web-app-better-auth.md +126 -0
  261. package/skills/authentication/references/resend-email.md +227 -0
  262. package/skills/authentication/references/resend-otp-magic-link.md +153 -0
  263. package/skills/authentication/references/supabase-auth.md +172 -0
  264. package/skills/auto-decision-capture/SKILL.md +419 -0
  265. package/skills/build-loop/SKILL.md +516 -0
  266. package/skills/build-loop/detect-plugins.mjs +82 -0
  267. package/skills/build-loop/eval-guide.md +65 -0
  268. package/skills/build-loop/fallbacks.md +549 -0
  269. package/skills/build-loop/phases/fact-check.md +42 -0
  270. package/skills/build-loop/phases/ui-validation.md +267 -0
  271. package/skills/build-loop/references/apple-native-planning.md +439 -0
  272. package/skills/build-loop/references/capability-routing.md +181 -0
  273. package/skills/build-loop/references/codex-subagents.md +98 -0
  274. package/skills/build-loop/references/coordination.md +161 -0
  275. package/skills/build-loop/references/correction-aware-capture.md +177 -0
  276. package/skills/build-loop/references/independent-auditor.md +72 -0
  277. package/skills/build-loop/references/intent-capability-pack.md +170 -0
  278. package/skills/build-loop/references/intent-exploration-prompts.md +96 -0
  279. package/skills/build-loop/references/leadership.md +72 -0
  280. package/skills/build-loop/references/memory.md +284 -0
  281. package/skills/build-loop/references/modular-systems-pack.md +96 -0
  282. package/skills/build-loop/references/output-style.md +129 -0
  283. package/skills/build-loop/references/pay-it-forward-arch.md +98 -0
  284. package/skills/build-loop/references/phase-1-assess.md +218 -0
  285. package/skills/build-loop/references/phase-2-plan.md +77 -0
  286. package/skills/build-loop/references/phase-3-execute.md +47 -0
  287. package/skills/build-loop/references/phase-4-review.md +310 -0
  288. package/skills/build-loop/references/phase-5-iterate.md +71 -0
  289. package/skills/build-loop/references/phase-6-learn.md +56 -0
  290. package/skills/build-loop/references/recent-design-structures.md +274 -0
  291. package/skills/build-loop/references/refactor-history/ASSESSMENT.md +85 -0
  292. package/skills/build-loop/references/refactor-history/STANDALONE_TEST_RUN.md +149 -0
  293. package/skills/build-loop/references/refactor-history/scenarios/01-simple-bugfix.md +32 -0
  294. package/skills/build-loop/references/refactor-history/scenarios/02-ui-build-with-iteration.md +48 -0
  295. package/skills/build-loop/references/refactor-history/scenarios/03-multi-failure-escalation.md +60 -0
  296. package/skills/build-loop/references/refactor-history/scenarios/04-ui-build-ibr-absent.md +51 -0
  297. package/skills/build-loop/references/refactor-history/scenarios/05-refactor-navgator-absent.md +71 -0
  298. package/skills/build-loop/references/refactor-history/scenarios/06-recurring-bug-debugger-absent.md +52 -0
  299. package/skills/build-loop/references/refactor-history/trace-comparison.md +202 -0
  300. package/skills/build-loop/references/self-recursive-dev.md +77 -0
  301. package/skills/build-loop/references/self-review.md +232 -0
  302. package/skills/build-loop/references/ui-io-contract.md +116 -0
  303. package/skills/build-loop/scanners/audit-design-rules.mjs +476 -0
  304. package/skills/build-loop/scanners/require-visual-evidence.mjs +239 -0
  305. package/skills/build-loop/templates/backlog-item.md +35 -0
  306. package/skills/build-loop/templates/codex-worker-prompt.md +89 -0
  307. package/skills/build-loop/templates/ui-subagent-prompt.md +179 -0
  308. package/skills/build-loop/templates/ux-fix-plan.md +40 -0
  309. package/skills/building-with-deepagents/SKILL.md +195 -0
  310. package/skills/building-with-deepagents/references/anti-patterns.md +141 -0
  311. package/skills/building-with-deepagents/references/api-quick-reference.md +184 -0
  312. package/skills/capabilities/SKILL.md +91 -0
  313. package/skills/debug-loop/SKILL.md +278 -0
  314. package/skills/debug-loop/references/convergence-rules.md +145 -0
  315. package/skills/debug-loop/references/swiftui-macos-clunky-ui-debugger.html +823 -0
  316. package/skills/debugging/assess/SKILL.md +111 -0
  317. package/skills/debugging/debug-loop/SKILL.md +231 -0
  318. package/skills/debugging/memory/SKILL.md +147 -0
  319. package/skills/debugging/store/SKILL.md +153 -0
  320. package/skills/debugging-memory/SKILL.md +440 -0
  321. package/skills/debugging-memory/examples/incident-example.json +67 -0
  322. package/skills/debugging-memory/references/incident-documentation.md +280 -0
  323. package/skills/debugging-memory/references/ios-notification-alarm-playbook.md +300 -0
  324. package/skills/debugging-memory/references/pattern-extraction.md +163 -0
  325. package/skills/debugging-memory/references/subagent-integration.md +312 -0
  326. package/skills/defenseclaw-bridge/SKILL.md +156 -0
  327. package/skills/defenseclaw-bridge/references/dc-config-mapping.md +162 -0
  328. package/skills/defenseclaw-bridge/references/output-format.md +108 -0
  329. package/skills/handoff/SKILL.md +94 -0
  330. package/skills/ibr-bridge/SKILL.md +68 -0
  331. package/skills/knowledge/SKILL.md +127 -0
  332. package/skills/knowledge/references/recall-integration.md +83 -0
  333. package/skills/knowledge/templates/madr-minimal.md +56 -0
  334. package/skills/knowledge-review/SKILL.md +112 -0
  335. package/skills/logging-tracer/SKILL.md +202 -0
  336. package/skills/logging-tracer/references/log-analysis.md +128 -0
  337. package/skills/logging-tracer/references/stack-templates.md +274 -0
  338. package/skills/logging-tracer-bridge/SKILL.md +70 -0
  339. package/skills/mcp-builder/SKILL.md +278 -0
  340. package/skills/mcp-builder/references/mcp-security.md +106 -0
  341. package/skills/model-tiering/SKILL.md +216 -0
  342. package/skills/native-ax-driver/SKILL.md +220 -0
  343. package/skills/native-ax-driver/scripts/layout_fill.py +222 -0
  344. package/skills/native-ax-driver/scripts/native_driver.py +495 -0
  345. package/skills/native-ax-driver/swift/bl-ax-driver/Package.swift +20 -0
  346. package/skills/native-ax-driver/swift/bl-ax-driver/Sources/main.swift +542 -0
  347. package/skills/optimize/SKILL.md +202 -0
  348. package/skills/optimize/profiles.md +61 -0
  349. package/skills/plan-verify/SKILL.md +115 -0
  350. package/skills/plan-verify/test-fixtures/example-app-v20-findings.json +27 -0
  351. package/skills/plan-verify/test-fixtures/example-app-v20.md +42 -0
  352. package/skills/plan-verify/test-fixtures/example-app-v22-findings.json +15 -0
  353. package/skills/plan-verify/test-fixtures/example-app-v22.md +1608 -0
  354. package/skills/plan-verify/test-fixtures/unrelated-good-plan-findings.json +15 -0
  355. package/skills/plan-verify/test-fixtures/unrelated-good-plan.md +55 -0
  356. package/skills/plugin-builder/SKILL.md +329 -0
  357. package/skills/plugin-builder/references/authoritative-sources.md +104 -0
  358. package/skills/plugin-builder/references/build-loop-phase-guidance.md +94 -0
  359. package/skills/plugin-builder/references/components-guide.md +221 -0
  360. package/skills/plugin-builder/references/distribution.md +317 -0
  361. package/skills/plugin-builder/references/dual-host-claude-codex.md +220 -0
  362. package/skills/plugin-builder/references/hooks-reference.md +210 -0
  363. package/skills/plugin-builder/references/manifest-schema.md +111 -0
  364. package/skills/plugin-builder/references/plugin-hygiene-lessons.md +307 -0
  365. package/skills/plugin-tests/SKILL.md +94 -0
  366. package/skills/prd-bridge/SKILL.md +135 -0
  367. package/skills/research/SKILL.md +80 -0
  368. package/skills/security-methodology/SKILL.md +105 -0
  369. package/skills/security-methodology/references/cross-source-matrix.md +77 -0
  370. package/skills/security-methodology/references/mitre-atlas-starter.md +83 -0
  371. package/skills/security-methodology/references/nist-600-1-mapping.md +119 -0
  372. package/skills/security-methodology/references/owasp-agentic-top-10.md +157 -0
  373. package/skills/security-methodology/references/owasp-llm-top-10.md +144 -0
  374. package/skills/security-methodology/references/owasp-web-top-10.md +65 -0
  375. package/skills/self-improve/SKILL.md +298 -0
  376. package/skills/spec-writing/SKILL.md +548 -0
  377. package/skills/spec-writing/scripts/check_checklist.py +478 -0
  378. package/skills/sync-skills/SKILL.md +132 -0
  379. package/skills/telemetry/SKILL.md +66 -0
  380. package/skills/ui-design/SKILL.md +75 -0
  381. package/skills/ui-design/references/design-patterns-multi.md +165 -0
  382. package/skills/ui-design/references/design-preferences-from-owned-apps.md +150 -0
  383. package/skills/ui-design/references/evidence-capture-policy.md +55 -0
  384. package/skills/ui-design/references/ui-guidance-sources.md +330 -0
  385. package/skills/ui-design/references/universal-design-principles.alt.md +182 -0
  386. package/skills/ui-design/references/universal-design-principles.md +419 -0
  387. package/templates/memory/MEMORY.md.template +55 -0
  388. package/templates/memory/constitution.md.template +64 -0
  389. package/templates/memory/manifest.json +47 -0
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ // SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com>
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ /**
5
+ * Result Aggregator
6
+ *
7
+ * Combines and ranks results from multiple sources:
8
+ * - Domain assessments from parallel assessors
9
+ * - Memory retrieval (incidents and patterns)
10
+ * - Trace correlations
11
+ *
12
+ * Uses unified scoring: 0.35*match + 0.25*confidence + 0.15*recency + 0.25*verification
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.scoreAssessment = scoreAssessment;
16
+ exports.scoreIncident = scoreIncident;
17
+ exports.scorePattern = scorePattern;
18
+ exports.aggregateResults = aggregateResults;
19
+ exports.formatAggregatedResults = formatAggregatedResults;
20
+ exports.createQuickSummary = createQuickSummary;
21
+ // Scoring weights
22
+ const SCORING_WEIGHTS = {
23
+ match: 0.35, // Similarity/match score
24
+ confidence: 0.25, // Assessment confidence
25
+ recency: 0.15, // How recent the incident/pattern
26
+ verification: 0.25 // Verification status
27
+ };
28
+ // Verification status scores
29
+ const VERIFICATION_SCORES = {
30
+ 'V': 1.0, // Verified
31
+ 'P': 0.6, // Partial
32
+ 'U': 0.3 // Unverified
33
+ };
34
+ const DEFAULT_CONFIG = {
35
+ maxResults: 10,
36
+ minScoreThreshold: 0.3,
37
+ verificationBoost: 1.2,
38
+ recencyBoost: 1.1,
39
+ dedupeThreshold: 0.8
40
+ };
41
+ /**
42
+ * Calculate recency score (0-1) based on timestamp
43
+ * Full score for last 24h, decays over 30 days
44
+ */
45
+ function calculateRecencyScore(timestamp) {
46
+ const now = Date.now();
47
+ const ageMs = now - timestamp;
48
+ const dayMs = 24 * 60 * 60 * 1000;
49
+ if (ageMs < dayMs) {
50
+ return 1.0; // Last 24 hours
51
+ }
52
+ const ageDays = ageMs / dayMs;
53
+ if (ageDays > 30) {
54
+ return 0.1; // Older than 30 days
55
+ }
56
+ // Linear decay from 1.0 to 0.1 over 30 days
57
+ return 1.0 - (ageDays / 30) * 0.9;
58
+ }
59
+ /**
60
+ * Score a domain assessment
61
+ */
62
+ function scoreAssessment(assessment, config = {}) {
63
+ const finalConfig = { ...DEFAULT_CONFIG, ...config };
64
+ // Assessment-specific scoring
65
+ // Match score based on probable causes count and specificity
66
+ const matchScore = Math.min(1, assessment.probable_causes.length * 0.25 +
67
+ assessment.related_incidents.length * 0.15);
68
+ // Confidence from assessment
69
+ const confidenceScore = assessment.confidence;
70
+ // Recency: assume current (1.0) for live assessments
71
+ const recencyScore = 1.0;
72
+ // Verification: based on related incidents
73
+ let verificationScore = 0.5; // Base score
74
+ if (assessment.related_incidents.length > 0) {
75
+ verificationScore = 0.7; // Has evidence
76
+ }
77
+ if (assessment.confidence >= 0.8) {
78
+ verificationScore = 0.9; // High confidence
79
+ }
80
+ // Calculate weighted score
81
+ let score = (SCORING_WEIGHTS.match * matchScore +
82
+ SCORING_WEIGHTS.confidence * confidenceScore +
83
+ SCORING_WEIGHTS.recency * recencyScore +
84
+ SCORING_WEIGHTS.verification * verificationScore);
85
+ // Apply verification boost if highly confident
86
+ if (assessment.confidence >= 0.8) {
87
+ score *= finalConfig.verificationBoost;
88
+ }
89
+ return {
90
+ type: 'assessment',
91
+ id: `assess_${assessment.domain}_${Date.now()}`,
92
+ score: Math.min(1, score),
93
+ domain: assessment.domain,
94
+ summary: assessment.probable_causes[0] || 'Assessment completed',
95
+ actions: assessment.recommended_actions,
96
+ tags: assessment.search_tags,
97
+ rawData: assessment
98
+ };
99
+ }
100
+ /**
101
+ * Score a compact incident from memory
102
+ */
103
+ function scoreIncident(incident, config = {}) {
104
+ const finalConfig = { ...DEFAULT_CONFIG, ...config };
105
+ // Match score from similarity (if available)
106
+ const matchScore = incident.sim || 0.5;
107
+ // Confidence from root cause
108
+ const confidenceScore = incident.rc.conf;
109
+ // Recency score
110
+ const recencyScore = calculateRecencyScore(incident.ts);
111
+ // Verification status
112
+ const verificationScore = VERIFICATION_SCORES[incident.v] || 0.3;
113
+ // Calculate weighted score
114
+ let score = (SCORING_WEIGHTS.match * matchScore +
115
+ SCORING_WEIGHTS.confidence * confidenceScore +
116
+ SCORING_WEIGHTS.recency * recencyScore +
117
+ SCORING_WEIGHTS.verification * verificationScore);
118
+ // Apply boosts
119
+ if (incident.v === 'V') {
120
+ score *= finalConfig.verificationBoost;
121
+ }
122
+ const sevenDaysAgo = Date.now() - 7 * 24 * 60 * 60 * 1000;
123
+ if (incident.ts > sevenDaysAgo) {
124
+ score *= finalConfig.recencyBoost;
125
+ }
126
+ // Quality score bonus
127
+ score += incident.q * 0.1;
128
+ return {
129
+ type: 'incident',
130
+ id: incident.id,
131
+ score: Math.min(1, score),
132
+ domain: incident.rc.cat,
133
+ summary: incident.sym,
134
+ actions: [incident.fix.a],
135
+ tags: incident.t,
136
+ rawData: incident
137
+ };
138
+ }
139
+ /**
140
+ * Score a compact pattern from memory
141
+ */
142
+ function scorePattern(pattern, matchScore = 0.5, config = {}) {
143
+ const finalConfig = { ...DEFAULT_CONFIG, ...config };
144
+ // Confidence from pattern (assume high since it's an extracted pattern)
145
+ const confidenceScore = 0.8;
146
+ // Recency from last seen
147
+ const recencyScore = calculateRecencyScore(pattern.last);
148
+ // Verification based on occurrence count
149
+ let verificationScore = 0.5;
150
+ if (pattern.n >= 3) {
151
+ verificationScore = 0.8;
152
+ }
153
+ else if (pattern.n >= 2) {
154
+ verificationScore = 0.65;
155
+ }
156
+ // Calculate weighted score
157
+ let score = (SCORING_WEIGHTS.match * matchScore +
158
+ SCORING_WEIGHTS.confidence * confidenceScore +
159
+ SCORING_WEIGHTS.recency * recencyScore +
160
+ SCORING_WEIGHTS.verification * verificationScore);
161
+ // Frequency boost
162
+ if (pattern.n >= 3) {
163
+ score *= 1.15;
164
+ }
165
+ const sevenDaysAgo = Date.now() - 7 * 24 * 60 * 60 * 1000;
166
+ if (pattern.last > sevenDaysAgo) {
167
+ score *= finalConfig.recencyBoost;
168
+ }
169
+ return {
170
+ type: 'pattern',
171
+ id: pattern.id,
172
+ score: Math.min(1, score),
173
+ domain: pattern.cat,
174
+ summary: pattern.desc,
175
+ actions: [pattern.fix],
176
+ tags: pattern.t,
177
+ rawData: pattern
178
+ };
179
+ }
180
+ /**
181
+ * Calculate similarity between two items for deduplication
182
+ */
183
+ function calculateSimilarity(item1, item2) {
184
+ // Quick check: same type and domain?
185
+ if (item1.type === item2.type && item1.domain === item2.domain) {
186
+ // Check tag overlap
187
+ const tags1 = new Set(item1.tags);
188
+ const tags2 = new Set(item2.tags);
189
+ const intersection = [...tags1].filter(t => tags2.has(t)).length;
190
+ const union = new Set([...tags1, ...tags2]).size;
191
+ const tagSimilarity = union > 0 ? intersection / union : 0;
192
+ // Check summary similarity (simple word overlap)
193
+ const words1 = new Set(item1.summary.toLowerCase().split(/\s+/));
194
+ const words2 = new Set(item2.summary.toLowerCase().split(/\s+/));
195
+ const wordIntersection = [...words1].filter(w => words2.has(w)).length;
196
+ const wordUnion = new Set([...words1, ...words2]).size;
197
+ const wordSimilarity = wordUnion > 0 ? wordIntersection / wordUnion : 0;
198
+ return (tagSimilarity * 0.4 + wordSimilarity * 0.6);
199
+ }
200
+ return 0;
201
+ }
202
+ /**
203
+ * Deduplicate items by similarity threshold
204
+ */
205
+ function deduplicateItems(items, threshold) {
206
+ const result = [];
207
+ for (const item of items) {
208
+ const isDuplicate = result.some(existing => calculateSimilarity(existing, item) >= threshold);
209
+ if (!isDuplicate) {
210
+ result.push(item);
211
+ }
212
+ }
213
+ return result;
214
+ }
215
+ /**
216
+ * Aggregate results from multiple sources
217
+ */
218
+ function aggregateResults(assessments, incidents, patterns, config = {}) {
219
+ const finalConfig = { ...DEFAULT_CONFIG, ...config };
220
+ // Score all items
221
+ const scoredAssessments = assessments.map(a => scoreAssessment(a, config));
222
+ const scoredIncidents = incidents.map(i => scoreIncident(i, config));
223
+ const scoredPatterns = patterns.map(p => scorePattern(p, p.sim || 0.5, config));
224
+ // Combine all scored items
225
+ let allItems = [
226
+ ...scoredAssessments,
227
+ ...scoredIncidents,
228
+ ...scoredPatterns
229
+ ];
230
+ // Filter by minimum score
231
+ allItems = allItems.filter(item => item.score >= finalConfig.minScoreThreshold);
232
+ // Sort by score descending
233
+ allItems.sort((a, b) => b.score - a.score);
234
+ // Deduplicate
235
+ allItems = deduplicateItems(allItems, finalConfig.dedupeThreshold);
236
+ // Limit results
237
+ const topItems = allItems.slice(0, finalConfig.maxResults);
238
+ // Build aggregated result
239
+ const domains = [...new Set(topItems.map(i => i.domain).filter(Boolean))];
240
+ const allTags = [...new Set(topItems.flatMap(i => i.tags))];
241
+ // Calculate aggregate confidence
242
+ const avgConfidence = topItems.length > 0
243
+ ? topItems.reduce((sum, i) => sum + i.score, 0) / topItems.length
244
+ : 0;
245
+ // Compile recommended actions (deduplicated, ordered by source score)
246
+ const actionSet = new Set();
247
+ const recommendedActions = [];
248
+ for (const item of topItems) {
249
+ for (const action of item.actions) {
250
+ if (!actionSet.has(action)) {
251
+ actionSet.add(action);
252
+ recommendedActions.push(action);
253
+ }
254
+ }
255
+ }
256
+ return {
257
+ items: topItems,
258
+ total_count: allItems.length,
259
+ domains_involved: domains,
260
+ aggregate_confidence: avgConfidence,
261
+ recommended_actions: recommendedActions.slice(0, 5),
262
+ search_tags: allTags.slice(0, 10)
263
+ };
264
+ }
265
+ /**
266
+ * Format aggregated results for display
267
+ */
268
+ function formatAggregatedResults(result) {
269
+ const lines = [
270
+ '## Aggregated Analysis Results',
271
+ '',
272
+ `**Domains:** ${result.domains_involved.join(', ') || 'General'}`,
273
+ `**Confidence:** ${(result.aggregate_confidence * 100).toFixed(0)}%`,
274
+ `**Total Matches:** ${result.total_count}`,
275
+ '',
276
+ '### Top Results',
277
+ ''
278
+ ];
279
+ for (let i = 0; i < result.items.length; i++) {
280
+ const item = result.items[i];
281
+ const scoreBar = '█'.repeat(Math.round(item.score * 10)) +
282
+ '░'.repeat(10 - Math.round(item.score * 10));
283
+ const typeIcon = item.type === 'assessment' ? '🔍' :
284
+ item.type === 'incident' ? '📋' : '🔄';
285
+ lines.push(`${i + 1}. ${typeIcon} **${item.type}** [${scoreBar}] ${(item.score * 100).toFixed(0)}%`);
286
+ lines.push(` ${item.summary}`);
287
+ if (item.domain) {
288
+ lines.push(` Domain: ${item.domain}`);
289
+ }
290
+ lines.push('');
291
+ }
292
+ lines.push('### Recommended Actions');
293
+ lines.push('');
294
+ for (let i = 0; i < result.recommended_actions.length; i++) {
295
+ lines.push(`${i + 1}. ${result.recommended_actions[i]}`);
296
+ }
297
+ if (result.search_tags.length > 0) {
298
+ lines.push('');
299
+ lines.push(`**Tags:** ${result.search_tags.join(', ')}`);
300
+ }
301
+ return lines.join('\n');
302
+ }
303
+ /**
304
+ * Create a quick summary for token-efficient output
305
+ */
306
+ function createQuickSummary(result) {
307
+ const topItem = result.items[0];
308
+ if (!topItem) {
309
+ return 'No relevant matches found.';
310
+ }
311
+ const confidence = (result.aggregate_confidence * 100).toFixed(0);
312
+ const action = result.recommended_actions[0] || 'Investigate further';
313
+ return `[${confidence}% confidence] ${topItem.summary}\nRecommended: ${action}`;
314
+ }
315
+ //# sourceMappingURL=result-aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-aggregator.js","sourceRoot":"","sources":["../../src/result-aggregator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Debugging Memory System - Retrieval Layer
3
+ *
4
+ * Finds similar incidents and patterns based on symptom description.
5
+ * Uses multi-strategy search: exact → tag → fuzzy → semantic (optional).
6
+ */
7
+ import type { Incident, Pattern, RetrievalConfig, RetrievalResult, MemoryConfig } from './types';
8
+ /**
9
+ * Enhanced search result with match type and highlights
10
+ */
11
+ export interface SearchResult {
12
+ incident: Incident;
13
+ score: number;
14
+ matchType: 'exact' | 'tag' | 'fuzzy' | 'category' | 'semantic';
15
+ highlights: string[];
16
+ }
17
+ /**
18
+ * Check memory for similar incidents
19
+ *
20
+ * This is the main entry point for memory retrieval.
21
+ */
22
+ export declare function checkMemory(symptom: string, config?: Partial<RetrievalConfig> & {
23
+ memoryConfig?: MemoryConfig;
24
+ }): Promise<RetrievalResult>;
25
+ /**
26
+ * Get full incident details (for lazy loading)
27
+ */
28
+ export declare function getFullIncident(incident_id: string): Promise<Incident | null>;
29
+ /**
30
+ * Simple search by tags
31
+ */
32
+ export declare function searchByTags(tags: string[], config?: MemoryConfig): Promise<Incident[]>;
33
+ /**
34
+ * Get recent incidents
35
+ */
36
+ export declare function getRecentIncidents(days?: number, config?: MemoryConfig): Promise<Incident[]>;
37
+ /**
38
+ * Enhanced multi-strategy search
39
+ *
40
+ * Strategy order: exact → tag → fuzzy → category
41
+ * Each strategy adds results with appropriate confidence scores
42
+ */
43
+ export declare function enhancedSearch(query: string, options?: {
44
+ threshold?: number;
45
+ maxResults?: number;
46
+ memoryConfig?: MemoryConfig;
47
+ }): Promise<SearchResult[]>;
48
+ import type { TieredRetrievalConfig, TieredRetrievalResult, SearchVerdict, VerdictResult, ProgressiveResult } from './types';
49
+ /**
50
+ * Token-optimized memory check with tiered retrieval
51
+ *
52
+ * Tiers:
53
+ * - 'summary': Minimal representation (~100 tokens/incident) for quick scans
54
+ * - 'compact': Short keys, truncated fields (~200 tokens/incident) - DEFAULT
55
+ * - 'full': Complete incident data (~550 tokens/incident) for detailed analysis
56
+ *
57
+ * Token budget enforcement ensures context doesn't exceed limits.
58
+ */
59
+ export declare function checkMemoryTiered(symptom: string, config?: Partial<TieredRetrievalConfig> & {
60
+ memoryConfig?: MemoryConfig;
61
+ }): Promise<TieredRetrievalResult>;
62
+ /**
63
+ * Quick memory check with minimal output
64
+ *
65
+ * Returns only essential fields for rapid assessment.
66
+ * Useful when token budget is very tight.
67
+ */
68
+ export declare function quickMemoryCheck(symptom: string, config?: {
69
+ memoryConfig?: MemoryConfig;
70
+ maxResults?: number;
71
+ }): Promise<{
72
+ hasMatches: boolean;
73
+ matchCount: number;
74
+ topMatch?: {
75
+ id: string;
76
+ symptom: string;
77
+ category: string;
78
+ confidence: number;
79
+ };
80
+ tokensUsed: number;
81
+ }>;
82
+ /**
83
+ * Get incident details on demand (lazy loading)
84
+ *
85
+ * Use this when compact/summary tier found a match and full details are needed.
86
+ */
87
+ export declare function getIncidentDetails(incident_id: string, config?: MemoryConfig): Promise<Incident | null>;
88
+ /**
89
+ * Get pattern details on demand (lazy loading)
90
+ */
91
+ export declare function getPatternDetails(pattern_id: string, config?: MemoryConfig): Promise<Pattern | null>;
92
+ /**
93
+ * Estimate token usage for different retrieval tiers
94
+ */
95
+ export declare function estimateTokensForTier(incidentCount: number, patternCount: number, tier: 'summary' | 'compact' | 'full'): number;
96
+ /**
97
+ * Classify search results into an actionable verdict
98
+ *
99
+ * Verdicts:
100
+ * - KNOWN_FIX: High-confidence match with verified pattern (>0.8, verified)
101
+ * - LIKELY_MATCH: Good match with relevant incidents (0.5-0.8)
102
+ * - WEAK_SIGNAL: Possible relation, worth reviewing (0.3-0.5)
103
+ * - NO_MATCH: Nothing found, debug fresh
104
+ */
105
+ export declare function classifyVerdict(result: RetrievalResult): SearchVerdict;
106
+ /**
107
+ * Check memory and return verdict-wrapped results
108
+ *
109
+ * This is the recommended entry point for memory-first debugging.
110
+ * Returns an actionable verdict instead of raw scores.
111
+ */
112
+ export declare function checkMemoryWithVerdict(symptom: string, config?: Partial<RetrievalConfig> & {
113
+ memoryConfig?: MemoryConfig;
114
+ }): Promise<VerdictResult>;
115
+ /**
116
+ * Check memory with progressive depth — returns one-liner matches with drill-down commands
117
+ *
118
+ * Total output stays under 500 tokens even with 10 matches.
119
+ * Use /debugger-detail <ID> to get full incident data on demand.
120
+ */
121
+ export declare function checkMemoryProgressive(symptom: string, config?: Partial<RetrievalConfig> & {
122
+ memoryConfig?: MemoryConfig;
123
+ }): Promise<ProgressiveResult>;
124
+ /**
125
+ * Check memory using keyword index for scalable retrieval
126
+ *
127
+ * Instead of loading ALL incidents (O(n) file reads), this:
128
+ * 1. Extracts query keywords
129
+ * 2. Loads keyword index (1 file read)
130
+ * 3. Finds candidate IDs via set intersection
131
+ * 4. Loads only top candidates (max 20 file reads)
132
+ * 5. Scores and ranks
133
+ *
134
+ * Falls back to checkMemory() if keyword index doesn't exist.
135
+ */
136
+ export declare function checkMemoryScaled(symptom: string, config?: Partial<RetrievalConfig> & {
137
+ memoryConfig?: MemoryConfig;
138
+ }): Promise<RetrievalResult>;
139
+ //# sourceMappingURL=retrieval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/retrieval.ts"],"names":[],"mappings":"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"}