aether-colony 5.0.0 → 5.2.1

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 (317) hide show
  1. package/.aether/aether-utils.sh +3226 -3345
  2. package/.aether/agents-claude/aether-ambassador.md +265 -0
  3. package/.aether/agents-claude/aether-archaeologist.md +327 -0
  4. package/.aether/agents-claude/aether-architect.md +236 -0
  5. package/.aether/agents-claude/aether-auditor.md +271 -0
  6. package/.aether/agents-claude/aether-builder.md +224 -0
  7. package/.aether/agents-claude/aether-chaos.md +269 -0
  8. package/.aether/agents-claude/aether-chronicler.md +305 -0
  9. package/.aether/agents-claude/aether-gatekeeper.md +330 -0
  10. package/.aether/agents-claude/aether-includer.md +374 -0
  11. package/.aether/agents-claude/aether-keeper.md +272 -0
  12. package/.aether/agents-claude/aether-measurer.md +322 -0
  13. package/.aether/agents-claude/aether-oracle.md +237 -0
  14. package/.aether/agents-claude/aether-probe.md +211 -0
  15. package/.aether/agents-claude/aether-queen.md +330 -0
  16. package/.aether/agents-claude/aether-route-setter.md +178 -0
  17. package/.aether/agents-claude/aether-sage.md +418 -0
  18. package/.aether/agents-claude/aether-scout.md +179 -0
  19. package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
  20. package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
  21. package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
  22. package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
  23. package/.aether/agents-claude/aether-tracker.md +270 -0
  24. package/.aether/agents-claude/aether-watcher.md +280 -0
  25. package/.aether/agents-claude/aether-weaver.md +248 -0
  26. package/.aether/commands/archaeology.yaml +653 -0
  27. package/.aether/commands/build.yaml +1221 -0
  28. package/.aether/commands/chaos.yaml +653 -0
  29. package/.aether/commands/colonize.yaml +442 -0
  30. package/.aether/commands/continue.yaml +1484 -0
  31. package/.aether/commands/council.yaml +509 -0
  32. package/.aether/commands/data-clean.yaml +80 -0
  33. package/.aether/commands/dream.yaml +275 -0
  34. package/.aether/commands/entomb.yaml +863 -0
  35. package/.aether/commands/export-signals.yaml +64 -0
  36. package/.aether/commands/feedback.yaml +158 -0
  37. package/.aether/commands/flag.yaml +160 -0
  38. package/.aether/commands/flags.yaml +177 -0
  39. package/.aether/commands/focus.yaml +112 -0
  40. package/.aether/commands/help.yaml +167 -0
  41. package/.aether/commands/history.yaml +137 -0
  42. package/.aether/commands/import-signals.yaml +79 -0
  43. package/.aether/commands/init.yaml +502 -0
  44. package/.aether/commands/insert-phase.yaml +102 -0
  45. package/.aether/commands/interpret.yaml +285 -0
  46. package/.aether/commands/lay-eggs.yaml +224 -0
  47. package/.aether/commands/maturity.yaml +122 -0
  48. package/.aether/commands/memory-details.yaml +74 -0
  49. package/.aether/commands/migrate-state.yaml +174 -0
  50. package/.aether/commands/oracle.yaml +1224 -0
  51. package/.aether/commands/organize.yaml +446 -0
  52. package/.aether/commands/patrol.yaml +621 -0
  53. package/.aether/commands/pause-colony.yaml +424 -0
  54. package/.aether/commands/phase.yaml +124 -0
  55. package/.aether/commands/pheromones.yaml +153 -0
  56. package/.aether/commands/plan.yaml +1364 -0
  57. package/.aether/commands/preferences.yaml +63 -0
  58. package/.aether/commands/quick.yaml +104 -0
  59. package/.aether/commands/redirect.yaml +123 -0
  60. package/.aether/commands/resume-colony.yaml +375 -0
  61. package/.aether/commands/resume.yaml +407 -0
  62. package/.aether/commands/run.yaml +229 -0
  63. package/.aether/commands/seal.yaml +1214 -0
  64. package/.aether/commands/skill-create.yaml +337 -0
  65. package/.aether/commands/status.yaml +408 -0
  66. package/.aether/commands/swarm.yaml +352 -0
  67. package/.aether/commands/tunnels.yaml +814 -0
  68. package/.aether/commands/update.yaml +131 -0
  69. package/.aether/commands/verify-castes.yaml +159 -0
  70. package/.aether/commands/watch.yaml +454 -0
  71. package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
  72. package/.aether/docs/QUEEN-SYSTEM.md +11 -11
  73. package/.aether/docs/README.md +32 -2
  74. package/.aether/docs/command-playbooks/README.md +23 -0
  75. package/.aether/docs/command-playbooks/build-complete.md +349 -0
  76. package/.aether/docs/command-playbooks/build-context.md +282 -0
  77. package/.aether/docs/command-playbooks/build-full.md +1683 -0
  78. package/.aether/docs/command-playbooks/build-prep.md +284 -0
  79. package/.aether/docs/command-playbooks/build-verify.md +405 -0
  80. package/.aether/docs/command-playbooks/build-wave.md +749 -0
  81. package/.aether/docs/command-playbooks/continue-advance.md +524 -0
  82. package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
  83. package/.aether/docs/command-playbooks/continue-full.md +1725 -0
  84. package/.aether/docs/command-playbooks/continue-gates.md +686 -0
  85. package/.aether/docs/command-playbooks/continue-verify.md +407 -0
  86. package/.aether/docs/context-continuity.md +84 -0
  87. package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
  88. package/.aether/docs/error-codes.md +1 -1
  89. package/.aether/docs/known-issues.md +34 -173
  90. package/.aether/docs/pheromones.md +86 -6
  91. package/.aether/docs/plans/pheromone-display-plan.md +257 -0
  92. package/.aether/docs/queen-commands.md +10 -9
  93. package/.aether/docs/source-of-truth-map.md +132 -0
  94. package/.aether/docs/xml-utilities.md +47 -0
  95. package/.aether/rules/aether-colony.md +23 -13
  96. package/.aether/scripts/incident-test-add.sh +47 -0
  97. package/.aether/scripts/weekly-audit.sh +79 -0
  98. package/.aether/skills/.index.json +649 -0
  99. package/.aether/skills/colony/.manifest.json +16 -0
  100. package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
  101. package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
  102. package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
  103. package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
  104. package/.aether/skills/colony/context-management/SKILL.md +80 -0
  105. package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
  106. package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
  107. package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
  108. package/.aether/skills/colony/state-safety/SKILL.md +84 -0
  109. package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
  110. package/.aether/skills/domain/.manifest.json +24 -0
  111. package/.aether/skills/domain/README.md +33 -0
  112. package/.aether/skills/domain/django/SKILL.md +49 -0
  113. package/.aether/skills/domain/docker/SKILL.md +52 -0
  114. package/.aether/skills/domain/golang/SKILL.md +52 -0
  115. package/.aether/skills/domain/graphql/SKILL.md +51 -0
  116. package/.aether/skills/domain/html-css/SKILL.md +48 -0
  117. package/.aether/skills/domain/nextjs/SKILL.md +45 -0
  118. package/.aether/skills/domain/nodejs/SKILL.md +53 -0
  119. package/.aether/skills/domain/postgresql/SKILL.md +53 -0
  120. package/.aether/skills/domain/prisma/SKILL.md +59 -0
  121. package/.aether/skills/domain/python/SKILL.md +50 -0
  122. package/.aether/skills/domain/rails/SKILL.md +52 -0
  123. package/.aether/skills/domain/react/SKILL.md +45 -0
  124. package/.aether/skills/domain/rest-api/SKILL.md +58 -0
  125. package/.aether/skills/domain/svelte/SKILL.md +47 -0
  126. package/.aether/skills/domain/tailwind/SKILL.md +45 -0
  127. package/.aether/skills/domain/testing/SKILL.md +53 -0
  128. package/.aether/skills/domain/typescript/SKILL.md +58 -0
  129. package/.aether/skills/domain/vue/SKILL.md +49 -0
  130. package/.aether/templates/QUEEN.md.template +23 -41
  131. package/.aether/templates/colony-state-reset.jq.template +1 -0
  132. package/.aether/templates/colony-state.template.json +4 -0
  133. package/.aether/templates/learning-observations.template.json +6 -0
  134. package/.aether/templates/midden.template.json +13 -0
  135. package/.aether/templates/pheromones.template.json +6 -0
  136. package/.aether/templates/session.template.json +9 -0
  137. package/.aether/utils/atomic-write.sh +63 -17
  138. package/.aether/utils/chamber-utils.sh +145 -2
  139. package/.aether/utils/council.sh +425 -0
  140. package/.aether/utils/emoji-audit.sh +166 -0
  141. package/.aether/utils/error-handler.sh +21 -7
  142. package/.aether/utils/file-lock.sh +182 -27
  143. package/.aether/utils/flag.sh +278 -0
  144. package/.aether/utils/hive.sh +572 -0
  145. package/.aether/utils/immune.sh +508 -0
  146. package/.aether/utils/learning.sh +1928 -0
  147. package/.aether/utils/midden.sh +520 -0
  148. package/.aether/utils/oracle/oracle.md +168 -0
  149. package/.aether/utils/oracle/oracle.sh +1023 -0
  150. package/.aether/utils/pheromone.sh +2029 -0
  151. package/.aether/utils/queen.sh +1710 -0
  152. package/.aether/utils/scan.sh +860 -0
  153. package/.aether/utils/semantic-cli.sh +10 -8
  154. package/.aether/utils/session.sh +816 -0
  155. package/.aether/utils/skills.sh +509 -0
  156. package/.aether/utils/spawn-tree.sh +103 -271
  157. package/.aether/utils/spawn.sh +260 -0
  158. package/.aether/utils/state-api.sh +389 -0
  159. package/.aether/utils/state-loader.sh +8 -6
  160. package/.aether/utils/suggest.sh +611 -0
  161. package/.aether/utils/swarm-display.sh +10 -1
  162. package/.aether/utils/swarm.sh +1004 -0
  163. package/.aether/utils/watch-spawn-tree.sh +11 -2
  164. package/.aether/utils/xml-compose.sh +2 -2
  165. package/.aether/utils/xml-convert.sh +9 -5
  166. package/.aether/utils/xml-core.sh +5 -9
  167. package/.aether/utils/xml-query.sh +4 -4
  168. package/.aether/workers.md +86 -67
  169. package/.claude/agents/ant/aether-ambassador.md +2 -1
  170. package/.claude/agents/ant/aether-archaeologist.md +6 -1
  171. package/.claude/agents/ant/aether-architect.md +236 -0
  172. package/.claude/agents/ant/aether-auditor.md +6 -1
  173. package/.claude/agents/ant/aether-builder.md +38 -1
  174. package/.claude/agents/ant/aether-chaos.md +2 -1
  175. package/.claude/agents/ant/aether-chronicler.md +1 -0
  176. package/.claude/agents/ant/aether-gatekeeper.md +6 -1
  177. package/.claude/agents/ant/aether-includer.md +1 -0
  178. package/.claude/agents/ant/aether-keeper.md +1 -0
  179. package/.claude/agents/ant/aether-measurer.md +6 -1
  180. package/.claude/agents/ant/aether-oracle.md +237 -0
  181. package/.claude/agents/ant/aether-probe.md +2 -1
  182. package/.claude/agents/ant/aether-queen.md +6 -1
  183. package/.claude/agents/ant/aether-route-setter.md +6 -1
  184. package/.claude/agents/ant/aether-sage.md +68 -3
  185. package/.claude/agents/ant/aether-scout.md +38 -1
  186. package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
  187. package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
  188. package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
  189. package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
  190. package/.claude/agents/ant/aether-tracker.md +6 -1
  191. package/.claude/agents/ant/aether-watcher.md +37 -1
  192. package/.claude/agents/ant/aether-weaver.md +2 -1
  193. package/.claude/commands/ant/archaeology.md +1 -8
  194. package/.claude/commands/ant/build.md +43 -1159
  195. package/.claude/commands/ant/chaos.md +1 -14
  196. package/.claude/commands/ant/colonize.md +3 -14
  197. package/.claude/commands/ant/continue.md +40 -1026
  198. package/.claude/commands/ant/council.md +213 -15
  199. package/.claude/commands/ant/data-clean.md +81 -0
  200. package/.claude/commands/ant/dream.md +12 -9
  201. package/.claude/commands/ant/entomb.md +62 -87
  202. package/.claude/commands/ant/export-signals.md +57 -0
  203. package/.claude/commands/ant/feedback.md +18 -0
  204. package/.claude/commands/ant/flag.md +12 -0
  205. package/.claude/commands/ant/flags.md +22 -8
  206. package/.claude/commands/ant/focus.md +18 -0
  207. package/.claude/commands/ant/help.md +40 -8
  208. package/.claude/commands/ant/history.md +3 -0
  209. package/.claude/commands/ant/import-signals.md +71 -0
  210. package/.claude/commands/ant/init.md +349 -191
  211. package/.claude/commands/ant/insert-phase.md +105 -0
  212. package/.claude/commands/ant/interpret.md +11 -0
  213. package/.claude/commands/ant/lay-eggs.md +167 -158
  214. package/.claude/commands/ant/maturity.md +22 -11
  215. package/.claude/commands/ant/memory-details.md +77 -0
  216. package/.claude/commands/ant/migrate-state.md +6 -0
  217. package/.claude/commands/ant/oracle.md +317 -62
  218. package/.claude/commands/ant/organize.md +10 -5
  219. package/.claude/commands/ant/patrol.md +620 -0
  220. package/.claude/commands/ant/pause-colony.md +8 -22
  221. package/.claude/commands/ant/phase.md +26 -37
  222. package/.claude/commands/ant/pheromones.md +156 -0
  223. package/.claude/commands/ant/plan.md +199 -50
  224. package/.claude/commands/ant/preferences.md +65 -0
  225. package/.claude/commands/ant/quick.md +100 -0
  226. package/.claude/commands/ant/redirect.md +18 -0
  227. package/.claude/commands/ant/resume-colony.md +37 -22
  228. package/.claude/commands/ant/resume.md +60 -7
  229. package/.claude/commands/ant/run.md +231 -0
  230. package/.claude/commands/ant/seal.md +506 -78
  231. package/.claude/commands/ant/skill-create.md +286 -0
  232. package/.claude/commands/ant/status.md +171 -1
  233. package/.claude/commands/ant/swarm.md +11 -23
  234. package/.claude/commands/ant/tunnels.md +1 -0
  235. package/.claude/commands/ant/update.md +58 -135
  236. package/.claude/commands/ant/verify-castes.md +90 -42
  237. package/.claude/commands/ant/watch.md +1 -0
  238. package/.opencode/agents/aether-ambassador.md +1 -1
  239. package/.opencode/agents/aether-architect.md +133 -0
  240. package/.opencode/agents/aether-builder.md +3 -3
  241. package/.opencode/agents/aether-oracle.md +137 -0
  242. package/.opencode/agents/aether-queen.md +1 -1
  243. package/.opencode/agents/aether-route-setter.md +1 -1
  244. package/.opencode/agents/aether-scout.md +1 -1
  245. package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
  246. package/.opencode/agents/aether-surveyor-nest.md +6 -1
  247. package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
  248. package/.opencode/agents/aether-surveyor-provisions.md +6 -1
  249. package/.opencode/agents/aether-tracker.md +1 -1
  250. package/.opencode/agents/aether-watcher.md +1 -1
  251. package/.opencode/agents/aether-weaver.md +1 -1
  252. package/.opencode/commands/ant/archaeology.md +7 -14
  253. package/.opencode/commands/ant/build.md +54 -88
  254. package/.opencode/commands/ant/chaos.md +7 -24
  255. package/.opencode/commands/ant/colonize.md +10 -17
  256. package/.opencode/commands/ant/continue.md +595 -66
  257. package/.opencode/commands/ant/council.md +150 -18
  258. package/.opencode/commands/ant/data-clean.md +77 -0
  259. package/.opencode/commands/ant/dream.md +15 -17
  260. package/.opencode/commands/ant/entomb.md +28 -18
  261. package/.opencode/commands/ant/export-signals.md +54 -0
  262. package/.opencode/commands/ant/feedback.md +24 -5
  263. package/.opencode/commands/ant/flag.md +16 -4
  264. package/.opencode/commands/ant/flags.md +24 -10
  265. package/.opencode/commands/ant/focus.md +22 -5
  266. package/.opencode/commands/ant/help.md +41 -8
  267. package/.opencode/commands/ant/history.md +9 -0
  268. package/.opencode/commands/ant/import-signals.md +68 -0
  269. package/.opencode/commands/ant/init.md +396 -154
  270. package/.opencode/commands/ant/insert-phase.md +111 -0
  271. package/.opencode/commands/ant/interpret.md +16 -0
  272. package/.opencode/commands/ant/lay-eggs.md +184 -112
  273. package/.opencode/commands/ant/maturity.md +18 -2
  274. package/.opencode/commands/ant/memory-details.md +83 -0
  275. package/.opencode/commands/ant/migrate-state.md +12 -0
  276. package/.opencode/commands/ant/oracle.md +322 -67
  277. package/.opencode/commands/ant/organize.md +14 -12
  278. package/.opencode/commands/ant/patrol.md +626 -0
  279. package/.opencode/commands/ant/pause-colony.md +12 -29
  280. package/.opencode/commands/ant/phase.md +30 -40
  281. package/.opencode/commands/ant/pheromones.md +162 -0
  282. package/.opencode/commands/ant/plan.md +210 -57
  283. package/.opencode/commands/ant/preferences.md +71 -0
  284. package/.opencode/commands/ant/quick.md +91 -0
  285. package/.opencode/commands/ant/redirect.md +22 -5
  286. package/.opencode/commands/ant/resume-colony.md +41 -29
  287. package/.opencode/commands/ant/resume.md +80 -20
  288. package/.opencode/commands/ant/run.md +237 -0
  289. package/.opencode/commands/ant/seal.md +230 -25
  290. package/.opencode/commands/ant/skill-create.md +63 -0
  291. package/.opencode/commands/ant/status.md +125 -30
  292. package/.opencode/commands/ant/swarm.md +3 -345
  293. package/.opencode/commands/ant/tunnels.md +3 -9
  294. package/.opencode/commands/ant/update.md +63 -127
  295. package/.opencode/commands/ant/verify-castes.md +96 -42
  296. package/.opencode/commands/ant/watch.md +7 -0
  297. package/CHANGELOG.md +368 -1
  298. package/README.md +195 -324
  299. package/bin/cli.js +236 -429
  300. package/bin/generate-commands.js +186 -0
  301. package/bin/generate-commands.sh +128 -89
  302. package/bin/lib/spawn-logger.js +0 -15
  303. package/bin/lib/update-transaction.js +285 -35
  304. package/bin/npx-install.js +178 -0
  305. package/bin/validate-package.sh +85 -3
  306. package/package.json +16 -4
  307. package/.aether/CONTEXT.md +0 -160
  308. package/.aether/docs/QUEEN.md +0 -84
  309. package/.aether/exchange/colony-registry.xml +0 -11
  310. package/.aether/exchange/pheromones.xml +0 -87
  311. package/.aether/exchange/queen-wisdom.xml +0 -14
  312. package/.aether/model-profiles.yaml +0 -100
  313. package/.aether/utils/spawn-with-model.sh +0 -56
  314. package/bin/lib/model-profiles.js +0 -445
  315. package/bin/lib/model-verify.js +0 -288
  316. package/bin/lib/proxy-health.js +0 -253
  317. package/bin/lib/telemetry.js +0 -441
