@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,399 @@
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
+ * Trace Storage Module
6
+ *
7
+ * Handles reading/writing traces to filesystem with indexing.
8
+ * Supports lazy loading of full trace data.
9
+ */
10
+ var __importDefault = (this && this.__importDefault) || function (mod) {
11
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateTraceId = generateTraceId;
15
+ exports.generateCollectionId = generateCollectionId;
16
+ exports.storeTrace = storeTrace;
17
+ exports.loadTraceSummary = loadTraceSummary;
18
+ exports.loadFullTrace = loadFullTrace;
19
+ exports.loadAllTraces = loadAllTraces;
20
+ exports.loadTracesBySource = loadTracesBySource;
21
+ exports.loadTracesByCategory = loadTracesByCategory;
22
+ exports.loadTracesBySeverity = loadTracesBySeverity;
23
+ exports.loadTracesForIncident = loadTracesForIncident;
24
+ exports.loadTraceIndex = loadTraceIndex;
25
+ exports.createCollection = createCollection;
26
+ exports.loadCollection = loadCollection;
27
+ exports.correlateTraceToIncident = correlateTraceToIncident;
28
+ exports.getTraceStats = getTraceStats;
29
+ const promises_1 = __importDefault(require("fs/promises"));
30
+ const path_1 = __importDefault(require("path"));
31
+ const config_1 = require("../config");
32
+ // ============================================================================
33
+ // TRACE STORAGE
34
+ // ============================================================================
35
+ /**
36
+ * Generate a unique trace ID
37
+ */
38
+ function generateTraceId() {
39
+ const now = new Date();
40
+ const dateStr = now.toISOString().slice(0, 10).replace(/-/g, '');
41
+ const timeStr = now.toISOString().slice(11, 19).replace(/:/g, '');
42
+ const random = Math.random().toString(36).substring(2, 6);
43
+ return `TRC_${dateStr}_${timeStr}_${random}`;
44
+ }
45
+ /**
46
+ * Generate a collection ID
47
+ */
48
+ function generateCollectionId() {
49
+ const now = new Date();
50
+ const dateStr = now.toISOString().slice(0, 10).replace(/-/g, '');
51
+ const timeStr = now.toISOString().slice(11, 19).replace(/:/g, '');
52
+ const random = Math.random().toString(36).substring(2, 4);
53
+ return `COL_${dateStr}_${timeStr}_${random}`;
54
+ }
55
+ /**
56
+ * Store a trace with indexing
57
+ */
58
+ async function storeTrace(trace, rawData, config) {
59
+ const paths = (0, config_1.getTracePaths)(config);
60
+ // Ensure directories exist
61
+ await promises_1.default.mkdir(paths.traces, { recursive: true });
62
+ await promises_1.default.mkdir(path_1.default.join(paths.raw, trace.source), { recursive: true });
63
+ // Store raw data if provided
64
+ if (rawData) {
65
+ const rawPath = path_1.default.join(paths.raw, trace.source, `${trace.trace_id}.json`);
66
+ await promises_1.default.writeFile(rawPath, JSON.stringify(rawData, null, 2), 'utf-8');
67
+ trace.full_data_path = rawPath;
68
+ trace.has_full_data = true;
69
+ }
70
+ // Update index
71
+ await updateTraceIndex(trace, config);
72
+ return { trace_id: trace.trace_id, file_path: trace.full_data_path || '' };
73
+ }
74
+ /**
75
+ * Load trace summary by ID
76
+ */
77
+ async function loadTraceSummary(trace_id, config) {
78
+ const index = await loadTraceIndex(config);
79
+ const entry = index.traces[trace_id];
80
+ if (!entry)
81
+ return null;
82
+ return reconstructTraceFromIndex(entry);
83
+ }
84
+ /**
85
+ * Load full trace data (lazy loading)
86
+ */
87
+ async function loadFullTrace(trace_id, config) {
88
+ const trace = await loadTraceSummary(trace_id, config);
89
+ if (!trace?.full_data_path)
90
+ return null;
91
+ try {
92
+ const content = await promises_1.default.readFile(trace.full_data_path, 'utf-8');
93
+ return JSON.parse(content);
94
+ }
95
+ catch (error) {
96
+ if (error.code === 'ENOENT') {
97
+ return null;
98
+ }
99
+ throw error;
100
+ }
101
+ }
102
+ /**
103
+ * Load all traces (summaries only)
104
+ */
105
+ async function loadAllTraces(config) {
106
+ const index = await loadTraceIndex(config);
107
+ return Object.values(index.traces).map(reconstructTraceFromIndex);
108
+ }
109
+ /**
110
+ * Load traces by source
111
+ */
112
+ async function loadTracesBySource(source, config) {
113
+ const index = await loadTraceIndex(config);
114
+ const traceIds = index.by_source[source] || [];
115
+ return traceIds
116
+ .map((id) => index.traces[id])
117
+ .filter(Boolean)
118
+ .map(reconstructTraceFromIndex);
119
+ }
120
+ /**
121
+ * Load traces by category
122
+ */
123
+ async function loadTracesByCategory(category, config) {
124
+ const index = await loadTraceIndex(config);
125
+ const traceIds = index.by_category[category] || [];
126
+ return traceIds
127
+ .map((id) => index.traces[id])
128
+ .filter(Boolean)
129
+ .map(reconstructTraceFromIndex);
130
+ }
131
+ /**
132
+ * Load traces by severity
133
+ */
134
+ async function loadTracesBySeverity(severity, config) {
135
+ const index = await loadTraceIndex(config);
136
+ const traceIds = index.by_severity[severity] || [];
137
+ return traceIds
138
+ .map((id) => index.traces[id])
139
+ .filter(Boolean)
140
+ .map(reconstructTraceFromIndex);
141
+ }
142
+ /**
143
+ * Load traces correlated to an incident
144
+ */
145
+ async function loadTracesForIncident(incident_id, config) {
146
+ const index = await loadTraceIndex(config);
147
+ const traceIds = index.by_incident[incident_id] || [];
148
+ return traceIds
149
+ .map((id) => index.traces[id])
150
+ .filter(Boolean)
151
+ .map(reconstructTraceFromIndex);
152
+ }
153
+ // ============================================================================
154
+ // INDEX MANAGEMENT
155
+ // ============================================================================
156
+ /**
157
+ * Load or initialize trace index
158
+ */
159
+ async function loadTraceIndex(config) {
160
+ const paths = (0, config_1.getTracePaths)(config);
161
+ try {
162
+ const content = await promises_1.default.readFile(paths.index, 'utf-8');
163
+ return JSON.parse(content);
164
+ }
165
+ catch (error) {
166
+ if (error.code === 'ENOENT') {
167
+ return createEmptyIndex();
168
+ }
169
+ throw error;
170
+ }
171
+ }
172
+ /**
173
+ * Create empty index
174
+ */
175
+ function createEmptyIndex() {
176
+ return {
177
+ version: '1.0.0',
178
+ last_updated: Date.now(),
179
+ total_traces: 0,
180
+ traces: {},
181
+ by_source: {},
182
+ by_category: {},
183
+ by_severity: {},
184
+ by_date: {},
185
+ by_incident: {},
186
+ };
187
+ }
188
+ /**
189
+ * Update trace index with new trace
190
+ */
191
+ async function updateTraceIndex(trace, config) {
192
+ const paths = (0, config_1.getTracePaths)(config);
193
+ const index = await loadTraceIndex(config);
194
+ // Create index entry
195
+ const entry = {
196
+ trace_id: trace.trace_id,
197
+ source: trace.source,
198
+ timestamp: trace.timestamp,
199
+ severity: trace.severity,
200
+ category: trace.category,
201
+ operation: trace.operation,
202
+ summary_preview: trace.summary.description.substring(0, 100),
203
+ has_error: trace.severity === 'error' || trace.severity === 'fatal',
204
+ incident_ids: trace.incident_ids || [],
205
+ };
206
+ // Add to main index
207
+ index.traces[trace.trace_id] = entry;
208
+ index.total_traces++;
209
+ index.last_updated = Date.now();
210
+ // Update by_source index
211
+ if (!index.by_source[trace.source]) {
212
+ index.by_source[trace.source] = [];
213
+ }
214
+ index.by_source[trace.source].push(trace.trace_id);
215
+ // Update by_category index
216
+ if (!index.by_category[trace.category]) {
217
+ index.by_category[trace.category] = [];
218
+ }
219
+ index.by_category[trace.category].push(trace.trace_id);
220
+ // Update by_severity index
221
+ if (!index.by_severity[trace.severity]) {
222
+ index.by_severity[trace.severity] = [];
223
+ }
224
+ index.by_severity[trace.severity].push(trace.trace_id);
225
+ // Update by_date index
226
+ const dateKey = new Date(trace.timestamp).toISOString().slice(0, 10);
227
+ if (!index.by_date[dateKey]) {
228
+ index.by_date[dateKey] = [];
229
+ }
230
+ index.by_date[dateKey].push(trace.trace_id);
231
+ // Update by_incident index
232
+ for (const incidentId of trace.incident_ids || []) {
233
+ if (!index.by_incident[incidentId]) {
234
+ index.by_incident[incidentId] = [];
235
+ }
236
+ index.by_incident[incidentId].push(trace.trace_id);
237
+ }
238
+ // Save index
239
+ await promises_1.default.mkdir(path_1.default.dirname(paths.index), { recursive: true });
240
+ await promises_1.default.writeFile(paths.index, JSON.stringify(index, null, 2), 'utf-8');
241
+ }
242
+ /**
243
+ * Reconstruct trace from index entry
244
+ */
245
+ function reconstructTraceFromIndex(entry) {
246
+ return {
247
+ trace_id: entry.trace_id,
248
+ source: entry.source,
249
+ timestamp: entry.timestamp,
250
+ severity: entry.severity,
251
+ category: entry.category,
252
+ operation: entry.operation,
253
+ summary: {
254
+ description: entry.summary_preview,
255
+ highlights: [],
256
+ },
257
+ incident_ids: entry.incident_ids,
258
+ has_full_data: true,
259
+ tokens_estimated: 50,
260
+ };
261
+ }
262
+ // ============================================================================
263
+ // COLLECTION MANAGEMENT
264
+ // ============================================================================
265
+ /**
266
+ * Create a trace collection
267
+ */
268
+ async function createCollection(name, traceIds, incident_id, config) {
269
+ const paths = (0, config_1.getTracePaths)(config);
270
+ // Load traces to generate summary
271
+ const traces = await Promise.all(traceIds.map((id) => loadTraceSummary(id, config)));
272
+ const validTraces = traces.filter(Boolean);
273
+ // Generate summary
274
+ const summary = generateCollectionSummary(validTraces);
275
+ const collection = {
276
+ collection_id: generateCollectionId(),
277
+ name,
278
+ traces: traceIds,
279
+ created_at: Date.now(),
280
+ incident_id,
281
+ summary,
282
+ };
283
+ // Save collection
284
+ await promises_1.default.mkdir(paths.collections, { recursive: true });
285
+ const filepath = path_1.default.join(paths.collections, `${collection.collection_id}.json`);
286
+ await promises_1.default.writeFile(filepath, JSON.stringify(collection, null, 2), 'utf-8');
287
+ return collection;
288
+ }
289
+ /**
290
+ * Load a collection by ID
291
+ */
292
+ async function loadCollection(collection_id, config) {
293
+ const paths = (0, config_1.getTracePaths)(config);
294
+ const filepath = path_1.default.join(paths.collections, `${collection_id}.json`);
295
+ try {
296
+ const content = await promises_1.default.readFile(filepath, 'utf-8');
297
+ return JSON.parse(content);
298
+ }
299
+ catch (error) {
300
+ if (error.code === 'ENOENT') {
301
+ return null;
302
+ }
303
+ throw error;
304
+ }
305
+ }
306
+ /**
307
+ * Generate collection summary from traces
308
+ */
309
+ function generateCollectionSummary(traces) {
310
+ const bySeverity = {
311
+ debug: 0,
312
+ info: 0,
313
+ warning: 0,
314
+ error: 0,
315
+ fatal: 0,
316
+ };
317
+ const byCategory = {};
318
+ let totalErrors = 0;
319
+ let slowestOperation;
320
+ let slowestDuration = 0;
321
+ const timestamps = traces.map((t) => t.timestamp);
322
+ const timeRange = {
323
+ start: Math.min(...timestamps),
324
+ end: Math.max(...timestamps),
325
+ };
326
+ for (const trace of traces) {
327
+ // Count by severity
328
+ bySeverity[trace.severity]++;
329
+ // Count by category
330
+ byCategory[trace.category] = (byCategory[trace.category] || 0) + 1;
331
+ // Count errors
332
+ if (trace.severity === 'error' || trace.severity === 'fatal') {
333
+ totalErrors++;
334
+ }
335
+ // Track slowest operation
336
+ const duration = trace.duration_ms || 0;
337
+ if (duration > slowestDuration) {
338
+ slowestDuration = duration;
339
+ slowestOperation = trace.operation;
340
+ }
341
+ }
342
+ return {
343
+ total_traces: traces.length,
344
+ by_severity: bySeverity,
345
+ by_category: byCategory,
346
+ time_range: timeRange,
347
+ total_errors: totalErrors,
348
+ slowest_operation: slowestOperation,
349
+ };
350
+ }
351
+ // ============================================================================
352
+ // CORRELATION
353
+ // ============================================================================
354
+ /**
355
+ * Correlate a trace to an incident
356
+ */
357
+ async function correlateTraceToIncident(trace_id, incident_id, config) {
358
+ const index = await loadTraceIndex(config);
359
+ // Update trace entry
360
+ const entry = index.traces[trace_id];
361
+ if (entry) {
362
+ if (!entry.incident_ids.includes(incident_id)) {
363
+ entry.incident_ids.push(incident_id);
364
+ }
365
+ }
366
+ // Update by_incident index
367
+ if (!index.by_incident[incident_id]) {
368
+ index.by_incident[incident_id] = [];
369
+ }
370
+ if (!index.by_incident[incident_id].includes(trace_id)) {
371
+ index.by_incident[incident_id].push(trace_id);
372
+ }
373
+ // Save index
374
+ const paths = (0, config_1.getTracePaths)(config);
375
+ await promises_1.default.writeFile(paths.index, JSON.stringify(index, null, 2), 'utf-8');
376
+ }
377
+ /**
378
+ * Get trace statistics
379
+ */
380
+ async function getTraceStats(config) {
381
+ const index = await loadTraceIndex(config);
382
+ const bySeverity = {};
383
+ const bySource = {};
384
+ for (const [source, ids] of Object.entries(index.by_source)) {
385
+ bySource[source] = ids.length;
386
+ }
387
+ for (const [severity, ids] of Object.entries(index.by_severity)) {
388
+ bySeverity[severity] = ids.length;
389
+ }
390
+ const timestamps = Object.values(index.traces).map((t) => t.timestamp);
391
+ return {
392
+ total_traces: index.total_traces,
393
+ by_source: bySource,
394
+ by_severity: bySeverity,
395
+ oldest_trace: timestamps.length > 0 ? Math.min(...timestamps) : 0,
396
+ newest_trace: timestamps.length > 0 ? Math.max(...timestamps) : 0,
397
+ };
398
+ }
399
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/traces/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Trace Summarizer
3
+ *
4
+ * Token-budget-aware summarization of traces for LLM context injection.
5
+ * Prioritizes errors and performance issues within token limits.
6
+ */
7
+ import type { UnifiedTrace, TraceSummary, SummarizationConfig } from './types';
8
+ /**
9
+ * TraceSummarizer - Main class for trace summarization
10
+ */
11
+ export declare class TraceSummarizer {
12
+ private config;
13
+ constructor(config?: Partial<SummarizationConfig>);
14
+ /**
15
+ * Generate context-efficient summary for LLM injection
16
+ *
17
+ * Structure:
18
+ * 1. Errors (highest priority)
19
+ * 2. Performance issues
20
+ * 3. Timeline of operations
21
+ */
22
+ summarizeForContext(traces: UnifiedTrace[]): string;
23
+ /**
24
+ * Build error summary section
25
+ */
26
+ private buildErrorSummary;
27
+ /**
28
+ * Build performance summary section
29
+ */
30
+ private buildPerformanceSummary;
31
+ /**
32
+ * Build timeline summary section
33
+ */
34
+ private buildTimelineSummary;
35
+ /**
36
+ * Sort traces by relevance for summarization
37
+ */
38
+ private sortByRelevance;
39
+ /**
40
+ * Estimate tokens for text
41
+ */
42
+ estimateTokens(text: string): number;
43
+ }
44
+ /**
45
+ * Create a compact trace summary for single trace
46
+ */
47
+ export declare function createTraceSummary(operation: string, description: string, options?: {
48
+ error?: {
49
+ type: string;
50
+ message: string;
51
+ stack_preview?: string;
52
+ };
53
+ performance?: {
54
+ duration_ms: number;
55
+ is_slow: boolean;
56
+ bottleneck?: string;
57
+ };
58
+ highlights?: Array<{
59
+ label: string;
60
+ value: string;
61
+ }>;
62
+ }): TraceSummary;
63
+ /**
64
+ * Summarize multiple traces into a single paragraph
65
+ */
66
+ export declare function summarizeTracesCompact(traces: UnifiedTrace[]): string;
67
+ /**
68
+ * Filter traces by time window
69
+ */
70
+ export declare function filterByTimeWindow(traces: UnifiedTrace[], windowMinutes: number): UnifiedTrace[];
71
+ /**
72
+ * Group traces by category
73
+ */
74
+ export declare function groupByCategory(traces: UnifiedTrace[]): Record<string, UnifiedTrace[]>;
75
+ /**
76
+ * Get top errors from traces
77
+ */
78
+ export declare function getTopErrors(traces: UnifiedTrace[], limit?: number): UnifiedTrace[];
79
+ /**
80
+ * Get slowest operations from traces
81
+ */
82
+ export declare function getSlowestOperations(traces: UnifiedTrace[], limit?: number): UnifiedTrace[];
83
+ //# sourceMappingURL=summarizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarizer.d.ts","sourceRoot":"","sources":["../../../src/traces/summarizer.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAIrD;;;;;;;OAOG;IACH,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM;IA4CnD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,WAAW,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7E,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD,GACA,YAAY,CAOd;AAUD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CA+BrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EAAE,EACtB,aAAa,EAAE,MAAM,GACpB,YAAY,EAAE,CAGhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAWhC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,GAAE,MAAU,GAChB,YAAY,EAAE,CAKhB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,GAAE,MAAU,GAChB,YAAY,EAAE,CAKhB"}