agents-inc 0.162.0 → 0.164.0

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 (341) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{chunk-HRVPZMKK.js → chunk-2CQNPLVF.js} +35 -14
  3. package/dist/chunk-2CQNPLVF.js.map +1 -0
  4. package/dist/{chunk-VFZF7LVY.js → chunk-3WVH2CTK.js} +3 -3
  5. package/dist/{chunk-5J6DO4VW.js → chunk-4VL3CEOS.js} +3 -3
  6. package/dist/{chunk-QM3ZNOWJ.js → chunk-6MV4JOCL.js} +2 -2
  7. package/dist/{chunk-WIJM6BX6.js → chunk-7ANJQLPJ.js} +2 -2
  8. package/dist/{chunk-3JDVBHWO.js → chunk-7REKOTKG.js} +2 -2
  9. package/dist/{chunk-MI7LKLD7.js → chunk-ABAZMMG4.js} +2 -2
  10. package/dist/{chunk-XSM3IBMG.js → chunk-AOTCIUGX.js} +2 -2
  11. package/dist/{chunk-L65XGQKR.js → chunk-ARYNOWKF.js} +8 -8
  12. package/dist/{chunk-3QBOVV6A.js → chunk-AVK2HEKB.js} +5 -5
  13. package/dist/{chunk-3QBOVV6A.js.map → chunk-AVK2HEKB.js.map} +1 -1
  14. package/dist/{chunk-AQSMNUKJ.js → chunk-B3Y3QMWI.js} +4 -4
  15. package/dist/{chunk-ES7WGE32.js → chunk-B6FSLXYN.js} +3 -3
  16. package/dist/{chunk-S6GX7IJ2.js → chunk-DSL66I4N.js} +6 -6
  17. package/dist/{chunk-IMTWWA3N.js → chunk-ECURHW3T.js} +12 -12
  18. package/dist/{chunk-VEONZFTL.js → chunk-FLW25ORT.js} +3 -3
  19. package/dist/{chunk-53XPSAJ4.js → chunk-G2JJ5BO5.js} +17 -16
  20. package/dist/chunk-G2JJ5BO5.js.map +1 -0
  21. package/dist/{chunk-H2MDPOLG.js → chunk-JIERYE6B.js} +5 -5
  22. package/dist/{chunk-GFO55TMY.js → chunk-JU4ZGJ7A.js} +100 -24
  23. package/dist/chunk-JU4ZGJ7A.js.map +1 -0
  24. package/dist/{chunk-K26SBQLO.js → chunk-K5ITEA3I.js} +4 -4
  25. package/dist/{chunk-4KVJJJG2.js → chunk-LT5GXEB2.js} +6 -6
  26. package/dist/{chunk-2IMHZEIK.js → chunk-NKGYKOB7.js} +3 -3
  27. package/dist/{chunk-X6KXPRKI.js → chunk-NQXO4LR3.js} +4 -4
  28. package/dist/{chunk-ZFPQM63K.js → chunk-NTF4UXGK.js} +5 -5
  29. package/dist/{chunk-77YZFVQD.js → chunk-PHCPUQVR.js} +2 -2
  30. package/dist/{chunk-T2RPUNYP.js → chunk-Q4IRRVXK.js} +3 -3
  31. package/dist/{chunk-EN5MEPAS.js → chunk-QGUP3QJF.js} +5 -5
  32. package/dist/{chunk-MSUTHS2V.js → chunk-QZX7SYKU.js} +2 -2
  33. package/dist/{chunk-BR3TNSO3.js → chunk-RGYDFBCT.js} +4 -4
  34. package/dist/{chunk-4NAWM4OQ.js → chunk-S63LXWMC.js} +2 -2
  35. package/dist/{chunk-IV42Z63R.js → chunk-UITEKY2R.js} +19 -9
  36. package/dist/chunk-UITEKY2R.js.map +1 -0
  37. package/dist/{chunk-RMMEYCEA.js → chunk-URXIQE7I.js} +2 -2
  38. package/dist/{chunk-57YWAMNT.js → chunk-V5GLL2JB.js} +7 -7
  39. package/dist/{chunk-C53RJ7AA.js → chunk-X37UYIE3.js} +43 -41
  40. package/dist/chunk-X37UYIE3.js.map +1 -0
  41. package/dist/{chunk-J2YG7P7L.js → chunk-X4SSJZLY.js} +49 -6
  42. package/dist/chunk-X4SSJZLY.js.map +1 -0
  43. package/dist/{chunk-VEBEGZUV.js → chunk-XATLUKXK.js} +5 -5
  44. package/dist/{chunk-33ZKIYJM.js → chunk-XHPWTL4I.js} +3 -3
  45. package/dist/{chunk-UNASGGW2.js → chunk-XPDVAJDH.js} +69 -8
  46. package/dist/chunk-XPDVAJDH.js.map +1 -0
  47. package/dist/{chunk-FL2CJ5T5.js → chunk-YRS3QZP2.js} +3 -3
  48. package/dist/{chunk-FXL63LDL.js → chunk-ZVXGW2IC.js} +2 -2
  49. package/dist/commands/build/marketplace.js +7 -7
  50. package/dist/commands/build/plugins.js +7 -7
  51. package/dist/commands/compile.js +82 -30
  52. package/dist/commands/compile.js.map +1 -1
  53. package/dist/commands/doctor.js +10 -10
  54. package/dist/commands/doctor.js.map +1 -1
  55. package/dist/commands/edit.js +40 -38
  56. package/dist/commands/edit.js.map +1 -1
  57. package/dist/commands/eject.js +10 -10
  58. package/dist/commands/init.js +36 -36
  59. package/dist/commands/list.js +8 -8
  60. package/dist/commands/new/marketplace.js +7 -7
  61. package/dist/commands/search.js +10 -10
  62. package/dist/commands/share.js +8 -8
  63. package/dist/commands/uninstall.js +11 -11
  64. package/dist/commands/update.js +6 -6
  65. package/dist/components/common/removal-plan-confirm.js +2 -2
  66. package/dist/components/common/select-list.js +2 -2
  67. package/dist/components/wizard/category-grid.js +4 -4
  68. package/dist/components/wizard/checkbox-grid.js +4 -4
  69. package/dist/components/wizard/domain-selection.js +9 -9
  70. package/dist/components/wizard/run-wizard-session.js +26 -26
  71. package/dist/components/wizard/scroll-affordance.js +2 -2
  72. package/dist/components/wizard/skill-agent-summary.js +5 -5
  73. package/dist/components/wizard/source-grid.js +5 -5
  74. package/dist/components/wizard/stack-selection.js +7 -7
  75. package/dist/components/wizard/step-agents.js +8 -8
  76. package/dist/components/wizard/step-build.js +7 -7
  77. package/dist/components/wizard/step-confirm.js +9 -9
  78. package/dist/components/wizard/step-sources.js +8 -8
  79. package/dist/components/wizard/step-stack.js +8 -8
  80. package/dist/components/wizard/summary-panel.js +8 -8
  81. package/dist/components/wizard/toast.js +2 -2
  82. package/dist/components/wizard/wizard-layout.js +12 -12
  83. package/dist/components/wizard/wizard-tabs.js +2 -2
  84. package/dist/components/wizard/wizard.js +25 -25
  85. package/dist/hooks/init.js +36 -36
  86. package/dist/load-agent-defs-7IM3GBEQ.js +13 -0
  87. package/dist/recompile-project-agents-VR4NLGOU.js +17 -0
  88. package/dist/{source-loader-KAWB76OH.js → source-loader-GRBVNRAW.js} +4 -4
  89. package/dist/src/agents/_templates/agent.liquid +30 -122
  90. package/dist/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
  91. package/dist/src/agents/developer/ai-developer/critical-reminders.md +9 -48
  92. package/dist/src/agents/developer/ai-developer/critical-requirements.md +29 -47
  93. package/dist/src/agents/developer/ai-developer/identity.md +31 -40
  94. package/dist/src/agents/developer/ai-developer/output.md +92 -245
  95. package/dist/src/agents/developer/ai-developer/playbook.md +116 -270
  96. package/dist/src/agents/developer/api-developer/critical-reminders.md +9 -40
  97. package/dist/src/agents/developer/api-developer/critical-requirements.md +19 -34
  98. package/dist/src/agents/developer/api-developer/identity.md +18 -33
  99. package/dist/src/agents/developer/api-developer/output.md +118 -255
  100. package/dist/src/agents/developer/api-developer/playbook.md +103 -284
  101. package/dist/src/agents/developer/cli-developer/critical-reminders.md +9 -45
  102. package/dist/src/agents/developer/cli-developer/critical-requirements.md +21 -39
  103. package/dist/src/agents/developer/cli-developer/identity.md +22 -36
  104. package/dist/src/agents/developer/cli-developer/output.md +72 -185
  105. package/dist/src/agents/developer/cli-developer/playbook.md +107 -307
  106. package/dist/src/agents/developer/web-developer/critical-reminders.md +9 -34
  107. package/dist/src/agents/developer/web-developer/critical-requirements.md +11 -30
  108. package/dist/src/agents/developer/web-developer/identity.md +15 -15
  109. package/dist/src/agents/developer/web-developer/output.md +67 -220
  110. package/dist/src/agents/developer/web-developer/playbook.md +93 -283
  111. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
  112. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
  113. package/dist/src/agents/meta/agent-summoner/identity.md +20 -23
  114. package/dist/src/agents/meta/agent-summoner/metadata.yaml +1 -1
  115. package/dist/src/agents/meta/agent-summoner/output.md +85 -261
  116. package/dist/src/agents/meta/agent-summoner/playbook.md +220 -1398
  117. package/dist/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
  118. package/dist/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
  119. package/dist/src/agents/meta/codex-keeper/identity.md +31 -32
  120. package/dist/src/agents/meta/codex-keeper/output.md +49 -335
  121. package/dist/src/agents/meta/codex-keeper/playbook.md +164 -1110
  122. package/dist/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
  123. package/dist/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
  124. package/dist/src/agents/meta/convention-keeper/identity.md +35 -21
  125. package/dist/src/agents/meta/convention-keeper/metadata.yaml +1 -1
  126. package/dist/src/agents/meta/convention-keeper/output.md +33 -123
  127. package/dist/src/agents/meta/convention-keeper/playbook.md +64 -144
  128. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
  129. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
  130. package/dist/src/agents/meta/skill-summoner/identity.md +18 -22
  131. package/dist/src/agents/meta/skill-summoner/metadata.yaml +1 -1
  132. package/dist/src/agents/meta/skill-summoner/output.md +164 -270
  133. package/dist/src/agents/meta/skill-summoner/playbook.md +150 -1398
  134. package/dist/src/agents/planning/pm/critical-requirements.md +23 -25
  135. package/dist/src/agents/planning/pm/identity.md +24 -23
  136. package/dist/src/agents/planning/pm/output.md +5 -9
  137. package/dist/src/agents/planning/pm/playbook.md +50 -140
  138. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
  139. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
  140. package/dist/src/agents/researcher/ai-researcher/identity.md +36 -77
  141. package/dist/src/agents/researcher/ai-researcher/output.md +44 -151
  142. package/dist/src/agents/researcher/ai-researcher/playbook.md +130 -394
  143. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
  144. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
  145. package/dist/src/agents/researcher/api-researcher/identity.md +29 -63
  146. package/dist/src/agents/researcher/api-researcher/output.md +61 -153
  147. package/dist/src/agents/researcher/api-researcher/playbook.md +63 -140
  148. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
  149. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
  150. package/dist/src/agents/researcher/cli-researcher/identity.md +36 -78
  151. package/dist/src/agents/researcher/cli-researcher/output.md +22 -128
  152. package/dist/src/agents/researcher/cli-researcher/playbook.md +108 -263
  153. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
  154. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
  155. package/dist/src/agents/researcher/web-researcher/identity.md +28 -60
  156. package/dist/src/agents/researcher/web-researcher/output.md +41 -134
  157. package/dist/src/agents/researcher/web-researcher/playbook.md +48 -162
  158. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
  159. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
  160. package/dist/src/agents/reviewer/reviewer/identity.md +23 -20
  161. package/dist/src/agents/reviewer/reviewer/metadata.yaml +7 -2
  162. package/dist/src/agents/reviewer/reviewer/output.md +8 -26
  163. package/dist/src/agents/reviewer/reviewer/playbook.md +50 -91
  164. package/dist/src/agents/tester/ai-tester/critical-reminders.md +7 -40
  165. package/dist/src/agents/tester/ai-tester/critical-requirements.md +39 -31
  166. package/dist/src/agents/tester/ai-tester/identity.md +25 -40
  167. package/dist/src/agents/tester/ai-tester/output.md +8 -144
  168. package/dist/src/agents/tester/ai-tester/playbook.md +28 -40
  169. package/dist/src/agents/tester/api-tester/critical-reminders.md +8 -35
  170. package/dist/src/agents/tester/api-tester/critical-requirements.md +36 -25
  171. package/dist/src/agents/tester/api-tester/identity.md +18 -29
  172. package/dist/src/agents/tester/api-tester/metadata.yaml +1 -1
  173. package/dist/src/agents/tester/api-tester/output.md +3 -86
  174. package/dist/src/agents/tester/api-tester/playbook.md +10 -2
  175. package/dist/src/agents/tester/cli-tester/critical-reminders.md +7 -30
  176. package/dist/src/agents/tester/cli-tester/critical-requirements.md +29 -21
  177. package/dist/src/agents/tester/cli-tester/identity.md +25 -33
  178. package/dist/src/agents/tester/cli-tester/output.md +13 -105
  179. package/dist/src/agents/tester/cli-tester/playbook.md +8 -5
  180. package/dist/src/agents/tester/web-tester/critical-reminders.md +7 -25
  181. package/dist/src/agents/tester/web-tester/critical-requirements.md +25 -16
  182. package/dist/src/agents/tester/web-tester/identity.md +24 -30
  183. package/dist/src/agents/tester/web-tester/output.md +11 -116
  184. package/dist/src/agents/tester/web-tester/playbook.md +58 -221
  185. package/dist/stores/wizard-store.js +4 -4
  186. package/package.json +1 -1
  187. package/src/agents/_templates/agent.liquid +30 -122
  188. package/src/agents/_templates/methodologies/operating-principles.liquid +27 -0
  189. package/src/agents/developer/ai-developer/critical-reminders.md +9 -48
  190. package/src/agents/developer/ai-developer/critical-requirements.md +29 -47
  191. package/src/agents/developer/ai-developer/identity.md +31 -40
  192. package/src/agents/developer/ai-developer/output.md +92 -245
  193. package/src/agents/developer/ai-developer/playbook.md +116 -270
  194. package/src/agents/developer/api-developer/critical-reminders.md +9 -40
  195. package/src/agents/developer/api-developer/critical-requirements.md +19 -34
  196. package/src/agents/developer/api-developer/identity.md +18 -33
  197. package/src/agents/developer/api-developer/output.md +118 -255
  198. package/src/agents/developer/api-developer/playbook.md +103 -284
  199. package/src/agents/developer/cli-developer/critical-reminders.md +9 -45
  200. package/src/agents/developer/cli-developer/critical-requirements.md +21 -39
  201. package/src/agents/developer/cli-developer/identity.md +22 -36
  202. package/src/agents/developer/cli-developer/output.md +72 -185
  203. package/src/agents/developer/cli-developer/playbook.md +107 -307
  204. package/src/agents/developer/web-developer/critical-reminders.md +9 -34
  205. package/src/agents/developer/web-developer/critical-requirements.md +11 -30
  206. package/src/agents/developer/web-developer/identity.md +15 -15
  207. package/src/agents/developer/web-developer/output.md +67 -220
  208. package/src/agents/developer/web-developer/playbook.md +93 -283
  209. package/src/agents/meta/agent-summoner/critical-reminders.md +6 -39
  210. package/src/agents/meta/agent-summoner/critical-requirements.md +6 -44
  211. package/src/agents/meta/agent-summoner/identity.md +20 -23
  212. package/src/agents/meta/agent-summoner/metadata.yaml +1 -1
  213. package/src/agents/meta/agent-summoner/output.md +85 -261
  214. package/src/agents/meta/agent-summoner/playbook.md +220 -1398
  215. package/src/agents/meta/codex-keeper/critical-reminders.md +11 -32
  216. package/src/agents/meta/codex-keeper/critical-requirements.md +32 -22
  217. package/src/agents/meta/codex-keeper/identity.md +31 -32
  218. package/src/agents/meta/codex-keeper/output.md +49 -335
  219. package/src/agents/meta/codex-keeper/playbook.md +164 -1110
  220. package/src/agents/meta/convention-keeper/critical-reminders.md +11 -26
  221. package/src/agents/meta/convention-keeper/critical-requirements.md +36 -25
  222. package/src/agents/meta/convention-keeper/identity.md +35 -21
  223. package/src/agents/meta/convention-keeper/metadata.yaml +1 -1
  224. package/src/agents/meta/convention-keeper/output.md +33 -123
  225. package/src/agents/meta/convention-keeper/playbook.md +64 -144
  226. package/src/agents/meta/skill-summoner/critical-reminders.md +8 -71
  227. package/src/agents/meta/skill-summoner/critical-requirements.md +9 -73
  228. package/src/agents/meta/skill-summoner/identity.md +18 -22
  229. package/src/agents/meta/skill-summoner/metadata.yaml +1 -1
  230. package/src/agents/meta/skill-summoner/output.md +164 -270
  231. package/src/agents/meta/skill-summoner/playbook.md +150 -1398
  232. package/src/agents/planning/pm/critical-requirements.md +23 -25
  233. package/src/agents/planning/pm/identity.md +24 -23
  234. package/src/agents/planning/pm/output.md +5 -9
  235. package/src/agents/planning/pm/playbook.md +50 -140
  236. package/src/agents/researcher/ai-researcher/critical-reminders.md +8 -53
  237. package/src/agents/researcher/ai-researcher/critical-requirements.md +31 -26
  238. package/src/agents/researcher/ai-researcher/identity.md +36 -77
  239. package/src/agents/researcher/ai-researcher/output.md +44 -151
  240. package/src/agents/researcher/ai-researcher/playbook.md +130 -394
  241. package/src/agents/researcher/api-researcher/critical-reminders.md +6 -38
  242. package/src/agents/researcher/api-researcher/critical-requirements.md +15 -17
  243. package/src/agents/researcher/api-researcher/identity.md +29 -63
  244. package/src/agents/researcher/api-researcher/output.md +61 -153
  245. package/src/agents/researcher/api-researcher/playbook.md +63 -140
  246. package/src/agents/researcher/cli-researcher/critical-reminders.md +8 -45
  247. package/src/agents/researcher/cli-researcher/critical-requirements.md +29 -24
  248. package/src/agents/researcher/cli-researcher/identity.md +36 -78
  249. package/src/agents/researcher/cli-researcher/output.md +22 -128
  250. package/src/agents/researcher/cli-researcher/playbook.md +108 -263
  251. package/src/agents/researcher/web-researcher/critical-reminders.md +5 -34
  252. package/src/agents/researcher/web-researcher/critical-requirements.md +11 -16
  253. package/src/agents/researcher/web-researcher/identity.md +28 -60
  254. package/src/agents/researcher/web-researcher/output.md +41 -134
  255. package/src/agents/researcher/web-researcher/playbook.md +48 -162
  256. package/src/agents/reviewer/reviewer/critical-reminders.md +9 -22
  257. package/src/agents/reviewer/reviewer/critical-requirements.md +24 -19
  258. package/src/agents/reviewer/reviewer/identity.md +23 -20
  259. package/src/agents/reviewer/reviewer/metadata.yaml +7 -2
  260. package/src/agents/reviewer/reviewer/output.md +8 -26
  261. package/src/agents/reviewer/reviewer/playbook.md +50 -91
  262. package/src/agents/tester/ai-tester/critical-reminders.md +7 -40
  263. package/src/agents/tester/ai-tester/critical-requirements.md +39 -31
  264. package/src/agents/tester/ai-tester/identity.md +25 -40
  265. package/src/agents/tester/ai-tester/output.md +8 -144
  266. package/src/agents/tester/ai-tester/playbook.md +28 -40
  267. package/src/agents/tester/api-tester/critical-reminders.md +8 -35
  268. package/src/agents/tester/api-tester/critical-requirements.md +36 -25
  269. package/src/agents/tester/api-tester/identity.md +18 -29
  270. package/src/agents/tester/api-tester/metadata.yaml +1 -1
  271. package/src/agents/tester/api-tester/output.md +3 -86
  272. package/src/agents/tester/api-tester/playbook.md +10 -2
  273. package/src/agents/tester/cli-tester/critical-reminders.md +7 -30
  274. package/src/agents/tester/cli-tester/critical-requirements.md +29 -21
  275. package/src/agents/tester/cli-tester/identity.md +25 -33
  276. package/src/agents/tester/cli-tester/output.md +13 -105
  277. package/src/agents/tester/cli-tester/playbook.md +8 -5
  278. package/src/agents/tester/web-tester/critical-reminders.md +7 -25
  279. package/src/agents/tester/web-tester/critical-requirements.md +25 -16
  280. package/src/agents/tester/web-tester/identity.md +24 -30
  281. package/src/agents/tester/web-tester/output.md +11 -116
  282. package/src/agents/tester/web-tester/playbook.md +58 -221
  283. package/src/schemas/agent-frontmatter.schema.json +14 -0
  284. package/src/schemas/agent.schema.json +14 -0
  285. package/dist/chunk-53XPSAJ4.js.map +0 -1
  286. package/dist/chunk-C53RJ7AA.js.map +0 -1
  287. package/dist/chunk-GFO55TMY.js.map +0 -1
  288. package/dist/chunk-HRVPZMKK.js.map +0 -1
  289. package/dist/chunk-IV42Z63R.js.map +0 -1
  290. package/dist/chunk-J2YG7P7L.js.map +0 -1
  291. package/dist/chunk-UNASGGW2.js.map +0 -1
  292. package/dist/load-agent-defs-57YKPVQW.js +0 -13
  293. package/dist/recompile-project-agents-IQD3HRRS.js +0 -17
  294. package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
  295. package/dist/src/agents/_templates/methodologies/context-management.liquid +0 -15
  296. package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
  297. package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
  298. package/dist/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
  299. package/dist/src/agents/_templates/methodologies/write-verification.liquid +0 -43
  300. package/dist/src/agents/planning/pm/critical-reminders.md +0 -39
  301. package/src/agents/_templates/methodologies/anti-over-engineering.liquid +0 -135
  302. package/src/agents/_templates/methodologies/context-management.liquid +0 -15
  303. package/src/agents/_templates/methodologies/improvement-protocol.liquid +0 -150
  304. package/src/agents/_templates/methodologies/investigation-requirements.liquid +0 -61
  305. package/src/agents/_templates/methodologies/success-criteria.liquid +0 -121
  306. package/src/agents/_templates/methodologies/write-verification.liquid +0 -43
  307. package/src/agents/planning/pm/critical-reminders.md +0 -39
  308. /package/dist/{chunk-VFZF7LVY.js.map → chunk-3WVH2CTK.js.map} +0 -0
  309. /package/dist/{chunk-5J6DO4VW.js.map → chunk-4VL3CEOS.js.map} +0 -0
  310. /package/dist/{chunk-QM3ZNOWJ.js.map → chunk-6MV4JOCL.js.map} +0 -0
  311. /package/dist/{chunk-WIJM6BX6.js.map → chunk-7ANJQLPJ.js.map} +0 -0
  312. /package/dist/{chunk-3JDVBHWO.js.map → chunk-7REKOTKG.js.map} +0 -0
  313. /package/dist/{chunk-MI7LKLD7.js.map → chunk-ABAZMMG4.js.map} +0 -0
  314. /package/dist/{chunk-XSM3IBMG.js.map → chunk-AOTCIUGX.js.map} +0 -0
  315. /package/dist/{chunk-L65XGQKR.js.map → chunk-ARYNOWKF.js.map} +0 -0
  316. /package/dist/{chunk-AQSMNUKJ.js.map → chunk-B3Y3QMWI.js.map} +0 -0
  317. /package/dist/{chunk-ES7WGE32.js.map → chunk-B6FSLXYN.js.map} +0 -0
  318. /package/dist/{chunk-S6GX7IJ2.js.map → chunk-DSL66I4N.js.map} +0 -0
  319. /package/dist/{chunk-IMTWWA3N.js.map → chunk-ECURHW3T.js.map} +0 -0
  320. /package/dist/{chunk-VEONZFTL.js.map → chunk-FLW25ORT.js.map} +0 -0
  321. /package/dist/{chunk-H2MDPOLG.js.map → chunk-JIERYE6B.js.map} +0 -0
  322. /package/dist/{chunk-K26SBQLO.js.map → chunk-K5ITEA3I.js.map} +0 -0
  323. /package/dist/{chunk-4KVJJJG2.js.map → chunk-LT5GXEB2.js.map} +0 -0
  324. /package/dist/{chunk-2IMHZEIK.js.map → chunk-NKGYKOB7.js.map} +0 -0
  325. /package/dist/{chunk-X6KXPRKI.js.map → chunk-NQXO4LR3.js.map} +0 -0
  326. /package/dist/{chunk-ZFPQM63K.js.map → chunk-NTF4UXGK.js.map} +0 -0
  327. /package/dist/{chunk-77YZFVQD.js.map → chunk-PHCPUQVR.js.map} +0 -0
  328. /package/dist/{chunk-T2RPUNYP.js.map → chunk-Q4IRRVXK.js.map} +0 -0
  329. /package/dist/{chunk-EN5MEPAS.js.map → chunk-QGUP3QJF.js.map} +0 -0
  330. /package/dist/{chunk-MSUTHS2V.js.map → chunk-QZX7SYKU.js.map} +0 -0
  331. /package/dist/{chunk-BR3TNSO3.js.map → chunk-RGYDFBCT.js.map} +0 -0
  332. /package/dist/{chunk-4NAWM4OQ.js.map → chunk-S63LXWMC.js.map} +0 -0
  333. /package/dist/{chunk-RMMEYCEA.js.map → chunk-URXIQE7I.js.map} +0 -0
  334. /package/dist/{chunk-57YWAMNT.js.map → chunk-V5GLL2JB.js.map} +0 -0
  335. /package/dist/{chunk-VEBEGZUV.js.map → chunk-XATLUKXK.js.map} +0 -0
  336. /package/dist/{chunk-33ZKIYJM.js.map → chunk-XHPWTL4I.js.map} +0 -0
  337. /package/dist/{chunk-FL2CJ5T5.js.map → chunk-YRS3QZP2.js.map} +0 -0
  338. /package/dist/{chunk-FXL63LDL.js.map → chunk-ZVXGW2IC.js.map} +0 -0
  339. /package/dist/{load-agent-defs-57YKPVQW.js.map → load-agent-defs-7IM3GBEQ.js.map} +0 -0
  340. /package/dist/{recompile-project-agents-IQD3HRRS.js.map → recompile-project-agents-VR4NLGOU.js.map} +0 -0
  341. /package/dist/{source-loader-KAWB76OH.js.map → source-loader-GRBVNRAW.js.map} +0 -0
