aiox-core 5.0.7 → 5.0.8
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/.aiox-core/cli/commands/pro/buyer.js +379 -0
- package/.aiox-core/cli/commands/pro/index.js +191 -52
- package/.aiox-core/cli/commands/validate/index.js +2 -0
- package/.aiox-core/core/code-intel/helpers/dev-helper.js +1 -1
- package/.aiox-core/core/code-intel/helpers/devops-helper.js +0 -1
- package/.aiox-core/core/code-intel/helpers/planning-helper.js +1 -1
- package/.aiox-core/core/code-intel/helpers/qa-helper.js +2 -2
- package/.aiox-core/core/config/schemas/framework-config.schema.json +1 -0
- package/.aiox-core/core/config/template-overrides.js +1 -1
- package/.aiox-core/core/doctor/checks/ide-sync.js +81 -25
- package/.aiox-core/core/doctor/checks/rules-files.js +0 -1
- package/.aiox-core/core/doctor/checks/skills-count.js +83 -15
- package/.aiox-core/core/graph-dashboard/cli.js +1 -2
- package/.aiox-core/core/graph-dashboard/data-sources/code-intel-source.js +1 -1
- package/.aiox-core/core/ids/layer-classifier.js +1 -1
- package/.aiox-core/core/pro/pro-updater.js +578 -0
- package/.aiox-core/core/synapse/context/context-tracker.js +107 -9
- package/.aiox-core/core/synapse/layers/layer-processor.js +1 -1
- package/.aiox-core/core-config.yaml +15 -1
- package/.aiox-core/data/capability-detection.js +15 -15
- package/.aiox-core/data/entity-registry.yaml +18 -2
- package/.aiox-core/data/registry-update-log.jsonl +5 -0
- package/.aiox-core/data/tok3-token-comparison.js +0 -4
- package/.aiox-core/data/tool-search-validation.js +1 -1
- package/.aiox-core/development/agents/aiox-master.md +44 -6
- package/.aiox-core/development/agents/data-engineer.md +4 -4
- package/.aiox-core/development/agents/devops.md +52 -2
- package/.aiox-core/development/agents/po.md +1 -1
- package/.aiox-core/development/agents/qa.md +5 -11
- package/.aiox-core/development/agents/sm.md +3 -3
- package/.aiox-core/development/agents/ux-design-expert.md +1 -1
- package/.aiox-core/development/scripts/unified-activation-pipeline.js +29 -3
- package/.aiox-core/development/tasks/dev-develop-story.md +46 -7
- package/.aiox-core/development/tasks/devops-pro-access-grant.md +93 -0
- package/.aiox-core/development/tasks/devops-pro-activate.md +42 -0
- package/.aiox-core/development/tasks/devops-pro-check-access.md +34 -0
- package/.aiox-core/development/tasks/devops-pro-request-reset.md +34 -0
- package/.aiox-core/development/tasks/devops-pro-resend-verification.md +32 -0
- package/.aiox-core/development/tasks/devops-pro-reset-password.md +36 -0
- package/.aiox-core/development/tasks/devops-pro-validate-login.md +36 -0
- package/.aiox-core/development/tasks/devops-pro-verify-status.md +33 -0
- package/.aiox-core/development/tasks/qa-gate.md +54 -4
- package/.aiox-core/development/tasks/validate-next-story.md +39 -2
- package/.aiox-core/framework-config.yaml +1 -0
- package/.aiox-core/infrastructure/scripts/codex-skills-sync/README.md +69 -0
- package/.aiox-core/infrastructure/scripts/codex-skills-sync/bootstrap.js +727 -0
- package/.aiox-core/infrastructure/scripts/codex-skills-sync/index.js +10 -0
- package/.aiox-core/infrastructure/scripts/codex-skills-sync/validate.js +65 -4
- package/.aiox-core/infrastructure/scripts/generate-settings-json.js +29 -4
- package/.aiox-core/infrastructure/scripts/ide-sync/agent-parser.js +4 -0
- package/.aiox-core/infrastructure/scripts/ide-sync/index.js +67 -7
- package/.aiox-core/infrastructure/scripts/ide-sync/transformers/claude-code.js +145 -3
- package/.aiox-core/infrastructure/scripts/repair-agent-references.js +263 -0
- package/.aiox-core/infrastructure/scripts/validate-claude-integration.js +60 -8
- package/.aiox-core/infrastructure/scripts/validate-paths.js +13 -0
- package/.aiox-core/install-manifest.yaml +134 -82
- package/.aiox-core/utils/filters/index.js +2 -1
- package/.claude/commands/AIOX/agents/aiox-master.md +21 -0
- package/.claude/commands/AIOX/agents/analyst.md +21 -0
- package/.claude/commands/AIOX/agents/architect.md +21 -0
- package/.claude/commands/AIOX/agents/data-engineer.md +21 -0
- package/.claude/commands/AIOX/agents/dev.md +21 -0
- package/.claude/commands/AIOX/agents/devops.md +21 -0
- package/.claude/commands/AIOX/agents/pm.md +21 -0
- package/.claude/commands/AIOX/agents/po.md +21 -0
- package/.claude/commands/AIOX/agents/qa.md +21 -0
- package/.claude/commands/AIOX/agents/sm.md +21 -0
- package/.claude/commands/AIOX/agents/squad-creator.md +21 -0
- package/.claude/commands/AIOX/agents/ux-design-expert.md +21 -0
- package/.claude/commands/AIOX/scripts/agent-config-loader.js +624 -0
- package/.claude/commands/AIOX/scripts/generate-greeting.js +160 -0
- package/.claude/commands/AIOX/scripts/greeting-builder.js +866 -0
- package/.claude/commands/AIOX/scripts/session-context-loader.js +286 -0
- package/.claude/commands/AIOX/stories/story-6.1.4.md +1404 -0
- package/.claude/commands/cohort-squad/agents/cohort-manager.md +156 -0
- package/.claude/commands/design-system/agents/brad-frost.md +1097 -0
- package/.claude/commands/design-system/agents/dan-mall.md +857 -0
- package/.claude/commands/design-system/agents/dave-malouf.md +2272 -0
- package/.claude/commands/design-system/agents/design-chief.md +102 -0
- package/.claude/commands/design-system/agents/nano-banana-generator.md +162 -0
- package/.claude/commands/greet.md +101 -0
- package/.claude/commands/synapse/manager.md +75 -0
- package/.claude/commands/synapse/tasks/add-rule.md +94 -0
- package/.claude/commands/synapse/tasks/create-command.md +109 -0
- package/.claude/commands/synapse/tasks/create-domain.md +127 -0
- package/.claude/commands/synapse/tasks/diagnose-synapse.md +245 -0
- package/.claude/commands/synapse/tasks/edit-rule.md +109 -0
- package/.claude/commands/synapse/tasks/suggest-domain.md +116 -0
- package/.claude/commands/synapse/tasks/toggle-domain.md +83 -0
- package/.claude/commands/synapse/templates/domain-template +8 -0
- package/.claude/commands/synapse/templates/manifest-entry-template +4 -0
- package/.claude/commands/synapse/utils/manifest-parser-reference.md +134 -0
- package/.claude/hooks/precompact-session-digest.cjs +2 -2
- package/.claude/skills/AIOX/agents/aiox-master/SKILL.md +511 -0
- package/.claude/skills/AIOX/agents/analyst/SKILL.md +281 -0
- package/.claude/skills/AIOX/agents/architect/SKILL.md +482 -0
- package/.claude/skills/AIOX/agents/data-engineer/SKILL.md +503 -0
- package/.claude/skills/AIOX/agents/dev/SKILL.md +568 -0
- package/.claude/skills/AIOX/agents/devops/SKILL.md +597 -0
- package/.claude/skills/AIOX/agents/pm/SKILL.md +385 -0
- package/.claude/skills/AIOX/agents/po/SKILL.md +343 -0
- package/.claude/skills/AIOX/agents/qa/SKILL.md +451 -0
- package/.claude/skills/AIOX/agents/sm/SKILL.md +295 -0
- package/.claude/skills/AIOX/agents/squad-creator/SKILL.md +352 -0
- package/.claude/skills/AIOX/agents/ux-design-expert/SKILL.md +503 -0
- package/.claude/skills/architect-first/SKILL.md +275 -0
- package/.claude/skills/architect-first/assets/architecture-template.md +505 -0
- package/.claude/skills/architect-first/assets/config-template.yaml +351 -0
- package/.claude/skills/architect-first/references/architecture-checklist.md +216 -0
- package/.claude/skills/architect-first/references/pre-implementation-checklist.md +119 -0
- package/.claude/skills/architect-first/references/stop-rules-guide.md +291 -0
- package/.claude/skills/architect-first/references/testing-strategy-guide.md +477 -0
- package/.claude/skills/architect-first/scripts/architecture_validator.py +490 -0
- package/.claude/skills/architect-first/scripts/check_coupling.py +306 -0
- package/.claude/skills/architect-first/scripts/validate_risk_mitigation.py +382 -0
- package/.claude/skills/checklist-runner/SKILL.md +113 -0
- package/.claude/skills/clone-mind.md +329 -0
- package/.claude/skills/coderabbit-review/SKILL.md +106 -0
- package/.claude/skills/course-generation-workflow.md +76 -0
- package/.claude/skills/enhance-workflow.md +466 -0
- package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
- package/.claude/skills/mcp-builder/SKILL.md +328 -0
- package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
- package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.claude/skills/ralph.md +181 -0
- package/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/.claude/skills/skill-creator/SKILL.md +209 -0
- package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/.claude/skills/squad.md +301 -0
- package/.claude/skills/synapse/SKILL.md +132 -0
- package/.claude/skills/synapse/assets/README.md +50 -0
- package/.claude/skills/synapse/references/brackets.md +100 -0
- package/.claude/skills/synapse/references/commands.md +118 -0
- package/.claude/skills/synapse/references/domains.md +126 -0
- package/.claude/skills/synapse/references/layers.md +186 -0
- package/.claude/skills/synapse/references/manifest.md +142 -0
- package/.claude/skills/tech-search/SKILL.md +431 -0
- package/.claude/skills/tech-search/prompts/page-extract.md +133 -0
- package/README.en.md +2 -2
- package/README.md +8 -2
- package/bin/aiox.js +55 -4
- package/bin/utils/framework-guard.js +4 -2
- package/bin/utils/pro-detector.js +119 -28
- package/bin/utils/validate-publish.js +6 -6
- package/docs/aiox-agent-flows/devops-system.md +18 -0
- package/docs/aiox-workflows/README.md +1 -0
- package/docs/aiox-workflows/pro-access-grant-workflow.md +218 -0
- package/docs/guides/pro/access-grant-ops-playbook.md +370 -0
- package/docs/guides/pro/install-gate-setup.md +12 -6
- package/docs/guides/pro/squad-creator-handoff-pro-access-ops.md +134 -0
- package/docs/guides/supabase-ops-handoff.md +768 -0
- package/package.json +12 -1
- package/packages/aiox-pro-cli/bin/aiox-pro.js +33 -12
- package/packages/installer/src/config/configure-environment.js +118 -50
- package/packages/installer/src/installer/aiox-core-installer.js +124 -27
- package/packages/installer/src/installer/brownfield-upgrader.js +66 -9
- package/packages/installer/src/installer/dependency-installer.js +4 -0
- package/packages/installer/src/pro/pro-scaffolder.js +5 -5
- package/packages/installer/src/updater/index.js +151 -10
- package/packages/installer/src/wizard/ide-config-generator.js +73 -7
- package/packages/installer/src/wizard/index.js +119 -31
- package/packages/installer/src/wizard/pro-setup.js +118 -47
- package/packages/installer/src/wizard/validation/validators/dependency-validator.js +32 -25
- package/packages/installer/src/wizard/validation/validators/file-structure-validator.js +26 -0
- package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +84 -1
- package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +1 -1
- package/packages/installer/tests/unit/doctor/doctor-checks.test.js +85 -19
- package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +4 -4
- package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +5 -5
- package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +4 -4
- package/packages/installer/tests/unit/merger/yaml-merger.test.js +11 -11
- package/pro/README.md +12 -1
- package/pro/license/index.js +3 -11
- package/pro/license/license-api.js +25 -0
- package/pro/license/license-cache.js +135 -31
- package/pro/license/license-crypto.js +59 -3
- package/pro/package.json +5 -4
- package/pro/squads/README.md +16 -16
- package/pro/squads/index.js +1 -1
- package/scripts/e2e/installed-skills-smoke.js +264 -0
- package/scripts/package-synapse.js +3 -3
- package/scripts/validate-package-completeness.js +8 -11
- package/.aiox-core/lib/build.json +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Task: DevOps Pro Verify Status
|
|
2
|
+
|
|
3
|
+
> **Version:** 1.0.0
|
|
4
|
+
> **Created:** 2026-04-20
|
|
5
|
+
> **Type:** SUPPORT-OPS
|
|
6
|
+
> **Agent:** `@devops`
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Check email verification status for an authenticated AIOX Pro session.
|
|
11
|
+
|
|
12
|
+
## Input
|
|
13
|
+
|
|
14
|
+
- `access_token`
|
|
15
|
+
|
|
16
|
+
## Endpoint
|
|
17
|
+
|
|
18
|
+
- `POST https://aiox-license-server.vercel.app/api/v1/auth/verify-status`
|
|
19
|
+
|
|
20
|
+
## Execution
|
|
21
|
+
|
|
22
|
+
1. Call `verify-status` with `{ accessToken }`.
|
|
23
|
+
2. Report `email` and `emailVerified`.
|
|
24
|
+
3. If `emailVerified=false`, route to `*pro-resend-verification`.
|
|
25
|
+
|
|
26
|
+
## Pass Criteria
|
|
27
|
+
|
|
28
|
+
- `200` response
|
|
29
|
+
- clear verified/unverified state
|
|
30
|
+
|
|
31
|
+
## Source Of Truth
|
|
32
|
+
|
|
33
|
+
- `docs/guides/pro/access-grant-ops-playbook.md`
|
|
@@ -420,11 +420,61 @@ Gate: CONCERNS → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
|
|
|
420
420
|
- Always update story with gate reference
|
|
421
421
|
- Clear, actionable findings
|
|
422
422
|
|
|
423
|
+
## Post-Gate Status Update (MANDATORY)
|
|
424
|
+
|
|
425
|
+
**Reference:** `.claude/rules/story-lifecycle.md` — Status transitions are @qa responsibility during QA gate.
|
|
426
|
+
|
|
427
|
+
**This step MUST be executed before presenting results to user.**
|
|
428
|
+
|
|
429
|
+
**Change Log format:** Use `{date: YYYY-MM-DD}` and `{version: MAJOR.MINOR.PATCH}`. Version MUST follow semantic bump rules: major for breaking changes, minor for features, patch for fixes/process updates. HALT if either value cannot be resolved deterministically.
|
|
430
|
+
|
|
431
|
+
### IF verdict is PASS or CONCERNS:
|
|
432
|
+
|
|
433
|
+
0. **Pre-check (blocking):**
|
|
434
|
+
- If current Status is not `**InReview**`, HALT and log: "Cannot apply PASS/CONCERNS transition: expected InReview, found {current status}."
|
|
435
|
+
- If Change Log section is missing, HALT and request user to restore template structure.
|
|
436
|
+
1. **Update story Status field** in the story file: change `**InReview**` to `**Done**`
|
|
437
|
+
2. **Add Change Log entry:**
|
|
438
|
+
```text
|
|
439
|
+
| {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | QA Gate {PASS|CONCERNS} — Status: InReview → Done | @qa |
|
|
440
|
+
```
|
|
441
|
+
3. **Log:** "✅ Story status updated: InReview → Done"
|
|
442
|
+
|
|
443
|
+
### IF verdict is FAIL:
|
|
444
|
+
|
|
445
|
+
0. **Pre-check (blocking):**
|
|
446
|
+
- If current Status is not `**InReview**`, HALT and log: "Cannot apply FAIL transition: expected InReview, found {current status}."
|
|
447
|
+
- If Change Log section is missing, HALT and request user to restore template structure.
|
|
448
|
+
1. **Update story Status field** in the story file: change `**InReview**` to `**InProgress**`
|
|
449
|
+
2. **Add Change Log entry:**
|
|
450
|
+
```text
|
|
451
|
+
| {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | QA Gate FAIL — Status: InReview → InProgress — {reason} | @qa |
|
|
452
|
+
```
|
|
453
|
+
3. **Log:** "❌ Story returned to InProgress — fixes required"
|
|
454
|
+
|
|
455
|
+
### IF verdict is WAIVED:
|
|
456
|
+
|
|
457
|
+
0. **Pre-check (blocking):**
|
|
458
|
+
- If current Status is not `**InReview**`, HALT and log: "Cannot apply WAIVED transition: expected InReview, found {current status}."
|
|
459
|
+
- If Change Log section is missing, HALT and request user to restore template structure.
|
|
460
|
+
1. **Update story Status field** in the story file: change `**InReview**` to `**Done**`
|
|
461
|
+
2. **Add Change Log entry:**
|
|
462
|
+
```text
|
|
463
|
+
| {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | QA Gate WAIVED — Status: InReview → Done — {waiver reason} | @qa |
|
|
464
|
+
```
|
|
465
|
+
3. **Log:** "⚠️ Story status updated: InReview → Done (waived)"
|
|
466
|
+
|
|
467
|
+
### Rationale
|
|
468
|
+
|
|
469
|
+
Status transitions defined in `story-lifecycle.md` are advisory (contextual rules). This step makes them imperative (procedural), ensuring agents always execute the transition as part of the workflow rather than relying on contextual rule awareness.
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
423
473
|
## Handoff
|
|
424
474
|
next_agent: @devops
|
|
425
475
|
next_command: *push
|
|
426
|
-
condition: QA gate verdict is PASS
|
|
476
|
+
condition: QA gate verdict is PASS or CONCERNS (status updated to Done)
|
|
427
477
|
alternatives:
|
|
428
|
-
- agent: @
|
|
429
|
-
- agent: @
|
|
430
|
-
|
|
478
|
+
- agent: @po, command: *review-concerns {story-id}, condition: QA gate verdict is CONCERNS (status updated to Done, has non-blocking issues)
|
|
479
|
+
- agent: @dev, command: *apply-qa-fixes, condition: QA gate verdict is FAIL (status updated to InProgress)
|
|
480
|
+
- agent: @po, command: *close-story {story-id}, condition: QA gate verdict is WAIVED (status updated to Done)
|
|
@@ -463,10 +463,47 @@ Provide a structured validation report including:
|
|
|
463
463
|
- **Implementation Readiness Score**: 1-10 scale
|
|
464
464
|
- **Confidence Level**: High/Medium/Low for successful implementation
|
|
465
465
|
|
|
466
|
+
### 12. Post-Validation Status Update (MANDATORY)
|
|
467
|
+
|
|
468
|
+
**Reference:** `.claude/rules/story-lifecycle.md` — Draft → Ready transition is @po responsibility.
|
|
469
|
+
|
|
470
|
+
**This step MUST be executed before presenting results to user.**
|
|
471
|
+
|
|
472
|
+
**Change Log format:** Use `{date: YYYY-MM-DD}` and `{version: MAJOR.MINOR.PATCH}`. Version MUST follow semantic bump rules: major for breaking changes, minor for features, patch for fixes/process updates. HALT if either value cannot be resolved deterministically.
|
|
473
|
+
|
|
474
|
+
#### IF verdict is GO (score >= 7):
|
|
475
|
+
|
|
476
|
+
0. **Pre-check (blocking):**
|
|
477
|
+
- If current Status is not `**Draft**`, HALT and log: "Cannot apply GO transition: expected Draft, found {current status}."
|
|
478
|
+
- If Change Log section is missing, HALT and request user to restore template structure.
|
|
479
|
+
1. **Update story Status field** in the story file: change `**Draft**` to `**Ready**`
|
|
480
|
+
2. **Add Change Log entry:**
|
|
481
|
+
```text
|
|
482
|
+
| {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | Validated GO ({score}/10) — Status: Draft → Ready | @po |
|
|
483
|
+
```
|
|
484
|
+
3. **Log:** "✅ Story status updated: Draft → Ready"
|
|
485
|
+
|
|
486
|
+
#### IF verdict is NO-GO (score < 7):
|
|
487
|
+
|
|
488
|
+
0. **Pre-check (blocking):**
|
|
489
|
+
- If current Status is not `**Draft**`, HALT and log: "Cannot apply NO-GO outcome: expected Draft, found {current status}."
|
|
490
|
+
- If Change Log section is missing, HALT and request user to restore template structure.
|
|
491
|
+
1. **Keep** story Status as `**Draft**`
|
|
492
|
+
2. **Add Change Log entry:**
|
|
493
|
+
```text
|
|
494
|
+
| {date: YYYY-MM-DD} | {version: MAJOR.MINOR.PATCH} | Validation NO-GO — {reason summary} | @po |
|
|
495
|
+
```
|
|
496
|
+
3. **Log:** "❌ Story remains Draft — fixes required before re-validation"
|
|
497
|
+
|
|
498
|
+
#### Rationale
|
|
499
|
+
|
|
500
|
+
Status transitions defined in `story-lifecycle.md` are advisory (contextual rules). This step makes them imperative (procedural), ensuring agents always execute the transition as part of the workflow rather than relying on contextual rule awareness.
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
466
504
|
## Handoff
|
|
467
505
|
next_agent: @dev
|
|
468
506
|
next_command: *develop {story-id}
|
|
469
|
-
condition: Story status is
|
|
507
|
+
condition: Story status is Ready (GO decision, status updated in Step 12)
|
|
470
508
|
alternatives:
|
|
471
509
|
- agent: @sm, command: *draft, condition: Story rejected (NO-GO), needs rework
|
|
472
|
-
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Codex Skills Sync
|
|
2
|
+
|
|
3
|
+
Tools for generating local Codex skills (`.codex/skills/aiox-*`) from AIOX agent and squad definitions.
|
|
4
|
+
|
|
5
|
+
## When To Use Which
|
|
6
|
+
|
|
7
|
+
There are two complementary entry points:
|
|
8
|
+
|
|
9
|
+
| Tool | Scope | Use case |
|
|
10
|
+
|------|-------|----------|
|
|
11
|
+
| `npm run sync:skills:codex` (`index.js`) | **Core agents only** (`.aiox-core/development/agents/*.md`) | CI / incremental sync. Tightly coupled with the shared `agent-parser.js` from `ide-sync/`. Used after editing core agent files to keep `.codex/skills/` in step. |
|
|
12
|
+
| `npm run setup:codex-skills` (`bootstrap.js`) | **Core agents + squad entry chiefs** (`squads/*/config.yaml` → entry agent) | First-time / operator bootstrap. Standalone with vendored `js-yaml` fallback. Use after a fresh checkout, after adding a new squad, or when the `$` menu in Codex is missing skills (e.g. squad chiefs not loading). |
|
|
13
|
+
|
|
14
|
+
If a skill exists in `.codex/skills/` but does not contain the marker `<!-- AIOX-CODEX-LOCAL-SKILLS: generated -->`, `bootstrap.js` skips it by default to preserve hand-edits. Pass `--force` to overwrite (a `.bak-<timestamp>` copy is created first).
|
|
15
|
+
|
|
16
|
+
## bootstrap.js
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
npm run setup:codex-skills # generate / update
|
|
20
|
+
npm run setup:codex-skills:dry # preview without writes
|
|
21
|
+
node bootstrap.js --force # overwrite non-generated skills (creates .bak)
|
|
22
|
+
node bootstrap.js --help # full options
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Discovery rules:
|
|
26
|
+
|
|
27
|
+
1. **Core agents** — every `*.md` in `.aiox-core/development/agents/` becomes a `aiox-<id>` skill.
|
|
28
|
+
2. **Squad chiefs** — every `squads/*/config.yaml` is parsed; the entry agent is resolved via:
|
|
29
|
+
- explicit `entry_agent`, `squad.entry_agent`, `pack.entry_agent`, `orchestrator.agent`, or `tier_system.orchestrator` field
|
|
30
|
+
- first agent with `tier: orchestrator` or id matching `*chief`
|
|
31
|
+
- file matching `*-chief.md` in `squads/<name>/agents/`
|
|
32
|
+
- first agent file as fallback
|
|
33
|
+
3. **Skill ID** — `aiox-<entry>` if the entry name is squad-specific (e.g. `mega-brain-chief`); otherwise `aiox-<squad>-<entry>` to avoid collisions.
|
|
34
|
+
|
|
35
|
+
After running, restart Codex CLI from the project root if the `$` menu does not refresh automatically.
|
|
36
|
+
|
|
37
|
+
## index.js (canonical incremental sync)
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
npm run sync:skills:codex # local .codex/skills only
|
|
41
|
+
npm run sync:skills:codex:global # also write to ~/.codex/skills
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Used by CI and by the unified ide-sync pipeline. Does not generate squad-chief skills — use `bootstrap.js` for that.
|
|
45
|
+
|
|
46
|
+
## validate.js
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
npm run validate:codex-skills # validate aiox-* skill / agent parity (strict)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Verifies that every core agent has a corresponding `.codex/skills/aiox-<id>/SKILL.md`. Squad-chief skills are out of scope for this validator.
|
|
53
|
+
|
|
54
|
+
## Files generated
|
|
55
|
+
|
|
56
|
+
Output directory defaults to `.codex/skills/<skill-id>/SKILL.md`. The generated files include:
|
|
57
|
+
|
|
58
|
+
- A YAML frontmatter (`name`, `description`)
|
|
59
|
+
- The `<!-- AIOX-CODEX-LOCAL-SKILLS: generated -->` marker (used by future runs to detect ownership)
|
|
60
|
+
- A pointer to the source-of-truth file (loaded on demand by Codex)
|
|
61
|
+
- A short activation protocol and starter command list
|
|
62
|
+
|
|
63
|
+
The source files in `.aiox-core/development/agents/` and `squads/*/agents/` remain authoritative. Generated skills are activator stubs.
|
|
64
|
+
|
|
65
|
+
## Story reference
|
|
66
|
+
|
|
67
|
+
Story 123.9 — Codex local skills bootstrap (squad chief coverage).
|
|
68
|
+
|
|
69
|
+
Background: students reported that squad-chief skills (e.g. `mega-brain-chief`, `slides-chief`) did not appear in Codex's `$` menu. Root cause: `index.js` only generated skills from `.aiox-core/development/agents/` — squad chiefs in `squads/*/agents/` were not covered. A provisional standalone script was distributed manually; this directory captures the definitive vendored solution.
|