@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,105 @@
1
+ ---
2
+ name: build-loop:security-methodology
3
+ description: "Use when a build crosses a security boundary (auth, authz, secrets handling, network exposure, persistence of sensitive data) or when Phase 1 Assess flags `triggers.riskSurfaceChange: true`. Provides the threat-modeling and scoped-permission methodology for build-loop's security-reviewer agent."
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ ---
7
+
8
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
9
+
10
+ # Security Methodology
11
+
12
+ This is the canon the `security-reviewer` agent grades against, and the canon the `defenseclaw-bridge` skill maps to runtime config. It is **not** a runtime defense layer: it does not block prompts, it does not rewrite outputs, it does not replace DefenseClaw / NeMo Guardrails / Llama Guard. It tells you (a) what risk classes exist, (b) how to detect them by reading code, and (c) which IDs from which framework apply.
13
+
14
+ ## When to load
15
+
16
+ - **Auto-loaded** by `agents/security-reviewer.md` in Phase 4 Review sub-step A whenever Assess flagged `triggers.riskSurfaceChange: true`.
17
+ - **Auto-loaded** by `skills/defenseclaw-bridge/SKILL.md` after Phase 3 Execute when the build produced agent-builder-style artifacts (`tool-contract.md`, `agent-manifest.md`, `guardrail.md`).
18
+ - **User-invocable** standalone: ask "what are the security concerns for this design", "give me the OWASP threat model for this", "which ASI risks does this surface", and the orchestrator should `Skill("build-loop:security-methodology")`.
19
+
20
+ This skill is **knowledge only**. It writes nothing. It performs no scans. The grading logic lives in `security-reviewer`; the runtime mapping lives in `defenseclaw-bridge`.
21
+
22
+ ## What this skill ships
23
+
24
+ | File | Contents |
25
+ |---|---|
26
+ | `references/owasp-llm-top-10.md` | LLM01–LLM10, full names + detection patterns (what code/config/diff signals each risk) |
27
+ | `references/owasp-agentic-top-10.md` | ASI01–ASI10, full names + detection patterns. Verified labels per OWASP GenAI Security Project, 2025-12-09 release |
28
+ | `references/owasp-web-top-10.md` | A01, A03, A06, A10 — the four web risks most relevant to LLM-backed apps. Other six referenced, not enumerated |
29
+ | `references/mitre-atlas-starter.md` | Pointer to atlas.mitre.org + ~12 starter ATLAS techniques most relevant to product-dev agents. Cite by ID; not re-authored |
30
+ | `references/nist-600-1-mapping.md` | Seven engineering-relevant NIST AI 600-1 risk areas mapped to OWASP IDs. The other five (CBRN, Environmental, IP, Obscene, Violent) are referenced as policy-level |
31
+ | `references/cross-source-matrix.md` | The single decision table: row = risk class, columns = OWASP LLM / OWASP Agentic / NIST 600-1 / DefenseClaw control |
32
+
33
+ The cross-source matrix is the **load-bearing artifact**. Every finding from `security-reviewer` cites a row in this matrix; every config row from `defenseclaw-bridge` traces back to one.
34
+
35
+ ## Structure of the canon (reading order)
36
+
37
+ If you have time for one file, read `cross-source-matrix.md`. It tells you which framework owns which risk and how the frameworks line up. If you have time for two, read the matrix and the OWASP Agentic file — that's where most production-grade agent risk lives in 2026.
38
+
39
+ If you're grading a diff (as `security-reviewer` does):
40
+
41
+ 1. Open `cross-source-matrix.md` and find the row for the risk class the diff might surface.
42
+ 2. Open the `owasp-*.md` reference for the framework cited in that row's first column — its **detection patterns** section names the code/config shapes that are evidence of the risk.
43
+ 3. If the framework cited is OWASP LLM, also check the OWASP Agentic row alongside it — agentic risks **stack on top of** LLM risks (an agent that calls an injected LLM is two risks, not one).
44
+ 4. NIST 600-1 is the regulator-facing framework. Map findings to NIST areas at the end, not at the start. NIST is for the report, not the detection.
45
+ 5. MITRE ATLAS is adversary-perspective — useful for red teams, secondary for build-time review. Cite by technique ID only when it sharpens a finding's evidence.
46
+
47
+ ## Verified scope (what this canon **does** cover)
48
+
49
+ - Build-time, code-readable risk: prompt construction, tool surfaces, identity/privilege boundaries, supply-chain points of trust, persistent memory, code-execution paths, HTTP boundary at the LLM.
50
+ - Cross-source mapping so a single finding can be cited in OWASP, NIST, ATLAS without translation.
51
+ - Detection patterns specific enough to grep for in a diff (e.g., "user input concatenated into a system prompt" → LLM01 detection signal).
52
+
53
+ ## Out of scope (what this canon **does not** cover)
54
+
55
+ - Runtime enforcement code. That lives in DefenseClaw / NeMo / Llama Guard / your own gateway. The `defenseclaw-bridge` skill maps from this canon to DefenseClaw config; mapping to NeMo or Llama Guard is left to project-specific bridges.
56
+ - Model theft (LLM10) at the deployment level. Agent-builder-style apps don't host weights.
57
+ - CBRN, environmental, IP, obscene, and violent content from NIST 600-1 — those are policy/legal concerns, not engineering. They're referenced for completeness in `nist-600-1-mapping.md` but not deeply mapped.
58
+ - The full MITRE ATLAS taxonomy. ATLAS has 16 tactics and 84 techniques as of v5.1.0 (Nov 2025) plus 14 agentic additions (Feb 2026). Re-authoring it would duplicate the project; the starter file points at the source.
59
+ - Adversarial test corpora. Red-team corpora are out of build-loop's scope per `~/dev/research/topics/product-dev/product-dev.agentic-systems-original-synthesis.md` recommendation #4.
60
+
61
+ ## Where these references come from
62
+
63
+ This skill packages and cross-maps four authoritative sources. Each reference file inside `references/` cites its own source. The canonical research file with full citation, retrieval dates, source tier, and the original cross-source matrix lives at:
64
+
65
+ - `~/dev/research/topics/product-dev/product-dev.agentic-systems-security-references.md` — the verified canon. T1 sources throughout (OWASP project pages, NIST publication, MITRE ATLAS, Cisco DefenseClaw repo).
66
+
67
+ The companion **gap analysis** that motivated shipping these artifacts inside build-loop:
68
+
69
+ - `~/dev/research/topics/product-dev/product-dev.agentic-systems-original-synthesis.md` — recommendations table (security-related: #4 red-team playbook, #10 cost-budget enforcement, plus the new "govern/inspect/prove" recommendation).
70
+
71
+ The agent-builder methodology that this skill cross-references when classifying agentic risks (autonomy ladder A0–A4, permission tiers T0–T5, role decomposition):
72
+
73
+ - `~/dev/git-folder/agent-builder/plugin/references/methodology/13-agentic-product-dev-synthesis.md` — single canonical synthesis, A0–A4 autonomy ladder.
74
+ - `~/dev/git-folder/agent-builder/plugin/references/templates/agentic-handoff/` — 15 template files; the security-relevant subset is `tool-contract.md`, `agent-manifest.md`, `guardrail.md`, `system-boundary.md`, `flow-topology.md`, `role-card.md`.
75
+
76
+ If the agent-builder plugin is not installed locally, the research-folder pointer above is sufficient — file 13's substance is reproduced in the addendum-v2 research file (`~/dev/research/topics/product-dev/product-dev.agentic-systems-template-pack-addendum-v2.md`).
77
+
78
+ ## Relationship to other build-loop skills
79
+
80
+ | Skill | Relationship |
81
+ |---|---|
82
+ | `agents/security-reviewer.md` | Consumes this skill's references as its grading rubric. |
83
+ | `skills/defenseclaw-bridge/` | Maps this skill's risk IDs to DefenseClaw config rows + Rego policy stubs. |
84
+ | `skills/plan-verify/` | The `risk-surface-change-without-threat-model` rule references this skill — every Phase 2 plan that touches a risk surface must point at a threat-model artifact (or this skill if no project-specific artifact exists). |
85
+ | `skills/build-loop/` | The orchestrator's Phase 1 Assess scans the goal and file list for risk-surface signals; if any fire, it sets `triggers.riskSurfaceChange: true`, which routes both `security-reviewer` (Phase 4-A) and the `risk-surface-change-without-threat-model` plan-verify rule (Phase 2). |
86
+
87
+ ## Risk-surface trigger signals (what flips `riskSurfaceChange: true`)
88
+
89
+ Phase 1 Assess sets the flag when any of these are introduced or modified:
90
+
91
+ - A new tool, MCP server, plugin, or skill (LLM07, ASI02, ASI04).
92
+ - A new LLM call or change to an existing prompt that ships in production (LLM01, ASI01, ASI06).
93
+ - New persistent memory or vector store (ASI06, NIST Info Integrity).
94
+ - An auth, authz, identity, or permission boundary change (LLM07, ASI03, A01).
95
+ - An external API call introduced by the build (LLM05, ASI04, A06, A10).
96
+ - Handling of new user data classes — PII, financial, health, credentials, regulated records (LLM06, NIST Data Privacy).
97
+
98
+ The orchestrator scans the goal text for keywords matching these classes and inspects the planned file set. Either signal flips the trigger; the trigger is sticky for the rest of the build.
99
+
100
+ ## Limitations
101
+
102
+ - ⚠️ OWASP Agentic Top 10 (2026) is a 2025-12-09 release; the published PDF was inspected for the labels but field practice with this taxonomy is still early. Treat ASI01–ASI10 as "the best framing available", not "the field's settled answer".
103
+ - ⚠️ MITRE ATLAS technique enumeration is summarized, not re-authored. Always check `https://atlas.mitre.org/` for the current technique catalog before citing a specific technique in a finding.
104
+ - ⚠️ NIST AI 600-1 is a profile, not a regulation. Regulatory regimes (EU AI Act, US executive orders, sectoral rules) cite NIST but add their own requirements. This skill does not track regulatory regimes; pair with project-specific legal review when one applies.
105
+ - ⚠️ The cross-source matrix has known gaps. ASI07 (insecure inter-agent communication) does not have a clean DefenseClaw mapping because the runtime control surface for A2A trust is still an industry-open problem. The matrix marks this row `(gap)` rather than papering over it.
@@ -0,0 +1,77 @@
1
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
2
+
3
+ # Cross-Source Risk Matrix
4
+
5
+ Single decision table mapping each risk class to its OWASP LLM ID, OWASP Agentic ID, NIST 600-1 risk area, and the DefenseClaw runtime control that implements the operational defense (when one exists).
6
+
7
+ **Use.** This is the load-bearing artifact of the security-methodology skill. The `security-reviewer` agent cites a row from this matrix in every finding. The `defenseclaw-bridge` skill maps from this matrix to DefenseClaw config rows.
8
+
9
+ **Source.** Adapted from `~/dev/research/topics/product-dev/product-dev.agentic-systems-security-references.md` §"Cross-source map: where each risk lives". The research file is the canonical citation trail; this file is the build-loop-internal copy.
10
+
11
+ ## Reading conventions
12
+
13
+ - Cells with **two or more IDs** mean both apply (the risk lives in both frameworks; cite both).
14
+ - `(implicit X)` means the framework doesn't have a top-level entry but the risk is covered indirectly under X.
15
+ - `(n/a)` means the framework genuinely doesn't address the row.
16
+ - `(gap)` in the DefenseClaw column means there is no clean general-purpose runtime control yet — surface as a known unknown rather than paper over.
17
+ - `(operational)` means the row is operational concern (cost, deprecation, fleet management) that DefenseClaw doesn't claim to cover.
18
+
19
+ ## The matrix
20
+
21
+ | Risk class | OWASP LLM | OWASP Agentic | NIST 600-1 | DefenseClaw control |
22
+ |---|---|---|---|---|
23
+ | Prompt injection (direct user input) | LLM01 | ASI01 | Information Security | Inspect (pre-call scan) |
24
+ | Prompt injection (indirect — tool output, RAG, file content) | LLM01 + LLM07 | ASI01 + ASI06 | Information Security + Information Integrity | Inspect (pre-call + post-call) |
25
+ | Output trusted as input (XSS / SQLi / RCE via model output) | LLM02 | ASI05 | Information Security | Inspect (post-call sanitize) |
26
+ | Excessive agency (more tools / autonomy / scope than needed) | LLM08 | ASI02 + ASI03 | Human-AI Configuration | Govern (admission) + policy gates |
27
+ | Identity / privilege abuse | LLM07 | ASI03 | Information Security | Govern (least-privilege) + Inspect (auth checks) |
28
+ | Tool / plugin insecure design | LLM07 | ASI02 | Information Security + Value Chain | Govern (skill / MCP scanner) |
29
+ | Supply chain (model, tool, MCP, plugin, A2A peer) | LLM05 | ASI04 | Value Chain | Govern (admission scanner) |
30
+ | Memory & context poisoning | (implicit LLM01) | ASI06 | Information Integrity | Govern (skill scan) + Inspect (post-call) |
31
+ | Inter-agent communication (spoofing, weak trust, no identity) | (n/a) | ASI07 | Information Security | (gap) |
32
+ | Cascading failures (output → input across agents) | LLM02 (downstream) | ASI08 | Information Integrity + Human-AI Configuration | Inspect + circuit breakers |
33
+ | Human-agent trust exploitation (over-confident explanations) | LLM09 | ASI09 | Human-AI Configuration | Audit (Prove) for review sampling |
34
+ | Rogue / misaligned agent (compromised or drifted) | (implicit LLM03) | ASI10 | Information Integrity | Govern (continuous re-scan) + kill-switch |
35
+ | Sensitive info disclosure (secrets / PII / training data leakage) | LLM06 | (covered in ASI06 / ASI09) | Data Privacy + (IP — policy-level) | Inspect (post-call PII / secrets scan) |
36
+ | Model DoS / cost runaway | LLM04 | (operational) | (operational) | Inspect (rate limits, budgets) |
37
+ | Model theft (weights / architecture) | LLM10 | (operational) | (IP — policy-level) | (out of agent-builder scope) |
38
+ | Unsafe code execution | LLM07 | ASI05 | Information Security | Govern (CodeGuard) + Sandbox |
39
+ | Confabulation (hallucinated facts) | (indirect LLM09) | (n/a) | Confabulation | Audit (Prove) — review sampling for fact claims |
40
+ | Harmful bias / homogenization | (n/a — content) | (n/a) | Harmful Bias and Homogenization | (project-specific eval; no DefenseClaw analog) |
41
+
42
+ **Reading the matrix.** Every engineering-relevant row has at least three sources. ASI07 is the row where DefenseClaw doesn't yet have a general solution — consistent with the broader industry state, which is still working out A2A trust models. That `(gap)` is a *known unknown* worth surfacing in findings, not papering over.
43
+
44
+ ## How a finding cites a row
45
+
46
+ A `security-reviewer` finding always includes a `mapped_risks` array drawn from the second and third columns of this matrix. Format:
47
+
48
+ ```json
49
+ {
50
+ "id": "SEC-007",
51
+ "severity": "HIGH",
52
+ "title": "Tool output flows into agent prompt without sanitization",
53
+ "mapped_risks": ["LLM01", "LLM07", "ASI01", "ASI06"],
54
+ "evidence": "src/agents/researcher/loop.ts:88-104",
55
+ "snippet": "...prompt += `\\nTool result:\\n${toolResult.text}`...",
56
+ "recommendation": "Wrap tool output in a delimited 'untrusted-tool-output' block and add a post-call output validator before the result re-enters the next loop iteration."
57
+ }
58
+ ```
59
+
60
+ When the finding is being prepped for an audit-grade report, add NIST cite:
61
+
62
+ ```json
63
+ "mapped_risks": ["LLM01", "LLM07", "ASI01", "ASI06", "NIST:Information Integrity"]
64
+ ```
65
+
66
+ The `NIST:` prefix disambiguates from OWASP IDs.
67
+
68
+ ## How `defenseclaw-bridge` maps a row
69
+
70
+ The bridge skill reads this matrix in reverse: given a project's tool-contract, agent-manifest, and guardrail artifacts, it identifies which rows the project surfaces, then writes a DefenseClaw config row for each surfaced risk. The mapping lives at `skills/defenseclaw-bridge/references/dc-config-mapping.md`.
71
+
72
+ ## Limitations
73
+
74
+ - ⚠️ The matrix is **build-time descriptive**, not runtime prescriptive. A row's DefenseClaw column names a control that *fits* the risk, not one that *is configured* in any specific project. Configuration lives in `defenseclaw-bridge`'s output.
75
+ - ⚠️ Some rows (Inter-agent comms, Bias, Confabulation) genuinely have no clean DefenseClaw mapping. The `(gap)` and `(project-specific eval)` markers are honest, not placeholders.
76
+ - ⚠️ The OWASP Agentic Top 10 (2026) is a recent release; the matrix's mapping reflects a year of community discussion, not a decade of field experience. Treat IDs as "the best framing available", not "settled answer".
77
+ - ⚠️ NIST 600-1 has twelve risk areas; this matrix maps only the seven engineering-relevant ones (per `nist-600-1-mapping.md`). The other five (CBRN, Dangerous/Violent, Environmental, IP, Obscene) are policy-level and not in this matrix.
@@ -0,0 +1,83 @@
1
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
2
+
3
+ # MITRE ATLAS — Starter Subset for Product-Dev Agents
4
+
5
+ ATLAS is to AI what ATT&CK is to enterprise security: an adversary-perspective tactic/technique catalog with case studies. **Designed for red teams, threat hunters, and detection engineers — not for developers writing prompts.** This file does not re-author ATLAS; it points at the source and lists ~12 starter techniques that are the most relevant to product-dev agents at build-time review.
6
+
7
+ **Source.** `https://atlas.mitre.org/` — T1, MITRE-published, government and Fortune 500 adoption. Retrieved 2026-05-02.
8
+
9
+ ## Current scope (Nov 2025 v5.1.0 + Feb 2026 update)
10
+
11
+ - 16 tactics (top-level adversary goals)
12
+ - 84 techniques (specific attack methods)
13
+ - 32 mitigations
14
+ - 42 case studies, including:
15
+ - Microsoft 365 Copilot insider exploitation
16
+ - Hugging Face organization-confusion supply-chain attack
17
+ - Multi-step financial-transaction hijacking through assistant-as-insider patterns
18
+ - 14 new techniques specifically for AI Agents and GenAI from the Zenity Labs collaboration (Oct 2025)
19
+
20
+ **Always check the live ATLAS catalog before citing a specific technique ID.** This file is a starter map, not a snapshot.
21
+
22
+ ## When to cite ATLAS in a security-reviewer finding
23
+
24
+ Cite an ATLAS technique by ID when one of these is true:
25
+
26
+ 1. The finding describes an **attack path** (how an adversary would exploit), not just a defect. Example: "user input flows into a system prompt — ATLAS technique for prompt injection."
27
+ 2. The project has a red team / pen test program and is tracking findings by ATLAS ID.
28
+ 3. The finding is being prepped for an audit report that requires standardized adversary taxonomy.
29
+
30
+ **Skip ATLAS** when the finding is straightforwardly an OWASP LLM/Agentic ID. Don't double-cite for the same content; pick one. ATLAS is the *adversary* lens; OWASP is the *application* lens.
31
+
32
+ ## Starter technique map
33
+
34
+ The list below is illustrative. Each line names a class of attack, points at the ATLAS tactic family, and lists the OWASP IDs that already cover the same risk. **Always look up the live technique IDs at `https://atlas.mitre.org/` before quoting an ID in a finding** — the catalog evolves and snapshot lists go stale.
35
+
36
+ | Attack class | ATLAS tactic family | OWASP cross-map |
37
+ |---|---|---|
38
+ | Direct prompt injection (user input) | Initial Access / Execution | LLM01, ASI01 |
39
+ | Indirect prompt injection (RAG, web content, tool output) | Initial Access / Persistence | LLM01 + LLM07, ASI01 + ASI06 |
40
+ | Adversarial example to bypass guardrails | Defense Evasion | LLM01 |
41
+ | Tool-call manipulation via crafted tool descriptions or schemas | Initial Access / Execution | ASI02, LLM07 |
42
+ | Memory-poisoning attacks across sessions | Persistence | ASI06 |
43
+ | Sandbox escape from code interpreter | Privilege Escalation / Execution | ASI05, A03 |
44
+ | Multi-step financial-transaction hijacking (assistant-as-insider) | Impact | ASI03, ASI09 |
45
+ | Model repository organization-confusion (Hugging Face case) | Initial Access / Resource Development | LLM05, ASI04, A06 |
46
+ | Exfiltration through tool side channels | Exfiltration | LLM06 |
47
+ | Cost / resource exhaustion | Impact | LLM04 |
48
+ | Output-channel exfiltration (markdown image rendering, link leakage) | Exfiltration | LLM06, LLM02 |
49
+ | Model theft via API querying | Collection / Exfiltration | LLM10 |
50
+
51
+ ## Why ATLAS is secondary, not primary, for build-time review
52
+
53
+ ATLAS is most valuable for:
54
+
55
+ - **Red-team test design** — what attacks should the offensive testing program try? ATLAS gives you the menu.
56
+ - **Detection engineering** — what telemetry would I need to see this attack? ATLAS lists the observable signals.
57
+ - **Incident response taxonomy** — "we saw this attack class" should map to a standard ID for postmortems and audits.
58
+
59
+ It's secondary for **build-time review** because most ATLAS techniques are already framed as defects in the OWASP LLM/Agentic Top 10. A finding cited as "LLM01 + ASI01" is more discoverable to a developer than "ATLAS T15.001 + T1606" — the developer is going to look up the OWASP ID anyway.
60
+
61
+ The exceptions where ATLAS adds value at build time:
62
+
63
+ - **Memory poisoning** — ATLAS has more granular technique IDs for *how* the poisoning happens (e.g., adversarial training data vs. RAG-corpus injection vs. session-state tampering). When a finding needs that granularity, cite ATLAS.
64
+ - **Supply-chain organization-confusion attacks** — ATLAS captured the Hugging Face case study with specific technique IDs. When the finding involves a model registry attack, ATLAS is the cleanest citation.
65
+ - **Tool-call manipulation via schema crafting** — Newer technique class added in the Feb 2026 update. ATLAS is the only published taxonomy that names this distinct from generic prompt injection.
66
+
67
+ ## What this file does not contain
68
+
69
+ - The full ATLAS taxonomy (16 tactics × 84 techniques + 14 agentic additions). Re-authoring it would duplicate the project. Always pull from the source.
70
+ - ATLAS mitigations enumeration. ATLAS publishes 32 mitigations alongside the techniques; for the canonical list, see the source.
71
+ - Case studies. Eight pages of context per case study live at the source; quoting them inline would just be a copy.
72
+
73
+ ## Limitations
74
+
75
+ - ⚠️ Technique IDs are stable in ATLAS, but the catalog evolves. The "Feb 2026 update" referenced above adds techniques; pre-update finding IDs may still be valid but their parent tactic could be reorganized. Always pull live before citing.
76
+ - ⚠️ The OWASP/ATLAS overlap is not 1:1. Some ATLAS techniques have no OWASP analogue (e.g., specific data-poisoning training-pipeline attacks); some OWASP IDs map to multiple ATLAS techniques. The cross-map column above is an approximation, not an authoritative mapping.
77
+ - ❓ The Zenity Labs additions (Oct 2025, 14 agentic techniques) were verified as a count at canon time; the full ID list and mappings are pending future updates.
78
+
79
+ ## Quick reference link
80
+
81
+ For the canonical tactic list, technique catalog, mitigations, and case studies, follow:
82
+
83
+ `https://atlas.mitre.org/` → Matrices → AI/ML matrix.
@@ -0,0 +1,119 @@
1
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
2
+
3
+ # NIST AI 600-1 — Engineering-Relevant Risk Areas
4
+
5
+ NIST AI 600-1, "Artificial Intelligence Risk Management Framework: Generative AI Profile" (July 2024), is the GenAI-specific companion to AI RMF 1.0. **Not a regulation** — but as the most detailed government-published GenAI risk framework, it has become the de facto reference for regulators, auditors, insurers, and enterprise procurement.
6
+
7
+ **Source.** `https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf` — T1, NIST publication. Retrieved 2026-05-02.
8
+
9
+ NIST 600-1 names twelve risk areas. **Seven are engineering choices** (you can change them by changing the build); five are policy / legal / content-moderation concerns that engineering can support but cannot single-handedly resolve. This file maps the seven engineering-relevant areas to OWASP IDs and notes the boundary on the other five.
10
+
11
+ ## The four NIST functions (lifecycle frame)
12
+
13
+ NIST 600-1 organizes work around four functions that map cleanly onto build/operate:
14
+
15
+ | Function | What it does | Build-loop phase analogue |
16
+ |---|---|---|
17
+ | **Govern** | Policies, accountability, oversight, AI usage policies. | Out of scope for build-loop (org policy concern). |
18
+ | **Map** | Risk identification, use cases, intended purpose, stakeholders, data sources, supply-chain dependencies. | Phase 1 Assess + threat-model artifact. |
19
+ | **Measure** | Testing for hallucinations, bias, privacy leaks, security, environmental impact. | Phase 4 Review (validate + fact-check + security-review). |
20
+ | **Manage** | Post-deployment monitoring, appeal/override mechanisms, incident response, recovery, change management, deactivation. | Out of build-loop scope (runtime), but artifacts reference it. |
21
+
22
+ The build-time security review covers **Map** and **Measure** for the seven engineering-relevant risk areas below.
23
+
24
+ ## Engineering-relevant risk areas (7)
25
+
26
+ ### 1. Information Security
27
+
28
+ **What NIST means.** Confidentiality, integrity, availability of the AI system itself and the data it handles.
29
+
30
+ **Build-time signals.** Authentication, authorization, encryption-in-transit, secrets handling, secure tool design, sandbox boundaries.
31
+
32
+ **OWASP cross-map.** LLM05 (Supply Chain), LLM06 (Sensitive Info Disclosure), LLM07 (Plugin Design), LLM08 (Excessive Agency), ASI02 (Tool Misuse), ASI03 (Privilege Abuse), ASI04 (Supply Chain), ASI05 (Code Execution), ASI07 (Inter-Agent Comms), A01 (Access Control), A03 (Injection), A06 (Vulnerable Components), A10 (SSRF).
33
+
34
+ ### 2. Information Integrity
35
+
36
+ **What NIST means.** Trustworthiness of the information the AI produces and consumes — provenance, factuality, resistance to manipulation.
37
+
38
+ **Build-time signals.** Prompt-vs-data delimiters, retrieval provenance, memory-write integrity, output-validation paths, signature/hash on inputs.
39
+
40
+ **OWASP cross-map.** LLM01 (Prompt Injection), LLM03 (Training Data Poisoning), ASI01 (Goal Hijack), ASI06 (Memory Poisoning), ASI08 (Cascading Failures), ASI10 (Rogue Agents).
41
+
42
+ ### 3. Data Privacy
43
+
44
+ **What NIST means.** Personal data, regulated data classes, consent, scoping, retention, redaction.
45
+
46
+ **Build-time signals.** Redaction in prompt construction, scoped data access in tools, retention of conversation history, audit logging that doesn't leak the data being audited.
47
+
48
+ **OWASP cross-map.** LLM06 (Sensitive Info Disclosure). Pairs at the boundary with LLM07 (Plugin Design — tool data access scope) and ASI03 (Privilege Abuse — wrong identity reading data).
49
+
50
+ ### 4. Value Chain and Component Integration
51
+
52
+ **What NIST means.** Risks introduced by third-party models, datasets, tools, MCP servers, plugins, libraries — the dependency graph.
53
+
54
+ **Build-time signals.** Pinning, signing, install-source verification, scanner gates on new dependencies, lockfiles committed.
55
+
56
+ **OWASP cross-map.** LLM05 (Supply Chain), ASI04 (Agentic Supply Chain), A06 (Vulnerable Components).
57
+
58
+ ### 5. Human-AI Configuration
59
+
60
+ **What NIST means.** How humans interact with the AI: what they're shown, what they approve, when they can override, calibration of trust.
61
+
62
+ **Build-time signals.** Approval UX design, evidence-vs-explanation surfacing, override paths, clear "this is generated" framing, autonomy-level boundaries.
63
+
64
+ **OWASP cross-map.** LLM08 (Excessive Agency), LLM09 (Overreliance), ASI09 (Human-Agent Trust Exploitation).
65
+
66
+ ### 6. Confabulation
67
+
68
+ **What NIST means.** The model produces plausible-sounding outputs that are factually wrong (the technical term for hallucination at the policy layer).
69
+
70
+ **Build-time signals.** Eval coverage on factual claims, output-validation paths for high-stakes assertions, citation requirements, confidence calibration.
71
+
72
+ **OWASP cross-map.** Indirectly LLM09 (Overreliance — humans trusting confabulations). Cross-cuts the design intent of `agents/fact-checker.md` in build-loop.
73
+
74
+ ### 7. Harmful Bias and Homogenization
75
+
76
+ **What NIST means.** Outputs that are systematically biased against subgroups, or that reduce diversity in some downstream measure.
77
+
78
+ **Build-time signals.** Eval coverage across demographic / subgroup slices, monitoring for output-distribution drift, bias-aware prompt design.
79
+
80
+ **OWASP cross-map.** No direct OWASP analog — bias is its own concern. Build-loop's `fact-checker` and `mock-scanner` agents do not deeply check bias; bias review is project-specific and typically requires labeled eval sets.
81
+
82
+ ## Policy-level risk areas (5) — referenced, not deeply mapped
83
+
84
+ These five NIST risk areas affect what an AI system is allowed to do, not how it's built. Engineering can support guardrails for them but cannot single-handedly resolve them. Build-loop's security-reviewer flags surfaces relevant to these areas but does not grade against them.
85
+
86
+ | NIST area | What it covers | Engineering boundary |
87
+ |---|---|---|
88
+ | **CBRN Information or Capabilities** | The AI helps a user produce chemical, biological, radiological, or nuclear weapons capability. | Provider-side filtering + content policy. Engineering can disallow specific tool surfaces (e.g., no chemistry calculation tools), but the substantive control is content-policy-shaped. |
89
+ | **Dangerous, Violent, or Hateful Content** | The AI produces or facilitates such content. | Provider-side filtering + content policy. |
90
+ | **Environmental Impacts** | Compute / energy / water consumption. | Engineering can use smaller models, cache aggressively, but the substantive accounting is ops-shaped. |
91
+ | **Intellectual Property** | The AI reproduces copyrighted material, leaks trade secrets, or trains on unlicensed corpora. | Engineering can scope data access, but the substantive control is licensing/legal. |
92
+ | **Obscene or Degrading Content** | The AI produces such content. | Provider-side filtering + content policy. |
93
+
94
+ For these five, the security-reviewer should:
95
+
96
+ - **Flag** when a build introduces a surface that materially expands the attack surface of one of these (e.g., a tool that fetches arbitrary chemistry data, an integration that ingests potentially-copyrighted user uploads).
97
+ - **Not grade** the content policy itself — that's a separate review track.
98
+
99
+ ## Companion frameworks
100
+
101
+ NIST 600-1 has at least one notable agentic-specific companion:
102
+
103
+ - **CSA Agentic AI NIST AI RMF Profile v1** — Cloud Security Alliance's lab-status profile mapping the agentic-specific extensions to NIST 600-1's areas. Useful for teams already aligned to NIST that need agentic-specific extensions. T2 source. ⚠️ Lab status as of canon time; revisit when CSA promotes it out of lab status.
104
+
105
+ ## How to cite NIST in a finding
106
+
107
+ NIST citations in a build-loop security finding should:
108
+
109
+ - Name the **risk area** (e.g., "NIST 600-1 §Information Integrity"), not a paragraph number — area names are stable; pagination is not.
110
+ - Sit alongside, not in place of, the OWASP cite. NIST is the **regulator-facing** framing; OWASP is the **developer-facing** framing.
111
+ - Appear in the Phase 4-F report when the build is being prepped for audit / procurement / regulator review. Skip in routine builds.
112
+
113
+ Format: `mapped_risks: ["LLM07", "ASI03", "NIST:Information Security"]`. Inline `NIST:` prefix avoids confusion with OWASP IDs.
114
+
115
+ ## Limitations
116
+
117
+ - ⚠️ NIST 600-1 is a profile, not a regulation. Treat it as the de-facto reference, not as a binding constraint. Regulatory regimes (EU AI Act, US executive orders, sectoral rules) may cite it but add their own requirements.
118
+ - ⚠️ The seven-vs-five split between "engineering" and "policy" risks is this skill's editorial call, not NIST's. NIST treats all twelve as a single set; this skill separates them so a build-time review knows which it can grade and which it can only flag.
119
+ - ❓ CSA Agentic AI NIST AI RMF Profile v1 is referenced in the canon but not deeply inspected. T2 with version pin; revisit when promoted.
@@ -0,0 +1,157 @@
1
+ <!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
2
+
3
+ # OWASP Top 10 for Agentic Applications (2026)
4
+
5
+ Released 2025-12-09 by the OWASP GenAI Security Project. Orchestration-and-execution-layer risks specific to agents that plan, act, and use tools. **Complements rather than replaces** the LLM Top 10 — content-level risks (LLM01–10) still apply *inside* an agent.
6
+
7
+ **Source.** `https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/` — T1, OWASP GenAI Security Project. Retrieved 2026-05-02.
8
+
9
+ ## Verified labels (use these exactly)
10
+
11
+ The labels below were verified against the OWASP GenAI Security Project release page (T1) with secondary confirmation against the Aikido enumeration of the 2026 list. Use the IDs and full names verbatim in findings.
12
+
13
+ 1. **ASI01 — Agent Goal Hijack**
14
+ 2. **ASI02 — Tool Misuse and Exploitation**
15
+ 3. **ASI03 — Identity and Privilege Abuse**
16
+ 4. **ASI04 — Agentic Supply Chain Vulnerabilities**
17
+ 5. **ASI05 — Unexpected Code Execution**
18
+ 6. **ASI06 — Memory and Context Poisoning**
19
+ 7. **ASI07 — Insecure Inter-Agent Communication**
20
+ 8. **ASI08 — Cascading Failures**
21
+ 9. **ASI09 — Human-Agent Trust Exploitation**
22
+ 10. **ASI10 — Rogue Agents**
23
+
24
+ ## ASI01 — Agent Goal Hijack
25
+
26
+ **What it covers.** Attackers redirect agent objectives by manipulating instructions, tool outputs, or external content. The agentic descendant of LLM01 plus LLM07 — same injection surface, but now the LLM acts on the injection instead of just speaking it.
27
+
28
+ **Detection patterns.**
29
+ - Agent loop that re-reads its instructions from a mutable source on each iteration (file, DB row, prior tool output).
30
+ - "Refine the goal based on what the user / tool / search said" patterns where the goal is rewritten in-flight.
31
+ - No instruction-vs-data delimiter when feeding tool outputs back into the agent's reasoning step.
32
+ - A tool that returns natural language which then becomes part of the agent's planning context.
33
+
34
+ **Severity calibration.** ASI01 with a tool surface above T2 (write or external-call) is almost always **HIGH** or **CRITICAL**. ASI01 in a draft-only (A1, T0–T1) agent is often **MEDIUM**.
35
+
36
+ ## ASI02 — Tool Misuse and Exploitation
37
+
38
+ **What it covers.** Agent uses legitimate tools in unintended ways: privilege escalation through chaining, parameter abuse, unintended scopes, retry abuse, race conditions.
39
+
40
+ **Detection patterns.**
41
+ - Tool that takes a free-form parameter where the implementation does what the parameter says (path traversal, query injection, scope expansion via wildcards).
42
+ - Tool chains where output of tool A goes directly into the call args of tool B with no schema check.
43
+ - Tools without per-run idempotency keys (same destructive action can be replayed).
44
+ - Permission tier on the tool weaker than the worst case its parameters allow.
45
+ - Wildcard or regex scopes (`scope: "*"`, `path: "**/*"`) that the agent could exploit even when the spec assumed narrower use.
46
+
47
+ **Severity calibration.** Tool misuse on T4/T5 tools (external comms, irreversible) is **HIGH** or **CRITICAL**. T1/T2 (read-only) misuse is usually **MEDIUM** unless it leaks data.
48
+
49
+ ## ASI03 — Identity and Privilege Abuse
50
+
51
+ **What it covers.** Agent acts under wrong identity, escalates privilege, bypasses user-scoped authorization.
52
+
53
+ **Detection patterns.**
54
+ - Tool call that uses ambient agent credentials when the action is conceptually user-scoped (e.g., agent's GitHub token doing things the requesting user couldn't do directly).
55
+ - No identity propagation through the agent → tool → downstream-API chain.
56
+ - A2A (agent-to-agent) handoff that drops the original user identity.
57
+ - Scope of "act on behalf of user X" not enforced inside the tool — the tool trusts a parameter the agent supplied to identify the user.
58
+ - Multi-tenant data access where the tenant ID comes from agent context, not from a verified session/JWT.
59
+
60
+ **Severity calibration.** Cross-tenant access is **CRITICAL** by default. Same-tenant privilege drift is **HIGH**. Self-service privilege widening (agent grants itself more scope) is **CRITICAL** — the bug compounds.
61
+
62
+ ## ASI04 — Agentic Supply Chain Vulnerabilities
63
+
64
+ **What it covers.** Compromised models, tools, MCP servers, skills, plugins, prompt templates, A2A peers.
65
+
66
+ **Detection patterns.**
67
+ - New MCP server, skill, plugin, or agent template installed without an admission scan or install-source check.
68
+ - Skill / plugin / prompt-template fetched from a URL or npm/PyPI package without pin (LLM05 root cause; ASI04 is the agentic consequence — full agent compromise, not just model output).
69
+ - Trust assumed because a peer agent is "ours" — same-org A2A peers can be compromised independently.
70
+ - Generated code committed and run without a CodeGuard-equivalent static check (secrets, dangerous exec, weak crypto, injection patterns).
71
+
72
+ **Severity calibration.** Always at least **HIGH** when remediation requires re-bootstrapping the agent. **CRITICAL** when the compromised peer can act on production data.
73
+
74
+ ## ASI05 — Unexpected Code Execution
75
+
76
+ **What it covers.** Agent or tools execute unintended code paths. Sandbox escape, unsafe deserialization, plugin RCE, attacker-controlled exec via the agent.
77
+
78
+ **Detection patterns.**
79
+ - `eval`, `exec`, `Function(...)`, `child_process.exec`, `subprocess.run(..., shell=True)`, dynamic `import` of paths derived from the agent's reasoning.
80
+ - Code-interpreter tool exposed to the agent without a hardened sandbox.
81
+ - Browser automation tool with un-allowlisted URL navigation.
82
+ - Deserializer (`pickle`, unrestricted `yaml.load`, custom binary parsers) on data that came from the model or a tool.
83
+ - File-write tool that allows arbitrary paths (path traversal, write to `~/.ssh/`, write into the project's bin or hooks).
84
+
85
+ **Severity calibration.** ASI05 is usually **CRITICAL** — RCE class. Drop to **HIGH** only when a strong sandbox confines the impact.
86
+
87
+ ## ASI06 — Memory and Context Poisoning
88
+
89
+ **What it covers.** Persistent memory or retrieved context manipulated to alter future agent behavior.
90
+
91
+ **Detection patterns.**
92
+ - Persistent agent memory store (vector DB, KV store, file-based) writable by user input without curation.
93
+ - Memory shared across users without per-user scoping.
94
+ - RAG corpus that ingests user-uploaded content into a shared index.
95
+ - Memory entries with no integrity check, signature, or write-time provenance.
96
+ - "The agent learns from each interaction" pattern with no quarantine for unverified entries.
97
+
98
+ **Severity calibration.** Cross-user memory poisoning is **HIGH** or **CRITICAL** (one user can poison another's session). Single-user persistence with no integrity check is **MEDIUM** unless the memory feeds a higher-tier action.
99
+
100
+ ## ASI07 — Insecure Inter-Agent Communication
101
+
102
+ **What it covers.** Spoofed messages between agents, weak trust between A2A peers, lack of identity propagation across agent boundaries.
103
+
104
+ **Detection patterns.**
105
+ - A2A messages (between agents inside one process or across services) with no signing, no signed envelope, no verifiable sender identity.
106
+ - Agent-A code that trusts a `from_agent` field provided in the message body.
107
+ - No replay protection (nonces, timestamps with windows) on inter-agent messages.
108
+ - Inter-agent envelope without a content schema — receiver parses freeform text from sender.
109
+ - "Critic" agent receiving the diff to review through a path attacker can also write to.
110
+
111
+ **Severity calibration.** ASI07 is the row in the cross-source matrix that DefenseClaw doesn't have a clean runtime control for. Industry-open. Treat it as **HIGH** when an A2A boundary handles user data, **MEDIUM** when scoped to internal coordination only. Surface it explicitly — don't paper over.
112
+
113
+ ## ASI08 — Cascading Failures
114
+
115
+ **What it covers.** One agent's bad output becomes another's input; failures compound through automated pipelines.
116
+
117
+ **Detection patterns.**
118
+ - Sequential agent pipeline with no validation between stages.
119
+ - "Refine" pattern where output of one critic agent becomes the next agent's instruction with no human checkpoint.
120
+ - Retry-on-failure that re-feeds the failed output as context for the retry (failure context can poison the retry).
121
+ - Multi-agent loop with no convergence guard or oscillation detector.
122
+
123
+ **Severity calibration.** Usually **MEDIUM** at design time (impact depends on what the cascade reaches). **HIGH** when the cascade ends in a T4/T5 action.
124
+
125
+ ## ASI09 — Human-Agent Trust Exploitation
126
+
127
+ **What it covers.** Confident, polished agent explanations mislead human operators into approving harmful actions.
128
+
129
+ **Detection patterns.**
130
+ - Approval UX that displays the agent's natural-language explanation prominently and the underlying evidence (diff, params, tool args) in a collapsed/secondary surface.
131
+ - No "what will actually happen" preview alongside the agent's pitch.
132
+ - Confidence claims surfaced from the model directly without independent calibration.
133
+ - Default-yes UX on non-trivial actions.
134
+ - Approval flow that auto-confirms after a short delay.
135
+
136
+ **Severity calibration.** Pairs with LLM09 (Overreliance). Severity tracks the action class — HIGH on T4/T5, MEDIUM elsewhere.
137
+
138
+ ## ASI10 — Rogue Agents
139
+
140
+ **What it covers.** Compromised or misaligned agents diverge from intended behavior. Includes: agent whose model was swapped, agent whose system prompt was overwritten, agent that's been adversarially fine-tuned, agent whose tool catalog was widened post-deploy without a re-eval.
141
+
142
+ **Detection patterns.**
143
+ - Agent config (model, prompt, tool list) loaded from a writable source at runtime without integrity check.
144
+ - No periodic re-evaluation against a pinned eval set after deploy.
145
+ - No kill-switch: if the agent goes wrong, can it be stopped within minutes? Hours?
146
+ - "Self-improving" agent that updates its own prompt or tool catalog without human review.
147
+
148
+ **Severity calibration.** Latent risk; severity is a function of detection-and-recovery time, not of immediate exploit. Surface as **MEDIUM** with a recommendation to add the missing control (eval re-run, integrity check, kill-switch path).
149
+
150
+ ## Important framing
151
+
152
+ Three of the top four risks — **ASI02** (Tool Misuse), **ASI03** (Privilege Abuse), **ASI04** (Supply Chain) — are about identity, tools, and delegated trust. This is consistent with the broader industry view: **the surface area of risk in agents is the surface area of their actions, not their words**. A finding that's "the model said something bad" is LLM01 — content-layer. A finding that's "the agent did something bad" is ASI01–10 — action-layer. Build-time review should weight the action-layer findings more heavily; the model is going to say something bad eventually, the question is what happens when it does.
153
+
154
+ ## Verification status
155
+
156
+ - ✅ ASI01–ASI10 verified (T1, OWASP GenAI Security Project release page; secondary confirmation via Aikido enumeration of the 2026 list).
157
+ - The agent system that drove this skill's creation flipped ASI02–ASI06 from `[INFERRED]` to verified during this build — see `~/dev/research/topics/product-dev/product-dev.agentic-systems-security-references.md` §Verification status for the trail.