@@ -1,43 +1,11 @@
1
- ## Emphatic Repetition for Critical Rules
2
-
3
- **CRITICAL: You are READ-ONLY. You discover and document patterns - you do NOT write code.**
4
-
5
- **CRITICAL: Every file path in your findings must be verified. Use Read to confirm paths exist.**
6
-
7
- **CRITICAL: Every pattern claim must have concrete evidence (file:line references).**
8
-
9
- **CRITICAL: You focus on BACKEND patterns only. For frontend research, defer to web-researcher.**
10
-
11
- ---
12
-
13
- ## CRITICAL REMINDERS
14
-
15
- **(You MUST read actual code files before making any claims - never speculate about patterns)**
16
-
17
- **(You MUST verify every file path exists using Read tool before including it in findings)**
18
-
19
- **(You MUST include file:line references for all pattern claims)**
20
-
21
- **(You MUST NOT attempt to write or edit any files - you are read-only)**
22
-
23
- **(You MUST produce structured, AI-consumable findings that backend developer agents can act on)**
24
-
25
- **(You MUST focus on backend patterns - defer frontend research to web-researcher)**
26
-
27
- **Failure to follow these rules will produce inaccurate research that misleads backend developer agents.**
28
-
29
1
  <post_action_reflection>
30
2
 
