@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,59 @@
1
+ ---
2
+ name: api-registry-bridge
3
+ description: Use when Phase 1 Assess or Phase 5 Iterate detects a new API dependency, API config fails, or the user asks to "register this API" or "check the API registry". Consults api-registry plugin; degrades gracefully if plugin is absent.
4
+ user-invocable: false
5
+ ---
6
+
7
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
8
+
9
+ # api-registry-bridge (inside build-loop)
10
+
11
+ ## Activation
12
+
13
+ - **Assess phase:** new API detected in dep diff (new package added to `package.json` / `requirements.txt`) or new vendor-prefixed env key in `.env.example`. Also runs unconditionally as a cheap doc-freshness check (see §"Phase 1 doc-freshness check").
14
+ - **Iterate phase:** API config attempt fails with 401/403/404/timeout/auth error.
15
+
16
+ ## Contract
17
+
18
+ 1. Check `~/.api-registry/registry.db` exists.
19
+ - If **not**: log `api-registry not present — skipping source verification` and continue build-loop flow. No failure.
20
+
21
+ 2. Extract service name from failure message or dep diff.
22
+
23
+ 3. Invoke `/api-registry:lookup <name>`.
24
+ - If `found: true` and `deprecated_notes` present: HALT iteration; surface the warning to the user BEFORE retry.
25
+ - If `stale_warning: true`: suggest `/api-registry:refresh <name>` but don't block.
26
+ - If `cooldown.install_blocked: true`: see §"New-dependency cooldown".
27
+
28
+ 4. If config question remains, invoke `/api-registry:docs <name> <specific config question>`.
29
+ - api-registry answers from its local doc cache first; Context7 is the fallback path only.
30
+
31
+ 5. If lookup returns `found: false`: prompt user once per build-loop run to add the service. Don't re-prompt on every iteration.
32
+
33
+ ## Phase 1 doc-freshness check
34
+
35
+ At the start of Phase 1 Assess, after the registry-present check:
36
+
37
+ 1. Read `~/.api-registry/staleness.json` (written by api-registry's SessionStart hook / `staleness.ts --marker`).
38
+ - Absent or unreadable → skip silently.
39
+ 2. If any `stale[]` entry names a service relevant to this build (its package appears in the dep manifest, or it is a `protocol`-category source and the build touches MCP), the doc is stale (`last_checked` > 7 days).
40
+ 3. **Refresh stale docs in-session before planning**: for each relevant stale doc, invoke `/api-registry:docs <service> <topic>` so the cache is re-verified/re-curated before the plan is drafted. This keeps Phase 2 planning grounded in current docs, not a stale cache.
41
+ 4. This is advisory — never blocks the build. Log what was refreshed; route the summary to the run report.
42
+
43
+ ## New-dependency cooldown
44
+
45
+ When Assess detects a newly added third-party package:
46
+
47
+ 1. `/api-registry:lookup <name>` returns a `cooldown` block.
48
+ 2. If `cooldown.install_blocked: true` (latest version released < 7 days ago, service not `author_owned`):
49
+ - Surface the `cooldown.reason` to the user.
50
+ - The `pre_bash_dependency_cooldown.sh` PreToolUse hook is the enforcement point — it already rewrites/denies fresh installs at the Bash boundary. The registry verdict is the *advisory* signal that explains *why* a hook rewrite happened; it does not replace the hook.
51
+ - `author_owned: true` services (`@tyroneross/*` scope + the user's own projects) are exempt — `cooldown.install_blocked` is always `false` for them, matching the hook's allowlist.
52
+ 3. The 7-day registry cooldown window and the hook's 7-day install cooldown are deliberately the same number (supply-chain dwell time). If they ever diverge, the hook is authoritative for *enforcement*; the registry is authoritative for *explanation*.
53
+
54
+ ## What this does NOT do
55
+
56
+ - Does not modify the registry (except via `/api-registry:docs`, which re-curates the cache by design — that is the cache staying fresh, not the bridge mutating registry metadata).
57
+ - Does not block the build if api-registry is absent.
58
+ - Does not fabricate URLs.
59
+ - Does not duplicate the cooldown *enforcement* — that is `pre_bash_dependency_cooldown.sh`'s job.
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: build-loop:architecture-dead
3
+ description: Use when the user asks to "find dead code", "scan for orphaned components", or "clean up unused files", or during Phase 4 Review before a release. Scans for unreachable components and dead code; build-loop's native scan from NavGator's CLI.
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ source: NavGator/commands/dead.md
7
+ source_hash: e01c7f0e3c71a2a5c695c1d0ea9d3506672e6032cd58078f8f5b7b49b7b1a75d
8
+ ---
9
+
10
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
11
+
12
+ # Dead-Code / Orphan Scan
13
+
14
+ Detect orphaned components — those NavGator tracks but with zero incoming AND zero outgoing connections. Use the `mcp__plugin_navgator__dead` MCP tool (or `navgator dead` CLI).
15
+
16
+ > **Divergence note**: NavGator has no discrete SKILL.md for dead-code analysis. The canonical wrapper is `commands/dead.md`. This skill encodes the same workflow.
17
+
18
+ ## When to Activate
19
+
20
+ - Phase 4 Review-F Report: orphan scan after build completes — diff against the Phase 1 Assess baseline to surface NEW orphans introduced this build
21
+ - User asks "find dead code", "any orphaned components", "what's unused"
22
+
23
+ ## Pre-flight
24
+
25
+ 1. If `.navgator/architecture/index.json` does not exist → no-op with `NavGator: no architecture snapshot found — skipping dead-code scan`.
26
+
27
+ ## Workflow
28
+
29
+ 1. Run `mcp__plugin_navgator__dead` (or `navgator dead`)
30
+ 2. Group findings by type: unused packages, unused DB models, unused queues, unused infra, unused services
31
+ 3. For significant findings (unused infra like Heroku/Render configs, unused queues), investigate whether they should be removed
32
+ 4. Suggest cleanup actions for clearly dead components
33
+
34
+ ## What Counts as Dead
35
+
36
+ - Components detected by NavGator with zero incoming AND zero outgoing connections
37
+ - Only meaningful types are checked (packages, queues, services, infra, database models)
38
+ - Internal code files are NOT flagged (too many to be useful)
39
+
40
+ ## Diff Against Baseline
41
+
42
+ If `.build-loop/state.json.architecture.dead.baseline` exists from Phase 1 Assess:
43
+ - Compute `new_orphans = current - baseline`
44
+ - Surface only the new ones in Review-F (existing orphans are pre-existing tech debt, not this build's regression)
45
+
46
+ ## Output
47
+
48
+ Write to `.build-loop/state.json.architecture.dead` with `{total_orphans, new_orphans[], by_type{}}`.
49
+
50
+ ## Sibling Skills
51
+
52
+ - `build-loop:architecture-scan` — refresh data first
53
+ - `build-loop:architecture-rules` — broader violation check (orphan is one warning category there)
54
+ - `build-loop:architecture-review` — full integrity review
55
+
56
+ *Source: NavGator `commands/dead.md`. The canonical implementation is the CLI / MCP tool. Drift-checked by `build-loop:sync-skills`.*
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: build-loop:architecture-impact
3
+ description: Use when Phase 1 Assess evaluates top-risk components, Phase 5 Iterate precedes a cross-layer fix, or the user asks "what does changing X break". Blast-radius analysis tracing upstream/downstream dependencies for a component or file before refactor.
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ source: NavGator/skills/impact-analysis/SKILL.md
7
+ source_hash: e1eab41fae52db57fd80c996fec0d2480703e4ac407f5cf8e81edb882511a413
8
+ ---
9
+
10
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
11
+
12
+ # Impact Analysis & Connections
13
+
14
+ Analyze what's affected by a change and map component connections using the NavGator MCP tools (`mcp__plugin_navgator__impact`, `mcp__plugin_navgator__connections`, `mcp__plugin_navgator__trace`). Native to build-loop — content adapted from `NavGator/skills/impact-analysis/SKILL.md`. If NavGator is not installed, no-op with a one-line note.
15
+
16
+ ## When to Activate
17
+
18
+ - Phase 1 Assess: after `build-loop:architecture-scan`, run impact on the top 5 highest-risk components and write a compact summary into `.build-loop/state.json.architecture.impact`
19
+ - Phase 5 Iterate: BEFORE any escalation, run impact on the affected component to confirm whether the failing fix is cross-layer
20
+ - User asks what's affected by changing a component or file
21
+ - Before major changes to shared components
22
+
23
+ ## Pre-flight
24
+
25
+ 1. If `.navgator/architecture/index.json` does not exist → no-op with `NavGator: no architecture snapshot found — skipping impact analysis`. Recommend `build-loop:architecture-scan` first.
26
+
27
+ ## Impact Analysis
28
+
29
+ Use `mcp__plugin_navgator__impact` with the component name to analyze blast radius.
30
+
31
+ **Input:** Component name (e.g., "express", "prisma", "/api/users")
32
+
33
+ **Returns:**
34
+ - Component's name, type, and layer
35
+ - **Incoming connections**: components/files that USE this component (may need changes)
36
+ - **Outgoing connections**: components this one depends on
37
+ - Severity assessment (critical/high/medium/low based on dependent count)
38
+ - Specific file paths and line numbers for each connection
39
+
40
+ ### File-Based Impact
41
+
42
+ If the user provides a file path instead of a component name:
43
+ 1. The tool resolves the file to its parent component automatically via file map lookup
44
+ 2. If no component found, suggest running `build-loop:architecture-scan` to refresh data
45
+
46
+ ## Connection Mapping
47
+
48
+ Use `mcp__plugin_navgator__connections` to show all connections for a component.
49
+
50
+ **Input:** Component name (required), direction (optional: "in", "out", or "both")
51
+
52
+ **Returns:**
53
+ - All incoming connections (what connects TO this component)
54
+ - All outgoing connections (what this component connects TO)
55
+ - File paths and line numbers for each connection
56
+
57
+ ## Dataflow Tracing
58
+
59
+ For deeper data-flow analysis, defer to sibling skill `build-loop:architecture-trace` — same MCP tool family, focused on input→output pipelines.
60
+
61
+ ## Decision Tree
62
+
63
+ | User Intent | MCP Tool | Notes |
64
+ |-------------|----------|-------|
65
+ | "What breaks if I change X?" | `mcp__plugin_navgator__impact` | Full blast radius |
66
+ | "Show connections for X" | `mcp__plugin_navgator__connections` | All connections |
67
+ | "What depends on X?" | `mcp__plugin_navgator__connections` (direction: "in") | Incoming only |
68
+ | "What does X use?" | `mcp__plugin_navgator__connections` (direction: "out") | Outgoing only |
69
+ | "Is it safe to modify X?" | `mcp__plugin_navgator__impact` | Check severity |
70
+
71
+ ## After Analysis
72
+
73
+ Present results clearly:
74
+ 1. Severity level and summary
75
+ 2. Direct dependents (most important to review)
76
+ 3. Transitive dependents (may be affected)
77
+ 4. Recommendation: which files to review before making changes
78
+
79
+ Write summary into `.build-loop/state.json.architecture.impact[<component>]` with fields `{severity, direct_count, transitive_count, layers_crossed}`.
80
+
81
+ ## Sibling Skills
82
+
83
+ - `build-loop:architecture-scan` — refresh data first
84
+ - `build-loop:architecture-trace` — pipeline trace
85
+ - `build-loop:architecture-rules` — violation check after change
86
+ - `build-loop:architecture-review` — full integrity review
87
+
88
+ *Source: copied verbatim from NavGator and rewritten for build-loop. Drift-checked by `build-loop:sync-skills`.*
@@ -0,0 +1,227 @@
1
+ ---
2
+ name: build-loop:architecture-review
3
+ description: Use when Phase 4 Review covers a build that crosses 2+ layers, or the user asks for an "architectural review" or "full integrity check". Covers system flow, component connections, documentation drift, and lessons; heavy-weight, native copy from NavGator.
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ source: NavGator/skills/code-review/SKILL.md
7
+ source_hash: 61d49f3329da9dbf059fe54b24b3fe6537050c2d159fcac8d00fadb292dd5d4c
8
+ ---
9
+
10
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
11
+
12
+ # Architectural Integrity Review
13
+
14
+ Orchestrates impact analysis, data-flow tracing, the rules engine, and the lessons system into a 5-phase architectural review. Native to build-loop — content adapted from `NavGator/skills/code-review/SKILL.md`. This skill is an architectural integrity reviewer — not a linter, not a bug hunter.
15
+
16
+ ## What This Skill IS vs. IS NOT
17
+
18
+ **IS:**
19
+ - System flow — how data moves from user input through the system to output
20
+ - Component communication — APIs, data formats, connection patterns between layers
21
+ - API contract validation — interface changes and whether consumers are updated
22
+ - LLM architecture — provider routing, prompt patterns, model selection logic
23
+ - Documentation drift — whether docs reflect what the code actually does
24
+ - Lessons learned — patterns that caused issues, tracked and matched over time
25
+ - Freshness validation — periodic research to avoid stale architectural knowledge
26
+
27
+ **IS NOT:**
28
+ - Code linter or style checker
29
+ - Individual function bug hunter — local logic errors, off-by-one mistakes
30
+ - Security vulnerability scanner — use `security-reviewer` agent or dedicated tools
31
+ - Test coverage auditor
32
+ - TypeScript type error detector — the compiler handles that
33
+ - Performance optimizer — out of scope
34
+
35
+ ## When to Activate
36
+
37
+ - Build-orchestrator Phase 4 Review when the build touches 2+ layers (cross-layer change)
38
+ - User asks "review architecture", "is this safe to merge", "what did I break"
39
+ - After a large refactor
40
+
41
+ ## Scope Resolution
42
+
43
+ | Invocation | Scope |
44
+ |------------|-------|
45
+ | Default (no flags) | `git diff origin/main..HEAD` — changed files since branch diverged |
46
+ | `--all` | Full architecture review across all components |
47
+ | `<component>` | Focused review on one component and its direct connections |
48
+ | `--validate` | Run Phase 5 freshness validation regardless of age |
49
+ | `learn "..."` | Record a manual lesson, skip full review |
50
+
51
+ When scope is ambiguous, default to `git diff origin/main..HEAD`. If the branch has no divergence from main, ask the user what to review.
52
+
53
+ ## Prerequisites
54
+
55
+ 1. `.navgator/architecture/index.json` must exist. If not, run `build-loop:architecture-scan` first.
56
+ 2. If `generated_at` is >24 hours old, warn before proceeding.
57
+ 3. Load `.navgator/architecture/file_map.json` for file-to-component resolution.
58
+ 4. Load `.navgator/architecture/graph.json` for connection traversal.
59
+ 5. If `.navgator/lessons/lessons.json` is missing, create:
60
+ ```json
61
+ { "schema_version": "1.0.0", "lessons": [] }
62
+ ```
63
+
64
+ Do not proceed without architecture data. Stale data is worse than pausing.
65
+
66
+ ---
67
+
68
+ ## Phase 1 — Structural Changes
69
+
70
+ **Goal:** Identify which components and layers were touched.
71
+
72
+ 1. Run `git diff [scope] --stat` to get changed files
73
+ 2. For each changed file, look it up in `file_map.json` → parent component ID
74
+ 3. Look up component ID in `index.json` → type and layer
75
+ 4. Classify each change: new component / modified connection / config change / documentation
76
+ 5. Identify which layers were touched: frontend, backend, database, infra, external
77
+ 6. Flag any cross-layer change as **higher risk**
78
+ 7. Note any new files that don't resolve to any tracked component
79
+
80
+ ```
81
+ PHASE 1: STRUCTURAL CHANGES
82
+ N components touched across N layers
83
+ Cross-layer: [ComponentA (frontend→backend), ComponentB (backend→database)]
84
+ New components: [unconnected — needs scan to track]
85
+ Layers: frontend(N) | backend(N) | database(N) | infra(N)
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Phase 2 — Connection & Flow Integrity
91
+
92
+ **Goal:** Verify connections valid, data flows intact.
93
+
94
+ For each component from Phase 1:
95
+
96
+ 1. Call `build-loop:architecture-impact` (uses `mcp__plugin_navgator__impact`)
97
+ 2. Call `build-loop:architecture-trace` direction=both
98
+ 3. Call `mcp__plugin_navgator__connections` direction=both
99
+
100
+ | Issue | Severity | Detection |
101
+ |-------|----------|-----------|
102
+ | Orphaned component | Important | New component with 0 incoming AND 0 outgoing connections |
103
+ | Broken reference | Critical | Connection points to a component not in `graph.json` |
104
+ | Layer violation | Critical | Frontend connects directly to database, bypassing backend |
105
+ | High fan-out | Important | Component has >8 outgoing dependencies |
106
+ | Import cycle | Critical | Component A → B → A |
107
+ | API contract mismatch | Critical | Interface changed, consumers not updated |
108
+ | Self-referencing connection | Important | Component listed as its own dependency |
109
+
110
+ ```
111
+ PHASE 2: CONNECTION INTEGRITY
112
+ Rules: N violations (N critical, N important, N minor)
113
+ [CRITICAL] Layer violation: ComponentA (frontend) → ComponentB (database)
114
+ File: src/pages/users.tsx:45
115
+ Why: Frontend bypasses API layer, creating tight coupling.
116
+ ```
117
+
118
+ If no violations: report "No connection integrity issues found" — do not omit.
119
+
120
+ ---
121
+
122
+ ## Phase 2.5 — LLM Purpose Classification
123
+
124
+ **Goal:** Classify what each LLM call does, not just who it calls.
125
+
126
+ 1. Run `mcp__plugin_navgator__llm_map` with `--classify`
127
+ 2. For each uncategorized use case: read the primary file, determine purpose (summarization, extraction, search/ranking, generation, embedding, classification, translation, agent/tool-use, validation, analysis, synthesis)
128
+ 3. Note system effect (search results, UI charts, DB writes, queue processing, API responses)
129
+ 4. Record classifications as lessons in `.navgator/lessons/lessons.json` with category `'llm-architecture'`
130
+
131
+ ---
132
+
133
+ ## Phase 3 — Documentation Drift
134
+
135
+ **Goal:** Verify docs reflect what code does.
136
+
137
+ 1. Read README.md — for each CLI command/flag in implementation, verify it appears in CLI Reference. Run `--help` and compare.
138
+ 2. Read CLAUDE.md — verify command table is complete (every `/build-loop:*` slash command listed)
139
+ 3. List all directories under `skills/` — for each capability, verify a skill file exists
140
+ 4. Read `plugin.json` — verify all referenced directories and entry points exist on disk
141
+ 5. For each new/modified capability from Phase 1, check that it appears in README, CLAUDE.md, AND a skill file
142
+
143
+ An **agent-invisible feature** is one in code but absent from agent-readable files (CLAUDE.md or skill files). Highest-priority gap — silently degrades agent capability.
144
+
145
+ ```
146
+ PHASE 3: DOCUMENTATION DRIFT
147
+ [AGENT-INVISIBLE] --validate added but not in CLAUDE.md command table
148
+ [STALE] README references `navgator check` (renamed to `/navgator:check`)
149
+ [UNDOCUMENTED] navgator coverage --typespec — no skill file
150
+ ```
151
+
152
+ If no drift: report "Documentation matches implementation".
153
+
154
+ ---
155
+
156
+ ## Phase 4 — Lessons Check
157
+
158
+ **Goal:** Match findings against known patterns; record new ones.
159
+
160
+ ### Matching Known Lessons
161
+
162
+ 1. Read `.navgator/lessons/lessons.json`
163
+ 2. For each lesson, check whether any changed file/component/finding matches `signature` patterns
164
+ 3. If a match: flag with recurrence context. Do not silently skip.
165
+
166
+ ### Recording New Lessons
167
+
168
+ For each NEW finding (not already in `lessons.json`), append:
169
+
170
+ ```json
171
+ {
172
+ "id": "<sha256(category+pattern) truncated to 8 chars>",
173
+ "category": "layer-violation|orphaned-component|api-contract|doc-drift|import-cycle|triplicated-logic|other",
174
+ "pattern": "human-readable description",
175
+ "signature": ["regex or code fragment to match recurrence"],
176
+ "severity": "critical|important|minor",
177
+ "context": {
178
+ "first_seen": "ISO 8601",
179
+ "last_seen": "ISO 8601",
180
+ "occurrences": 1,
181
+ "files_affected": ["paths"],
182
+ "resolution": "specific fix"
183
+ },
184
+ "example": { "bad": "...", "good": "...", "why": "..." },
185
+ "validation": { "last_validated": "ISO 8601", "source": "agent", "status": "unvalidated" }
186
+ }
187
+ ```
188
+
189
+ If a lesson already exists for the pattern (matched by `id` or `signature`), update `last_seen`, increment `occurrences`, merge `files_affected`. Don't duplicate.
190
+
191
+ ---
192
+
193
+ ## Phase 5 — Freshness Validation
194
+
195
+ **Goal:** Lessons referencing external APIs or libraries still reflect current best practice.
196
+
197
+ Trigger only when:
198
+ - User passed `--validate`
199
+ - Lesson references an external API/library/version-specific behavior
200
+ - More than 30 days since `validation.last_validated` on any matched lesson
201
+
202
+ For each lesson needing validation:
203
+ 1. WebSearch the referenced API/library/pattern
204
+ 2. Verify still recommended approach
205
+ 3. Update `validation.last_validated`, `validation.status` (`current`/`stale`), `validation.source` (`web-search`)
206
+ 4. If stale, add `validation.note` explaining what changed
207
+
208
+ ---
209
+
210
+ ## What to Ignore
211
+
212
+ - Individual function logic — use a debugger
213
+ - Code style/formatting — use a linter
214
+ - Test coverage — use coverage tools
215
+ - Performance — use profiling
216
+ - Security vulnerabilities — use `security-reviewer`
217
+ - TypeScript type errors — compiler handles those
218
+ - Spelling/grammar in comments
219
+
220
+ If a finding falls into one of these, note briefly and redirect: "This is a linter issue — outside architectural review scope." Then move on.
221
+
222
+ ## Sibling Skills
223
+
224
+ - `build-loop:architecture-scan` — refresh data first
225
+ - `build-loop:architecture-impact`, `build-loop:architecture-trace`, `build-loop:architecture-rules`, `build-loop:architecture-dead` — sub-steps of this review
226
+
227
+ *Source: copied verbatim from NavGator and rewritten for build-loop. Drift-checked by `build-loop:sync-skills`.*
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: build-loop:architecture-rules
3
+ description: Use when Phase 4 Review checks architectural integrity, the user asks to "check for violations" or "find circular deps", or before a release. Detects orphans, layer violations, circular dependencies, and hotspots; build-loop's native rules engine from NavGator.
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ source: NavGator/commands/test.md
7
+ source_hash: 4a967c08ff3d7cddd408e7caefcd07b09e8931bcaccf9ea70c0f5aa94349e0d1
8
+ ---
9
+
10
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
11
+
12
+ # Architecture Rules / Violation Check
13
+
14
+ Run NavGator's rules engine to detect architectural violations using the `mcp__plugin_navgator__rules` MCP tool. Classifies findings as blocking (circular dependency, layer violation, database isolation breach, frontend-direct-DB at error level) vs warning (hotspot, high-fan-out, orphan).
15
+
16
+ > **Divergence note**: NavGator has no discrete SKILL.md for rules. The canonical wrapper is `commands/test.md`, which orchestrates `navgator rules` + `navgator dead` + pipeline traces. This skill extracts the rules-only workflow.
17
+
18
+ ## When to Activate
19
+
20
+ - Phase 4 Review-D Fact-Check: when code changed in this build, run rules to detect new violations
21
+ - Phase 1 Assess: optionally run as a baseline so Review-D can diff
22
+ - User asks "any architecture violations", "is this safe to merge", "what did I break"
23
+
24
+ ## Pre-flight
25
+
26
+ 1. If `.navgator/architecture/index.json` does not exist → no-op with `NavGator: no architecture snapshot found — skipping rules check`. Recommend `build-loop:architecture-scan`.
27
+ 2. Check `index.json` `generated_at` timestamp. If >24 hours old, warn: "Architecture data is N hours old — consider running `build-loop:architecture-scan` first for accurate results."
28
+
29
+ ## Rules Workflow
30
+
31
+ 1. Run `mcp__plugin_navgator__rules` (or `navgator rules --json`)
32
+ 2. Classify each finding:
33
+
34
+ | Severity | Categories |
35
+ |----------|-----------|
36
+ | **Blocking** | `circular-dependency`, `layer-violation`, `database-isolation`, `frontend-direct-db` (error level) |
37
+ | **Warning** | `hotspot`, `high-fan-out`, `orphan` |
38
+
39
+ 3. Diff against the Phase 1 baseline if present in `.build-loop/state.json.architecture.rules.baseline`
40
+ 4. Flag recurrences against `.navgator/lessons/lessons.json` (lessons with matching `signature`)
41
+ 5. Write the result to `.build-loop/state.json.architecture.rules` with `{blocking_count, warning_count, new_violations[], recurrences[]}`
42
+
43
+ ## Decision
44
+
45
+ - **Blocking findings** → route back to Phase 5 Iterate with the violation as a fresh criterion
46
+ - **Warning findings** → log to `.build-loop/issues/` and surface in Review-F Report
47
+ - **No new violations** → continue Review pipeline; report "No new architectural violations introduced"
48
+
49
+ ## Report Format
50
+
51
+ ```
52
+ ARCHITECTURE RULES
53
+ ==================
54
+ Blocking: N (N new this build)
55
+ Warnings: N (N new this build)
56
+ Recurrences against lessons: N
57
+
58
+ [BLOCKING] Layer violation: ComponentA (frontend) → ComponentB (database)
59
+ File: src/pages/users.tsx:45
60
+ Recurrence: matches lesson 'frontend-direct-db' (last seen 2026-03-15)
61
+ ```
62
+
63
+ If no findings: report "No connection-integrity issues found" — do not omit the section.
64
+
65
+ ## Sibling Skills
66
+
67
+ - `build-loop:architecture-scan` — refresh data first
68
+ - `build-loop:architecture-impact` — pre-flight blast-radius for any blocking finding's affected component
69
+ - `build-loop:architecture-dead` — orphan-only scan (warnings flagged here too)
70
+ - `build-loop:architecture-review` — runs rules as part of a 5-phase integrity review
71
+
72
+ *Source: NavGator `commands/test.md` (the orchestrator that calls `navgator rules`). The canonical rules engine is the MCP tool. Drift-checked by `build-loop:sync-skills`.*
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: build-loop:architecture-scan
3
+ description: Use when Phase 1 Assess detects stale architecture state, the user asks for an "architecture scan", or before blast-radius analysis. Refreshes Build Loop's native component and connection data in `.build-loop/architecture/`, with NavGator reserved for escalation-only capabilities.
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ source: NavGator/skills/architecture-scan/SKILL.md
7
+ source_hash: 1b4e25d6198373d261502a296dad2ea96abc9e66166115007db940cd48fe7cbb
8
+ ---
9
+
10
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
11
+
12
+ # Architecture Scan & Status
13
+
14
+ Scan project architecture, check health, and monitor staleness using Build Loop's native architecture engine (`python -m build_loop.architecture scan`). NavGator remains an optional escalation adapter for capabilities not yet ported into the native engine, such as `llm-map`, `schema`, and `diagram`.
15
+
16
+ ## When to Activate
17
+
18
+ - Phase 1 Assess: ensure architecture data is fresh (>24h old → re-scan) before sibling skill `build-loop:architecture-impact` consumes it
19
+ - User asks about project architecture, stack, or dependencies
20
+ - After `npm install`, `pip install`, or similar dependency operations
21
+ - User adds/removes dependencies or makes structural changes
22
+
23
+ ## Pre-flight
24
+
25
+ 1. Prefer the repo-local Build Loop venv when present: `<build-loop>/.venv/bin/python -m build_loop.architecture`.
26
+ 2. Run `scan` before `rules`, `dead`, `impact`, or `trace` when `.build-loop/architecture/index.json` is missing or stale.
27
+ 3. Use `--mode navgator` only when the requested capability is explicitly NavGator-only or the native command reports that escalation is required.
28
+
29
+ ## Scanning
30
+
31
+ Use the native scanner to detect components and connections. It maps source imports and the Gator-derived runtime edges that Build Loop now owns natively: path-alias imports, manifest package use, frontend `/api/...` fetches, and conservative service/LLM calls.
32
+
33
+ **Options:**
34
+ - Default: `python -m build_loop.architecture scan --json`
35
+ - Incremental marker: add `--incremental` when the caller is refreshing after a small change
36
+
37
+ After scanning, present a smart-brevity brief:
38
+ - **Line 1**: "Scanned [project]. [N] components, [N] connections."
39
+ - **Runtime edges**: summarize `connection_counts_by_type` when present
40
+ - **What to watch**: low-confidence detections or missing route/package/service targets
41
+ - **AI routing**: providers and model count if service/LLM calls detected
42
+
43
+ ## Status
44
+
45
+ Read `.build-loop/architecture/index.json` and `.build-loop/architecture/manifest.json` to show architecture summary without re-scanning. Returns: component counts, connection counts by type, last scan timestamp, and staleness indicator when available.
46
+
47
+ If no architecture data exists, recommend running scan first.
48
+
49
+ ## Health Checks
50
+
51
+ Health information is included in scan output:
52
+ - Outdated packages
53
+ - Security vulnerabilities
54
+ - Orphaned connections (dead-code references)
55
+ - Missing imports and unused dependencies
56
+
57
+ ## Decision Tree
58
+
59
+ | User Intent | Tool | Notes |
60
+ |-------------|----------|-------|
61
+ | "Scan my project" | native `scan` | Full scan |
62
+ | "Refresh after edit" | native `scan --incremental` | Marks scan as incremental |
63
+ | "What's my stack?" | read native manifest/index | No re-scan needed |
64
+ | "Any unused packages?" | native `scan`, then `dead` | `dead` checks manifest declarations |
65
+ | "Is architecture data fresh?" | read native manifest/index | Check timestamp |
66
+
67
+ ## Output Format
68
+
69
+ Keep output concise. Do NOT dump raw JSON. Summarize into a scannable brief. Write the compact summary into `.build-loop/state.json.architecture.scan` under fields `{component_count, connection_count, connection_counts_by_type, last_scan, staleness, providers}`.
70
+
71
+ ## Sibling Skills
72
+
73
+ - `build-loop:architecture-impact` — blast radius for a component
74
+ - `build-loop:architecture-trace` — data flow trace
75
+ - `build-loop:architecture-rules` — violation check
76
+ - `build-loop:architecture-dead` — orphan scan
77
+ - `build-loop:architecture-review` — full integrity review
78
+
79
+ *Source: copied verbatim from NavGator and rewritten for build-loop. Drift-checked by `build-loop:sync-skills`.*
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: build-loop:architecture-trace
3
+ description: Use when the user asks to "trace data flow", "follow this request end-to-end", or "show how X reaches Y". Follows a component's connections from input to output across the architecture; build-loop's native trace copied from NavGator's CLI.
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ source: NavGator/commands/trace.md
7
+ source_hash: d1a62f22ebcf3f19e2f9d52c6df565a4ba5ed53a676b5e02e43e670273f6d9f8
8
+ ---
9
+
10
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
11
+
12
+ # Architecture Data-Flow Trace
13
+
14
+ Follow data flow through the architecture using the NavGator `mcp__plugin_navgator__trace` MCP tool. Trace pipelines forward (cron → route → service → DB → queue → LLM) or backward (consumer → producer).
15
+
16
+ > **Divergence note**: NavGator does not ship a discrete SKILL.md for trace — only a slash command (`commands/trace.md`) that wraps the MCP tool. This skill encodes the same workflow as a build-loop-native skill.
17
+
18
+ ## When to Activate
19
+
20
+ - Phase 1 Assess: trace pipelines for cron jobs and queue producers when prompts or LLM calls are in scope
21
+ - Phase 5 Iterate: trace forward from a failing endpoint or backward from a downstream symptom to pinpoint the broken link
22
+ - User asks "how does X data flow", "what feeds X", "what does X feed"
23
+ - Component is a cron job, API route, database model, or queue
24
+
25
+ ## Pre-flight
26
+
27
+ 1. If `.navgator/architecture/index.json` does not exist → no-op with `NavGator: no architecture snapshot found — skipping trace`. Recommend `build-loop:architecture-scan`.
28
+
29
+ ## Trace Workflow
30
+
31
+ 1. Run `mcp__plugin_navgator__trace` with the component name
32
+ 2. If the component is a cron job or API route, trace forward to show the full pipeline
33
+ 3. If it's a database model or queue, trace both directions to show producers AND consumers
34
+ 4. Present the trace as a readable pipeline:
35
+
36
+ ```
37
+ /api/cron/refresh-rss [Vercel cron]
38
+ → route.ts [backend]
39
+ → rss-ingestion-service [service]
40
+ → Article [database]
41
+ → search-enhancement-queue [queue]
42
+ → OpenAI [LLM provider]
43
+ ```
44
+
45
+ 5. Flag any anomalies in the trace (dead ends, duplicate consumers, missing connections)
46
+ 6. If trace returns 0 paths, suggest the component might be orphaned (run `build-loop:architecture-dead`) or data may need refreshing (`build-loop:architecture-scan`)
47
+
48
+ ## Tool Options
49
+
50
+ - `direction: "forward" | "backward" | "both"` — one-way or bidirectional trace
51
+ - `production: true` — filter out test/script connections
52
+ - `max_paths: N` — cap path enumeration on highly-connected components
53
+
54
+ ## Output
55
+
56
+ Write trace summary into `.build-loop/state.json.architecture.trace[<component>]` with `{paths_count, layer_chain, anomalies[]}`.
57
+
58
+ ## Sibling Skills
59
+
60
+ - `build-loop:architecture-scan` — refresh data first
61
+ - `build-loop:architecture-impact` — blast-radius alongside trace
62
+ - `build-loop:architecture-dead` — confirm orphan if trace returns 0 paths
63
+ - `build-loop:architecture-review` — full integrity review
64
+
65
+ *Source: NavGator CLI command (`commands/trace.md`). The canonical implementation is the MCP tool, not a skill file. Drift-checked by `build-loop:sync-skills`.*