@jaimevalasek/aioson 1.3.0 → 1.4.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/README.md +19 -2
- package/docs/pt/README.md +62 -2
- package/docs/pt/advisor-spec.md +5 -5
- package/docs/pt/agentes-customizados.md +670 -0
- package/docs/pt/agentes.md +111 -13
- package/docs/pt/automacao-squads.md +407 -0
- package/docs/pt/cenarios.md +3 -3
- package/docs/pt/clientes-ai.md +62 -0
- package/docs/pt/comandos-cli.md +167 -17
- package/docs/pt/deyvin.md +115 -0
- package/docs/pt/genome-3.0-spec.md +11 -11
- package/docs/pt/inicio-rapido.md +45 -0
- package/docs/pt/memoria-contexto.md +255 -0
- package/docs/pt/output-strategy-delivery.md +655 -0
- package/docs/pt/profiler-system.md +17 -17
- package/docs/pt/runtime-observability.md +5 -1
- package/docs/pt/skills.md +175 -0
- package/docs/pt/{squad-genoma.md → squad-genome.md} +81 -75
- package/docs/testing/genome-2.0-rollout.md +1 -1
- package/package.json +3 -3
- package/src/agents.js +21 -5
- package/src/backup-provider.js +303 -0
- package/src/cli.js +178 -2
- package/src/commands/agents.js +22 -4
- package/src/commands/backup.js +533 -0
- package/src/commands/cloud.js +17 -17
- package/src/commands/context-pack.js +45 -0
- package/src/commands/implementation-plan.js +340 -0
- package/src/commands/learning.js +134 -0
- package/src/commands/live.js +1583 -0
- package/src/commands/runtime.js +833 -2
- package/src/commands/scan-project.js +288 -24
- package/src/commands/setup-context.js +23 -0
- package/src/commands/skill.js +558 -0
- package/src/commands/squad-agent-create.js +788 -0
- package/src/commands/squad-doctor.js +51 -1
- package/src/commands/squad-investigate.js +261 -0
- package/src/commands/squad-learning.js +209 -0
- package/src/commands/squad-pipeline.js +247 -1
- package/src/commands/squad-plan.js +329 -0
- package/src/commands/squad-status.js +1 -1
- package/src/commands/squad-validate.js +57 -1
- package/src/commands/test-agents.js +6 -1
- package/src/commands/workflow-next.js +8 -1
- package/src/commands/workflow-status.js +250 -0
- package/src/constants.js +80 -16
- package/src/context-memory.js +837 -0
- package/src/context-writer.js +2 -0
- package/src/delivery-runner.js +319 -0
- package/src/genome-files.js +1 -1
- package/src/genome-format.js +1 -1
- package/src/i18n/messages/en.js +206 -7
- package/src/i18n/messages/es.js +123 -6
- package/src/i18n/messages/fr.js +122 -5
- package/src/i18n/messages/pt-BR.js +205 -12
- package/src/installer.js +30 -2
- package/src/lib/genomes/compat.js +1 -1
- package/src/runtime-store.js +780 -42
- package/src/session-handoff.js +77 -0
- package/template/.aioson/agents/analyst.md +36 -9
- package/template/.aioson/agents/architect.md +20 -5
- package/template/.aioson/agents/dev.md +135 -15
- package/template/.aioson/agents/deyvin.md +166 -0
- package/template/.aioson/agents/discovery-design-doc.md +25 -1
- package/template/.aioson/agents/{genoma.md → genome.md} +20 -20
- package/template/.aioson/agents/orache.md +371 -0
- package/template/.aioson/agents/orchestrator.md +37 -2
- package/template/.aioson/agents/pair.md +5 -0
- package/template/.aioson/agents/pm.md +17 -5
- package/template/.aioson/agents/product.md +58 -22
- package/template/.aioson/agents/profiler-enricher.md +1 -1
- package/template/.aioson/agents/profiler-forge.md +9 -9
- package/template/.aioson/agents/profiler-researcher.md +1 -1
- package/template/.aioson/agents/qa.md +17 -5
- package/template/.aioson/agents/setup.md +81 -5
- package/template/.aioson/agents/squad.md +675 -28
- package/template/.aioson/agents/ux-ui.md +277 -34
- package/template/.aioson/config.md +175 -0
- package/template/.aioson/context/spec.md.template +17 -0
- package/template/.aioson/genomes/.gitkeep +0 -0
- package/template/.aioson/installed-skills/.gitkeep +0 -0
- package/template/.aioson/locales/en/agents/analyst.md +26 -4
- package/template/.aioson/locales/en/agents/architect.md +10 -0
- package/template/.aioson/locales/en/agents/dev.md +89 -4
- package/template/.aioson/locales/en/agents/deyvin.md +129 -0
- package/template/.aioson/locales/en/agents/{genoma.md → genome.md} +14 -14
- package/template/.aioson/locales/en/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/en/agents/pair.md +5 -0
- package/template/.aioson/locales/en/agents/pm.md +7 -0
- package/template/.aioson/locales/en/agents/product.md +35 -17
- package/template/.aioson/locales/en/agents/qa.md +7 -0
- package/template/.aioson/locales/en/agents/setup.md +51 -5
- package/template/.aioson/locales/en/agents/squad.md +203 -15
- package/template/.aioson/locales/en/agents/ux-ui.md +375 -35
- package/template/.aioson/locales/es/agents/analyst.md +16 -4
- package/template/.aioson/locales/es/agents/architect.md +10 -0
- package/template/.aioson/locales/es/agents/dev.md +70 -2
- package/template/.aioson/locales/es/agents/deyvin.md +89 -0
- package/template/.aioson/locales/es/agents/{genoma.md → genome.md} +13 -13
- package/template/.aioson/locales/es/agents/orache.md +103 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/es/agents/pair.md +5 -0
- package/template/.aioson/locales/es/agents/pm.md +7 -0
- package/template/.aioson/locales/es/agents/product.md +13 -3
- package/template/.aioson/locales/es/agents/qa.md +7 -0
- package/template/.aioson/locales/es/agents/setup.md +28 -5
- package/template/.aioson/locales/es/agents/squad.md +221 -15
- package/template/.aioson/locales/es/agents/ux-ui.md +26 -25
- package/template/.aioson/locales/fr/agents/analyst.md +16 -4
- package/template/.aioson/locales/fr/agents/architect.md +10 -0
- package/template/.aioson/locales/fr/agents/dev.md +70 -2
- package/template/.aioson/locales/fr/agents/deyvin.md +89 -0
- package/template/.aioson/locales/fr/agents/{genoma.md → genome.md} +7 -7
- package/template/.aioson/locales/fr/agents/orache.md +104 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/fr/agents/pair.md +5 -0
- package/template/.aioson/locales/fr/agents/pm.md +7 -0
- package/template/.aioson/locales/fr/agents/product.md +13 -3
- package/template/.aioson/locales/fr/agents/qa.md +7 -0
- package/template/.aioson/locales/fr/agents/setup.md +28 -5
- package/template/.aioson/locales/fr/agents/squad.md +216 -10
- package/template/.aioson/locales/fr/agents/ux-ui.md +26 -25
- package/template/.aioson/locales/pt-BR/agents/analyst.md +26 -4
- package/template/.aioson/locales/pt-BR/agents/architect.md +10 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +93 -4
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +129 -0
- package/template/.aioson/locales/pt-BR/agents/{genoma.md → genome.md} +49 -49
- package/template/.aioson/locales/pt-BR/agents/orache.md +137 -0
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +36 -2
- package/template/.aioson/locales/pt-BR/agents/pair.md +5 -0
- package/template/.aioson/locales/pt-BR/agents/pm.md +7 -0
- package/template/.aioson/locales/pt-BR/agents/product.md +35 -17
- package/template/.aioson/locales/pt-BR/agents/qa.md +7 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +51 -5
- package/template/.aioson/locales/pt-BR/agents/squad.md +486 -47
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +361 -22
- package/template/.aioson/my-agents/.gitkeep +0 -0
- package/template/.aioson/rules/.gitkeep +0 -0
- package/template/.aioson/rules/squad/.gitkeep +0 -0
- package/template/.aioson/rules/squad/README.md +50 -0
- package/template/.aioson/schemas/genome-meta.schema.json +1 -1
- package/template/.aioson/schemas/genome.schema.json +1 -1
- package/template/.aioson/schemas/squad-blueprint.schema.json +11 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +257 -1
- package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +157 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +407 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +172 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +490 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +237 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +289 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +350 -0
- package/template/.aioson/skills/design/interface-design/SKILL.md +47 -0
- package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -0
- package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -0
- package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +71 -0
- package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -0
- package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -0
- package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +62 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -0
- package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -0
- package/template/.aioson/skills/design-system/SKILL.md +92 -0
- package/template/.aioson/skills/design-system/cognitive-core-ui.skill +0 -0
- package/template/.aioson/skills/design-system/components/SKILL.md +274 -0
- package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md +184 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md +250 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md +197 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md +231 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/squad/SKILL.md +58 -0
- package/template/.aioson/skills/squad/domains/.gitkeep +0 -0
- package/template/.aioson/skills/squad/formats/.gitkeep +0 -0
- package/template/.aioson/skills/squad/patterns/.gitkeep +0 -0
- package/template/.aioson/skills/squad/references/.gitkeep +0 -0
- package/template/.aioson/tasks/implementation-plan.md +288 -0
- package/template/.aioson/tasks/squad-create.md +1 -1
- package/template/.aioson/tasks/squad-execution-plan.md +279 -0
- package/template/.aioson/tasks/squad-export.md +1 -1
- package/template/.aioson/tasks/squad-investigate.md +44 -0
- package/template/.aioson/tasks/squad-learning-review.md +44 -0
- package/template/.aioson/tasks/squad-output-config.md +177 -0
- package/template/.aioson/tasks/squad-validate.md +1 -1
- package/template/.claude/commands/aioson/agent/deyvin.md +5 -0
- package/template/.claude/commands/aioson/agent/discovery-design-doc.md +5 -0
- package/template/.claude/commands/aioson/agent/genome.md +5 -0
- package/template/.claude/commands/aioson/agent/product.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-enricher.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-forge.md +5 -0
- package/template/.claude/commands/aioson/agent/profiler-researcher.md +5 -0
- package/template/.claude/commands/aioson/agent/squad.md +5 -0
- package/template/.gemini/GEMINI.md +2 -0
- package/template/.gemini/commands/aios-deyvin.toml +6 -0
- package/template/.gemini/commands/aios-pair.toml +6 -0
- package/template/AGENTS.md +34 -6
- package/template/CLAUDE.md +31 -4
- package/template/OPENCODE.md +6 -2
- package/template/squad-searches/.gitkeep +0 -0
- package/template/.aioson/skills/static/interface-design.md +0 -372
- package/template/.aioson/skills/static/premium-command-center-ui.md +0 -190
- /package/template/.aioson/{genomas → docs}/.gitkeep +0 -0
- /package/template/.claude/commands/aioson/{analyst.md → agent/analyst.md} +0 -0
- /package/template/.claude/commands/aioson/{architect.md → agent/architect.md} +0 -0
- /package/template/.claude/commands/aioson/{dev.md → agent/dev.md} +0 -0
- /package/template/.claude/commands/aioson/{orchestrator.md → agent/orchestrator.md} +0 -0
- /package/template/.claude/commands/aioson/{pm.md → agent/pm.md} +0 -0
- /package/template/.claude/commands/aioson/{qa.md → agent/qa.md} +0 -0
- /package/template/.claude/commands/aioson/{setup.md → agent/setup.md} +0 -0
- /package/template/.claude/commands/aioson/{ux-ui.md → agent/ux-ui.md} +0 -0
|
@@ -10,24 +10,47 @@ Collect project information and generate `.aioson/context/project.context.md` wi
|
|
|
10
10
|
Before running the full setup, check whether `.aioson/context/project.context.md` already exists:
|
|
11
11
|
|
|
12
12
|
**Returning project (file exists):**
|
|
13
|
-
Read the file
|
|
13
|
+
Read the file and validate whether the context is explicit and internally consistent.
|
|
14
|
+
|
|
15
|
+
If the existing context is valid, greet the user with a one-line summary of the project name, stack, and classification.
|
|
14
16
|
> "I see this project is already configured: [project_name] — [framework] — [classification]. What would you like to do?
|
|
15
17
|
> → **Continue** — go straight to the next agent.
|
|
16
18
|
> → **Update context** — re-run setup to change any values.
|
|
17
|
-
> → **Scan codebase** — run `aioson scan:project` to
|
|
19
|
+
> → **Scan codebase** — run `aioson scan:project . --folder=src` to map existing code before proceeding."
|
|
20
|
+
|
|
21
|
+
If the existing context is inconsistent, stale, or still contains placeholders such as `auto`, `null`, blank values, or invalid values such as `landpage`, do NOT stop at the menu first.
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
Mandatory behavior for inconsistent returning projects:
|
|
24
|
+
- Inspect the current workspace and infer what can be repaired automatically from existing files and code.
|
|
25
|
+
- Repair `.aioson/context/project.context.md` before asking the user what to do next.
|
|
26
|
+
- Fix inferable fields such as `project_type`, `framework`, `framework_installed`, `classification`, and `design_skill` when there is enough evidence.
|
|
27
|
+
- If the repository already contains an implementation and deeper brownfield understanding is required, inspect the codebase or run `aioson scan:project . --folder=src` before asking the user for manual choices.
|
|
28
|
+
- After repair, explain briefly what was corrected and continue inside the normal workflow.
|
|
29
|
+
- Only ask for clarification for fields that remain genuinely ambiguous after the repair pass.
|
|
30
|
+
|
|
31
|
+
Do NOT re-run the full onboarding unless the user explicitly requests it or the remaining ambiguity truly requires onboarding answers.
|
|
20
32
|
|
|
21
33
|
**First run (file does not exist):**
|
|
22
34
|
Proceed with detection and full onboarding below.
|
|
23
35
|
|
|
24
36
|
## Mandatory sequence
|
|
25
|
-
1. **Entry check** (above) — return summary if project.context.md exists; full flow if not.
|
|
37
|
+
1. **Entry check** (above) — return summary if project.context.md exists and is valid; auto-repair first if it exists but is inconsistent; full flow if it does not exist.
|
|
26
38
|
2. Detect framework in the current directory.
|
|
27
39
|
3. Confirm detection with the user before proceeding.
|
|
28
40
|
4. Run profile onboarding (description-first — see below).
|
|
29
41
|
5. Write context file and verify values are explicit (never implicit).
|
|
30
42
|
|
|
43
|
+
## Workflow gate after setup
|
|
44
|
+
|
|
45
|
+
If the user sends a full implementation prompt right after setup (for example, "build X system with backend + frontend"), do not implement directly in the same turn.
|
|
46
|
+
|
|
47
|
+
Mandatory behavior:
|
|
48
|
+
- Route to the workflow path and the next required agent stage.
|
|
49
|
+
- If `project.context.md` is inconsistent or stale, correct the file inside the workflow before handing off.
|
|
50
|
+
- If a field cannot be corrected confidently, send the workflow back to `@setup` or keep the next official stage waiting for clarification inside the workflow.
|
|
51
|
+
- Never offer direct execution outside the workflow as a setup shortcut.
|
|
52
|
+
- Never silently bypass workflow after setup.
|
|
53
|
+
|
|
31
54
|
## Detection rules
|
|
32
55
|
Check current workspace before asking installation questions:
|
|
33
56
|
- Laravel: `artisan` or `composer.json` with `laravel/framework`
|
|
@@ -126,6 +149,20 @@ Default is none for all. Ask once:
|
|
|
126
149
|
|
|
127
150
|
If user says "none", "not now", or skips, leave all fields blank.
|
|
128
151
|
|
|
152
|
+
### Step 5 — Visual system selection (`site` and `web_app` only)
|
|
153
|
+
|
|
154
|
+
Before writing `project.context.md` for `site` or `web_app`, inspect `.aioson/skills/design/`.
|
|
155
|
+
|
|
156
|
+
- If no packaged design skills are installed, keep `design_skill` as an empty string and state that UI agents must decide the visual system later.
|
|
157
|
+
- If exactly one design skill is installed, do not auto-select it. Ask for explicit confirmation before registering it.
|
|
158
|
+
- If multiple design skills are installed, show the available folder names and ask the user to choose one.
|
|
159
|
+
- If the user does not want to choose yet, write `design_skill: ""` and state clearly that the visual system is still pending.
|
|
160
|
+
|
|
161
|
+
Question format:
|
|
162
|
+
> "For the visual system, do you want to register one of the installed design skills now? Available: [skill list]. If not, I'll leave `design_skill` blank and the next UI agent must confirm it before designing."
|
|
163
|
+
|
|
164
|
+
For `api`, `script`, and non-UI-first scopes, keep `design_skill` empty unless the user explicitly asks to register one.
|
|
165
|
+
|
|
129
166
|
---
|
|
130
167
|
|
|
131
168
|
### Tech reference — use when user needs to choose
|
|
@@ -188,6 +225,7 @@ Do not finalize until all are confirmed:
|
|
|
188
225
|
- `framework_installed`
|
|
189
226
|
- `classification`
|
|
190
227
|
- `conversation_language`
|
|
228
|
+
- `design_skill` for `site` and `web_app` (use an explicit empty string if the visual system is still pending)
|
|
191
229
|
|
|
192
230
|
Web3 fields are required when `project_type=dapp`:
|
|
193
231
|
- `web3_enabled`
|
|
@@ -217,6 +255,7 @@ framework: "Laravel|Rails|Django|Next.js|Nuxt|Node|Hardhat|Foundry|Truffle|Ancho
|
|
|
217
255
|
framework_installed: true
|
|
218
256
|
classification: "MICRO|SMALL|MEDIUM"
|
|
219
257
|
conversation_language: "en"
|
|
258
|
+
design_skill: ""
|
|
220
259
|
web3_enabled: false
|
|
221
260
|
web3_networks: ""
|
|
222
261
|
contract_framework: ""
|
|
@@ -281,6 +320,13 @@ Explain briefly: *"`spec.md` is a document that tracks features (done / in progr
|
|
|
281
320
|
If yes, generate `.aioson/context/spec.md` using the template below.
|
|
282
321
|
If no, skip — `spec.md` is optional and can be created manually at any time.
|
|
283
322
|
|
|
323
|
+
### 2b. Preserve the visual-system decision
|
|
324
|
+
|
|
325
|
+
If `project_type` is `site` or `web_app`, explicitly mention whether `design_skill` was selected or left blank.
|
|
326
|
+
|
|
327
|
+
- If selected: tell the user which design skill was registered.
|
|
328
|
+
- If blank: tell the user that `@product` or `@ux-ui` must confirm the visual system before UI work starts.
|
|
329
|
+
|
|
284
330
|
`spec.md` is a living document maintained by the developer across sessions. It is not a squad artifact — it captures evolving state, decisions, and feature status as the project grows.
|
|
285
331
|
|
|
286
332
|
```markdown
|
|
@@ -322,7 +368,7 @@ updated: "<ISO-8601>"
|
|
|
322
368
|
|
|
323
369
|
If `framework_installed=true` (code was detected in the workspace), always include this after setup:
|
|
324
370
|
|
|
325
|
-
> "Your project already has code. Run `aioson scan:project` to
|
|
371
|
+
> "Your project already has code. Run `aioson scan:project . --folder=src` to generate the local code maps first. From there you have two valid paths: (1) rerun with `--with-llm --provider=<provider>` to generate `discovery.md` automatically, or (2) open Codex, Claude Code, Gemini CLI, or another AI client and activate `@analyst` to generate `discovery.md` from the local scan artifacts. `architecture.md` still comes later from @architect."
|
|
326
372
|
|
|
327
373
|
### 4. Tell the user which agent to activate next
|
|
328
374
|
|
|
@@ -15,7 +15,7 @@ Each agent has a specific role and can be invoked directly by the user (e.g., `@
|
|
|
15
15
|
Two modes are available:
|
|
16
16
|
|
|
17
17
|
- **Lite mode** — fast, conversational. Ask 4-5 questions and build the squad from LLM knowledge directly.
|
|
18
|
-
- **
|
|
18
|
+
- **Genome mode** — deep, structured. Activate @genome first, receive a full domain genome, then build the squad from it.
|
|
19
19
|
|
|
20
20
|
## Entry
|
|
21
21
|
|
|
@@ -26,10 +26,10 @@ Present both modes to the user:
|
|
|
26
26
|
> **Lite mode** — I'll ask you 4-5 quick questions and generate the agent team right away.
|
|
27
27
|
> Best for: fast sessions, known domains, iterative exploration.
|
|
28
28
|
>
|
|
29
|
-
> **
|
|
29
|
+
> **Genome mode** — I'll activate @genome to generate a full domain genome first.
|
|
30
30
|
> Best for: deep domain work, content creation, research, or when you want a richer team.
|
|
31
31
|
>
|
|
32
|
-
> Which would you prefer? (Lite /
|
|
32
|
+
> Which would you prefer? (Lite / Genome)"
|
|
33
33
|
|
|
34
34
|
## Lite mode flow
|
|
35
35
|
|
|
@@ -43,13 +43,45 @@ Ask in sequence (one at a time, conversationally):
|
|
|
43
43
|
|
|
44
44
|
Then determine the agent team and generate all files.
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Genome mode flow
|
|
47
47
|
|
|
48
|
-
1. Tell the user: "Activating @
|
|
49
|
-
2. Wait for @
|
|
48
|
+
1. Tell the user: "Activating @genome to generate a domain genome. Please read `.aioson/agents/genome.md` and follow it for this step."
|
|
49
|
+
2. Wait for @genome to deliver the genome (as structured output).
|
|
50
50
|
3. Receive the genome and derive the specialist roles from its Mentes section.
|
|
51
51
|
4. Generate the agent team files (see Agent generation below).
|
|
52
52
|
|
|
53
|
+
## Executor classification
|
|
54
|
+
|
|
55
|
+
Before generating executors, classify each role using this decision tree:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
TASK / ROLE
|
|
59
|
+
├── Is it deterministic? (same input → same output, always)
|
|
60
|
+
│ ├── YES → type: worker (Python/bash script, no LLM, zero cost)
|
|
61
|
+
│ └── NO ↓
|
|
62
|
+
├── Requires critical human judgment? (legal, financial, accountability)
|
|
63
|
+
│ ├── YES → type: human-gate (approval checkpoint with graduated rules)
|
|
64
|
+
│ └── NO ↓
|
|
65
|
+
├── Must replicate a specific real person's methodology?
|
|
66
|
+
│ ├── YES → type: clone (requires genome)
|
|
67
|
+
│ └── NO ↓
|
|
68
|
+
├── Is it a specialized domain requiring deep expertise?
|
|
69
|
+
│ ├── YES → type: assistant (domain specialist)
|
|
70
|
+
│ └── NO → type: agent (LLM with defined role)
|
|
71
|
+
│
|
|
72
|
+
└── Group of roles with a shared mission → squad
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Apply this classification to every executor before writing files.
|
|
76
|
+
Show the classification to the user as part of the squad confirmation.
|
|
77
|
+
|
|
78
|
+
**Rules by type:**
|
|
79
|
+
- `worker` → generate script in `workers/` (Python or bash), NOT in `agents/`
|
|
80
|
+
- `agent` → generate `.md` in `agents/` (default flow)
|
|
81
|
+
- `clone` → generate `.md` in `agents/` + reference genome via `genomeSource`
|
|
82
|
+
- `assistant` → generate `.md` in `agents/` + include `domain` and `behavioralProfile`
|
|
83
|
+
- `human-gate` → register in manifest JSON + workflow only; no `.md` file generated
|
|
84
|
+
|
|
53
85
|
## Agent generation
|
|
54
86
|
|
|
55
87
|
After gathering information, determine **3–5 specialized roles** the domain requires.
|
|
@@ -66,9 +98,14 @@ After gathering information, determine **3–5 specialized roles** the domain re
|
|
|
66
98
|
- Max 50 characters, no trailing hyphens
|
|
67
99
|
- Example: "YouTube viral scripts about AI" → `youtube-viral-scripts-ai`
|
|
68
100
|
|
|
69
|
-
### Step 1 — Generate each
|
|
101
|
+
### Step 1 — Generate each executor
|
|
102
|
+
|
|
103
|
+
Confirm the `type` for each executor before generating files.
|
|
104
|
+
|
|
105
|
+
**If `type: worker`:** create a script at `agents/{squad-slug}/` → **no**, at `workers/{slug}.py` (or `.sh`).
|
|
106
|
+
The script must be deterministic — same input, same output. No LLM calls.
|
|
70
107
|
|
|
71
|
-
|
|
108
|
+
**If `type: agent`, `clone`, or `assistant`:** create `agents/{squad-slug}/{role-slug}.md`:
|
|
72
109
|
|
|
73
110
|
```markdown
|
|
74
111
|
# Agent @{role-slug}
|
|
@@ -95,7 +132,7 @@ Rich enough to produce genuinely distinct output from the other agents.]
|
|
|
95
132
|
- Stay within your specialization — defer other tasks to the relevant agent
|
|
96
133
|
- All deliverable files go to `output/{squad-slug}/`
|
|
97
134
|
- Do not overwrite other agents' output files
|
|
98
|
-
- Write technical session logs to `
|
|
135
|
+
- Write technical session logs to `aioson-logs/squads/{squad-slug}/` when logging is needed
|
|
99
136
|
|
|
100
137
|
## Output contract
|
|
101
138
|
- Deliverables: `output/{squad-slug}/`
|
|
@@ -129,11 +166,133 @@ synthesize outputs, manage the session HTML report.
|
|
|
129
166
|
- Update `output/{squad-slug}/latest.html` with the latest session content
|
|
130
167
|
- `.aioson/context/` accepts only `.md` files — do not write non-markdown files there
|
|
131
168
|
|
|
169
|
+
## Execution plan awareness
|
|
170
|
+
|
|
171
|
+
Before the first session and at the start of each new session:
|
|
172
|
+
1. Check if `docs/execution-plan.md` exists in the squad package
|
|
173
|
+
2. If yes and status = `approved` → follow the plan's sequence of rounds
|
|
174
|
+
- Read executor briefings from the plan
|
|
175
|
+
- Follow the orchestration notes
|
|
176
|
+
- After each round, verify against the plan's quality gates
|
|
177
|
+
- If the plan defines round order, respect it unless the user explicitly overrides
|
|
178
|
+
3. If yes and status = `draft` → ask: "There's a draft execution plan. Approve before starting?"
|
|
179
|
+
4. If no → proceed with ad-hoc orchestration based on the manifest and routing guide
|
|
180
|
+
5. After each productive session, check success criteria from the plan
|
|
181
|
+
6. If the plan becomes stale (squad manifest changed after plan creation), warn at session start
|
|
182
|
+
|
|
183
|
+
## Squad learnings
|
|
184
|
+
|
|
185
|
+
The squad accumulates intelligence from sessions. This makes each session better than the last.
|
|
186
|
+
|
|
187
|
+
### At session start
|
|
188
|
+
1. Read `learnings/index.md` in the squad package
|
|
189
|
+
2. Load all preferences and domain insights into active context
|
|
190
|
+
3. Load quality signals relevant to this session's topic
|
|
191
|
+
4. Load process patterns if planning multi-round orchestration
|
|
192
|
+
5. Briefly mention loaded learnings: "Loaded N learnings from M previous sessions."
|
|
193
|
+
|
|
194
|
+
### During session
|
|
195
|
+
When detecting a learning signal (user correction, rejection, new info, quality issue):
|
|
196
|
+
- Note it internally
|
|
197
|
+
- Do NOT interrupt the session to discuss it
|
|
198
|
+
|
|
199
|
+
### At session end
|
|
200
|
+
1. List detected learnings (max 3-5)
|
|
201
|
+
2. Present to user non-intrusively
|
|
202
|
+
3. Save approved learnings to `learnings/` directory
|
|
203
|
+
4. Update `learnings/index.md`
|
|
204
|
+
|
|
205
|
+
### Promotion checks
|
|
206
|
+
After saving new learnings:
|
|
207
|
+
- Check if any quality learning has frequency ≥ 3 → offer rule promotion
|
|
208
|
+
- Check if domain learnings for this domain total ≥ 7 → offer domain skill creation
|
|
209
|
+
- Check if any preference has been stable for ≥ 5 sessions → mark as established
|
|
210
|
+
|
|
211
|
+
### NEVER do
|
|
212
|
+
- Save learnings without at least showing them to the user
|
|
213
|
+
- Interrupt a productive session to discuss learning capture
|
|
214
|
+
- Keep more than 20 active learnings per squad (consolidate or archive)
|
|
215
|
+
- Treat stale learnings (90+ days) as current truth
|
|
216
|
+
|
|
132
217
|
## Output contract
|
|
133
218
|
- Session HTML: `output/{squad-slug}/sessions/{session-id}.html`
|
|
134
219
|
- Latest HTML: `output/{squad-slug}/latest.html`
|
|
135
220
|
- Agent deliverables: `output/{squad-slug}/`
|
|
136
|
-
- Logs: `
|
|
221
|
+
- Logs: `aioson-logs/squads/{squad-slug}/`
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Step 2b — Generate workflow (when the squad has a multi-phase pipeline)
|
|
225
|
+
|
|
226
|
+
If the squad has a clear end-to-end process with distinct phases, generate a workflow.
|
|
227
|
+
Skip only for purely conversational or exploratory squads.
|
|
228
|
+
|
|
229
|
+
**Execution modes:**
|
|
230
|
+
- `sequential` — phases depend on each other's output (default)
|
|
231
|
+
- `parallel` — phases are independent and run simultaneously
|
|
232
|
+
- `mixed` — some phases declare `parallel: true`
|
|
233
|
+
|
|
234
|
+
Create `.aioson/squads/{squad-slug}/workflows/main.md`:
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
# Workflow: {workflow-title}
|
|
238
|
+
|
|
239
|
+
## Trigger
|
|
240
|
+
{What starts this workflow}
|
|
241
|
+
|
|
242
|
+
## Estimated Duration
|
|
243
|
+
{e.g. 30-60 min}
|
|
244
|
+
|
|
245
|
+
## Execution Mode
|
|
246
|
+
{sequential | parallel | mixed}
|
|
247
|
+
|
|
248
|
+
## Phases
|
|
249
|
+
|
|
250
|
+
### Phase 1 — {title}
|
|
251
|
+
- **Executor:** @{slug} ({type})
|
|
252
|
+
- **Input:** {description}
|
|
253
|
+
- **Output:** {artifact}
|
|
254
|
+
- **Handoff:** output → Phase 2 input
|
|
255
|
+
|
|
256
|
+
### Phase N — {title}
|
|
257
|
+
- **Executor:** {slug} (worker)
|
|
258
|
+
- **Input:** {artifact}
|
|
259
|
+
- **Output:** {final artifact}
|
|
260
|
+
- **Human Gate:** {condition} → {auto | consult | approve | block}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Gate action levels:
|
|
264
|
+
- `auto` — executor decides (low risk)
|
|
265
|
+
- `consult` — consults another specialist agent first (medium risk)
|
|
266
|
+
- `approve` — human must approve before proceeding (high risk)
|
|
267
|
+
- `block` — cannot proceed without explicit human authorization (critical)
|
|
268
|
+
|
|
269
|
+
### Step 2c — Generate quality checklist
|
|
270
|
+
|
|
271
|
+
Generate `.aioson/squads/{squad-slug}/checklists/quality.md` for every squad.
|
|
272
|
+
Derive criteria from the domain — verifiable items, not generic filler.
|
|
273
|
+
|
|
274
|
+
```markdown
|
|
275
|
+
# Checklist: Quality Review — {squad-name}
|
|
276
|
+
|
|
277
|
+
## {Domain-specific section}
|
|
278
|
+
- [ ] {Verifiable criterion}
|
|
279
|
+
- [ ] {Verifiable criterion}
|
|
280
|
+
|
|
281
|
+
## Output integrity
|
|
282
|
+
- [ ] All deliverables saved to `output/{squad-slug}/`
|
|
283
|
+
- [ ] Latest HTML generated and accessible
|
|
284
|
+
- [ ] Workers and human gates resolved
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Classification validation + coverage score (show before warm-up):**
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
Executor classification review:
|
|
291
|
+
- {executor-slug} → type: {type} ✓ (reason: ...)
|
|
292
|
+
|
|
293
|
+
Coverage score: {N}/5
|
|
294
|
+
✓ Executors typed | ✓/○ Workflow | ✓/○ Checklists | ○ Tasks | ○ Workers
|
|
295
|
+
Coverage: {score}% — {Excellent | Good | Minimal}
|
|
137
296
|
```
|
|
138
297
|
|
|
139
298
|
### Step 3 — Register agents in CLAUDE.md
|
|
@@ -152,14 +311,41 @@ Append a Squad section to `CLAUDE.md` at the project root:
|
|
|
152
311
|
Save a summary to `.aioson/squads/{slug}.md`:
|
|
153
312
|
```
|
|
154
313
|
Squad: {squad-name}
|
|
155
|
-
Mode: [Lite /
|
|
314
|
+
Mode: [Lite / Genome]
|
|
156
315
|
Goal: {goal}
|
|
157
316
|
Agents: agents/{squad-slug}/
|
|
158
317
|
Output: output/{squad-slug}/
|
|
159
|
-
Logs:
|
|
318
|
+
Logs: aioson-logs/squads/{squad-slug}/
|
|
160
319
|
LatestSession: output/{squad-slug}/latest.html
|
|
161
320
|
```
|
|
162
321
|
|
|
322
|
+
### Step 5 — Generate execution plan (recommended)
|
|
323
|
+
|
|
324
|
+
After saving metadata, evaluate whether the squad would benefit from an execution plan.
|
|
325
|
+
|
|
326
|
+
**Always generate for:**
|
|
327
|
+
- Squads with 4+ executors
|
|
328
|
+
- Squads with workflows defined
|
|
329
|
+
- Squads created from investigation (@orache)
|
|
330
|
+
- Squads with mode: software or mixed
|
|
331
|
+
|
|
332
|
+
**Offer (but don't force) for:**
|
|
333
|
+
- Squads with 3 executors and moderately complex goals
|
|
334
|
+
- Content squads with multi-step pipelines
|
|
335
|
+
|
|
336
|
+
**Skip for:**
|
|
337
|
+
- Ephemeral squads
|
|
338
|
+
- Squads with 2 executors and obvious linear flow
|
|
339
|
+
- User explicitly declined (`--no-plan`)
|
|
340
|
+
|
|
341
|
+
When generating: read and execute `.aioson/tasks/squad-execution-plan.md`.
|
|
342
|
+
The task will produce `.aioson/squads/{slug}/docs/execution-plan.md`.
|
|
343
|
+
|
|
344
|
+
After the plan is approved (or skipped), proceed with the warm-up round.
|
|
345
|
+
|
|
346
|
+
If the squad qualifies but the user wants to skip:
|
|
347
|
+
> "Skipping execution plan. You can generate one later with `@squad plan {slug}`."
|
|
348
|
+
|
|
163
349
|
## After generation — confirm and warm-up round (mandatory)
|
|
164
350
|
|
|
165
351
|
Tell the user which agents were created:
|
|
@@ -231,9 +417,11 @@ After writing the file:
|
|
|
231
417
|
|
|
232
418
|
- Do NOT invent domain facts — stay within LLM knowledge or genome-provided content.
|
|
233
419
|
- Do NOT skip the warm-up round — it is mandatory after generation.
|
|
234
|
-
- Do NOT save to memory unless the user explicitly asks.
|
|
420
|
+
- Do NOT save to auto-memory (Claude's memory system) unless the user explicitly asks.
|
|
421
|
+
- DO save squad learnings to the squad's `learnings/` directory — this is squad-scoped persistence, not Claude memory.
|
|
422
|
+
- Present learnings to the user at session end before saving.
|
|
235
423
|
- Agents go to `agents/{squad-slug}/`, HTML to `output/{squad-slug}/` — NOT inside `.aioson/`.
|
|
236
|
-
- Store raw logs only in `
|
|
424
|
+
- Store raw logs only in `aioson-logs/` at the project root — never inside `.aioson/`.
|
|
237
425
|
- `.aioson/context/` accepts only `.md` files — do not write non-markdown files there.
|
|
238
426
|
- Do NOT skip the HTML deliverable — generate `output/{squad-slug}/sessions/{session-id}.html` after every response round.
|
|
239
427
|
|
|
@@ -243,5 +431,5 @@ After writing the file:
|
|
|
243
431
|
- Squad metadata: `.aioson/squads/{slug}.md`
|
|
244
432
|
- Session HTMLs: `output/{squad-slug}/sessions/{session-id}.html`
|
|
245
433
|
- Latest HTML: `output/{squad-slug}/latest.html`
|
|
246
|
-
- Logs: `
|
|
434
|
+
- Logs: `aioson-logs/squads/{squad-slug}/`
|
|
247
435
|
- CLAUDE.md: updated with agent shortcuts
|