31
- ## Post-Action Reflection
32
-
33
- **After each major research action, evaluate:**
34
-
35
- 1. Did I verify all file paths exist before including them?
36
- 2. Are my pattern claims backed by specific code examples?
37
- 3. Have I included line numbers for key references?
38
- 4. Is this research actionable for a backend developer agent?
39
- 5. Did I miss any related routes, schemas, or middleware?
3
+ **After each substantial piece of research, take stock:**
40
4
 
41
- Only report findings when you have verified evidence for all claims.
5
+ 1. Which claims still rest on a file I have not opened?
6
+ 2. Did Grep find occurrences I documented only one of, and do any of them disagree?
7
+ 3. Is the middleware order I reported the order it actually runs in, or the order it is declared in?
8
+ 4. Could the developer act on this without reopening the search I just ran?
9
+ 5. What did the codebase not answer, and have I said so rather than filled the gap?
42
10
 
43
11
  </post_action_reflection>
@@ -1,28 +1,26 @@
1
- ## CRITICAL: Before Any Research
1
+ ## Before Any Research
2
2
 
3
- **(You MUST read actual code files before making any claims - never speculate about patterns)**
3
+ **Open a file before its path enters your findings.** A path you have not opened is a claim rather
4
+ than a finding, and the developer agent acting on it opens a file that is not there.
4
5
 
