aether-colony 3.1.17 → 5.1.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.
- package/.aether/aether-utils.sh +5354 -0
- package/.aether/agents-claude/aether-ambassador.md +265 -0
- package/.aether/agents-claude/aether-archaeologist.md +327 -0
- package/.aether/agents-claude/aether-architect.md +236 -0
- package/.aether/agents-claude/aether-auditor.md +271 -0
- package/.aether/agents-claude/aether-builder.md +224 -0
- package/.aether/agents-claude/aether-chaos.md +269 -0
- package/.aether/agents-claude/aether-chronicler.md +305 -0
- package/.aether/agents-claude/aether-gatekeeper.md +330 -0
- package/.aether/agents-claude/aether-includer.md +374 -0
- package/.aether/agents-claude/aether-keeper.md +272 -0
- package/.aether/agents-claude/aether-measurer.md +322 -0
- package/.aether/agents-claude/aether-oracle.md +237 -0
- package/.aether/agents-claude/aether-probe.md +211 -0
- package/.aether/agents-claude/aether-queen.md +330 -0
- package/.aether/agents-claude/aether-route-setter.md +178 -0
- package/.aether/agents-claude/aether-sage.md +418 -0
- package/.aether/agents-claude/aether-scout.md +179 -0
- package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
- package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
- package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
- package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
- package/.aether/agents-claude/aether-tracker.md +270 -0
- package/.aether/agents-claude/aether-watcher.md +280 -0
- package/.aether/agents-claude/aether-weaver.md +248 -0
- package/.aether/commands/archaeology.yaml +653 -0
- package/.aether/commands/build.yaml +1221 -0
- package/.aether/commands/chaos.yaml +653 -0
- package/.aether/commands/colonize.yaml +438 -0
- package/.aether/commands/continue.yaml +1484 -0
- package/.aether/commands/council.yaml +304 -0
- package/.aether/commands/data-clean.yaml +80 -0
- package/.aether/commands/dream.yaml +275 -0
- package/.aether/commands/entomb.yaml +863 -0
- package/.aether/commands/export-signals.yaml +64 -0
- package/.aether/commands/feedback.yaml +158 -0
- package/.aether/commands/flag.yaml +160 -0
- package/.aether/commands/flags.yaml +177 -0
- package/.aether/commands/focus.yaml +112 -0
- package/.aether/commands/help.yaml +167 -0
- package/.aether/commands/history.yaml +137 -0
- package/.aether/commands/import-signals.yaml +79 -0
- package/.aether/commands/init.yaml +469 -0
- package/.aether/commands/insert-phase.yaml +98 -0
- package/.aether/commands/interpret.yaml +285 -0
- package/.aether/commands/lay-eggs.yaml +224 -0
- package/.aether/commands/maturity.yaml +122 -0
- package/.aether/commands/memory-details.yaml +74 -0
- package/.aether/commands/migrate-state.yaml +174 -0
- package/.aether/commands/oracle.yaml +1224 -0
- package/.aether/commands/organize.yaml +446 -0
- package/.aether/commands/patrol.yaml +621 -0
- package/.aether/commands/pause-colony.yaml +424 -0
- package/.aether/commands/phase.yaml +124 -0
- package/.aether/commands/pheromones.yaml +153 -0
- package/.aether/commands/plan.yaml +1313 -0
- package/.aether/commands/preferences.yaml +63 -0
- package/.aether/commands/redirect.yaml +123 -0
- package/.aether/commands/resume-colony.yaml +373 -0
- package/.aether/commands/resume.yaml +398 -0
- package/.aether/commands/run.yaml +193 -0
- package/.aether/commands/seal.yaml +1205 -0
- package/.aether/commands/skill-create.yaml +337 -0
- package/.aether/commands/status.yaml +364 -0
- package/.aether/commands/swarm.yaml +352 -0
- package/.aether/commands/tunnels.yaml +814 -0
- package/.aether/commands/update.yaml +131 -0
- package/.aether/commands/verify-castes.yaml +159 -0
- package/.aether/commands/watch.yaml +454 -0
- package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
- package/.aether/docs/QUEEN-SYSTEM.md +211 -0
- package/.aether/docs/README.md +98 -0
- package/.aether/docs/caste-system.md +48 -0
- package/.aether/docs/command-playbooks/README.md +23 -0
- package/.aether/docs/command-playbooks/build-complete.md +349 -0
- package/.aether/docs/command-playbooks/build-context.md +282 -0
- package/.aether/docs/command-playbooks/build-full.md +1682 -0
- package/.aether/docs/command-playbooks/build-prep.md +283 -0
- package/.aether/docs/command-playbooks/build-verify.md +405 -0
- package/.aether/docs/command-playbooks/build-wave.md +749 -0
- package/.aether/docs/command-playbooks/continue-advance.md +524 -0
- package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
- package/.aether/docs/command-playbooks/continue-full.md +1724 -0
- package/.aether/docs/command-playbooks/continue-gates.md +686 -0
- package/.aether/docs/command-playbooks/continue-verify.md +406 -0
- package/.aether/docs/context-continuity.md +84 -0
- package/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +13 -11
- package/.aether/docs/error-codes.md +268 -0
- package/.aether/docs/known-issues.md +94 -0
- package/{runtime → .aether}/docs/pheromones.md +86 -6
- package/.aether/docs/plans/pheromone-display-plan.md +257 -0
- package/.aether/docs/queen-commands.md +98 -0
- package/.aether/docs/source-of-truth-map.md +132 -0
- package/.aether/docs/xml-utilities.md +47 -0
- package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
- package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
- package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
- package/.aether/rules/aether-colony.md +144 -0
- package/.aether/schemas/example-prompt-builder.xml +234 -0
- package/.aether/scripts/incident-test-add.sh +47 -0
- package/.aether/scripts/weekly-audit.sh +79 -0
- package/.aether/skills/.index.json +649 -0
- package/.aether/skills/colony/.manifest.json +16 -0
- package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
- package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
- package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
- package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
- package/.aether/skills/colony/context-management/SKILL.md +80 -0
- package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
- package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
- package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
- package/.aether/skills/colony/state-safety/SKILL.md +84 -0
- package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
- package/.aether/skills/domain/.manifest.json +24 -0
- package/.aether/skills/domain/README.md +33 -0
- package/.aether/skills/domain/django/SKILL.md +49 -0
- package/.aether/skills/domain/docker/SKILL.md +52 -0
- package/.aether/skills/domain/golang/SKILL.md +52 -0
- package/.aether/skills/domain/graphql/SKILL.md +51 -0
- package/.aether/skills/domain/html-css/SKILL.md +48 -0
- package/.aether/skills/domain/nextjs/SKILL.md +45 -0
- package/.aether/skills/domain/nodejs/SKILL.md +53 -0
- package/.aether/skills/domain/postgresql/SKILL.md +53 -0
- package/.aether/skills/domain/prisma/SKILL.md +59 -0
- package/.aether/skills/domain/python/SKILL.md +50 -0
- package/.aether/skills/domain/rails/SKILL.md +52 -0
- package/.aether/skills/domain/react/SKILL.md +45 -0
- package/.aether/skills/domain/rest-api/SKILL.md +58 -0
- package/.aether/skills/domain/svelte/SKILL.md +47 -0
- package/.aether/skills/domain/tailwind/SKILL.md +45 -0
- package/.aether/skills/domain/testing/SKILL.md +53 -0
- package/.aether/skills/domain/typescript/SKILL.md +58 -0
- package/.aether/skills/domain/vue/SKILL.md +49 -0
- package/.aether/templates/QUEEN.md.template +61 -0
- package/.aether/templates/colony-state-reset.jq.template +23 -0
- package/.aether/templates/colony-state.template.json +39 -0
- package/.aether/templates/constraints.template.json +9 -0
- package/.aether/templates/crowned-anthill.template.md +36 -0
- package/.aether/templates/handoff-build-error.template.md +30 -0
- package/.aether/templates/handoff-build-success.template.md +39 -0
- package/.aether/templates/handoff.template.md +40 -0
- package/.aether/templates/learning-observations.template.json +6 -0
- package/.aether/templates/midden.template.json +13 -0
- package/.aether/templates/pheromones.template.json +6 -0
- package/.aether/templates/session.template.json +9 -0
- package/{runtime → .aether}/utils/atomic-write.sh +68 -22
- package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
- package/.aether/utils/chamber-utils.sh +440 -0
- package/.aether/utils/emoji-audit.sh +166 -0
- package/{runtime → .aether}/utils/error-handler.sh +34 -8
- package/.aether/utils/file-lock.sh +313 -0
- package/.aether/utils/flag.sh +267 -0
- package/.aether/utils/hive.sh +572 -0
- package/.aether/utils/learning.sh +1928 -0
- package/.aether/utils/midden.sh +342 -0
- package/.aether/utils/oracle/oracle.md +168 -0
- package/.aether/utils/oracle/oracle.sh +1023 -0
- package/.aether/utils/pheromone.sh +2029 -0
- package/.aether/utils/queen.sh +1698 -0
- package/.aether/utils/scan.sh +860 -0
- package/.aether/utils/semantic-cli.sh +415 -0
- package/.aether/utils/session.sh +552 -0
- package/.aether/utils/skills.sh +509 -0
- package/.aether/utils/spawn-tree.sh +260 -0
- package/.aether/utils/spawn.sh +260 -0
- package/.aether/utils/state-api.sh +199 -0
- package/{runtime → .aether}/utils/state-loader.sh +8 -6
- package/.aether/utils/suggest.sh +611 -0
- package/{runtime → .aether}/utils/swarm-display.sh +10 -1
- package/.aether/utils/swarm.sh +1004 -0
- package/{runtime → .aether}/utils/watch-spawn-tree.sh +11 -2
- package/{runtime → .aether}/utils/xml-compose.sh +9 -3
- package/.aether/utils/xml-convert.sh +277 -0
- package/{runtime → .aether}/utils/xml-core.sh +5 -9
- package/.aether/utils/xml-query.sh +201 -0
- package/.aether/utils/xml-utils.sh +110 -0
- package/{runtime → .aether}/workers.md +97 -81
- package/.claude/agents/ant/aether-ambassador.md +265 -0
- package/.claude/agents/ant/aether-archaeologist.md +327 -0
- package/.claude/agents/ant/aether-architect.md +236 -0
- package/.claude/agents/ant/aether-auditor.md +271 -0
- package/.claude/agents/ant/aether-builder.md +224 -0
- package/.claude/agents/ant/aether-chaos.md +269 -0
- package/.claude/agents/ant/aether-chronicler.md +305 -0
- package/.claude/agents/ant/aether-gatekeeper.md +330 -0
- package/.claude/agents/ant/aether-includer.md +374 -0
- package/.claude/agents/ant/aether-keeper.md +272 -0
- package/.claude/agents/ant/aether-measurer.md +322 -0
- package/.claude/agents/ant/aether-oracle.md +237 -0
- package/.claude/agents/ant/aether-probe.md +211 -0
- package/.claude/agents/ant/aether-queen.md +330 -0
- package/.claude/agents/ant/aether-route-setter.md +178 -0
- package/.claude/agents/ant/aether-sage.md +418 -0
- package/.claude/agents/ant/aether-scout.md +179 -0
- package/.claude/agents/ant/aether-surveyor-disciplines.md +417 -0
- package/.claude/agents/ant/aether-surveyor-nest.md +355 -0
- package/.claude/agents/ant/aether-surveyor-pathogens.md +289 -0
- package/.claude/agents/ant/aether-surveyor-provisions.md +360 -0
- package/.claude/agents/ant/aether-tracker.md +270 -0
- package/.claude/agents/ant/aether-watcher.md +280 -0
- package/.claude/agents/ant/aether-weaver.md +248 -0
- package/.claude/commands/ant/archaeology.md +16 -14
- package/.claude/commands/ant/build.md +43 -1028
- package/.claude/commands/ant/chaos.md +19 -23
- package/.claude/commands/ant/colonize.md +52 -31
- package/.claude/commands/ant/continue.md +40 -1016
- package/.claude/commands/ant/council.md +21 -18
- package/.claude/commands/ant/data-clean.md +81 -0
- package/.claude/commands/ant/dream.md +27 -15
- package/.claude/commands/ant/entomb.md +317 -225
- package/.claude/commands/ant/export-signals.md +57 -0
- package/.claude/commands/ant/feedback.md +48 -26
- package/.claude/commands/ant/flag.md +30 -10
- package/.claude/commands/ant/flags.md +34 -12
- package/.claude/commands/ant/focus.md +45 -19
- package/.claude/commands/ant/help.md +50 -8
- package/.claude/commands/ant/history.md +13 -0
- package/.claude/commands/ant/import-signals.md +71 -0
- package/.claude/commands/ant/init.md +345 -194
- package/.claude/commands/ant/insert-phase.md +101 -0
- package/.claude/commands/ant/interpret.md +26 -4
- package/.claude/commands/ant/lay-eggs.md +184 -127
- package/.claude/commands/ant/maturity.md +32 -11
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +20 -2
- package/.claude/commands/ant/oracle.md +337 -74
- package/.claude/commands/ant/organize.md +39 -25
- package/.claude/commands/ant/patrol.md +620 -0
- package/.claude/commands/ant/pause-colony.md +23 -27
- package/.claude/commands/ant/phase.md +40 -42
- package/.claude/commands/ant/pheromones.md +156 -0
- package/.claude/commands/ant/plan.md +185 -51
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/redirect.md +45 -30
- package/.claude/commands/ant/resume-colony.md +51 -27
- package/.claude/commands/ant/resume.md +314 -94
- package/.claude/commands/ant/run.md +195 -0
- package/.claude/commands/ant/seal.md +650 -221
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +196 -31
- package/.claude/commands/ant/swarm.md +16 -46
- package/.claude/commands/ant/tunnels.md +280 -105
- package/.claude/commands/ant/update.md +73 -89
- package/.claude/commands/ant/verify-castes.md +100 -42
- package/.claude/commands/ant/watch.md +14 -12
- package/.opencode/agents/aether-ambassador.md +63 -20
- package/.opencode/agents/aether-archaeologist.md +29 -12
- package/.opencode/agents/aether-architect.md +103 -36
- package/.opencode/agents/aether-auditor.md +51 -18
- package/.opencode/agents/aether-builder.md +70 -20
- package/.opencode/agents/aether-chaos.md +29 -12
- package/.opencode/agents/aether-chronicler.md +60 -18
- package/.opencode/agents/aether-gatekeeper.md +27 -18
- package/.opencode/agents/aether-includer.md +27 -18
- package/.opencode/agents/aether-keeper.md +89 -18
- package/.opencode/agents/aether-measurer.md +27 -18
- package/.opencode/agents/aether-oracle.md +137 -0
- package/.opencode/agents/aether-probe.md +60 -18
- package/.opencode/agents/aether-queen.md +172 -24
- package/.opencode/agents/aether-route-setter.md +57 -12
- package/.opencode/agents/aether-sage.md +26 -18
- package/.opencode/agents/aether-scout.md +28 -20
- package/.opencode/agents/aether-surveyor-disciplines.md +59 -2
- package/.opencode/agents/aether-surveyor-nest.md +59 -2
- package/.opencode/agents/aether-surveyor-pathogens.md +57 -2
- package/.opencode/agents/aether-surveyor-provisions.md +59 -2
- package/.opencode/agents/aether-tracker.md +64 -18
- package/.opencode/agents/aether-watcher.md +66 -19
- package/.opencode/agents/aether-weaver.md +61 -18
- package/.opencode/commands/ant/archaeology.md +7 -14
- package/.opencode/commands/ant/build.md +437 -257
- package/.opencode/commands/ant/chaos.md +7 -24
- package/.opencode/commands/ant/colonize.md +8 -17
- package/.opencode/commands/ant/continue.md +661 -142
- package/.opencode/commands/ant/council.md +11 -22
- package/.opencode/commands/ant/data-clean.md +77 -0
- package/.opencode/commands/ant/dream.md +15 -17
- package/.opencode/commands/ant/entomb.md +133 -62
- package/.opencode/commands/ant/export-signals.md +54 -0
- package/.opencode/commands/ant/feedback.md +24 -5
- package/.opencode/commands/ant/flag.md +16 -4
- package/.opencode/commands/ant/flags.md +24 -10
- package/.opencode/commands/ant/focus.md +22 -5
- package/.opencode/commands/ant/help.md +41 -8
- package/.opencode/commands/ant/history.md +9 -0
- package/.opencode/commands/ant/import-signals.md +68 -0
- package/.opencode/commands/ant/init.md +374 -167
- package/.opencode/commands/ant/insert-phase.md +107 -0
- package/.opencode/commands/ant/interpret.md +16 -0
- package/.opencode/commands/ant/lay-eggs.md +184 -112
- package/.opencode/commands/ant/maturity.md +18 -2
- package/.opencode/commands/ant/memory-details.md +83 -0
- package/.opencode/commands/ant/migrate-state.md +12 -0
- package/.opencode/commands/ant/oracle.md +322 -67
- package/.opencode/commands/ant/organize.md +18 -16
- package/.opencode/commands/ant/patrol.md +626 -0
- package/.opencode/commands/ant/pause-colony.md +12 -29
- package/.opencode/commands/ant/phase.md +30 -40
- package/.opencode/commands/ant/pheromones.md +162 -0
- package/.opencode/commands/ant/plan.md +184 -56
- package/.opencode/commands/ant/preferences.md +71 -0
- package/.opencode/commands/ant/redirect.md +22 -5
- package/.opencode/commands/ant/resume-colony.md +38 -27
- package/.opencode/commands/ant/resume.md +385 -0
- package/.opencode/commands/ant/run.md +201 -0
- package/.opencode/commands/ant/seal.md +259 -45
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +135 -31
- package/.opencode/commands/ant/swarm.md +3 -345
- package/.opencode/commands/ant/tunnels.md +152 -9
- package/.opencode/commands/ant/update.md +70 -91
- package/.opencode/commands/ant/verify-castes.md +96 -42
- package/.opencode/commands/ant/watch.md +7 -0
- package/CHANGELOG.md +356 -0
- package/README.md +203 -573
- package/bin/cli.js +455 -527
- package/bin/generate-commands.js +186 -0
- package/bin/generate-commands.sh +127 -88
- package/bin/lib/init.js +13 -3
- package/bin/lib/spawn-logger.js +0 -15
- package/bin/lib/update-transaction.js +392 -140
- package/bin/npx-install.js +178 -0
- package/bin/sync-to-runtime.sh +5 -137
- package/bin/validate-package.sh +166 -0
- package/package.json +14 -7
- package/.opencode/agents/aether-guardian.md +0 -107
- package/.opencode/agents/workers.md +0 -1034
- package/bin/lib/model-profiles.js +0 -445
- package/bin/lib/model-verify.js +0 -288
- package/bin/lib/proxy-health.js +0 -253
- package/bin/lib/telemetry.js +0 -441
- package/runtime/CONTEXT.md +0 -160
- package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
- package/runtime/aether-utils.sh +0 -3879
- package/runtime/data/signatures.json +0 -41
- package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
- package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
- package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
- package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
- package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
- package/runtime/docs/README.md +0 -94
- package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
- package/runtime/docs/biological-reference.md +0 -272
- package/runtime/docs/codebase-review.md +0 -399
- package/runtime/docs/command-sync.md +0 -164
- package/runtime/docs/constraints.md +0 -116
- package/runtime/docs/implementation-learnings.md +0 -89
- package/runtime/docs/known-issues.md +0 -217
- package/runtime/docs/namespace.md +0 -148
- package/runtime/docs/pathogen-schema-example.json +0 -36
- package/runtime/docs/pathogen-schema.md +0 -111
- package/runtime/docs/planning-discipline.md +0 -159
- package/runtime/docs/progressive-disclosure.md +0 -184
- package/runtime/lib/queen-utils.sh +0 -729
- package/runtime/model-profiles.yaml +0 -100
- package/runtime/planning.md +0 -159
- package/runtime/recover.sh +0 -136
- package/runtime/templates/QUEEN.md.template +0 -79
- package/runtime/utils/chamber-utils.sh +0 -285
- package/runtime/utils/file-lock.sh +0 -122
- package/runtime/utils/spawn-tree.sh +0 -428
- package/runtime/utils/spawn-with-model.sh +0 -56
- package/runtime/utils/xml-utils.sh +0 -2196
- package/runtime/workers-new-castes.md +0 -516
- /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
- /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
- /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
- /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
- /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
- /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
- /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
- /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
- /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/skill-create.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:skill-create
|
|
4
|
+
description: "Create a custom domain skill using Oracle mini-research and a guided wizard"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are the **Builder**. Create a custom domain skill by researching best practices and guiding the user through a wizard.
|
|
8
|
+
|
|
9
|
+
The user's input is: `$ARGUMENTS`
|
|
10
|
+
|
|
11
|
+
## Instructions
|
|
12
|
+
|
|
13
|
+
### Step 0: Parse Arguments
|
|
14
|
+
|
|
15
|
+
Extract the topic from `$ARGUMENTS`.
|
|
16
|
+
|
|
17
|
+
If `$ARGUMENTS` is empty, output:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Skill Creator — Usage
|
|
21
|
+
|
|
22
|
+
/ant:skill-create "topic"
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
/ant:skill-create "kubernetes"
|
|
26
|
+
/ant:skill-create "fastapi"
|
|
27
|
+
/ant:skill-create "terraform"
|
|
28
|
+
|
|
29
|
+
This will research the topic, ask a few questions, and generate
|
|
30
|
+
a custom SKILL.md in ~/.aether/skills/domain/
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Stop here.
|
|
34
|
+
|
|
35
|
+
Set `TOPIC` to the value of `$ARGUMENTS` (strip surrounding quotes).
|
|
36
|
+
Derive `SKILL_NAME` by lowercasing `TOPIC`, replacing spaces with hyphens, and removing any non-alphanumeric/hyphen characters.
|
|
37
|
+
|
|
38
|
+
Proceed to Step 1.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### Step 1: Oracle Mini-Research (5 iterations)
|
|
43
|
+
|
|
44
|
+
Run a focused mini-research session on the topic. This is a self-contained research cycle -- it does not require an existing Oracle session.
|
|
45
|
+
|
|
46
|
+
**1a. Web search for best practices**
|
|
47
|
+
|
|
48
|
+
Use WebSearch to search for:
|
|
49
|
+
- `"$TOPIC best practices 2025"`
|
|
50
|
+
- `"$TOPIC common mistakes to avoid"`
|
|
51
|
+
- `"$TOPIC project structure conventions"`
|
|
52
|
+
|
|
53
|
+
Collect the top findings from each search (titles, key points, URLs).
|
|
54
|
+
|
|
55
|
+
**1b. Codebase scan for existing usage**
|
|
56
|
+
|
|
57
|
+
Use Grep and Glob to scan the current repository for patterns related to the topic:
|
|
58
|
+
- Search for imports, config files, or dependencies matching `TOPIC`
|
|
59
|
+
- Note any existing conventions or patterns in the codebase
|
|
60
|
+
|
|
61
|
+
**1c. Compile findings into a research summary**
|
|
62
|
+
|
|
63
|
+
After 5 iterations of searching and reading (web search results, codebase patterns), compile a structured summary:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Research Summary: $TOPIC
|
|
67
|
+
|
|
68
|
+
Key Best Practices:
|
|
69
|
+
1. ...
|
|
70
|
+
2. ...
|
|
71
|
+
3. ...
|
|
72
|
+
|
|
73
|
+
Common Pitfalls:
|
|
74
|
+
1. ...
|
|
75
|
+
2. ...
|
|
76
|
+
|
|
77
|
+
Project Structure Conventions:
|
|
78
|
+
- ...
|
|
79
|
+
|
|
80
|
+
Codebase Observations:
|
|
81
|
+
- (what was found in the current repo, if anything)
|
|
82
|
+
|
|
83
|
+
Sources:
|
|
84
|
+
- ...
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Display this summary to the user before proceeding.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### Step 2: Wizard Questions
|
|
92
|
+
|
|
93
|
+
Use AskUserQuestion to guide the user through skill customization. Ask each question one at a time.
|
|
94
|
+
|
|
95
|
+
**Question 1: Focus Area**
|
|
96
|
+
|
|
97
|
+
Based on the Oracle research findings, identify 2-4 distinct aspects of the topic. Present them as options:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
What aspect of $TOPIC should this skill focus on?
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Options (dynamically generated from research, for example):
|
|
104
|
+
1. **Core patterns and architecture** -- Fundamental design patterns and project structure
|
|
105
|
+
2. **Performance and optimization** -- Speed, caching, resource management
|
|
106
|
+
3. **Testing and quality** -- Test strategies, coverage, CI/CD integration
|
|
107
|
+
4. **Comprehensive guide** -- Cover all major aspects in a single skill
|
|
108
|
+
|
|
109
|
+
(Adapt the options based on what the research actually found. Always include a "comprehensive" option as the last choice.)
|
|
110
|
+
|
|
111
|
+
**Question 2: Experience Level**
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
What experience level should this skill target?
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Options:
|
|
118
|
+
1. **Beginner** -- Explain fundamentals, include examples, avoid advanced patterns
|
|
119
|
+
2. **Intermediate** -- Assume basics, focus on best practices and common patterns
|
|
120
|
+
3. **Advanced** -- Expert-level patterns, performance tuning, edge cases
|
|
121
|
+
|
|
122
|
+
**Question 3: Custom Rules or Constraints**
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
Any specific rules or constraints to include? (e.g., "always use TypeScript", "prefer composition over inheritance", "no classes")
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Options:
|
|
129
|
+
1. **No specific rules** -- Use standard best practices from the research
|
|
130
|
+
2. **Yes, I have rules** -- I want to add custom constraints
|
|
131
|
+
|
|
132
|
+
If the user selects option 2, ask a follow-up AskUserQuestion with free text:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
Enter your rules or constraints (free text):
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Capture the user's custom rules for inclusion in the skill.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### Step 3: Generate SKILL.md
|
|
143
|
+
|
|
144
|
+
Based on the research findings and wizard answers, generate a complete skill file.
|
|
145
|
+
|
|
146
|
+
**3a. Determine frontmatter values**
|
|
147
|
+
|
|
148
|
+
- `name`: Use `SKILL_NAME` (the sanitized, lowercased topic)
|
|
149
|
+
- `description`: Generate a concise description like "Use when the project uses $TOPIC" or "Best practices for $TOPIC development"
|
|
150
|
+
- `type: domain`
|
|
151
|
+
- `domains`: Infer 2-4 relevant domain tags from the research (e.g., `[frontend, components]` for React, `[backend, api]` for FastAPI)
|
|
152
|
+
- `agent_roles: [builder]`
|
|
153
|
+
- `detect_files`: Infer file patterns that indicate this technology is in use (e.g., `["*.py", "requirements.txt"]` for Python frameworks, `["Dockerfile", "docker-compose.yml"]` for Docker)
|
|
154
|
+
- `detect_packages`: Infer package names that indicate this technology (e.g., `["fastapi"]`, `["terraform"]`)
|
|
155
|
+
- `priority: normal`
|
|
156
|
+
- `version: "1.0"`
|
|
157
|
+
|
|
158
|
+
**3b. Generate the body content**
|
|
159
|
+
|
|
160
|
+
Write a comprehensive best-practices guide structured as follows:
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
# $TOPIC Best Practices
|
|
164
|
+
|
|
165
|
+
## [Aspect heading based on focus area]
|
|
166
|
+
|
|
167
|
+
[2-3 paragraphs of actionable guidance drawn from Oracle research]
|
|
168
|
+
[Adapt depth and complexity to the selected experience level]
|
|
169
|
+
|
|
170
|
+
## [Next aspect heading]
|
|
171
|
+
|
|
172
|
+
[More guidance...]
|
|
173
|
+
|
|
174
|
+
## Common Pitfalls
|
|
175
|
+
|
|
176
|
+
[List of things to avoid, drawn from research]
|
|
177
|
+
|
|
178
|
+
## [Additional sections as appropriate for the topic]
|
|
179
|
+
|
|
180
|
+
[Custom rules or constraints from wizard Question 3, if any, integrated naturally into the guide]
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Guidelines for body content:
|
|
184
|
+
- Write in the same style as existing skills (direct, actionable, no fluff)
|
|
185
|
+
- Reference the React SKILL.md at `.aether/skills/domain/react/SKILL.md` for tone and structure
|
|
186
|
+
- Beginner level: include more explanation and examples
|
|
187
|
+
- Intermediate level: focus on patterns and best practices
|
|
188
|
+
- Advanced level: include edge cases, performance tuning, and expert techniques
|
|
189
|
+
- If the user provided custom rules, weave them into the relevant sections rather than listing them separately
|
|
190
|
+
- Keep total body length between 30-80 lines (matching existing skills)
|
|
191
|
+
|
|
192
|
+
**3c. Assemble the full SKILL.md content**
|
|
193
|
+
|
|
194
|
+
Combine the frontmatter and body into a single file:
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
---
|
|
198
|
+
name: {SKILL_NAME}
|
|
199
|
+
description: {description}
|
|
200
|
+
type: domain
|
|
201
|
+
domains: [{domain1}, {domain2}]
|
|
202
|
+
agent_roles: [builder]
|
|
203
|
+
detect_files: ["{pattern1}", "{pattern2}"]
|
|
204
|
+
detect_packages: ["{package1}"]
|
|
205
|
+
priority: normal
|
|
206
|
+
version: "1.0"
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
{body content}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### Step 4: Write and Verify
|
|
215
|
+
|
|
216
|
+
**4a. Create the skill directory and write the file**
|
|
217
|
+
|
|
218
|
+
Run using the Bash tool with description "Creating skill directory...":
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
mkdir -p ~/.aether/skills/domain/{SKILL_NAME}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Use the Write tool to create `~/.aether/skills/domain/{SKILL_NAME}/SKILL.md` with the assembled content.
|
|
225
|
+
|
|
226
|
+
**4b. Verify frontmatter parses correctly**
|
|
227
|
+
|
|
228
|
+
Run using the Bash tool with description "Verifying skill frontmatter...":
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
bash .aether/aether-utils.sh skill-parse-frontmatter ~/.aether/skills/domain/{SKILL_NAME}/SKILL.md
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Check the output. If the result contains `"ok": true` (or the parsed JSON shows the correct name and type), the skill is valid. If parsing fails, fix the frontmatter and retry once.
|
|
235
|
+
|
|
236
|
+
**4c. Rebuild skill cache**
|
|
237
|
+
|
|
238
|
+
Run using the Bash tool with description "Rebuilding skill cache...":
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
bash .aether/aether-utils.sh skill-cache-rebuild
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**4d. Show the result**
|
|
245
|
+
|
|
246
|
+
Display the generated skill to the user:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
Skill Created: {SKILL_NAME}
|
|
250
|
+
|
|
251
|
+
Location: ~/.aether/skills/domain/{SKILL_NAME}/SKILL.md
|
|
252
|
+
Type: domain
|
|
253
|
+
Domains: {domains list}
|
|
254
|
+
Detects: {detect_files and detect_packages}
|
|
255
|
+
Level: {experience level}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Then show the full content of the SKILL.md file.
|
|
259
|
+
|
|
260
|
+
**4e. Offer adjustments**
|
|
261
|
+
|
|
262
|
+
Use AskUserQuestion to ask:
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
Happy with this skill, or want to adjust anything?
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Options:
|
|
269
|
+
1. **Looks good** -- Keep it as-is
|
|
270
|
+
2. **Adjust content** -- I want to change some of the guidance
|
|
271
|
+
3. **Regenerate** -- Start over with different options
|
|
272
|
+
|
|
273
|
+
If the user selects option 2, ask what they want to change, make the edits, re-write the file, and re-run `skill-parse-frontmatter` and `skill-cache-rebuild`.
|
|
274
|
+
|
|
275
|
+
If the user selects option 3, go back to Step 2.
|
|
276
|
+
|
|
277
|
+
If the user selects option 1, output:
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
Skill "{SKILL_NAME}" is ready. It will automatically activate in projects
|
|
281
|
+
that match its detection patterns (files: {detect_files}, packages: {detect_packages}).
|
|
282
|
+
|
|
283
|
+
You can also view all installed skills with: /ant:skill-list
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Stop here.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/status.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:status
|
|
3
4
|
description: "📈🐜🏘️🐜📈 Show colony status at a glance"
|
|
@@ -9,7 +10,7 @@ You are the **Queen**. Show colony status.
|
|
|
9
10
|
|
|
10
11
|
### Step 0: Version Check (Non-blocking)
|
|
11
12
|
|
|
12
|
-
Run using the Bash tool: `bash .aether/aether-utils.sh version-check 2>/dev/null || true`
|
|
13
|
+
Run using the Bash tool with description "Checking colony version...": `bash .aether/aether-utils.sh version-check-cached 2>/dev/null || true`
|
|
13
14
|
|
|
14
15
|
If the command succeeds and the JSON result contains a non-empty string, display it as a one-line notice. Proceed regardless of outcome.
|
|
15
16
|
|
|
@@ -51,7 +52,7 @@ If `version` field is missing, "1.0", or "2.0":
|
|
|
51
52
|
|
|
52
53
|
### Step 1.5: Load State and Show Resumption Context
|
|
53
54
|
|
|
54
|
-
Run using Bash tool: `bash .aether/aether-utils.sh load-state`
|
|
55
|
+
Run using the Bash tool with description "Loading colony state...": `bash .aether/aether-utils.sh load-state`
|
|
55
56
|
|
|
56
57
|
If successful and goal is not null:
|
|
57
58
|
1. Extract current_phase from state
|
|
@@ -69,29 +70,72 @@ If successful and goal is not null:
|
|
|
69
70
|
- Read .aether/HANDOFF.md content for additional context
|
|
70
71
|
- Remove .aether/HANDOFF.md after displaying (cleanup)
|
|
71
72
|
|
|
72
|
-
Run: `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
73
|
+
Run using the Bash tool with description "Releasing colony lock...": `bash .aether/aether-utils.sh unload-state` to release lock.
|
|
73
74
|
|
|
74
75
|
### Step 2: Compute Summary
|
|
75
76
|
|
|
76
77
|
From state, extract:
|
|
77
78
|
|
|
79
|
+
### Step 2.4: Survey Freshness (Advisory)
|
|
80
|
+
|
|
81
|
+
Run using the Bash tool with description "Checking survey freshness...":
|
|
82
|
+
```bash
|
|
83
|
+
survey_docs=$(ls -1 .aether/data/survey/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
84
|
+
survey_latest=$(ls -t .aether/data/survey/*.md 2>/dev/null | head -1)
|
|
85
|
+
if [[ -n "$survey_latest" ]]; then
|
|
86
|
+
now_epoch=$(date +%s)
|
|
87
|
+
modified_epoch=$(stat -f %m "$survey_latest" 2>/dev/null || stat -c %Y "$survey_latest" 2>/dev/null || echo 0)
|
|
88
|
+
survey_age_days=$(( (now_epoch - modified_epoch) / 86400 ))
|
|
89
|
+
else
|
|
90
|
+
survey_age_days=-1
|
|
91
|
+
fi
|
|
92
|
+
echo "survey_docs=$survey_docs"
|
|
93
|
+
echo "survey_age_days=$survey_age_days"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Interpretation:
|
|
97
|
+
- If `survey_docs == 0`: `survey_status = "missing"`
|
|
98
|
+
- If `survey_age_days > 14`: `survey_status = "stale"`
|
|
99
|
+
- Otherwise: `survey_status = "fresh"`
|
|
100
|
+
|
|
78
101
|
### Step 2.5: Gather Dream Information
|
|
79
102
|
|
|
80
|
-
Run using Bash tool: `ls -1 .aether/dreams/*.md 2>/dev/null | wc -l`
|
|
103
|
+
Run using the Bash tool with description "Counting dream entries...": `ls -1 .aether/dreams/*.md 2>/dev/null | wc -l`
|
|
81
104
|
|
|
82
105
|
Capture:
|
|
83
106
|
- Dream count: number of .md files in .aether/dreams/
|
|
84
107
|
- Latest dream: most recent file by name (files are timestamped: YYYY-MM-DD-HHMM.md)
|
|
85
108
|
|
|
86
|
-
To get latest dream timestamp:
|
|
109
|
+
To get latest dream timestamp, Run using the Bash tool with description "Finding latest dream...":
|
|
87
110
|
```bash
|
|
88
111
|
ls -1 .aether/dreams/*.md 2>/dev/null | sort | tail -1 | sed 's/.*\/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\)-\([0-9]\{4\}\).*/\1 \2/'
|
|
89
112
|
```
|
|
90
113
|
|
|
91
114
|
Format the timestamp as: YYYY-MM-DD HH:MM
|
|
92
115
|
|
|
116
|
+
|
|
117
|
+
### Step 2.5.5: Colony Depth
|
|
118
|
+
|
|
119
|
+
Run using the Bash tool with description "Reading colony depth...":
|
|
120
|
+
```bash
|
|
121
|
+
depth_result=$(bash .aether/aether-utils.sh colony-depth get 2>/dev/null || echo '{"ok":true,"result":{"depth":"standard","source":"default"}}')
|
|
122
|
+
colony_depth=$(echo "$depth_result" | jq -r '.result.depth // "standard"')
|
|
123
|
+
depth_source=$(echo "$depth_result" | jq -r '.result.source // "default"')
|
|
124
|
+
echo "colony_depth=$colony_depth"
|
|
125
|
+
echo "depth_source=$depth_source"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Store `colony_depth` and `depth_source` for the dashboard display.
|
|
129
|
+
|
|
130
|
+
Depth label mapping:
|
|
131
|
+
- light -> "Builder only (fastest)"
|
|
132
|
+
- standard -> "Builder + Scout (balanced)"
|
|
133
|
+
- deep -> "Builder + Scout + Oracle (thorough)"
|
|
134
|
+
- full -> "All agents (most thorough)"
|
|
135
|
+
|
|
93
136
|
From state, extract:
|
|
94
137
|
|
|
138
|
+
|
|
95
139
|
**Phase info:**
|
|
96
140
|
- Current phase number: `current_phase`
|
|
97
141
|
- Total phases: `plan.phases.length`
|
|
@@ -108,12 +152,21 @@ Read `.aether/data/constraints.json` if exists:
|
|
|
108
152
|
- Constraints count: `constraints.length`
|
|
109
153
|
|
|
110
154
|
**Flags:**
|
|
111
|
-
Run: `bash .aether/aether-utils.sh flag-check-blockers`
|
|
155
|
+
Run using the Bash tool with description "Checking for blockers...": `bash .aether/aether-utils.sh flag-check-blockers`
|
|
112
156
|
Extract:
|
|
113
157
|
- Blockers count (critical, block advancement)
|
|
114
158
|
- Issues count (high, warnings)
|
|
115
159
|
- Notes count (low, informational)
|
|
116
160
|
|
|
161
|
+
**Escalation state:**
|
|
162
|
+
Count escalated flags by checking for blocker flags with source "escalation":
|
|
163
|
+
|
|
164
|
+
Run using the Bash tool with description "Checking escalation state...":
|
|
165
|
+
```bash
|
|
166
|
+
escalated_count=$(bash .aether/aether-utils.sh flag-list --type blocker 2>/dev/null | jq '[.result.flags[] | select(.source == "escalation")] | length' 2>/dev/null || echo "0")
|
|
167
|
+
echo "escalated_count=$escalated_count"
|
|
168
|
+
```
|
|
169
|
+
|
|
117
170
|
**Instincts:**
|
|
118
171
|
From `memory.instincts`:
|
|
119
172
|
- Total count: `instincts.length`
|
|
@@ -129,7 +182,7 @@ From `memory.instincts`:
|
|
|
129
182
|
|
|
130
183
|
### Step 2.6: Detect Milestone
|
|
131
184
|
|
|
132
|
-
Run using Bash tool: `bash .aether/aether-utils.sh milestone-detect`
|
|
185
|
+
Run using the Bash tool with description "Detecting colony milestone...": `bash .aether/aether-utils.sh milestone-detect`
|
|
133
186
|
|
|
134
187
|
Extract from JSON result:
|
|
135
188
|
- `milestone`: Current milestone name
|
|
@@ -137,6 +190,54 @@ Extract from JSON result:
|
|
|
137
190
|
- `phases_completed`: Number of completed phases
|
|
138
191
|
- `total_phases`: Total phases in plan
|
|
139
192
|
|
|
193
|
+
### Step 2.8: Load Memory Health Metrics
|
|
194
|
+
|
|
195
|
+
Run using the Bash tool with description "Loading memory health metrics...":
|
|
196
|
+
```bash
|
|
197
|
+
bash .aether/aether-utils.sh memory-metrics
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Extract from JSON result:
|
|
201
|
+
- wisdom.total
|
|
202
|
+
- pending.total
|
|
203
|
+
- recent_failures.count
|
|
204
|
+
- last_activity.queen_md_updated
|
|
205
|
+
- last_activity.learning_captured
|
|
206
|
+
|
|
207
|
+
Format timestamps for display (YYYY-MM-DD HH:MM).
|
|
208
|
+
|
|
209
|
+
### Step 2.7: Generate Progress Bars
|
|
210
|
+
|
|
211
|
+
Calculate progress metrics and generate visual bars.
|
|
212
|
+
|
|
213
|
+
Run using the Bash tool with description "Computing phase progress...":
|
|
214
|
+
```bash
|
|
215
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
216
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
217
|
+
|
|
218
|
+
# Calculate task progress in current phase
|
|
219
|
+
if [[ "$current_phase" -gt 0 && "$current_phase" -le "$total_phases" ]]; then
|
|
220
|
+
phase_idx=$((current_phase - 1))
|
|
221
|
+
tasks_completed=$(jq -r ".plan.phases[$phase_idx].tasks // [] | map(select(.status == \"completed\")) | length" .aether/data/COLONY_STATE.json)
|
|
222
|
+
tasks_total=$(jq -r ".plan.phases[$phase_idx].tasks // [] | length" .aether/data/COLONY_STATE.json)
|
|
223
|
+
phase_name=$(jq -r ".plan.phases[$phase_idx].name // \"Unnamed\"" .aether/data/COLONY_STATE.json)
|
|
224
|
+
else
|
|
225
|
+
tasks_completed=0
|
|
226
|
+
tasks_total=0
|
|
227
|
+
phase_name="No plan created"
|
|
228
|
+
fi
|
|
229
|
+
|
|
230
|
+
# Generate progress bars
|
|
231
|
+
phase_bar=$(bash .aether/aether-utils.sh generate-progress-bar "$current_phase" "$total_phases" 20)
|
|
232
|
+
task_bar=$(bash .aether/aether-utils.sh generate-progress-bar "$tasks_completed" "$tasks_total" 20)
|
|
233
|
+
|
|
234
|
+
echo "phase_bar=$phase_bar"
|
|
235
|
+
echo "task_bar=$task_bar"
|
|
236
|
+
echo "phase_name=$phase_name"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Store `phase_bar`, `task_bar`, and `phase_name` values for display in Step 3.
|
|
240
|
+
|
|
140
241
|
### Step 3: Display
|
|
141
242
|
|
|
142
243
|
Output format:
|
|
@@ -146,30 +247,40 @@ Output format:
|
|
|
146
247
|
(o o) AETHER COLONY
|
|
147
248
|
| O | Status Report
|
|
148
249
|
`-`
|
|
149
|
-
|
|
250
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
150
251
|
|
|
151
252
|
👑 Goal: <goal (truncated to 60 chars)>
|
|
152
253
|
|
|
153
|
-
📍
|
|
154
|
-
|
|
254
|
+
📍 Progress
|
|
255
|
+
Phase: [████████░░░░░░░░░░░░] <N>/<M> phases
|
|
256
|
+
Tasks: [████████████████░░░░] <completed>/<total> tasks in Phase <N>
|
|
155
257
|
|
|
156
258
|
🎯 Focus: <focus_count> areas | 🚫 Avoid: <constraints_count> patterns
|
|
157
259
|
🧠 Instincts: <total> learned (<high_confidence> strong)
|
|
158
260
|
🚩 Flags: <blockers> blockers | <issues> issues | <notes> notes
|
|
261
|
+
{if escalated_count > 0:}
|
|
262
|
+
⚠️ Escalated: {escalated_count} task(s) awaiting your decision
|
|
263
|
+
{end if}
|
|
159
264
|
🏆 Milestone: <milestone> (<version>)
|
|
265
|
+
|
|
266
|
+
🔬 Depth: {colony_depth} — {label}{if depth_source == "default": " (default)"}
|
|
267
|
+
|
|
160
268
|
💭 Dreams: <dream_count> recorded (latest: <latest_dream>)
|
|
269
|
+
🗺️ Survey: <survey_docs> docs (<survey_age_days>d old, <fresh|stale|missing>)
|
|
270
|
+
|
|
271
|
+
📚 Memory Health
|
|
272
|
+
┌─────────────────┬────────┬─────────────────────────────┐
|
|
273
|
+
│ Metric │ Count │ Last Updated │
|
|
274
|
+
├─────────────────┼────────┼─────────────────────────────┤
|
|
275
|
+
│ Wisdom Entries │ {wisdom_total:>6} │ {queen_updated} │
|
|
276
|
+
│ Pending Promos │ {pending_total:>6} │ {learning_updated} │
|
|
277
|
+
│ Recent Failures │ {failures_count:>6} │ {last_failure} │
|
|
278
|
+
└─────────────────┴────────┴─────────────────────────────┘
|
|
161
279
|
|
|
162
280
|
State: <state>
|
|
163
|
-
Next: <suggested_command> <phase_context>
|
|
164
281
|
```
|
|
165
282
|
|
|
166
|
-
|
|
167
|
-
- READY → `Next: /ant:build 3 Phase 3: Add Authentication`
|
|
168
|
-
- EXECUTING → `Next: /ant:continue Phase 3: Add Authentication`
|
|
169
|
-
- PLANNING → `Next: /ant:plan`
|
|
170
|
-
- IDLE → `Next: /ant:init`
|
|
171
|
-
|
|
172
|
-
Look up the phase name from `plan.phases[current_phase].name` and append it.
|
|
283
|
+
Use the `phase_bar` and `task_bar` values computed in Step 2.7 for the actual bar characters and counts.
|
|
173
284
|
|
|
174
285
|
**If instincts exist, also show top 3:**
|
|
175
286
|
```
|
|
@@ -179,23 +290,77 @@ Look up the phase name from `plan.phases[current_phase].name` and append it.
|
|
|
179
290
|
[0.7] 🐜 debugging: Trace to root cause first
|
|
180
291
|
```
|
|
181
292
|
|
|
182
|
-
**
|
|
293
|
+
**Dream display:**
|
|
294
|
+
- If no dreams exist: `💭 Dreams: None recorded`
|
|
295
|
+
- If dreams exist: `💭 Dreams: <count> recorded (latest: YYYY-MM-DD HH:MM)`
|
|
296
|
+
|
|
297
|
+
**Memory Health display:**
|
|
298
|
+
- If memory-metrics returns empty/null values, show:
|
|
299
|
+
```
|
|
300
|
+
📚 Memory Health
|
|
301
|
+
No memory data available. Colony wisdom will accumulate as you complete phases.
|
|
302
|
+
```
|
|
183
303
|
|
|
184
|
-
Calculate `next_phase = current_phase + 1` from state.
|
|
185
304
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
-
|
|
190
|
-
|
|
305
|
+
**Data Safety:**
|
|
306
|
+
After the Memory Health table, run:
|
|
307
|
+
```bash
|
|
308
|
+
bash .aether/aether-utils.sh data-safety-stats
|
|
309
|
+
```
|
|
191
310
|
|
|
192
|
-
|
|
311
|
+
If the result contains non-zero counts, display:
|
|
312
|
+
```
|
|
313
|
+
🛡️ Data Safety
|
|
314
|
+
Stale locks cleaned: {stale_locks_cleaned}
|
|
315
|
+
JSON validation rejects: {json_validation_rejects}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
If all counts are 0 or the subcommand returns no data, display:
|
|
319
|
+
```
|
|
320
|
+
🛡️ Data Safety: No issues detected
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
**Pheromone Summary:**
|
|
324
|
+
After the Data Safety section, run:
|
|
325
|
+
```bash
|
|
326
|
+
bash .aether/aether-utils.sh pheromone-count
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Display:
|
|
330
|
+
```
|
|
331
|
+
🎯 Active Pheromones
|
|
332
|
+
┌────────────┬───────┬──────────────────────────────────┐
|
|
333
|
+
│ Type │ Count │ Strongest Signal │
|
|
334
|
+
├────────────┼───────┼──────────────────────────────────┤
|
|
335
|
+
│ 🎯 FOCUS │ {n} │ {strongest_focus or "none"} │
|
|
336
|
+
│ 🚫 REDIRECT│ {n} │ {strongest_redirect or "none"} │
|
|
337
|
+
│ 💬 FEEDBACK│ {n} │ {strongest_feedback or "none"} │
|
|
338
|
+
└────────────┴───────┴──────────────────────────────────┘
|
|
339
|
+
|
|
340
|
+
Run /ant:pheromones for full details
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
If all counts are 0:
|
|
344
|
+
```
|
|
345
|
+
🎯 Active Pheromones: None
|
|
346
|
+
Use /ant:focus, /ant:redirect, or /ant:feedback to inject signals
|
|
347
|
+
```
|
|
193
348
|
|
|
194
|
-
**Dream display:**
|
|
195
|
-
- If no dreams exist: `💭 Dreams: None recorded`
|
|
196
|
-
- If dreams exist: `💭 Dreams: <count> recorded (latest: YYYY-MM-DD HH:MM)`
|
|
197
349
|
|
|
198
350
|
**Edge cases:**
|
|
199
|
-
- No phases yet:
|
|
200
|
-
- No tasks in phase:
|
|
351
|
+
- No phases yet: show `[░░░░░░░░░░░░░░░░░░░░] 0/0 phases`
|
|
352
|
+
- No tasks in phase: show `[░░░░░░░░░░░░░░░░░░░░] 0/0 tasks in Phase 0`
|
|
201
353
|
- No constraints file: "Constraints: 0 focus, 0 avoid"
|
|
354
|
+
|
|
355
|
+
**At the end of the output, generate the Next Up block:**
|
|
356
|
+
|
|
357
|
+
Run using the Bash tool with description "Generating next steps...":
|
|
358
|
+
```bash
|
|
359
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
360
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
361
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
362
|
+
|
|
363
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
This auto-generates state-based recommendations (IDLE → init, READY → build, EXECUTING → continue, PLANNING → plan).
|