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,431 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tech-search
|
|
3
|
+
description: |
|
|
4
|
+
Self-contained deep tech research. WebSearch + WebFetch + Haiku workers.
|
|
5
|
+
Pipeline: Query > Decompose > Parallel Search (Haiku) > Evaluate > Synthesize > Document.
|
|
6
|
+
Zero external dependencies. MCPs optional.
|
|
7
|
+
Salva em docs/research/{YYYY-MM-DD}-{slug}/.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Tech Search
|
|
11
|
+
|
|
12
|
+
Self-contained deep research pipeline. Zero external dependencies.
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
/tech-search "React Server Components vs Client Components"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Activation
|
|
21
|
+
|
|
22
|
+
1. Parse query from `$ARGUMENTS` (or ask if not provided)
|
|
23
|
+
2. Execute 6-phase workflow
|
|
24
|
+
3. Save to `docs/research/{YYYY-MM-DD}-{slug}/`
|
|
25
|
+
|
|
26
|
+
**CRITICAL:**
|
|
27
|
+
- NEVER implement code. Redirect to @pm or @dev.
|
|
28
|
+
- NEVER write files outside `docs/research/`.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## SKILL DEFINITION
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
skill:
|
|
36
|
+
name: Tech Search
|
|
37
|
+
id: tech-search
|
|
38
|
+
|
|
39
|
+
veto_conditions:
|
|
40
|
+
- id: VETO_NO_RESULTS
|
|
41
|
+
trigger: "ALL search waves return 0 results"
|
|
42
|
+
action: "STOP + Report: 'No results found. Reformulate query or check connectivity.'"
|
|
43
|
+
|
|
44
|
+
- id: VETO_IMPLEMENTATION_REQUEST
|
|
45
|
+
trigger: "User asks to implement, code, create agent/skill, or deploy"
|
|
46
|
+
action: "REDIRECT: 'Implementation is not my scope. Use @pm for prioritization or @dev for execution.'"
|
|
47
|
+
keywords:
|
|
48
|
+
- "implementa"
|
|
49
|
+
- "cria o agent"
|
|
50
|
+
- "cria a skill"
|
|
51
|
+
- "faz o codigo"
|
|
52
|
+
- "escreve o codigo"
|
|
53
|
+
- "desenvolve"
|
|
54
|
+
- "deploy"
|
|
55
|
+
- "implement"
|
|
56
|
+
- "build this"
|
|
57
|
+
- "code this"
|
|
58
|
+
|
|
59
|
+
- id: VETO_FORBIDDEN_PATH
|
|
60
|
+
trigger: "Attempt to write outside docs/research/"
|
|
61
|
+
action: "BLOCK + Error: 'Writing outside docs/research/ is forbidden.'"
|
|
62
|
+
|
|
63
|
+
constraints:
|
|
64
|
+
forbidden_actions:
|
|
65
|
+
- NEVER implement code, agents, skills, or production artifacts
|
|
66
|
+
- NEVER create files outside docs/research/
|
|
67
|
+
- NEVER write to .claude/agents/, .claude/skills/, squads/, app/, lib/
|
|
68
|
+
|
|
69
|
+
tool_hierarchy:
|
|
70
|
+
search:
|
|
71
|
+
1_preferred: "Exa MCP (mcp__exa__web_search_exa) - if available"
|
|
72
|
+
2_fallback: "WebSearch (always available)"
|
|
73
|
+
detection: "Try Exa first. If 401/429/503, set exa_available=false, use WebSearch."
|
|
74
|
+
|
|
75
|
+
docs:
|
|
76
|
+
1_preferred: "Context7 MCP (mcp__context7__resolve-library-id + query-docs) - if available"
|
|
77
|
+
2_fallback: "WebSearch with 'site:{library}.dev docs' or 'site:{library}.io docs'"
|
|
78
|
+
detection: "Try Context7 first. If fails, set context7_available=false."
|
|
79
|
+
|
|
80
|
+
deep_read:
|
|
81
|
+
only: "WebFetch with prompts/page-extract.md prompt"
|
|
82
|
+
note: "No ETL, no Bash, no external scripts. Pure WebFetch."
|
|
83
|
+
|
|
84
|
+
workers:
|
|
85
|
+
type: "general-purpose"
|
|
86
|
+
model: "haiku"
|
|
87
|
+
max_parallel: 5
|
|
88
|
+
max_deep_reads_per_worker: 3
|
|
89
|
+
|
|
90
|
+
workflow:
|
|
91
|
+
phases:
|
|
92
|
+
|
|
93
|
+
# ──────────────────────────────────────────────
|
|
94
|
+
# PHASE 1: AUTO-CLARIFY
|
|
95
|
+
# ──────────────────────────────────────────────
|
|
96
|
+
1_auto_clarify:
|
|
97
|
+
name: "Auto-Clarification"
|
|
98
|
+
model_tier: "MAIN MODEL (inline)"
|
|
99
|
+
description: |
|
|
100
|
+
Pattern matching + technology detection on the user query.
|
|
101
|
+
Determines if clarification is needed or can be skipped.
|
|
102
|
+
|
|
103
|
+
execution: |
|
|
104
|
+
1. Read user query (original text, unmodified)
|
|
105
|
+
|
|
106
|
+
2. PATTERN MATCHING (case-insensitive):
|
|
107
|
+
- Technical keywords: "code", "implement", "how to", "api", "bug",
|
|
108
|
+
"error", "debug", "library", "sdk", "tutorial", "example"
|
|
109
|
+
→ inferred_context.focus = "technical"
|
|
110
|
+
- Comparison keywords: "compare", "vs", "versus", "difference",
|
|
111
|
+
"better", "alternative", "tradeoff", "pros and cons"
|
|
112
|
+
→ inferred_context.focus = "comparison"
|
|
113
|
+
- Recency keywords: "latest", "new", "2024", "2025", "2026",
|
|
114
|
+
"recent", "state of the art", "trending"
|
|
115
|
+
→ inferred_context.temporal = "recent"
|
|
116
|
+
→ Append current year to search queries
|
|
117
|
+
|
|
118
|
+
3. TECHNOLOGY DETECTION (case-insensitive):
|
|
119
|
+
Scan for known technologies:
|
|
120
|
+
- Languages: JavaScript/JS, TypeScript/TS, Python, Java, Go, Rust, C#, Ruby, PHP
|
|
121
|
+
- Frameworks: React, Next.js, Vue, Angular, Svelte, Express, FastAPI, Django, Flask
|
|
122
|
+
- Databases: PostgreSQL, MySQL, MongoDB, Redis, Supabase, Firebase, Elasticsearch
|
|
123
|
+
- AI/ML: LLM, RAG, LangChain, OpenAI, Claude, Anthropic, TensorFlow, PyTorch
|
|
124
|
+
- Infra: Docker, Kubernetes, AWS, Vercel, GraphQL, REST, WebSocket
|
|
125
|
+
→ Collect into inferred_context.domain = [list]
|
|
126
|
+
|
|
127
|
+
4. DECISION:
|
|
128
|
+
- IF any pattern OR technology detected → skip clarification
|
|
129
|
+
- IF nothing detected → ask ONE question:
|
|
130
|
+
"Your query seems broad. What is the focus and technical context?"
|
|
131
|
+
|
|
132
|
+
output: "inferred_context object {focus, temporal, domain, skip_clarification}"
|
|
133
|
+
|
|
134
|
+
# ──────────────────────────────────────────────
|
|
135
|
+
# PHASE 2: DECOMPOSE
|
|
136
|
+
# ──────────────────────────────────────────────
|
|
137
|
+
2_decompose:
|
|
138
|
+
name: "Query Decomposition"
|
|
139
|
+
model_tier: "MAIN MODEL"
|
|
140
|
+
description: |
|
|
141
|
+
Decomposes user query into 5-7 atomic, directly searchable sub-queries.
|
|
142
|
+
Uses extended thinking for deeper analysis.
|
|
143
|
+
|
|
144
|
+
execution: |
|
|
145
|
+
ultrathink
|
|
146
|
+
|
|
147
|
+
1. DEEP ANALYSIS (use extended thinking):
|
|
148
|
+
- What are the REAL questions behind this query?
|
|
149
|
+
- What would a domain expert want to know?
|
|
150
|
+
- What gaps might standard searches miss?
|
|
151
|
+
- What assumptions should be tested?
|
|
152
|
+
|
|
153
|
+
2. GENERATE 5-7 sub-queries that:
|
|
154
|
+
- Cover ORTHOGONAL angles (not overlapping)
|
|
155
|
+
- Include at least one "devil's advocate" query
|
|
156
|
+
- Include at least one "expert-level" query
|
|
157
|
+
- Are directly searchable (not abstract)
|
|
158
|
+
|
|
159
|
+
3. INCORPORATE inferred_context:
|
|
160
|
+
- If focus=comparison → ensure queries cover both/all sides
|
|
161
|
+
- If temporal=recent → add year constraints
|
|
162
|
+
- If domain detected → scope queries to those technologies
|
|
163
|
+
|
|
164
|
+
4. OUTPUT format:
|
|
165
|
+
{
|
|
166
|
+
"main_topic": "string",
|
|
167
|
+
"sub_queries": ["query1", "query2", ...],
|
|
168
|
+
"search_strategy": "parallel"
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
output: "decomposition_result JSON"
|
|
172
|
+
|
|
173
|
+
# ──────────────────────────────────────────────
|
|
174
|
+
# PHASE 3: PARALLEL SEARCH (Haiku Workers)
|
|
175
|
+
# ──────────────────────────────────────────────
|
|
176
|
+
3_parallel_search:
|
|
177
|
+
name: "Parallel Search via Haiku Workers"
|
|
178
|
+
model_tier: "HAIKU (via Task tool, general-purpose agent)"
|
|
179
|
+
description: |
|
|
180
|
+
Dispatches sub-queries as parallel Haiku workers.
|
|
181
|
+
Each worker: WebSearch → select top URLs → WebFetch on best → return JSON.
|
|
182
|
+
Max 5 workers in parallel. No external dependencies.
|
|
183
|
+
|
|
184
|
+
execution: |
|
|
185
|
+
1. PRE-CHECK MCP AVAILABILITY (main model, before dispatch):
|
|
186
|
+
- Try Context7: mcp__context7__resolve-library-id for detected library
|
|
187
|
+
→ If fails: context7_available = false
|
|
188
|
+
- Try Exa: mcp__exa__web_search_exa("test", 1)
|
|
189
|
+
→ If 401/429/503: exa_available = false
|
|
190
|
+
|
|
191
|
+
2. DISPATCH WORKERS:
|
|
192
|
+
For EACH sub-query, create a Task call:
|
|
193
|
+
|
|
194
|
+
Task(
|
|
195
|
+
subagent_type: "general-purpose",
|
|
196
|
+
model: "haiku",
|
|
197
|
+
prompt: <WORKER_PROMPT>
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
Dispatch ALL Task calls in a SINGLE message for parallel execution.
|
|
201
|
+
Max 5 workers.
|
|
202
|
+
|
|
203
|
+
WORKER PROMPT TEMPLATE:
|
|
204
|
+
```
|
|
205
|
+
You are a research worker. Search and extract information for ONE specific query.
|
|
206
|
+
|
|
207
|
+
QUERY: {sub_query}
|
|
208
|
+
CONTEXT: {inferred_context_json}
|
|
209
|
+
MCP AVAILABILITY: exa={exa_available}, context7={context7_available}
|
|
210
|
+
|
|
211
|
+
INSTRUCTIONS:
|
|
212
|
+
1. Search using the best available tool:
|
|
213
|
+
- If context7 available AND query is about a specific library:
|
|
214
|
+
→ Use mcp__context7__resolve-library-id then mcp__context7__query-docs
|
|
215
|
+
- If exa available:
|
|
216
|
+
→ Use mcp__exa__web_search_exa(query, numResults=5)
|
|
217
|
+
- Else:
|
|
218
|
+
→ Use WebSearch(query)
|
|
219
|
+
|
|
220
|
+
2. From search results, select top 2-3 most relevant URLs
|
|
221
|
+
|
|
222
|
+
3. Deep-read top 1-3 results using WebFetch:
|
|
223
|
+
- For each URL, use WebFetch with this prompt:
|
|
224
|
+
"Extract technical information relevant to: {sub_query}
|
|
225
|
+
Focus on: specific facts/numbers/benchmarks, code examples (preserve exactly),
|
|
226
|
+
best practices and warnings, expert recommendations.
|
|
227
|
+
Skip: navigation, ads, generic intros.
|
|
228
|
+
Format as structured markdown with Key Findings, Code/Examples,
|
|
229
|
+
Expert Quotes, and Actionable Insights sections."
|
|
230
|
+
|
|
231
|
+
4. Return results as JSON (no other text):
|
|
232
|
+
{
|
|
233
|
+
"sub_query": "the original sub-query",
|
|
234
|
+
"sources": [
|
|
235
|
+
{"url": "...", "title": "...", "snippet": "first 200 chars...",
|
|
236
|
+
"credibility": "HIGH|MEDIUM|LOW", "tool_used": "WebSearch|Exa|Context7"}
|
|
237
|
+
],
|
|
238
|
+
"key_findings": ["finding1 with specific data", "finding2", ...],
|
|
239
|
+
"code_examples": ["```lang\ncode\n```", ...],
|
|
240
|
+
"expert_quotes": ["quote — author", ...]
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
IMPORTANT:
|
|
244
|
+
- Do NOT synthesize or write reports. Just search and return raw findings.
|
|
245
|
+
- Be HONEST about credibility (LOW if source is generic/outdated).
|
|
246
|
+
- Preserve code examples EXACTLY as found.
|
|
247
|
+
- Max 3 deep reads per worker.
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
3. AGGREGATE RESULTS (main model):
|
|
251
|
+
- Collect all worker responses
|
|
252
|
+
- Parse JSON from each Task result
|
|
253
|
+
- Deduplicate by URL (keep highest credibility)
|
|
254
|
+
- Build unified results with tool attribution
|
|
255
|
+
|
|
256
|
+
4. HANDLE FAILURES:
|
|
257
|
+
- For failed workers (no response or invalid JSON):
|
|
258
|
+
→ Log warning, execute that sub-query directly in main context
|
|
259
|
+
- RULE: at least 1 successful result to proceed
|
|
260
|
+
|
|
261
|
+
output: |
|
|
262
|
+
{
|
|
263
|
+
"search_results": [...],
|
|
264
|
+
"tools_used": {"exa": N, "context7": N, "websearch": N, "webfetch": N},
|
|
265
|
+
"worker_stats": {"dispatched": N, "succeeded": N, "failed": N}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
# ──────────────────────────────────────────────
|
|
269
|
+
# PHASE 4: EVALUATE COVERAGE
|
|
270
|
+
# ──────────────────────────────────────────────
|
|
271
|
+
4_evaluate_coverage:
|
|
272
|
+
name: "Coverage Evaluation"
|
|
273
|
+
model_tier: "HAIKU (via Task tool)"
|
|
274
|
+
description: |
|
|
275
|
+
Evaluates if research is complete. Decides CONTINUE or STOP.
|
|
276
|
+
Max 2 waves total (simpler than tech-research's 3 waves).
|
|
277
|
+
|
|
278
|
+
execution: |
|
|
279
|
+
Wrap in Task(model: "haiku"):
|
|
280
|
+
|
|
281
|
+
1. Calculate metrics:
|
|
282
|
+
- coverage_score (0-100): How well do findings answer the original query?
|
|
283
|
+
- source_quality: Count HIGH/MEDIUM/LOW credibility sources
|
|
284
|
+
- new_info_ratio: Estimate unique facts vs total
|
|
285
|
+
|
|
286
|
+
2. STOPPING RULES:
|
|
287
|
+
HARD STOPS (always stop):
|
|
288
|
+
- wave >= 2 → "Max iterations reached"
|
|
289
|
+
- coverage_score >= 80 AND high_credibility >= 3 → "Sufficient coverage"
|
|
290
|
+
|
|
291
|
+
SOFT STOP:
|
|
292
|
+
- coverage_score >= 65 AND wave >= 1 → "Acceptable coverage"
|
|
293
|
+
|
|
294
|
+
MUST CONTINUE:
|
|
295
|
+
- coverage_score < 50 AND wave == 1 → "Insufficient first wave"
|
|
296
|
+
|
|
297
|
+
3. IF CONTINUE:
|
|
298
|
+
- Generate 2-3 targeted gap-filling queries
|
|
299
|
+
- Return to Phase 3 (search again with new queries)
|
|
300
|
+
|
|
301
|
+
4. IF STOP:
|
|
302
|
+
- Document final score and remaining gaps
|
|
303
|
+
|
|
304
|
+
output: |
|
|
305
|
+
{
|
|
306
|
+
"decision": "CONTINUE|STOP",
|
|
307
|
+
"coverage_score": 0-100,
|
|
308
|
+
"stop_reason": "reason",
|
|
309
|
+
"gaps": [...],
|
|
310
|
+
"next_queries": [...] (if CONTINUE)
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
# ──────────────────────────────────────────────
|
|
314
|
+
# PHASE 5: SYNTHESIZE
|
|
315
|
+
# ──────────────────────────────────────────────
|
|
316
|
+
5_synthesize:
|
|
317
|
+
name: "Synthesize"
|
|
318
|
+
model_tier: "MAIN MODEL"
|
|
319
|
+
description: |
|
|
320
|
+
Consolidates all findings into a comprehensive research report.
|
|
321
|
+
Produces DOCUMENTATION ONLY, never production code.
|
|
322
|
+
|
|
323
|
+
execution: |
|
|
324
|
+
1. Review all aggregated search results and findings
|
|
325
|
+
2. Identify patterns, consensus, and contradictions across sources
|
|
326
|
+
3. Rank techniques/solutions by evidence strength
|
|
327
|
+
4. Generate:
|
|
328
|
+
- Executive summary (TL;DR)
|
|
329
|
+
- Detailed findings organized by theme
|
|
330
|
+
- Code examples for REFERENCE only (not production)
|
|
331
|
+
- Decision matrix: when to use what
|
|
332
|
+
- Practical next steps recommending @pm or @dev
|
|
333
|
+
5. ALWAYS end with "Next Steps" section redirecting to implementation agents
|
|
334
|
+
|
|
335
|
+
output: "Synthesized report content"
|
|
336
|
+
|
|
337
|
+
# ──────────────────────────────────────────────
|
|
338
|
+
# PHASE 6: DOCUMENT
|
|
339
|
+
# ──────────────────────────────────────────────
|
|
340
|
+
6_document:
|
|
341
|
+
name: "Document"
|
|
342
|
+
model_tier: "MAIN MODEL"
|
|
343
|
+
description: "Save complete research to docs/research/"
|
|
344
|
+
structure:
|
|
345
|
+
folder: "docs/research/{YYYY-MM-DD}-{slug}/"
|
|
346
|
+
files:
|
|
347
|
+
- name: "README.md"
|
|
348
|
+
content: "Index + TL;DR"
|
|
349
|
+
- name: "00-query-original.md"
|
|
350
|
+
content: "Original question + inferred context"
|
|
351
|
+
- name: "01-deep-research-prompt.md"
|
|
352
|
+
content: "Generated structured prompt with sub-queries"
|
|
353
|
+
- name: "02-research-report.md"
|
|
354
|
+
content: "Complete research findings"
|
|
355
|
+
- name: "03-recommendations.md"
|
|
356
|
+
content: "Recommendations and next steps (NO production code)"
|
|
357
|
+
|
|
358
|
+
security:
|
|
359
|
+
- Never include API keys or secrets in research docs
|
|
360
|
+
- Sanitize sensitive paths before saving
|
|
361
|
+
- Validate URLs before fetching
|
|
362
|
+
- NEVER write files outside docs/research/
|
|
363
|
+
- NEVER create agents, skills, or production code
|
|
364
|
+
|
|
365
|
+
scope_boundaries:
|
|
366
|
+
allowed_paths:
|
|
367
|
+
- "docs/research/**"
|
|
368
|
+
forbidden_paths:
|
|
369
|
+
- ".claude/agents/"
|
|
370
|
+
- ".claude/skills/"
|
|
371
|
+
- "squads/"
|
|
372
|
+
- "app/"
|
|
373
|
+
- "lib/"
|
|
374
|
+
- "src/"
|
|
375
|
+
- "*.ts"
|
|
376
|
+
- "*.tsx"
|
|
377
|
+
- "*.js"
|
|
378
|
+
- "*.py"
|
|
379
|
+
exception: "Code examples within docs/research/ markdown are allowed for DOCUMENTATION only"
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## Execution Flow
|
|
385
|
+
|
|
386
|
+
```
|
|
387
|
+
Query → Auto-Clarify → Decompose (ultrathink, MAIN MODEL)
|
|
388
|
+
|
|
|
389
|
+
[Sub-query 1] [Sub-query 2] ... [Sub-query 5]
|
|
390
|
+
| | |
|
|
391
|
+
[Haiku GP] [Haiku GP] [Haiku GP]
|
|
392
|
+
(search+read) (search+read) (search+read)
|
|
393
|
+
| | |
|
|
394
|
+
+------+-------+-------+-----------+
|
|
395
|
+
|
|
|
396
|
+
Aggregate (MAIN MODEL)
|
|
397
|
+
|
|
|
398
|
+
Evaluate Coverage (HAIKU)
|
|
399
|
+
|
|
|
400
|
+
(coverage OK?) ── NO ──→ [Wave 2, max 2 total]
|
|
401
|
+
| YES
|
|
402
|
+
|
|
|
403
|
+
Synthesize (MAIN MODEL)
|
|
404
|
+
|
|
|
405
|
+
Document (MAIN MODEL)
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
## What This Skill Does NOT Have
|
|
409
|
+
|
|
410
|
+
- No ETL service dependency
|
|
411
|
+
- No infrastructure/ references
|
|
412
|
+
- No squads/ references
|
|
413
|
+
- No Bash commands
|
|
414
|
+
- No custom agents (uses built-in general-purpose)
|
|
415
|
+
- No Python/JS scripts
|
|
416
|
+
- No npm dependencies
|
|
417
|
+
- No wave compression (max 2 waves, context is sufficient)
|
|
418
|
+
- No citation verification (simplifies without quality loss)
|
|
419
|
+
- No follow-up behavior (run again for more research)
|
|
420
|
+
- No BlogDiscovery or SemanticChunker
|
|
421
|
+
|
|
422
|
+
## Output Structure
|
|
423
|
+
|
|
424
|
+
```
|
|
425
|
+
docs/research/{YYYY-MM-DD}-{slug}/
|
|
426
|
+
├── README.md # Index + TL;DR
|
|
427
|
+
├── 00-query-original.md # Original question + context
|
|
428
|
+
├── 01-deep-research-prompt.md # Generated prompt with sub-queries
|
|
429
|
+
├── 02-research-report.md # Complete findings
|
|
430
|
+
└── 03-recommendations.md # Recommendations (NO production code)
|
|
431
|
+
```
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
## ROLE
|
|
2
|
+
Technical content extractor. Simulates Exa's content extraction when reading pages.
|
|
3
|
+
|
|
4
|
+
## TASK
|
|
5
|
+
Extract structured, relevant information from the page at {{URL}} related to: {{QUERY}}
|
|
6
|
+
|
|
7
|
+
## EXTRACTION RULES
|
|
8
|
+
|
|
9
|
+
### What to Extract
|
|
10
|
+
|
|
11
|
+
1. **Key Facts** - Concrete information, numbers, specifications
|
|
12
|
+
2. **Code Examples** - Actual code snippets (not just mentions)
|
|
13
|
+
3. **Process/Steps** - How-to instructions, workflows
|
|
14
|
+
4. **Comparisons** - Pros/cons, tradeoffs, benchmarks
|
|
15
|
+
5. **Expert Opinions** - Quotes, recommendations from authors
|
|
16
|
+
6. **Warnings/Gotchas** - Common mistakes, anti-patterns
|
|
17
|
+
|
|
18
|
+
### What to SKIP
|
|
19
|
+
|
|
20
|
+
- Navigation, headers, footers
|
|
21
|
+
- Ads, promotional content
|
|
22
|
+
- Generic introductions ("In this article we will...")
|
|
23
|
+
- Redundant content already covered
|
|
24
|
+
- Author bios (unless relevant)
|
|
25
|
+
|
|
26
|
+
## OUTPUT FORMAT
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
## Source: {{TITLE}}
|
|
30
|
+
URL: {{URL}}
|
|
31
|
+
Relevance: HIGH|MEDIUM|LOW
|
|
32
|
+
|
|
33
|
+
### Key Findings
|
|
34
|
+
- {Finding 1 with specific data}
|
|
35
|
+
- {Finding 2 with specific data}
|
|
36
|
+
|
|
37
|
+
### Code/Examples
|
|
38
|
+
```{language}
|
|
39
|
+
{actual code from the page}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Expert Quote
|
|
43
|
+
> "{direct quote}" — {author if known}
|
|
44
|
+
|
|
45
|
+
### Actionable Insights
|
|
46
|
+
1. {What to do based on this source}
|
|
47
|
+
2. {What to avoid}
|
|
48
|
+
|
|
49
|
+
### Cross-Reference Notes
|
|
50
|
+
- Confirms: {what other sources said}
|
|
51
|
+
- Contradicts: {what differs from other sources}
|
|
52
|
+
- Adds: {new information not found elsewhere}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## QUALITY GATES
|
|
56
|
+
|
|
57
|
+
Before returning, verify:
|
|
58
|
+
- [ ] At least 3 key findings extracted
|
|
59
|
+
- [ ] Specific data (numbers, versions, dates) included when available
|
|
60
|
+
- [ ] Code examples preserved exactly (not paraphrased)
|
|
61
|
+
- [ ] Relevance score is honest (LOW if page didn't help)
|
|
62
|
+
|
|
63
|
+
## EXAMPLES
|
|
64
|
+
|
|
65
|
+
### Good Extraction
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
## Source: Redis Caching Best Practices for Node.js
|
|
69
|
+
URL: https://example.com/redis-node-best-practices
|
|
70
|
+
Relevance: HIGH
|
|
71
|
+
|
|
72
|
+
### Key Findings
|
|
73
|
+
- Redis connection pooling reduces latency by 40% in high-traffic apps
|
|
74
|
+
- Default TTL of 3600s is recommended for session data
|
|
75
|
+
- Use `SCAN` instead of `KEYS` in production (KEYS blocks)
|
|
76
|
+
|
|
77
|
+
### Code/Examples
|
|
78
|
+
```javascript
|
|
79
|
+
const redis = require('redis');
|
|
80
|
+
const client = redis.createClient({
|
|
81
|
+
socket: { connectTimeout: 5000 },
|
|
82
|
+
retry_strategy: (options) => Math.min(options.attempt * 100, 3000)
|
|
83
|
+
});
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Expert Quote
|
|
87
|
+
> "Always set memory limits with maxmemory-policy allkeys-lru to prevent OOM kills" — Redis Labs documentation
|
|
88
|
+
|
|
89
|
+
### Actionable Insights
|
|
90
|
+
1. Implement connection pooling with 10-20 connections per instance
|
|
91
|
+
2. Never use KEYS command in production loops
|
|
92
|
+
|
|
93
|
+
### Cross-Reference Notes
|
|
94
|
+
- Confirms: TTL importance (also mentioned in Stack Overflow thread)
|
|
95
|
+
- Adds: Specific memory policy recommendation (new info)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Honest LOW Relevance
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## Source: Introduction to Caching Concepts
|
|
102
|
+
URL: https://example.com/caching-101
|
|
103
|
+
Relevance: LOW
|
|
104
|
+
|
|
105
|
+
### Key Findings
|
|
106
|
+
- Basic explanation of what caching is (generic)
|
|
107
|
+
- No Node.js specific content
|
|
108
|
+
- No code examples
|
|
109
|
+
|
|
110
|
+
### Actionable Insights
|
|
111
|
+
1. Skip this source for implementation details
|
|
112
|
+
|
|
113
|
+
### Cross-Reference Notes
|
|
114
|
+
- Adds: Nothing new, basic tutorial level
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## EXECUTION
|
|
118
|
+
|
|
119
|
+
When using WebFetch, pass this as the prompt:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
Extract technical information relevant to: {original query}
|
|
123
|
+
|
|
124
|
+
Focus on:
|
|
125
|
+
1. Specific facts, numbers, benchmarks
|
|
126
|
+
2. Code examples (preserve exactly)
|
|
127
|
+
3. Best practices and warnings
|
|
128
|
+
4. Expert recommendations
|
|
129
|
+
|
|
130
|
+
Skip: navigation, ads, generic intros.
|
|
131
|
+
|
|
132
|
+
Format as structured markdown with Key Findings, Code Examples, Expert Quotes, and Actionable Insights sections.
|
|
133
|
+
```
|
package/README.en.md
CHANGED
|
@@ -602,14 +602,14 @@ Squads are modular AI agent teams. See the [Squads Overview](docs/guides/squads-
|
|
|
602
602
|
|
|
603
603
|
## AIOX Pro
|
|
604
604
|
|
|
605
|
-
**AIOX Pro**
|
|
605
|
+
**AIOX Pro** is the premium module of AIOX, offering advanced features for teams and larger-scale projects.
|
|
606
606
|
|
|
607
607
|
> **Restricted availability:** AIOX Pro is available exclusively to members of the **AIOX Cohort Advanced**. [Learn more about the program](https://aioxsquad.ai).
|
|
608
608
|
|
|
609
609
|
### Installation
|
|
610
610
|
|
|
611
611
|
```bash
|
|
612
|
-
|
|
612
|
+
npx aiox-pro install
|
|
613
613
|
```
|
|
614
614
|
|
|
615
615
|
### Premium Features
|
package/README.md
CHANGED
|
@@ -604,16 +604,22 @@ Squads são equipes modulares de agentes IA. Veja a [Visão Geral de Squads](doc
|
|
|
604
604
|
|
|
605
605
|
## AIOX Pro
|
|
606
606
|
|
|
607
|
-
O **AIOX Pro**
|
|
607
|
+
O **AIOX Pro** é o módulo premium do AIOX, oferecendo funcionalidades avançadas para equipes e projetos de maior escala.
|
|
608
608
|
|
|
609
609
|
> **Disponibilidade restrita:** O AIOX Pro está disponível exclusivamente para membros do **AIOX Cohort Advanced**. [Saiba mais sobre o programa](https://aioxsquad.ai).
|
|
610
610
|
|
|
611
611
|
### Instalação
|
|
612
612
|
|
|
613
613
|
```bash
|
|
614
|
-
|
|
614
|
+
npx aiox-pro install
|
|
615
615
|
```
|
|
616
616
|
|
|
617
|
+
### Identificação Estável de Máquina (>= 5.0.8)
|
|
618
|
+
|
|
619
|
+
O AIOX Pro agora usa o UUID nativo do sistema operacional para gerar `machineId`, preservando o hash SHA-256 e evitando consumo extra de assentos quando o macOS, VPNs ou redes Wi-Fi alteram o MAC/interface ativa.
|
|
620
|
+
|
|
621
|
+
Caches locais de licença criados pelo algoritmo antigo são migrados automaticamente na próxima leitura. A janela de fallback legacy é de 90 dias; depois disso, instalações antigas precisam reativar online.
|
|
622
|
+
|
|
617
623
|
### Features Premium
|
|
618
624
|
|
|
619
625
|
- **Squads Avançados** - Squads especializados com capacidades expandidas
|