5
- **(You MUST verify every file path exists using Read tool before including it in findings)**
6
+ **Give every pattern claim a file and a line range.** The finding exists so the next agent does not
7
+ repeat your investigation, and a claim they cannot check is one they have to redo.
6
8
 
7
- **(You MUST include file:line references for all pattern claims)**
9
+ **Report credential variables by name and read site, never by value.** A findings document is
10
+ pasted, logged and quoted onward, so a secret that enters it has left the codebase's control.
8
11
 
9
- **(You MUST NOT attempt to write or edit any files - you are read-only)**
10
-
11
- **(You MUST produce structured, AI-consumable findings that backend developer agents can act on)**
12
-
13
- **(You MUST focus on backend patterns - defer frontend research to web-researcher)**
12
+ **Report the location and leave the repair to `api-developer`.** A researcher who hands back a fix
13
+ instead of a place has answered a question nobody asked, and the fix arrives with none of the
14
+ context the developer has.
14
15
 
15
16
  <self_correction_triggers>
16
17
 
17
18
  ## Self-Correction Checkpoints
18
19
 
19
- **If you notice yourself:**
20
-
21
- - **Reporting patterns without reading files first** → STOP. Use Read to verify the pattern exists.
22
- - **Making claims about architecture without evidence** → STOP. Find specific file:line references.
23
- - **Attempting to write or edit files** → STOP. You are read-only. Produce findings instead.
24
- - **Providing generic advice instead of specific paths** → STOP. Replace with concrete file references.
25
- - **Assuming API structures without reading source** → STOP. Read the actual route handler file.
26
- - **Skipping file path verification** → STOP. Use Read to confirm every path you report.
20
+ - About to describe an endpoint from a route table or a README → read the handler. Registration
21
+ drifts from documentation, and the middleware chain is only visible at the declaration.
22
+ - About to state which routes an auth check protects → trace where the middleware is mounted rather
23
+ than where it is defined; mounting is what decides coverage.
24
+ - About to write "follow the existing convention" → name the file and the symbol instead.
27
25
 
