@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,386 @@
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
+ * Pattern Extractor
6
+ *
7
+ * Automatically detects when 3+ similar incidents can be extracted into
8
+ * a reusable pattern. Helps prevent solving the same problem repeatedly.
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.extractPatterns = extractPatterns;
45
+ exports.autoExtractPatternIfReady = autoExtractPatternIfReady;
46
+ exports.suggestPatterns = suggestPatterns;
47
+ const storage_1 = require("./storage");
48
+ const storage_2 = require("./storage");
49
+ const logger_1 = require("./logger");
50
+ /**
51
+ * Analyze incidents and extract reusable patterns
52
+ */
53
+ async function extractPatterns(options = {}) {
54
+ return (0, logger_1.traced)('patterns:extractPatterns', { min: options.min_incidents }, async () => {
55
+ const { min_incidents = 3, min_similarity = 0.7, auto_store = false, config } = options;
56
+ console.log('šŸ” Pattern Extraction Analysis\n');
57
+ console.log(` Minimum incidents: ${min_incidents}`);
58
+ console.log(` Minimum similarity: ${(min_similarity * 100).toFixed(0)}%\n`);
59
+ const incidents = await (0, storage_1.loadAllIncidents)(config);
60
+ const existingPatterns = await (0, storage_2.loadAllPatterns)(config);
61
+ console.log(`šŸ“š Analyzing ${incidents.length} incidents...\n`);
62
+ // Step 1: Group incidents by category
63
+ const categorized = groupByCategory(incidents);
64
+ // Step 2: Find pattern candidates
65
+ const candidates = [];
66
+ for (const [category, categoryIncidents] of Object.entries(categorized)) {
67
+ if (categoryIncidents.length < min_incidents)
68
+ continue;
69
+ // Check if incidents share common characteristics
70
+ const commonality = calculateCommonality(categoryIncidents);
71
+ if (commonality.score >= min_similarity) {
72
+ candidates.push({
73
+ category,
74
+ incidents: categoryIncidents,
75
+ commonality_score: commonality.score,
76
+ tags_overlap: commonality.common_tags,
77
+ files_overlap: commonality.common_files
78
+ });
79
+ }
80
+ }
81
+ console.log(`āœ… Found ${candidates.length} pattern candidates:\n`);
82
+ // Step 3: Create patterns from candidates
83
+ const patterns = [];
84
+ for (const candidate of candidates) {
85
+ console.log(`šŸ“‹ Pattern Candidate: ${candidate.category.toUpperCase()}`);
86
+ console.log(` Incidents: ${candidate.incidents.length}`);
87
+ console.log(` Commonality: ${(candidate.commonality_score * 100).toFixed(0)}%`);
88
+ console.log(` Shared tags: [${candidate.tags_overlap.join(', ')}]`);
89
+ console.log(` Shared files: ${candidate.files_overlap.length}\n`);
90
+ // Check if pattern already exists
91
+ const patternId = (0, storage_1.generatePatternId)(candidate.category, 'common_fix');
92
+ const exists = existingPatterns.some(p => p.pattern_id === patternId);
93
+ if (exists) {
94
+ console.log(` āš ļø Pattern already exists: ${patternId}\n`);
95
+ continue;
96
+ }
97
+ const pattern = createPatternFromIncidents(candidate);
98
+ patterns.push(pattern);
99
+ if (auto_store) {
100
+ await (0, storage_1.storePattern)(pattern, config);
101
+ console.log(` āœ… Stored pattern: ${pattern.pattern_id}\n`);
102
+ }
103
+ }
104
+ return patterns;
105
+ });
106
+ }
107
+ /**
108
+ * Group incidents by root cause category
109
+ */
110
+ function groupByCategory(incidents) {
111
+ const groups = {};
112
+ for (const incident of incidents) {
113
+ const category = incident.root_cause.category || 'unknown';
114
+ if (!groups[category]) {
115
+ groups[category] = [];
116
+ }
117
+ groups[category].push(incident);
118
+ }
119
+ return groups;
120
+ }
121
+ /**
122
+ * Calculate commonality among incidents
123
+ */
124
+ function calculateCommonality(incidents) {
125
+ if (incidents.length === 0) {
126
+ return { score: 0, common_tags: [], common_files: [] };
127
+ }
128
+ // Find tags that appear in most incidents
129
+ const tagCounts = new Map();
130
+ for (const inc of incidents) {
131
+ for (const tag of (inc.tags ?? [])) {
132
+ tagCounts.set(tag, (tagCounts.get(tag) || 0) + 1);
133
+ }
134
+ }
135
+ const threshold = Math.ceil(incidents.length * 0.6); // 60% of incidents
136
+ const common_tags = Array.from(tagCounts.entries())
137
+ .filter(([_, count]) => count >= threshold)
138
+ .map(([tag, _]) => tag);
139
+ // Find files that appear in multiple incidents
140
+ const fileCounts = new Map();
141
+ for (const inc of incidents) {
142
+ for (const file of (inc.files_changed ?? [])) {
143
+ fileCounts.set(file, (fileCounts.get(file) || 0) + 1);
144
+ }
145
+ }
146
+ const common_files = Array.from(fileCounts.entries())
147
+ .filter(([_, count]) => count >= 2) // At least 2 incidents
148
+ .map(([file, _]) => file);
149
+ // Calculate overall commonality score
150
+ // React-hooks: 6 common tags / 9 total = 67% → good pattern!
151
+ // Error-handling: 3 common tags / 7 total = 43% → decent pattern
152
+ const tag_similarity = common_tags.length / Math.max(tagCounts.size, 1);
153
+ const file_overlap = common_files.length > 0 ? 0.15 : 0;
154
+ const incident_density = incidents.length >= 5 ? 0.15 : (incidents.length >= 3 ? 0.1 : 0);
155
+ // More generous scoring: high tag similarity is the main signal
156
+ const score = (tag_similarity * 0.7) + file_overlap + incident_density;
157
+ return {
158
+ score: Math.min(score, 1.0),
159
+ common_tags,
160
+ common_files
161
+ };
162
+ }
163
+ /**
164
+ * Create a Pattern from a group of similar incidents
165
+ */
166
+ function createPatternFromIncidents(candidate) {
167
+ const { category, incidents, tags_overlap } = candidate;
168
+ // Extract most common symptoms/causes
169
+ const detection_signature = extractDetectionSignature(incidents);
170
+ const solution_template = synthesizeSolution(incidents);
171
+ const code_example = extractBestCodeExample(incidents);
172
+ // Calculate success rate
173
+ const verified = incidents.filter(i => i.verification.status === 'verified').length;
174
+ const success_rate = verified / incidents.length;
175
+ // Build usage history
176
+ const usage_history = {
177
+ total_uses: incidents.length,
178
+ successful_uses: verified,
179
+ by_agent: countByAgent(incidents),
180
+ recent_incidents: incidents.slice(-5).map(i => i.incident_id)
181
+ };
182
+ // Extract caveats from incidents
183
+ const caveats = extractCaveats(incidents);
184
+ const pattern = {
185
+ pattern_id: (0, storage_1.generatePatternId)(category, 'common_fix'),
186
+ name: generatePatternName(category, incidents),
187
+ description: generatePatternDescription(category, incidents),
188
+ detection_signature,
189
+ applicable_to: ['coder', 'frontend-ui', 'database', 'tester'],
190
+ solution_template,
191
+ code_example,
192
+ tags: tags_overlap,
193
+ related_patterns: [],
194
+ usage_history,
195
+ success_rate,
196
+ last_used: Math.max(...incidents.map(i => i.timestamp)),
197
+ caveats
198
+ };
199
+ return pattern;
200
+ }
201
+ /**
202
+ * Extract detection signature (keywords for matching)
203
+ */
204
+ function extractDetectionSignature(incidents) {
205
+ const keywords = new Set();
206
+ for (const incident of incidents) {
207
+ // Extract from symptom (with null safety)
208
+ if (incident.symptom && typeof incident.symptom === 'string') {
209
+ const symptomWords = incident.symptom.toLowerCase()
210
+ .split(/\s+/)
211
+ .filter(w => w.length > 3);
212
+ symptomWords.forEach(w => keywords.add(w));
213
+ }
214
+ // Extract from tags
215
+ (incident.tags ?? []).forEach(tag => keywords.add(tag.toLowerCase()));
216
+ // Extract from category
217
+ keywords.add(incident.root_cause.category);
218
+ }
219
+ // Return most frequent keywords
220
+ return Array.from(keywords).slice(0, 10);
221
+ }
222
+ /**
223
+ * Synthesize solution template from incidents
224
+ */
225
+ function synthesizeSolution(incidents) {
226
+ // Find most common approach
227
+ const approaches = incidents.map(i => i.fix.approach);
228
+ // Simple heuristic: longest approach is usually most detailed
229
+ const bestApproach = approaches.reduce((longest, current) => current.length > longest.length ? current : longest, '');
230
+ // Generalize the solution
231
+ return `Common pattern observed across ${incidents.length} incidents:\n\n${bestApproach}\n\nVerify this approach applies to your specific case before implementing.`;
232
+ }
233
+ /**
234
+ * Extract best code example from incidents
235
+ */
236
+ function extractBestCodeExample(incidents) {
237
+ // Find incident with highest confidence and code snippet
238
+ const withCode = incidents.filter(i => i.root_cause.code_snippet);
239
+ if (withCode.length === 0)
240
+ return undefined;
241
+ const best = withCode.reduce((highest, current) => current.root_cause.confidence > highest.root_cause.confidence ? current : highest);
242
+ return best.root_cause.code_snippet;
243
+ }
244
+ /**
245
+ * Count incident usage by agent
246
+ */
247
+ function countByAgent(incidents) {
248
+ const counts = {};
249
+ for (const incident of incidents) {
250
+ const agent = incident.agent_used || 'unknown';
251
+ counts[agent] = (counts[agent] || 0) + 1;
252
+ }
253
+ return counts;
254
+ }
255
+ /**
256
+ * Extract caveats from incidents
257
+ */
258
+ function extractCaveats(incidents) {
259
+ const caveats = [];
260
+ // Check if any incidents had issues
261
+ const unverified = incidents.filter(i => i.verification.status !== 'verified');
262
+ if (unverified.length > 0) {
263
+ caveats.push(`${unverified.length}/${incidents.length} applications were not fully verified`);
264
+ }
265
+ // Check if any had low quality scores
266
+ const lowQuality = incidents.filter(i => i.completeness.quality_score < 0.8);
267
+ if (lowQuality.length > 0) {
268
+ caveats.push('Some incidents have incomplete information - verify before applying');
269
+ }
270
+ // Check if pattern is recent or old
271
+ const oldestTimestamp = Math.min(...incidents.map(i => i.timestamp));
272
+ const ageInDays = (Date.now() - oldestTimestamp) / (24 * 60 * 60 * 1000);
273
+ if (ageInDays > 90) {
274
+ caveats.push('Pattern based on incidents older than 90 days - codebase may have changed');
275
+ }
276
+ return caveats;
277
+ }
278
+ /**
279
+ * Generate human-readable pattern name
280
+ */
281
+ function generatePatternName(category, incidents) {
282
+ const categoryNames = {
283
+ 'react-hooks': 'React Hook Dependency Issues',
284
+ 'error-handling': 'Error Handling Pattern',
285
+ 'api': 'API Error Pattern',
286
+ 'dependency': 'Module Dependency Issues',
287
+ 'validation': 'Input Validation Pattern',
288
+ 'config': 'Configuration Management',
289
+ 'performance': 'Performance Optimization'
290
+ };
291
+ return categoryNames[category] || `${category.charAt(0).toUpperCase()}${category.slice(1)} Pattern`;
292
+ }
293
+ /**
294
+ * Generate pattern description
295
+ */
296
+ function generatePatternDescription(category, incidents) {
297
+ const avgTime = incidents.reduce((sum, i) => sum + (i.fix.time_to_fix || 0), 0) / incidents.length;
298
+ return `This pattern has been successfully applied ${incidents.length} times to resolve ${category} issues. Average time to fix: ${Math.round(avgTime)} minutes. Success rate: ${((incidents.filter(i => i.verification.status === 'verified').length / incidents.length) * 100).toFixed(0)}%.`;
299
+ }
300
+ /**
301
+ * Auto-extract pattern if enough similar incidents exist
302
+ * Called automatically after storing an incident
303
+ */
304
+ async function autoExtractPatternIfReady(newIncident, options = {}) {
305
+ return (0, logger_1.traced)('patterns:autoExtract', { category: newIncident.root_cause.category }, async () => {
306
+ const { minSimilar = 3, minQuality = 0.75, config } = options;
307
+ // Step 1: Find similar incidents (same category, confidence >0.7)
308
+ const allIncidents = await (0, storage_1.loadAllIncidents)(config);
309
+ const category = newIncident.root_cause.category;
310
+ const similarIncidents = allIncidents.filter(inc => inc.root_cause.category === category &&
311
+ inc.root_cause.confidence >= 0.7 &&
312
+ !inc.patternized // Don't include incidents already in patterns
313
+ );
314
+ // Step 2: Check if we have enough similar incidents
315
+ if (similarIncidents.length < minSimilar) {
316
+ return null;
317
+ }
318
+ // Step 3: Calculate commonality and quality
319
+ const commonality = calculateCommonality(similarIncidents);
320
+ // Step 4: Validate quality score
321
+ if (commonality.score < minQuality) {
322
+ console.log(` šŸ“Š Commonality score: ${(commonality.score * 100).toFixed(0)}% (need ${(minQuality * 100).toFixed(0)}%)`);
323
+ return null;
324
+ }
325
+ // Step 5: Create pattern candidate
326
+ const candidate = {
327
+ category,
328
+ incidents: similarIncidents,
329
+ commonality_score: commonality.score,
330
+ tags_overlap: commonality.common_tags,
331
+ files_overlap: commonality.common_files
332
+ };
333
+ // Step 6: Check if pattern already exists
334
+ const existingPatterns = await (0, storage_2.loadAllPatterns)(config);
335
+ const patternId = (0, storage_1.generatePatternId)(category, 'common_fix');
336
+ const exists = existingPatterns.some(p => p.pattern_id === patternId);
337
+ if (exists) {
338
+ return null; // Pattern already extracted
339
+ }
340
+ // Step 7: Create and store pattern
341
+ const pattern = createPatternFromIncidents(candidate);
342
+ await (0, storage_1.storePattern)(pattern, config);
343
+ // Step 8: Tag incidents with pattern_id and mark as patternized
344
+ const { storeIncident: updateIncident } = await Promise.resolve().then(() => __importStar(require('./storage')));
345
+ for (const incident of similarIncidents) {
346
+ incident.pattern_id = pattern.pattern_id;
347
+ incident.patternized = true;
348
+ await updateIncident(incident, { config });
349
+ }
350
+ return pattern;
351
+ });
352
+ }
353
+ /**
354
+ * Suggest patterns to extract (dry run)
355
+ */
356
+ async function suggestPatterns(config) {
357
+ console.log('šŸ’” Pattern Extraction Suggestions\n');
358
+ console.log('═══════════════════════════════════════════════════════════════\n');
359
+ const patterns = await extractPatterns({
360
+ min_incidents: 3,
361
+ min_similarity: 0.6,
362
+ auto_store: false,
363
+ config
364
+ });
365
+ if (patterns.length === 0) {
366
+ console.log('ā„¹ļø No patterns detected yet. Need at least 3 similar incidents.\n');
367
+ return;
368
+ }
369
+ console.log(`\nšŸ“Š Extraction Summary:\n`);
370
+ console.log(` Patterns detected: ${patterns.length}`);
371
+ console.log(` Ready to extract: ${patterns.length}\n`);
372
+ patterns.forEach((pattern, i) => {
373
+ console.log(`${i + 1}. ${pattern.name}`);
374
+ console.log(` ID: ${pattern.pattern_id}`);
375
+ console.log(` Incidents: ${pattern.usage_history.total_uses}`);
376
+ console.log(` Success rate: ${(pattern.success_rate * 100).toFixed(0)}%`);
377
+ console.log(` Tags: [${pattern.tags.slice(0, 5).join(', ')}]`);
378
+ if (pattern.caveats && pattern.caveats.length > 0) {
379
+ console.log(` āš ļø Caveats: ${pattern.caveats.length}`);
380
+ }
381
+ console.log('');
382
+ });
383
+ console.log('šŸ’¾ To store these patterns, run:');
384
+ console.log(' extractPatterns({ min_incidents: 3, auto_store: true })\n');
385
+ }
386
+ //# sourceMappingURL=pattern-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-extractor.js","sourceRoot":"","sources":["../../src/pattern-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Result Aggregator
3
+ *
4
+ * Combines and ranks results from multiple sources:
5
+ * - Domain assessments from parallel assessors
6
+ * - Memory retrieval (incidents and patterns)
7
+ * - Trace correlations
8
+ *
9
+ * Uses unified scoring: 0.35*match + 0.25*confidence + 0.15*recency + 0.25*verification
10
+ */
11
+ import type { DomainAssessment, AggregatedResult, CompactIncident, CompactPattern, ScoredItem } from './types';
12
+ export type { ScoredItem } from './types';
13
+ export interface AggregationConfig {
14
+ maxResults?: number;
15
+ minScoreThreshold?: number;
16
+ verificationBoost?: number;
17
+ recencyBoost?: number;
18
+ dedupeThreshold?: number;
19
+ }
20
+ /**
21
+ * Score a domain assessment
22
+ */
23
+ export declare function scoreAssessment(assessment: DomainAssessment, config?: AggregationConfig): ScoredItem;
24
+ /**
25
+ * Score a compact incident from memory
26
+ */
27
+ export declare function scoreIncident(incident: CompactIncident, config?: AggregationConfig): ScoredItem;
28
+ /**
29
+ * Score a compact pattern from memory
30
+ */
31
+ export declare function scorePattern(pattern: CompactPattern, matchScore?: number, config?: AggregationConfig): ScoredItem;
32
+ /**
33
+ * Aggregate results from multiple sources
34
+ */
35
+ export declare function aggregateResults(assessments: DomainAssessment[], incidents: CompactIncident[], patterns: CompactPattern[], config?: AggregationConfig): AggregatedResult;
36
+ /**
37
+ * Format aggregated results for display
38
+ */
39
+ export declare function formatAggregatedResults(result: AggregatedResult): string;
40
+ /**
41
+ * Create a quick summary for token-efficient output
42
+ */
43
+ export declare function createQuickSummary(result: AggregatedResult): string;
44
+ //# sourceMappingURL=result-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-aggregator.d.ts","sourceRoot":"","sources":["../../src/result-aggregator.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACX,MAAM,SAAS,CAAC;AAkBjB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAEhC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgCD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,gBAAgB,EAC5B,MAAM,GAAE,iBAAsB,GAC7B,UAAU,CA8CZ;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,eAAe,EACzB,MAAM,GAAE,iBAAsB,GAC7B,UAAU,CA8CZ;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,cAAc,EACvB,UAAU,GAAE,MAAY,EACxB,MAAM,GAAE,iBAAsB,GAC7B,UAAU,CA6CZ;AAkDD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,SAAS,EAAE,eAAe,EAAE,EAC5B,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,GAAE,iBAAsB,GAC7B,gBAAgB,CAwDlB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAwCxE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAUnE"}