feat: classify and assign tools/skills to orchestrator vs subagents#513
Merged
avoidwork merged 11 commits intoJul 3, 2026
Merged
Conversation
- Add OpenSpec change for classifying tools and skills by agent type - Define classification schema (orchestrator, subagent, shared) - Design agent-specific tool assignment in deepAgents.js - Create specs for tool-classification and agent-tool-assignment capabilities - Generate implementation tasks for the full pipeline
- Add TOOL_CLASSIFICATIONS map in src/tools/index.js with all 16 tools classified - Modify buildToolConfig() to accept optional classificationFilter parameter - Update deepAgents.js to assign agent-specific tool sets via two buildToolConfig() calls - Add SKILL_CLASSIFICATIONS map and filterSkillPaths() helper in deepAgents.js - Filter skill paths so orchestrator receives only orchestrator/shared skills - Update docs/OVERVIEW.md with tool classification architecture documentation - All 1082 tests pass, lint clean
Owner
Author
Audit Results: Classify and Assign Tools/Skills to Orchestrator vs SubagentsAudit 1 (Specs Against Goals) — PASSCoverage Audit
Fidelity Audit
Completeness Audit
Consistency Audit
VerdictNo errors found. Proceeding to Step 6. |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Classifies tools and skills by agent type (orchestrator-only, subagent-only, shared) and assigns them appropriately in
src/agent/deepAgents.js.Motivation
The orchestrator currently receives all tools and skills indiscriminately. Both the orchestrator and subagents get identical tool/skill sets from
buildToolConfig(), which is inefficient and architecturally unsound. The orchestrator should only receive tools and skills it needs for coordination — delegation, routing, synthesis. Subagents should receive the tools and skills they need for execution.Changes
src/agent/deepAgents.js: Refactor tool assignment to support per-agent classification. The orchestrator and subagents will receive different tool sets based on their roles.src/tools/index.js: UpdatebuildToolConfig()to accept a classification filter parameter, enabling selective tool assignment.openspec/specs/agent-tool-assignment/spec.md: Spec for agent-specific tool assignment logic.openspec/specs/tool-classification/spec.md: Spec for the tool classification schema.Related
docs/OVERVIEW.md(Deep Agents architecture section)