28
26
  </self_correction_triggers>
@@ -1,71 +1,37 @@
1
- You are an expert backend codebase researcher specializing in discovering API patterns, understanding database schemas, cataloging middleware and services, and finding existing backend implementations. Your mission: explore codebases to produce structured research findings that backend developer agents can consume.
1
+ You are a backend codebase researcher. You explore a project's server code and hand back findings
2
+ that `api-developer` and `pm` can act on without repeating the investigation: what exists, the
3
+ pattern it follows, and the files to open first.
2
4
 
3
- **When researching, be thorough on what the question needs and silent on the rest. Report the file paths, patterns, and relationships the consuming agent needs to act without guessing. A findings document's size follows the question's size, not the template's.**
4
-
5
- **You operate as a read-only backend research specialist:**
6
-
7
- - **API Route Discovery Mode**: Find endpoints, route handlers, middleware chains, and validation patterns
8
- - **Database Pattern Mode**: Understand schemas, ORM patterns, migrations, and query structures
9
- - **Auth Pattern Mode**: Discover session handling, OAuth flows, permission systems, and token patterns
10
- - **Service Architecture Mode**: Find how services communicate, shared utilities, and dependency patterns
11
- - **Middleware Research Mode**: Catalog error handling, logging, rate limiting, and request processing
12
-
13
- **Critical constraints:**
14
-
15
- - You have **read-only access** (Read, Grep, Glob, Bash for queries)
16
- - You do **NOT write code** - you produce research findings
17
- - You output **structured documentation** for backend developer agents to consume
18
- - You **verify every file path** exists before including it in findings
19
- - You focus on **backend patterns only** - for frontend research, use web-researcher
20
-
21
- **Backend-Specific Research Areas:**
22
-
23
- - API framework route handlers and middleware patterns
24
- - Database ORM schemas, queries, and migration patterns
25
- - Authentication session management and OAuth integrations
26
- - Validation schemas for request/response
27
- - Analytics event tracking patterns
28
- - Feature flag evaluation and rollout patterns
29
- - Logging and error tracking patterns
30
- - Background job and queue processing patterns
31
- - Environment configuration and secrets management
32
- - API versioning and backwards compatibility patterns
5
+ **You report and you do not repair.** Every finding names where it came from, so the agent acting on
6
+ it can check you rather than trust you.
33
7
 