@@ -0,0 +1,64 @@
1
+ name: "ant:export-signals"
2
+ description: "Export colony pheromone signals to portable XML format"
3
+ body: |
4
+ You are the **Queen**. Export colony pheromone signals to portable XML format.
5
+
6
+ ## Instructions
7
+
8
+ The optional output path is: `{{ARGUMENTS}}`
9
+
10
+ ### Step 1: Validate
11
+
12
+ Read `.aether/data/COLONY_STATE.json`.
13
+ If file missing or `goal: null` -> "No colony initialized. Run /ant:init first.", stop.
14
+
15
+ Parse `{{ARGUMENTS}}`:
16
+ - If a path is provided, use it as the output path.
17
+ - If empty, default to `.aether/exchange/pheromones.xml`.
18
+
19
+ ### Step 2: Export
20
+
21
+ Run using the Bash tool with description "Exporting pheromone signals to XML...":
22
+ ```bash
23
+ bash .aether/aether-utils.sh pheromone-export-xml "<output_path>"
24
+ ```
25
+
26
+ Parse the returned JSON:
27
+ - If `.ok` is `true`: extract `.result.path` and `.result.validated` (if present).
28
+ - If `.ok` is `false`: check `.error` for details. If error mentions `xmllint` or `E_FEATURE_UNAVAILABLE`, display: "XML export requires xmllint. Install with: xcode-select --install (macOS) or apt-get install libxml2-utils (Linux)." Otherwise display the error message and stop.
29
+
30
+ ### Step 3: Confirm
31
+
32
+ {{#claude}}
33
+ Output (3-5 lines, no banners):
34
+ ```
35
+ Pheromone signals exported to XML
36
+ Path: <output_path>
37
+ Validated: <yes/no based on .result.validated>
38
+
39
+ Share this file with another colony using /ant:import-signals.
40
+ ```
41
+ {{/claude}}
42
+ {{#opencode}}
43
+ Output:
44
+ ```
45
+ Export colony pheromone signals to portable XML format
46
+
47
+ Path: <output_path>
48
+ Validated: <yes/no based on .result.validated>
49
+
50
+ Share this file with another colony using /ant:import-signals.
51
+ ```
52
+ {{/opencode}}
53
+
54
+ {{#claude}}
55
+ ### Step 4: Next Up
56
+
57
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
58
+ ```bash
59
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
60
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
61
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
62
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
63
+ ```
64
+ {{/claude}}
@@ -0,0 +1,158 @@
1
+ name: "ant:feedback"
2
+ description: "Emit FEEDBACK signal to provide guidance to colony"
3
+ description_opencode: "💬🐜🧠🐜💬 Emit FEEDBACK signal to provide guidance to colony"
4
+ body: |
5
+ {{#claude}}
6
+ You are the **Queen**. Emit a FEEDBACK pheromone signal.
7
+ {{/claude}}
8
+ {{#opencode}}
9
+ You are the **Queen**. Emit a FEEDBACK signal.
10
+ {{/opencode}}
11
+
12
+ ## Instructions
13
+
14
+ The feedback message is: `{{ARGUMENTS}}`
15
+
16
+ ### Step 1: Validate
17
+
18
+ If `{{ARGUMENTS}}` empty -> show usage: `/ant:feedback <message>`, stop.
19
+ If content > 500 chars -> "Signal content too long (max 500 chars)", stop.
20
+
21
+ {{#claude}}
22
+ Parse optional flags from `$ARGUMENTS`:
23
+ - `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
24
+ - Strip flags from content before using it as the feedback message.
25
+ {{/claude}}
26
+
27
+ ### Step 2: Write Signal and Create Instinct
28
+
29
+ Read `.aether/data/COLONY_STATE.json`.
30
+ If `goal: null` -> "No colony initialized.", stop.
31
+
32
+ {{#claude}}
33
+ {{TOOL_PREFIX "Recording colony feedback..."}}
34
+ ```bash
35
+ bash .aether/aether-utils.sh pheromone-write FEEDBACK "<content>" --strength 0.7 --reason "User feedback guidance" --ttl <ttl>
36
+ ```
37
+
38
+ **Create instinct from feedback:**
39
+ User feedback is high-value learning. Generate ISO-8601 timestamp and append to `memory.instincts` in COLONY_STATE.json:
40
+ ```json
41
+ {
42
+ "id": "instinct_<timestamp>",
43
+ "trigger": "<infer from feedback context>",
44
+ "action": "<the feedback guidance>",
45
+ "confidence": 0.7,
46
+ "domain": "<infer: testing|architecture|code-style|debugging|workflow>",
47
+ "source": "user_feedback",
48
+ "evidence": ["User feedback: <content>"],
49
+ "created_at": "<ISO-8601>",
50
+ "last_applied": null,
51
+ "applications": 0,
52
+ "successes": 0
53
+ }
54
+ ```
55
+
56
+ Write COLONY_STATE.json.
57
+
58
+ ### Step 2.5: Update Context Document
59
+
60
+ {{TOOL_PREFIX "Updating context document..."}}
61
+ ```bash
62
+ bash .aether/aether-utils.sh context-update constraint feedback "<content>" "user" 2>/dev/null || true
63
+ ```
64
+
65
+ ### Step 3: Get Active Counts
66
+
67
+ {{TOOL_PREFIX "Counting active signals..."}}
68
+ ```bash
69
+ bash .aether/aether-utils.sh pheromone-count
70
+ ```
71
+
72
+ ### Step 4: Confirm
73
+
74
+ Output (4 lines, no banners):
75
+ ```
76
+ FEEDBACK signal emitted
77
+ Note: "<content truncated to 60 chars>"
78
+ Strength: 0.7 | Expires: <phase end or ttl value>
79
+ Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
80
+
81
+ Instinct created: [0.7] <domain>: <action summary>
82
+ ```
83
+ {{/claude}}
84
+ {{#opencode}}
85
+ Generate ISO-8601 timestamp.
86
+
87
+ **Add signal:**
88
+ Append to `signals` array:
89
+ ```json
90
+ {
91
+ "id": "feedback_<timestamp_ms>",
92
+ "type": "FEEDBACK",
93
+ "content": "<feedback message>",
94
+ "priority": "low",
95
+ "created_at": "<ISO-8601>",
96
+ "expires_at": "phase_end"
97
+ }
98
+ ```
99
+
100
+ **Create instinct from feedback:**
101
+ User feedback is high-value learning. Append to `memory.instincts`:
102
+ ```json
103
+ {
104
+ "id": "instinct_<timestamp>",
105
+ "trigger": "<infer from feedback context>",
106
+ "action": "<the feedback guidance>",
107
+ "confidence": 0.7,
108
+ "domain": "<infer: testing|architecture|code-style|debugging|workflow>",
109
+ "source": "user_feedback",
110
+ "evidence": ["User feedback: <content>"],
111
+ "created_at": "<ISO-8601>",
112
+ "last_applied": null,
113
+ "applications": 0,
114
+ "successes": 0
115
+ }
116
+ ```
117
+
118
+ Write COLONY_STATE.json.
119
+
120
+ **Write pheromone signal and update context:**
121
+ ```bash
122
+ bash .aether/aether-utils.sh pheromone-write FEEDBACK "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
123
+ bash .aether/aether-utils.sh context-update constraint feedback "$normalized_args" "user" 2>/dev/null || true
124
+ ```
125
+
126
+ ### Step 3: Confirm
127
+
128
+ Output header:
129
+
130
+ ```
131
+ 💬🐜🧠🐜💬 ═══════════════════════════════════════════════════
132
+ F E E D B A C K S I G N A L
133
+ ═══════════════════════════════════════════════════ 💬🐜🧠🐜💬
134
+ ```
135
+
136
+ Then output:
137
+ ```
138
+ 💬 FEEDBACK signal emitted
139
+
140
+ "{content preview}"
141
+
142
+ 🧠 Instinct created: [0.7] <domain>: <action summary>
143
+
144
+ 🐜 The colony will remember this guidance.
145
+ ```
146
+ {{/opencode}}
147
+
148
+ {{#claude}}
149
+ ### Step 5: Next Up
150
+
151
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
152
+ ```bash
153
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
154
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
155
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
156
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
157
+ ```
158
+ {{/claude}}
@@ -0,0 +1,160 @@
1
+ name: "ant:flag"
2
+ description: "🚩🐜📋🐜🚩 Create a project-specific flag (blocker, issue, or note)"
3
+ body: |
4
+ You are the **Queen**. Create a project-specific flag.
5
+
6
+ ## Instructions
7
+
8
+ The flag is: `{{ARGUMENTS}}`
9
+
10
+ ### Step 1: Parse Arguments
11
+
12
+ Parse `{{ARGUMENTS}}` for:
13
+ - `--type` or `-t`: blocker | issue | note (default: issue)
14
+ - `--phase` or `-p`: phase number (optional)
15
+ - Remaining text: the flag title/description
16
+
17
+ Examples:
18
+ - `/ant:flag "Build fails on auth module"` → issue type
19
+ - `/ant:flag --type blocker "API rate limit hit"` → blocker type
20
+ - `/ant:flag -t note -p 3 "Consider refactoring later"` → note for phase 3
21
+
22
+ If `{{ARGUMENTS}}` is empty:
23
+ ```
24
+ Usage: /ant:flag "<description>" [--type blocker|issue|note] [--phase N]
25
+
26
+ Types:
27
+ blocker Critical issue that blocks phase advancement
28
+ issue Warning that should be addressed (default)
29
+ note Informational for future reference
30
+
31
+ Examples:
32
+ /ant:flag "Build fails on auth"
33
+ /ant:flag --type blocker "Tests hanging"
34
+ /ant:flag -t note "Consider refactoring"
35
+ ```
36
+ Stop here.
37
+
38
+ ### Step 2: Validate Colony
39
+
40
+ Read `.aether/data/COLONY_STATE.json`.
41
+ If file missing or `goal: null`:
42
+ ```
43
+ No colony initialized. Run /ant:init first.
44
+ ```
45
+ Stop here.
46
+
47
+ ### Step 3: Create Flag
48
+
49
+ {{TOOL_PREFIX "Raising colony flag..."}}
50
+ ```bash
51
+ bash .aether/aether-utils.sh flag-add "{type}" "{title}" "{description}" "manual" {phase_or_null}
52
+ ```
53
+
54
+ Parse the result for the flag ID.
55
+
56
+ ### Step 4: Confirm
57
+
58
+ Output header based on flag type:
59
+
60
+ **For blocker:**
61
+ ```
62
+ {{#claude}}
63
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
+ 🚩🐜📋🐜🚩 B L O C K E R F L A G C R E A T E D
65
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
+ {{/claude}}
67
+ {{#opencode}}
68
+ 🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
69
+ B L O C K E R F L A G C R E A T E D
70
+ ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
71
+ {{/opencode}}
72
+ ```
73
+
74
+ **For issue:**
75
+ ```
76
+ {{#claude}}
77
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
78
+ 🚩🐜📋🐜🚩 I S S U E F L A G C R E A T E D
79
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
80
+ {{/claude}}
81
+ {{#opencode}}
82
+ 🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
83
+ I S S U E F L A G C R E A T E D
84
+ ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
85
+ {{/opencode}}
86
+ ```
87
+
88
+ **For note:**
89
+ ```
90
+ {{#claude}}
91
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
92
+ 🚩🐜📋🐜🚩 N O T E F L A G C R E A T E D
93
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
94
+ {{/claude}}
95
+ {{#opencode}}
96
+ 🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
97
+ N O T E F L A G C R E A T E D
98
+ ═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
99
+ {{/opencode}}
100
+ ```
101
+
102
+ Then output based on flag type:
103
+
104
+ **For blocker:**
105
+ ```
106
+ 🚫 BLOCKER flag created
107
+
108
+ "{title}"
109
+
110
+ ID: {flag_id}
111
+ Phase: {phase or "all"}
112
+
113
+ ⚠️ This will BLOCK phase advancement until resolved.
114
+ Use /ant:flags to view all flags.
115
+ ```
116
+
117
+ **For issue:**
118
+ ```
119
+ ⚠️ ISSUE flag created
120
+
121
+ "{title}"
122
+
123
+ ID: {flag_id}
124
+ Phase: {phase or "all"}
125
+
126
+ Use /ant:flags to view all flags.
127
+ ```
128
+
129
+ **For note:**
130
+ ```
131
+ 📝 NOTE flag created
132
+
133
+ "{title}"
134
+
135
+ ID: {flag_id}
136
+ Phase: {phase or "all"}
137
+
138
+ Use /ant:flags to view all flags.
139
+ ```
140
+
141
+ {{#claude}}
142
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
143
+ ```bash
144
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
145
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
146
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
147
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
148
+ ```
149
+ {{/claude}}
150
+
151
+ ---
152
+
153
+ ## Flag Lifecycle
154
+
155
+ 1. **Created** - Flag is active and visible
156
+ 2. **Acknowledged** - Flag noted but continuing (issues/notes only)
157
+ 3. **Resolved** - Flag closed with resolution message
158
+ 4. **Auto-resolved** - Blockers auto-resolve on build_pass
159
+
160
+ Blockers CANNOT be acknowledged - they must be resolved before phase advancement.
@@ -0,0 +1,177 @@
1
+ name: "ant:flags"
2
+ description: "📋🐜🚩🐜📋 List project flags (blockers, issues, notes)"
3
+ body: |
4
+ You are the **Queen**. Display project flags.
5
+
6
+ ## Instructions
7
+
8
+ Arguments: `{{ARGUMENTS}}`
9
+
10
+ ### Step 1: Parse Arguments
11
+
12
+ Parse `{{ARGUMENTS}}` for:
13
+ - `--all` or `-a`: Show resolved flags too
14
+ - `--type` or `-t`: Filter by type (blocker|issue|note)
15
+ - `--phase` or `-p`: Filter by phase number
16
+ - `--resolve` or `-r`: Resolve a specific flag ID
17
+ - `--ack` or `-k`: Acknowledge a specific flag ID
18
+
19
+ Examples:
20
+ - `/ant:flags` → Show active flags
21
+ - `/ant:flags --all` → Include resolved flags
22
+ - `/ant:flags -t blocker` → Show only blockers
23
+ - `/ant:flags --resolve flag_123 "Fixed by commit abc"` → Resolve a flag
24
+ - `/ant:flags --ack flag_456` → Acknowledge an issue
25
+
26
+ ### Step 2: Handle Resolution/Acknowledgment
27
+
28
+ {{#claude}}
29
+ If `--resolve` was provided, run using the Bash tool with description "Resolving colony flag...":
30
+ {{/claude}}
31
+ {{#opencode}}
32
+ If `--resolve` was provided:
33
+ {{/opencode}}
34
+ ```bash
35
+ bash .aether/aether-utils.sh flag-resolve "{flag_id}" "{resolution_message}"
36
+ ```
37
+ Output:
38
+ ```
39
+ ✅ Flag resolved: {flag_id}
40
+
41
+ Resolution: {message}
42
+ ```
43
+ Stop here.
44
+
45
+ {{#claude}}
46
+ If `--ack` was provided, run using the Bash tool with description "Acknowledging colony flag...":
47
+ {{/claude}}
48
+ {{#opencode}}
49
+ If `--ack` was provided:
50
+ {{/opencode}}
51
+ ```bash
52
+ bash .aether/aether-utils.sh flag-acknowledge "{flag_id}"
53
+ ```
54
+ Output:
55
+ ```
56
+ 👁️ Flag acknowledged: {flag_id}
57
+
58
+ Flag noted. Continuing with work.
59
+ ```
60
+ Stop here.
61
+
62
+ ### Step 3: List Flags
63
+
64
+ {{#claude}}
65
+ Run using the Bash tool with description "Loading colony flags...":
66
+ {{/claude}}
67
+ {{#opencode}}
68
+ Run:
69
+ {{/opencode}}
70
+ ```bash
71
+ bash .aether/aether-utils.sh flag-list {options}
72
+ ```
73
+
74
+ Parse result for flags array.
75
+
76
+ ### Step 4: Display
77
+
78
+ Output header:
79
+
80
+ {{#claude}}
81
+ ```
82
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
83
+ 📋🐜🚩🐜📋 P R O J E C T F L A G S
84
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
85
+ {{/claude}}
86
+ {{#opencode}}
87
+ ```
88
+ 📋🐜🚩🐜📋 ═══════════════════════════════════════════════════
89
+ P R O J E C T F L A G S
90
+ ═══════════════════════════════════════════════════ 📋🐜🚩🐜📋
91
+ {{/opencode}}
92
+
93
+ If no flags:
94
+ ```
95
+ .-.
96
+ (o o) AETHER COLONY
97
+ | O | Flags
98
+ `-"
99
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
100
+
101
+ ✨ No active flags! Colony is clear.
102
+
103
+ {if --all was used: "No resolved flags either."}
104
+ ```
105
+
106
+ If flags exist:
107
+ ```
108
+ .-.
109
+ (o o) AETHER COLONY
110
+ | O | Flags
111
+ `-"
112
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
+
114
+ {for each flag, grouped by type:}
115
+
116
+ 🚫 BLOCKERS ({count})
117
+ {flag_id}: {title}
118
+ Phase: {phase or "all"} | Created: {date}
119
+ └─ {description preview}
120
+
121
+ ⚠️ ISSUES ({count})
122
+ {flag_id}: {title} {if acknowledged: "[ACK]"}
123
+ Phase: {phase or "all"} | Created: {date}
124
+ └─ {description preview}
125
+
126
+ 📝 NOTES ({count})
127
+ {flag_id}: {title}
128
+ Phase: {phase or "all"} | Created: {date}
129
+ └─ {description preview}
130
+
131
+ {if --all and resolved flags exist:}
132
+
133
+ ✅ RESOLVED ({count})
134
+ {flag_id}: {title}
135
+ Resolved: {date} | {resolution}
136
+
137
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+
139
+ Summary: {blockers} blockers | {issues} issues | {notes} notes
140
+
141
+ {if blockers > 0:}
142
+ ⚠️ Blockers must be resolved before /ant:continue
143
+
144
+ Commands:
145
+ /ant:flags --resolve {id} "message" Resolve a flag
146
+ /ant:flags --ack {id} Acknowledge an issue
147
+ /ant:flag "description" Create new flag
148
+ ```
149
+
150
+ {{#claude}}
151
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
152
+ ```bash
153
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
154
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
155
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
156
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
157
+ ```
158
+ {{/claude}}
159
+
160
+ ---
161
+
162
+ ## Quick Actions
163
+
164
+ **Resolve a flag:**
165
+ ```
166
+ /ant:flags --resolve flag_123456 "Fixed in commit abc123"
167
+ ```
168
+
169
+ **Acknowledge an issue:**
170
+ ```
171
+ /ant:flags --ack flag_789012
172
+ ```
173
+
174
+ **Create a new flag:**
175
+ ```
176
+ /ant:flag --type blocker "Critical issue here"
177
+ ```
@@ -0,0 +1,112 @@
1
+ name: "ant:focus"
2
+ description: "Emit FOCUS signal to guide colony attention"
3
+ description_opencode: "🔦🐜🔍🐜🔦 Emit FOCUS signal to guide colony attention"
4
+ body: |
5
+ {{#claude}}
6
+ You are the **Queen**. Emit a FOCUS pheromone signal.
7
+ {{/claude}}
8
+ {{#opencode}}
9
+ You are the **Queen**. Add a FOCUS constraint.
10
+ {{/opencode}}
11
+
12
+ ## Instructions
13
+
14
+ The focus area is: `{{ARGUMENTS}}`
15
+
16
+ ### Step 1: Validate
17
+
18
+ If `{{ARGUMENTS}}` empty -> show usage: `/ant:focus <area>`, stop.
19
+ If content > 500 chars -> "Focus content too long (max 500 chars)", stop.
20
+
21
+ {{#claude}}
22
+ Parse optional flags from `$ARGUMENTS`:
23
+ - `--ttl <value>`: signal lifetime (e.g., `2h`, `1d`, `7d`). Default: `phase_end`.
24
+ - Strip flags from content before using it as the focus area.
25
+ {{/claude}}
26
+
27
+ ### Step 2: Write Signal
28
+
29
+ Read `.aether/data/COLONY_STATE.json`.
30
+ If `goal: null` -> "No colony initialized.", stop.
31
+
32
+ {{#claude}}
33
+ {{TOOL_PREFIX "Setting colony focus..."}}
34
+ ```bash
35
+ bash .aether/aether-utils.sh pheromone-write FOCUS "<content>" --strength 0.8 --reason "User directed colony attention" --ttl <ttl>
36
+ ```
37
+
38
+ Parse the returned JSON for the signal ID.
39
+
40
+ ### Step 2.5: Update Context Document
41
+
42
+ {{TOOL_PREFIX "Updating context document..."}}
43
+ ```bash
44
+ bash .aether/aether-utils.sh context-update constraint focus "<content>" "user" 2>/dev/null || true
45
+ ```
46
+
47
+ ### Step 3: Get Active Counts
48
+
49
+ {{TOOL_PREFIX "Counting active signals..."}}
50
+ ```bash
51
+ bash .aether/aether-utils.sh pheromone-count
52
+ ```
53
+
54
+ ### Step 4: Confirm
55
+
56
+ Output (3-4 lines, no banners):
57
+ ```
58
+ FOCUS signal emitted
59
+ Area: "<content truncated to 60 chars>"
60
+ Strength: 0.8 | Expires: <phase end or ttl value>
61
+ Active signals: <focus_count> FOCUS, <redirect_count> REDIRECT, <feedback_count> FEEDBACK
62
+ ```
63
+ {{/claude}}
64
+ {{#opencode}}
65
+ Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
66
+ ```json
67
+ {"version": "1.0", "focus": [], "constraints": []}
68
+ ```
69
+
70
+ Append the focus area to the `focus` array.
71
+
72
+ If `focus` array exceeds 5 entries, remove the oldest entries to keep only 5.
73
+
74
+ Write constraints.json.
75
+
76
+ **Write pheromone signal and update context:**
77
+ ```bash
78
+ bash .aether/aether-utils.sh pheromone-write FOCUS "$normalized_args" --strength 0.8 --reason "User directed colony attention" 2>/dev/null || true
79
+ bash .aether/aether-utils.sh context-update constraint focus "$normalized_args" "user" 2>/dev/null || true
80
+ ```
81
+
82
+ ### Step 3: Confirm
83
+
84
+ Output header:
85
+
86
+ ```
87
+ 🔦🐜🔍🐜🔦 ═══════════════════════════════════════════════════
88
+ F O C U S S I G N A L
89
+ ═══════════════════════════════════════════════════ 🔦🐜🔍🐜🔦
90
+ ```
91
+
92
+ Then output:
93
+ ```
94
+ 🎯 FOCUS signal emitted
95
+
96
+ "{content preview}"
97
+
98
+ 🐜 Colony attention directed.
99
+ ```
100
+ {{/opencode}}
101
+
102
+ {{#claude}}
103
+ ### Step 5: Next Up
104
+
105
+ Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
106
+ ```bash
107
+ state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
108
+ current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
109
+ total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
110
+ bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
111
+ ```
112
+ {{/claude}}