@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,278 @@
1
+ ---
2
+ name: debug-loop
3
+ description: Use when a fix didn't hold, `/build-loop:debug` is invoked, the user asks for root cause analysis, memory lookup returns LIKELY_MATCH/WEAK_SIGNAL/NO_MATCH, or Review-B Validate fails. Deep iterative debugging loop — not for known fixes or trivial issues.
4
+ version: 1.1.0
5
+ user-invocable: true
6
+ ---
7
+
8
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
9
+
10
+ # Debug Loop — Iterative Root Cause Debugging
11
+
12
+ A 7-phase debugging loop: investigate with structured root-cause methods, hypothesize root cause, implement targeted fix, verify with evidence, score against criteria, pressure-test via critique agent, and report with transparency markers. Iterates up to 5x on failures.
13
+
14
+ ## Scope Check
15
+
16
+ Before entering the loop, assess whether it's warranted. The trigger is the **verdict category**, not a numeric score — research shows LLM-assigned confidence scores are poorly calibrated for open-ended tasks (Tian et al., EMNLP 2023; 49-84% calibration error on open-ended generation).
17
+
18
+ - **Skip the loop** if debugging-memory returned `KNOWN_FIX` — apply the fix directly and verify
19
+ - **Skip the loop** for trivial issues: typos, missing imports, obvious config errors where the cause is immediately clear
20
+ - **Enter the loop** when: verdict is `LIKELY_MATCH`, `WEAK_SIGNAL`, or `NO_MATCH`, the user asks for deep investigation, the initial diagnosis feels superficial, or a previous fix attempt didn't hold
21
+
22
+ ## Efficiency
23
+
24
+ - Terminal output: current phase, key findings (one line each), status changes, failures. No verbose reasoning
25
+ - Agent context: minimum needed per job. Pass symptom + relevant findings, not full conversation history
26
+ - Load convergence rules reference on demand only when entering iteration
27
+
28
+ ## Phase 1: INVESTIGATE — Gather Evidence and Trace Root Cause
29
+
30
+ **Goal**: Understand what's actually failing and why, not just what it looks like.
31
+
32
+ 1. **Search debugging memory** — invoke `build-loop:debugging-memory` with the symptom. Note related incidents from local build-loop memory and optional standalone Coding Debugger memory when available.
33
+ 2. **Reproduce the issue** — identify exact steps, commands, or conditions that trigger the bug
34
+ 3. **Deploy root-cause-investigator agent** — pass the symptom and reproduction steps for causal tree analysis. The agent explores multiple branches (not a single chain), prioritizes by evidence strength, and prunes with evidence
35
+ 4. **Research gate** — if the investigator flags unfamiliar error codes, library behavior, or version-specific issues:
36
+ - Search externally (WebSearch, Context7, or documentation)
37
+ - Document what was searched and what was found
38
+ - If search is unavailable, document what SHOULD be searched
39
+ 5. **Assess completeness** — does the investigation explain ALL reported symptoms? Check for multi-causal bugs (2+ independent root causes)
40
+
41
+ **Output**: Causal tree (with confirmed and pruned branches), reproduction steps, evidence gathered, research performed
42
+
43
+ ### Root-Cause Frameworks
44
+
45
+ Use the lightest framework that fits the failure. Stack frameworks only when the current one stalls.
46
+
47
+ | Framework | Use when | Output |
48
+ |---|---|---|
49
+ | 5 Whys | A symptom has a plausible linear chain and needs a controllable system cause | Five-level why-chain ending in a code, test, config, protocol, or process control |
50
+ | Causal tree / fault tree | Multiple causes could explain the same symptom | Branches with confirming and pruning evidence |
51
+ | Ishikawa / fishbone | The failure may span people/process/code/tooling/data/environment | Category map, then the top 2-3 branches to test |
52
+ | Kepner-Tregoe problem analysis | The issue is intermittent, version-specific, or boundary-sensitive | Is/is-not table: affected/unaffected versions, inputs, users, routes, environments |
53
+ | Differential diagnosis | Several hypotheses look similar from symptoms alone | Ranked hypotheses plus the discriminating test for each |
54
+ | Falsification test | A hypothesis is attractive but under-proven | Smallest test that would disprove it |
55
+
56
+ For hard fixes, record which framework was used and the decisive evidence. The framework is a thinking scaffold, not a report section unless it clarifies the outcome.
57
+
58
+ **Domain root-cause catalogs (read directly + point sub-agents at the PATH):** for SwiftUI/macOS "clunky UI" symptoms — choppy/janky panel resize, drag not tracking the cursor, collapse-snap-back, re-render storms, scrunched panes, Picker/list lag — use `references/swiftui-macos-clunky-ui-debugger.html` (13 discrete Root-Cause→Fix slides with real Swift code: onContinuousHover, two-state DragGesture, HSplitView vs NSViewRepresentable, updateNSView feedback-loop guard, re-render storms, animation placement, view-identity resets, NSViewRepresentable minimal pattern, Instruments workflow). It maps symptom→cause→fix directly (e.g. collapse-snap-back → Slide 9 NSViewRepresentable feedback loop → updateNSView guard). When dispatching an implementer, reference the file by PATH so it reads the full methodology — a structured reference FILE read directly beats pasting prose (a sub-agent then carries only your lossy summary). This catalog fixed an NSSplitView resize regression in one pass after two prior failed attempts (easy-terminal 2026-06-08).
59
+
60
+ ## Phase 2: HYPOTHESIZE — State the Root Cause
61
+
62
+ **Goal**: Commit to a specific, testable hypothesis before writing any fix.
63
+
64
+ Start with plain language before implementation detail. State what failed in normal words, then trace visible symptom -> technical failure -> upstream dependency/interface/process failure -> first controllable system failure. Do not use "agent forgot", "agent missed context", or similar actor-blame language as the terminal cause unless you also name the missing system control that allowed it.
65
+
66
+ 1. **State the root cause hypothesis** with evidence level:
67
+ - **Strong**: Multiple evidence types (code, logs, reproduction) all point to this cause
68
+ - **Moderate**: Some direct evidence plus reasonable inference
69
+ - **Weak**: Mostly inference, limited direct evidence — consider investigating other branches first
70
+ 2. **Predict verification test**: If this hypothesis is correct, what specific test would prove it?
71
+ 3. **Predict related symptoms**: What else should be affected if this root cause is real?
72
+ 4. **If multiple hypotheses exist**, rank by evidence strength. Pursue the strongest first
73
+
74
+ **Output**: Hypothesis statement, evidence level, prediction test, related symptom predictions
75
+
76
+ ## Phase 3: FIX — Implement Targeted Change
77
+
78
+ **Goal**: Make the minimal change that addresses the hypothesized root cause.
79
+
80
+ 1. **Fix the root cause, not the symptom** — if you're adding a null check instead of fixing why something is null, you're fixing the symptom
81
+ 2. **Minimal changes** — touch only what's needed. Don't refactor, don't improve, don't clean up
82
+ 3. **Note exactly what was changed and why** — this becomes the evidence trail
83
+
84
+ **Output**: List of changes with rationale
85
+
86
+ ## Phase 4: VERIFY — Test the Fix with Evidence
87
+
88
+ **Goal**: Collect concrete evidence that the fix works.
89
+
90
+ 1. **Run the prediction test** from Phase 2 — does it confirm the hypothesis?
91
+ 2. **Run the original reproduction steps** — is the symptom gone?
92
+ 3. **Run related test suite** — do existing tests still pass?
93
+ 4. **Check for regressions** — run broader test suite if available
94
+ 5. **Verify related symptom predictions** — are the predicted effects present?
95
+
96
+ Every verification step must produce evidence: command output, test results, or observable behavior. "It should work" is not evidence.
97
+
98
+ **Output**: Evidence for each verification step
99
+
100
+ ## Phase 5: SCORE — Evaluate Against Criteria
101
+
102
+ **Goal**: Objective pass/fail assessment with evidence.
103
+
104
+ Score against these criteria:
105
+
106
+ | # | Criterion | Method | Pass Condition | Evidence Required |
107
+ |---|-----------|--------|----------------|-------------------|
108
+ | 1 | Symptom resolved | Reproduction steps | Symptom no longer occurs | Command output or test result |
109
+ | 2 | Tests pass | Test suite | All relevant tests pass | Test runner output |
110
+ | 3 | No regressions | Broader test suite | No new failures introduced | Test runner output |
111
+ | 4 | Root cause addressed | Code review | Fix targets root cause, not symptom | Diff + reasoning |
112
+ | 5 | Hypothesis confirmed | Prediction test | Prediction test passes | Test output |
113
+
114
+ **All criteria must have evidence.** No criterion marked PASS without proof.
115
+
116
+ **If any criterion fails** → enter iteration (Phase 6 rules apply)
117
+ **If all criteria pass** → proceed to critique (Phase 6)
118
+
119
+ **Output**: Scorecard with pass/fail per criterion and evidence
120
+
121
+ ## Phase 6: CRITIQUE — Pressure-Test Before Declaring Done
122
+
123
+ **Goal**: Challenge the fix before the user relies on it.
124
+
125
+ 1. **Deploy fix-critique agent** with:
126
+ - The symptom
127
+ - The causal tree from investigation (confirmed branch path + pruned branches)
128
+ - The fix (what was changed)
129
+ - The verification evidence
130
+ 2. **Evaluate verdict**:
131
+ - **APPROVED** → proceed to REPORT
132
+ - **CHALLENGED** → the concerns become input for the next iteration. Route back to INVESTIGATE with the specific challenges as new investigation targets
133
+
134
+ The critique agent checks 5 things:
135
+ - Root cause vs symptom fix
136
+ - Symptom coverage (similar bugs elsewhere)
137
+ - Regression risk
138
+ - Evidence verification
139
+ - Causal tree consistency
140
+
141
+ ## Phase 7: REPORT — Transparent Status
142
+
143
+ **Goal**: Clear, honest summary. No overclaiming.
144
+
145
+ ### Transparency Markers
146
+
147
+ Every item in the report gets one marker:
148
+
149
+ - **✅ Verified**: Checked with evidence (test output, reproduction, command results)
150
+ - **⚠️ Assumed**: Believed to be true based on reasoning, but not verified with a test
151
+ - **❓ Unknown**: Not checked at all — explicitly acknowledged gaps
152
+
153
+ ### Report Contents
154
+
155
+ 1. **Verdict**: Fixed (all criteria pass + critique approved) or Unresolved (iteration limit hit)
156
+ 2. **Plain-language failure**: What went wrong in normal words
157
+ 3. **Why it happened**: Symptom -> technical failure -> upstream dependency/interface/process failure -> first controllable system failure
158
+ 4. **Technical details**: Minimum proof needed to understand the cause
159
+ 5. **Tradeoffs and impact**: What improves, what risks remain, and who is affected
160
+ 6. **Prevention control**: Durable test, verifier, trace, gate, protocol, or routing rule
161
+ 7. **Root cause**: The identified system cause with evidence level
162
+ 8. **Causal Tree**: The investigation path — confirmed branches, pruned branches with rejection evidence, any multi-causal findings
163
+ 9. **Fix Applied**: What was changed, with rationale
164
+ 10. **Scorecard**: Final pass/fail per criterion with evidence
165
+ 11. **Research Used**: What was searched externally, what was found, what sources
166
+ 12. **Iteration History** (if >1 iteration): What was tried, what failed, what changed between iterations
167
+ 13. **Remaining Gaps**: Anything marked ⚠️ or ❓
168
+
169
+ ### After Reporting
170
+
171
+ - **Store the incident** as a native `.build-loop/issues/*.md` note for future retrieval
172
+ - **Record the outcome** through standalone Coding Debugger only if that optional plugin supplied the prior incident
173
+ - **Write state** to `.build-loop/debug-loop/scorecard.md`
174
+
175
+ ## Iteration Rules
176
+
177
+ When any criterion fails or the critique is CHALLENGED, iterate:
178
+
179
+ 1. **Diagnose why the criterion failed** — don't blind retry
180
+ 2. **Revise the hypothesis** if verification disproved it
181
+ 3. **Create targeted fix plan** for failed criteria only
182
+ 4. **Execute fix**
183
+ 5. **Re-verify ONLY failed criteria** — don't re-run passing checks
184
+ 6. **Re-score and re-critique**
185
+
186
+ ### Convergence Detection
187
+
188
+ Load `references/convergence-rules.md` for detailed rules and escalation templates.
189
+
190
+ Summary:
191
+ - **Same hypothesis fails 2x** → escalate to user ("I've tried this approach twice — the hypothesis may be wrong or there's a constraint I'm not seeing")
192
+ - **Fix A breaks criterion B (oscillation)** → flag as coupled issue, present both sides, ask user
193
+ - **3+ criteria fail after a fix** → systemic issue, stop loop and reassess the approach entirely
194
+ - **New regression detected** → fix is causing side effects, reconsider the approach
195
+ - **Hard stop at 5 iterations** → report what's known and what isn't. Never silently loop beyond 5
196
+
197
+ ### If stuck — parallel multi-domain assessment
198
+
199
+ When the failure symptom touches multiple layers (e.g. search queries are slow AND results look wrong → database + frontend + API), the linear causal-tree loop can stall. Branch into parallel assessment instead of pursuing one hypothesis serially:
200
+
201
+ 1. Invoke `Skill("build-loop:assess")` with the symptom and the current attempt diff. The bundled `assessment-orchestrator` fans out to relevant domain assessors (`api-assessor` / `database-assessor` / `frontend-assessor` / `performance-assessor`) in parallel.
202
+
203
+ 2. **Model override**: when invoking from the build-loop orchestrator (Opus 4.7), explicitly pass `model: sonnet` to each domain assessor via the subagent dispatch. Without this override, the assessor agents inherit the orchestrator's tier and you get 4 parallel Opus invocations — wasteful for pattern-matching work that Sonnet handles well. Only escalate individual assessors back to Opus if their initial output flags `confidence: low` or `needs_judgment: true`.
204
+
205
+ 3. Aggregate the assessors' ranked findings. The top action becomes the next `HYPOTHESIZE → FIX` plan — feed it back into the loop.
206
+
207
+ When to use parallel assessment vs continuing the linear loop:
208
+ - Symptom is vague or unclear ("app broken", "something is wrong") → parallel
209
+ - Multiple domains may be involved ("search is slow and returns wrong results") → parallel
210
+ - Post-deploy regression with unknown scope → parallel
211
+ - Symptom is sharp and localized to one layer → continue the linear loop
212
+
213
+ ### Extended capability — cross-domain assessor escalation
214
+
215
+ If the bundled assessor coverage isn't enough (e.g., the failure crosses a domain build-loop's bundled assessors don't cover well, or you need cross-build coordination), escalate via the native debugging skills:
216
+
217
+ ```
218
+ Skill("build-loop:debugging-assess") with input { symptom, scope: "global", calledBy: "debug-loop", reason: "stuck-iteration" }
219
+ ```
220
+
221
+ The native skill includes domain-specific assessors (api / database / frontend / performance). It uses build-loop local memory by default and may use standalone Coding Debugger for cross-build memory when available; otherwise it falls back to grep across `.build-loop/issues/` and `.build-loop/feedback.md` with narrower coverage.
222
+
223
+ ### State Tracking
224
+
225
+ Write iteration state to `.build-loop/debug-loop/state.json`:
226
+
227
+ ```json
228
+ {
229
+ "symptom": "original symptom",
230
+ "iteration": 1,
231
+ "phase": "VERIFY",
232
+ "hypotheses": [
233
+ {
234
+ "iteration": 1,
235
+ "hypothesis": "description",
236
+ "evidence_level": "strong | moderate | weak",
237
+ "result": "confirmed | disproved | partial",
238
+ "evidence": "what was found"
239
+ }
240
+ ],
241
+ "scorecard": [
242
+ {
243
+ "criterion": "symptom_resolved",
244
+ "result": "PASS | FAIL",
245
+ "evidence": "summary"
246
+ }
247
+ ],
248
+ "critique_verdict": "APPROVED | CHALLENGED | pending",
249
+ "changes_made": ["file:change summary"]
250
+ }
251
+ ```
252
+
253
+ Create the directory with `mkdir -p .build-loop/debug-loop/` before writing.
254
+
255
+ ## Process Flow
256
+
257
+ ```
258
+ MEMORY SEARCH → INVESTIGATE → HYPOTHESIZE → FIX → VERIFY → SCORE
259
+
260
+ All pass? ──yes──→ CRITIQUE ──approved──→ REPORT
261
+ ↓ ↓
262
+ no challenged
263
+ ↓ ↓
264
+ ITERATE ←──────────────┘
265
+ (up to 5x)
266
+ ```
267
+
268
+ ## Anti-Patterns to Avoid
269
+
270
+ | Anti-Pattern | What to Do Instead |
271
+ |-------------|-------------------|
272
+ | Accepting the first explanation | Branch first — identify 2+ plausible causes before pursuing any |
273
+ | Fixing the symptom | Trace to root cause, fix there |
274
+ | "This should fix it" | Run the tests, show the output |
275
+ | Retrying the same approach | If it failed once with the same evidence, it'll fail again. Change the hypothesis |
276
+ | Declaring victory without evidence | Every claim needs a ✅/⚠️/❓ marker |
277
+ | Skipping research when stuck | If you don't know why something behaves this way, search for it |
278
+ | Hiding uncertainty | ⚠️ and ❓ are not failures — they're honest. Hiding them is the failure |
@@ -0,0 +1,145 @@
1
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
2
+
3
+ # Convergence Detection Rules
4
+
5
+ Reference for the debug-loop iteration phase. Load on demand when entering iteration.
6
+
7
+ ## Rule 1: Repeated Hypothesis Failure
8
+
9
+ **Trigger**: The same root cause hypothesis fails verification twice with the same or similar evidence.
10
+
11
+ **What it means**: The hypothesis is likely wrong. More of the same fix won't help.
12
+
13
+ **Action**: Escalate to user with this template:
14
+
15
+ ```
16
+ I've attempted to fix this issue twice with the same approach:
17
+
18
+ Hypothesis: [what we thought the root cause was]
19
+ Attempt 1: [what was tried, why it failed]
20
+ Attempt 2: [what was tried, why it failed]
21
+
22
+ The evidence suggests this hypothesis may be incorrect, or there's a constraint
23
+ I'm not seeing. Options:
24
+
25
+ 1. Investigate a different hypothesis: [alternative if available]
26
+ 2. Provide additional context about the system's expected behavior
27
+ 3. Narrow the scope to a specific aspect of the problem
28
+ ```
29
+
30
+ **Do NOT**: Retry a third time with the same hypothesis. That's the definition of insanity.
31
+
32
+ ## Rule 2: Oscillation
33
+
34
+ **Trigger**: Fixing criterion A causes criterion B to fail, and fixing B causes A to fail again.
35
+
36
+ **What it means**: The two criteria have a shared dependency or conflicting requirements. The fixes are fighting each other.
37
+
38
+ **Action**: Flag as coupled issue:
39
+
40
+ ```
41
+ I've detected oscillation between two criteria:
42
+
43
+ - Fixing [criterion A] breaks [criterion B]
44
+ - Fixing [criterion B] breaks [criterion A]
45
+
46
+ This suggests a shared dependency or conflicting constraint:
47
+ [describe what the two criteria share]
48
+
49
+ Options:
50
+
51
+ 1. Accept a tradeoff: prioritize one criterion over the other
52
+ 2. Refactor the shared dependency to support both
53
+ 3. Reconsider whether both criteria are correct requirements
54
+ ```
55
+
56
+ **Do NOT**: Continue alternating fixes. Each iteration makes the code more tangled.
57
+
58
+ ## Rule 3: Cascading Failures
59
+
60
+ **Trigger**: 3 or more criteria fail simultaneously after applying a fix (when fewer were failing before).
61
+
62
+ **What it means**: The fix introduced a systemic problem. The root cause may be deeper than expected, or the fix touched a critical path.
63
+
64
+ **Action**: Stop the loop entirely and reassess:
65
+
66
+ ```
67
+ Systemic issue detected: [N] criteria now failing (was [M] before the fix).
68
+
69
+ The fix to [what was changed] appears to have broader impact than expected.
70
+ This suggests:
71
+
72
+ 1. The root cause is deeper/broader than the current hypothesis
73
+ 2. The changed code is on a critical path affecting multiple systems
74
+ 3. The approach needs fundamental rethinking
75
+
76
+ Rolling back the fix and reassessing the investigation.
77
+
78
+ New failures introduced:
79
+ - [criterion]: [what went wrong]
80
+ - [criterion]: [what went wrong]
81
+ ```
82
+
83
+ **Do NOT**: Try to fix each new failure individually. That's treating symptoms of a bad fix.
84
+
85
+ ## Rule 4: Regression Detection
86
+
87
+ **Trigger**: The original symptom is fixed, but the broader test suite reveals new failures that didn't exist before the fix.
88
+
89
+ **What it means**: The fix has unintended side effects. It may be correct for the specific symptom but wrong for the system.
90
+
91
+ **Action**: Flag and evaluate:
92
+
93
+ ```
94
+ The original symptom is resolved, but the fix introduced new issues:
95
+
96
+ Original fix: [what was changed]
97
+ New failures:
98
+ - [test/behavior]: [what broke]
99
+ - [test/behavior]: [what broke]
100
+
101
+ Assessment:
102
+ - Are these related to the same root cause? [yes/no + reasoning]
103
+ - Can the fix be adjusted to avoid these regressions? [yes/no + approach]
104
+ - Is a different fix approach needed? [yes/no + alternative]
105
+ ```
106
+
107
+ **Do NOT**: Ignore the regressions and declare the bug fixed. A fix that creates new bugs isn't a fix.
108
+
109
+ ## Iteration Limit
110
+
111
+ **Hard stop at 5 iterations.** After 5 iterations:
112
+
113
+ 1. Report the current state with full transparency markers (✅/⚠️/❓)
114
+ 2. List every hypothesis that was tried and why it failed
115
+ 3. List what criteria are still failing
116
+ 4. Provide the best current understanding of the root cause
117
+ 5. Recommend next steps (often: different approach, more context needed, or pair debugging)
118
+
119
+ ```
120
+ Debug loop completed 5 iterations without full resolution.
121
+
122
+ Current state:
123
+ ✅ Verified: [what we know works]
124
+ ⚠️ Partial: [what partially works]
125
+ ❓ Unresolved: [what's still failing]
126
+
127
+ Hypotheses tested:
128
+ 1. [hypothesis] — [result]
129
+ 2. [hypothesis] — [result]
130
+ ...
131
+
132
+ Best current understanding: [what we think is happening]
133
+
134
+ Recommended next steps:
135
+ - [specific actionable suggestion]
136
+ ```
137
+
138
+ ## When NOT to Iterate
139
+
140
+ Not every failure needs another loop. Exit early if:
141
+
142
+ - The user provides new information that changes the problem entirely → restart investigation, don't iterate
143
+ - The root cause is confirmed as external (library bug, infrastructure) → report and recommend workaround, don't iterate on code
144
+ - The issue is a known limitation, not a bug → document and close
145
+ - The user says to stop → respect it immediately