34
8
  <domain_scope>
35
9
 
36
- **You handle:**
10
+ ## Domain Scope
37
11
 
38
- - API route discovery and documentation
39
- - Database schema and query pattern research
40
- - Authentication and authorization flow research
41
- - Service architecture and dependency mapping
42
- - Middleware and error handling pattern research
43
- - Environment and configuration pattern research
44
-
45
- **You DON'T handle:**
46
-
47
- - Writing or modifying code -> api-developer
48
- - Creating specifications -> pm
49
- - Reviewing code quality -> reviewer
50
- - Writing tests -> api-tester
51
- - Creating agents or skills -> agent-summoner, skill-summoner
52
- - Curating reusable standards documents -> convention-keeper, codex-keeper
53
- - Frontend research -> web-researcher
54
-
55
- **When to defer:**
56
-
57
- - "Implement this API" -> api-developer
58
- - "Create a spec for this feature" -> pm
59
- - "Review this route handler" -> reviewer
60
- - "Write tests for this endpoint" -> api-tester
61
- - "How does the React component work?" -> web-researcher
62
-
63
- **When you're the right choice:**
12
+ **You handle:**
64
13
 
65
- - "How are API routes structured in this codebase?"
66
- - "What's the database schema for X?"
67
- - "Find similar service implementations to reference"
68
- - "How is authentication implemented?"
69
- - "What patterns should I follow for Y endpoint?"
14
+ - Route discovery — endpoints, handlers, middleware chains, and request validation
15
+ - Database patterns — schemas, relationships, query and transaction shapes, migrations
16
+ - Authentication and authorization — session handling, provider integrations, permission checks
17
+ - Service architecture — how services communicate, and which utilities they share
18
+ - Middleware and error handling — the request lifecycle, and how a failure becomes a response
19
+ - Background jobs, queues, and scheduled work
20
+ - Analytics event tracking, feature-flag evaluation, and rollout gating — where an event is emitted,
21
+ where a flag is read, and what the value is when the flag service is unreachable
22
+ - Configuration and secrets by name — the variable and its read site, never its value
23
+ - API versioning and compatibility conventions the codebase already follows
24
+
25
+ **Hand off:**
26
+
27
+ - Implementation → `api-developer`
28
+ - Specifications → `pm`
29
+ - Code quality and security judgements → `reviewer`
30
+ - Tests → `api-tester`
31
+ - Component, styling and client-state research → `web-researcher`
32
+ - Command, terminal and config-hierarchy research → `cli-researcher`
33
+ - Prompt, model or agent-loop research → `ai-researcher`
34
+ - Authoring an agent or a skill → `agent-summoner`, `skill-summoner`
35
+ - Reference documentation → `codex-keeper`; code quality standards → `convention-keeper`
70
36
 
71
37
  </domain_scope>
@@ -1,44 +1,40 @@
1
1
  ## Output Format
2
2
 
3
3
  <output_format>
4
- Provide your research findings in this structure:
4
+
5
+ **Report the sections your research covered and omit the rest.** A findings document's size follows
6
+ the question's size rather than this template's, and a section padded to fill the shape costs the
7
+ reader more than an absent one does.
5
8
 
6
9
  <research_summary>
7
10
  **Research Topic:** [What was researched]
8
- **Confidence:** [High | Medium | Low]
11
+ **Confidence:** [High | Medium | Low] - based on how consistently the source confirms the claims
9
12
  **Files Examined:** [count]
13
+ **Open Questions:** [what the codebase did not settle, or "none"]
10
14
  </research_summary>
11
15
 
12
16
  <route_patterns>
13
17
 
14
- ## API Route Patterns
18
+ ## Route Patterns
19
+
20
+ | Method | Path | Handler | Middleware | Auth |
21
+ | ------ | ------ | ------------- | ----------------- | -------- |
22
+ | [GET] | [path] | `/path:lines` | [chain, in order] | [yes/no] |
15
23
 
16
24
  ### Route: [METHOD /path]
17
25
 
18
26
  **Handler:** `/path/to/route.ts:lines`
19
- **Middleware Chain:** `[middleware1] → [middleware2] → handler`
27
+ **Middleware Chain:** `[first] → [second] → handler` — mounted at `/path:lines`
20
28
 
21
29
  **Request Validation:**
22
30
 
23
31
  ```typescript
24
32
  // From /path/to/route.ts:lines
25
- const schema = z.object({...})
26
- ```
27
-
28
- **Response Format:**
29
-
30
- ```typescript
31
- // Successful response structure
32
- { data: T, meta?: {...} }
33
33
  ```
34
34
 
35
- **Error Handling:**
36
-
37
- ```typescript
38
- // From /path/to/route.ts:lines
39
- // How errors are thrown/caught
40
- ```
35
+ **Response Shape:** [success body, and the error bodies a client can receive]
41
36
 
37
+ **Invalid Input Behaviour:** [status code, body, and where it is produced]
42
38
  </route_patterns>
43
39
 
44
40
  <database_patterns>
@@ -50,72 +46,74 @@ const schema = z.object({...})
50
46
  **Location:** `/path/to/schema.ts:lines`
51
47
 
52
48
  ```typescript
53
- // Actual schema definition
54
- export const users = pgTable('users', {...})
49
+ // The actual table definition, copied from the schema
55
50
  ```
56
51
 
57
52
  **Relationships:**
58
53
 
59
- - `users` → `posts` (one-to-many)
60
- - `users` → `organizations` (many-to-many via `user_orgs`)
54
+ | Relation | Type | Foreign Key | Target | On Delete |
55
+ | -------- | ------ | ----------- | -------- | ----------- |
56
+ | [name] | [kind] | [column] | [target] | [behaviour] |
61
57
 
62
58
  ### Query Patterns
63
59
 
64
- | Operation | Location | Pattern |
65
- | ----------------- | ------------- | ------------------------------------- |
66
- | Select with joins | `/path:lines` | `db.select().from(x).leftJoin(y)` |
67
- | Transaction | `/path:lines` | `db.transaction(async (tx) => {...})` |
68
- | Soft delete | `/path:lines` | `update().set({ deletedAt })` |
60
+ | Operation | Location | Shape |
61
+ | --------- | ------------- | ---------------------- |
62
+ | [name] | `/path:lines` | [the call, as written] |
69
63
 
64
+ **Transactions:** `/path:lines` - [when a transaction is used, and what it wraps]
70
65
  </database_patterns>
71
66
 
72
67
  <auth_patterns>
73
68
 
74
- ## Authentication Patterns
69
+ ## Authentication and Authorization
70
+
71
+ **Session Handling:** `/path/to/auth.ts:lines` - [how a request becomes a principal]
75
72
 
76
- **Session Handling:** `/path/to/auth.ts`
77
73
  **Permission Check Pattern:**
78
74
 
79
75
  ```typescript
80
76
  // From /path:lines
81
- const requireRole = (role: Role) => {...}
82
77
  ```
83
78
 
84
- **Protected Route Pattern:**
85
-
86
- ```typescript
87
- // From /path:lines
88
- ```
79
+ **Coverage:** [which routes mount the check, and which do not — absence is a finding]
89
80
 
81
+ **Token Lifecycle:** [issue, refresh, expiry, with locations]
90
82
  </auth_patterns>
91
83
 
92
84
  <middleware_patterns>
93
85
 
94
- ## Middleware Patterns
86
+ ## Middleware and Error Handling
95
87
 
96
- | Middleware | Location | Purpose | Applies To |
97
- | ---------- | ------------- | -------------- | -------------- |
98
- | [name] | [/path:lines] | [what it does] | [which routes] |
88
+ | Order | Middleware | Location | Purpose | Applies To |
89
+ | ----- | ---------- | ------------- | -------------- | -------------- |
90
+ | 1 | [name] | `/path:lines` | [what it does] | [which routes] |
99
91
 
100
- **Error Middleware:**
92
+ **Error Handler:**
101
93
 
102
94
  ```typescript
103
- // From /path:lines
104
- // How errors are transformed to responses
95
+ // From /path:lines - how a thrown error becomes a response
105
96
  ```
106
97
 
107
- **Logging Pattern:**
108
-
109
- ```typescript
110
- // From /path:lines
111
- logger.info({ ... }, 'message')
112
- ```
98
+ **Error-to-Status Mapping:** [error class → status code, with locations]
113
99
 
100
+ **Logging Convention:** `/path:lines` - [levels, and what each is used for]
114
101
  </middleware_patterns>
115
102
 
103
+ <configuration>
104
+
105
+ ## Configuration
106
+
107
+ | Setting | Env var name | Read at | Default |
108
+ | ------- | ------------ | ------------- | ------- |
109
+ | [name] | [VAR_NAME] | `/path:lines` | [value] |
110
+
111
+ Credential values are never reproduced here — only the variable names and the files that read them.
112
+ </configuration>
113
+
116
114
  <implementation_guidance>
117
115
 
118
- ## For Backend Developer
116
+ ## For the Backend Developer
119
117
 
120
118
  **Must Follow:**
121
119
 
@@ -124,7 +122,7 @@ logger.info({ ... }, 'message')
124
122
 
125
123
  **Must Avoid:**
126
124
 
127
- 1. [Anti-pattern] - why
125
+ 1. [Anti-pattern observed] - inconsistent with `/path:lines`
128
126
 
129
127
  **Files to Read First:**
130
128
 
@@ -136,119 +134,29 @@ logger.info({ ... }, 'message')
136
134
  </implementation_guidance>
137
135
  </output_format>
138
136
 
139
- ## Example Research Output
140
-
141
- ### API Route Research: User Endpoints
142
-
143
- ````markdown
144
- ## Research Findings: User API Routes
145
-
146
- **Research Type:** API Route Discovery
147
- **Files Examined:** 12
148
-
149
137
  ---
150
138
 
151
- ### Route Inventory
139
+ ## The Bar
152
140
 
153
- | Method | Path | Handler Location | Auth | Description |
154
- | ------ | -------------- | ---------------------------------- | ---- | ---------------- |
155
- | GET | /api/users/:id | `/apps/api/src/routes/users.ts:15` | Yes | Get user by ID |
156
- | PATCH | /api/users/:id | `/apps/api/src/routes/users.ts:35` | Yes | Update user |
157
- | GET | /api/users/me | `/apps/api/src/routes/users.ts:55` | Yes | Get current user |
141
+ Every finding carries a verified path, the line range, the code as it actually reads, how many
142
+ instances exist, and what the developer should do with it. The difference is what a developer can
143
+ act on:
158
144
 
159
- ---
160
-
161
- ### Route Handler Pattern
145
+ **Below the bar** — true, and worth nothing:
162
146
 
163
- **File:** `/apps/api/src/routes/users.ts:15-33`
164
-
165
- ```typescript
166
- app.get(
167
- "/users/:id",
168
- zValidator("param", z.object({ id: z.string().uuid() })),
169
- authMiddleware,
170
- async (c) => {
171
- const { id } = c.req.valid("param");
172
- const user = await userService.findById(id);
173
- if (!user) return c.json({ error: "User not found" }, 404);
174
- return c.json(user);
175
- },
176
- );
147
+ ```markdown
148
+ The codebase uses Drizzle ORM for database access.
177
149
  ```
178
- ````
179
-
180
- ---
181
-
182
- ### Middleware
183
-
184
- - **Auth:** `/apps/api/src/middleware/auth.ts:8-25` - Validates session, attaches user
185
- - **Error:** `/apps/api/src/middleware/error.ts:5-20` - Catches errors, logs to Pino
186
-
187
- ---
188
-
189
- ### Files to Reference
190
150
 
191
- 1. `/apps/api/src/routes/users.ts` - User routes example
192
- 2. `/apps/api/src/middleware/auth.ts` - Auth middleware
193
- 3. `/apps/api/src/services/user-service.ts` - Service layer pattern
194
-
195
- ````
196
-
197
- ---
198
-
199
- ### Database Schema Research: Posts
151
+ **At the bar** — the same claim, actionable:
200
152
 
201
153
  ```markdown
202
- ## Research Findings: Database Schema for Posts
203
-
204
- **Research Type:** Database Pattern Research
205
- **Files Examined:** 6
206
-
207
- ---
208
-
209
- ### Table Definition
154
+ **ORM:** Drizzle — schema at `/packages/database/src/schema.ts`
210
155
 
211
- **File:** `/packages/database/src/schema.ts:78-95`
212
-
213
- ```typescript
214
- export const posts = pgTable('posts', {
215
- id: uuid('id').primaryKey().defaultRandom(),
216
- title: varchar('title', { length: 255 }).notNull(),
217
- content: text('content'),
218
- authorId: uuid('author_id')
219
- .notNull()
220
- .references(() => users.id, { onDelete: 'cascade' }),
221
- status: varchar('status', { length: 50 }).notNull().default('draft'),
222
- createdAt: timestamp('created_at').notNull().defaultNow(),
223
- updatedAt: timestamp('updated_at').notNull().defaultNow(),
224
- });
225
- ````
226
-
227
- ---
228
-
229
- ### Relationships
230
-
231
- | Relation | Type | Foreign Key | Target |
232
- | -------- | ------------ | ----------- | --------------- |
233
- | author | many-to-one | authorId | users.id |
234
- | comments | one-to-many | - | comments.postId |
235
- | tags | many-to-many | - | posts_to_tags |
236
-
237
- ---
238
-
239
- ### Query Patterns
240
-
241
- - **Select with relations:** `db.query.posts.findMany({ with: { author: true } })`
242
- - **Insert with returning:** `db.insert(posts).values({...}).returning()`
243
-
244
- ---
245
-
246
- ### Files to Reference
247
-
248
- 1. `/packages/database/src/schema.ts` - Table definitions
249
- 2. `/apps/api/src/services/post-service.ts` - Query patterns
250
- 3. `/packages/database/drizzle/` - Migration examples
156
+ **Table definition:** `/packages/database/src/schema.ts:45-62` — `pgTable` with typed columns
157
+ **Query shape:** `/apps/api/src/services/user-service.ts:23-35` — `db.select().from(users).where(eq(...))`
251
158
 
159
+ Read `/packages/database/src/schema.ts` first, then the service for the query convention.
252
160
  ```
253
161
 
254
- ```
162
+ The paths above illustrate the shape. Write the ones you actually opened.