feat(extension): add orchestrator extension for intelligent agent rou…#2236
feat(extension): add orchestrator extension for intelligent agent rou…#2236pragya247 wants to merge 2 commits intogithub:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new built-in Spec Kit extension (“Intelligent Agent Orchestrator”) that scaffolds a discover → index → match → route workflow via extension manifest, config template, and command markdown instructions.
Changes:
- Introduces the
orchestratorextension manifest with commands + hook + default config. - Adds a config template for routing/discovery behavior.
- Adds three new command markdown files (
index,route,discover) plus extension README documentation.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| extensions/orchestrator/extension.yml | Defines the extension (commands, config template, hooks, tags, defaults). |
| extensions/orchestrator/config-template.yml | Provides user-editable routing + discovery configuration template. |
| extensions/orchestrator/commands/speckit.orchestrator.route.md | Documents prompt-to-command routing behavior and expected output. |
| extensions/orchestrator/commands/speckit.orchestrator.index.md | Documents building a unified capability index across sources. |
| extensions/orchestrator/commands/speckit.orchestrator.discover.md | Documents cross-repo scanning for agent/capability sources. |
| extensions/orchestrator/README.md | User-facing overview, install steps, configuration, and roadmap. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Adds a new orchestrator Spec Kit extension scaffold intended to provide cross-catalog capability indexing, prompt-to-command routing, and cross-repo agent discovery via new extension commands.
Changes:
- Adds
extensions/orchestrator/extension.ymlmanifest with three newspeckit.orchestrator.*commands and a proposed init-time hook. - Adds orchestrator configuration template (
config-template.yml) and user-facing docs (README.md). - Adds three command instruction markdown files implementing the discover → index → route workflow as agent-executable specs.
Show a summary per file
| File | Description |
|---|---|
| extensions/orchestrator/extension.yml | Declares the new extension, its commands, config file, hook, tags, and default settings. |
| extensions/orchestrator/config-template.yml | Provides a user-editable config template for routing strategy and cross-repo scanning settings. |
| extensions/orchestrator/commands/speckit.orchestrator.route.md | Defines the agent instructions for scoring and routing user prompts to commands/workflows. |
| extensions/orchestrator/commands/speckit.orchestrator.index.md | Defines the agent instructions for building a unified JSON capability index. |
| extensions/orchestrator/commands/speckit.orchestrator.discover.md | Defines the agent instructions for scanning linked repos/submodules for agent/capability files. |
| extensions/orchestrator/README.md | Documents the extension’s purpose, usage, commands, and configuration. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (2)
extensions/orchestrator/extension.yml:61
- The manifest schema/documentation uses a top-level
defaults:key for default configuration values, notconfig: { defaults: ... }. As written, these defaults are likely to be ignored/misread by tooling and are inconsistent withextensions/template/extension.ymlandextensions/EXTENSION-API-REFERENCE.md. Move these values under a top-leveldefaults:key.
config:
defaults:
matching_strategy: "keyword"
confidence_threshold: 0.5
cross_repo_scan: true
scan_patterns:
- ".agent.md"
- "SKILL.md"
- "AGENTS.md"
- "extension.yml"
- "workflow.yml"
- "preset.yml"
extensions/orchestrator/commands/speckit.orchestrator.route.md:71
- This command describes a fixed weighted scoring algorithm, but the extension config exposes
matching_strategy: "keyword" | "weighted". As written, the config setting has no effect and the docs are internally inconsistent. Update the routing steps sokeyworduses only keyword matching (or document that weights are always applied) and ensure the implementation readsmatching_strategy.
## Step 2: Score Each Capability Against the Prompt
For each capability in the index, compute a relevance score:
1. **Keyword match** (weight: 0.4) — Count how many of the capability's keywords appear in the user prompt
2. **Description match** (weight: 0.3) — Check if words from the user prompt appear in the capability description
3. **Name match** (weight: 0.2) — Check if the capability name is mentioned or closely related
4. **Type bonus** (weight: 0.1) — Prefer workflows > extension commands > core commands for complex prompts; prefer core commands for simple ones
- Files reviewed: 6/6 changed files
- Comments generated: 3
|
Please create it as a community extension as per https://github.com/github/spec-kit/tree/main/extensions |
- Extension ID: orchestrator - Version: 0.1.0 - Author: pragya247 - Description: Cross-catalog agent discovery and intelligent prompt-to-command routing - Repository: https://github.com/pragya247/spec-kit-orchestrator Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
8c289b1 to
19ce6a7
Compare
There was a problem hiding this comment.
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 1
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 0 new
Description
Adds a new Spec Kit extension — Intelligent Agent Orchestrator — that provides cross-catalog agent discovery
and intelligent prompt-to-command routing.
Problem
Spec Kit has robust discovery (extension/preset/workflow catalogs) and dispatch (workflow engine with 10 step
types), but no intelligent matching layer that connects a user's natural-language intent to the right command.
Users need to already know what exists and where it lives.
Solution
Three new extension commands that implement a discover → index → match → route pipeline:
speckit.orchestrator.indexspeckit.orchestrator.routespeckit.orchestrator.discover.agent.md,SKILL.md,extension.yml, etc.) and merges into the indexDesign Decisions
after_inithook — auto-indexes capabilities on project initializationlinked_reposinorchestrator-config.ymlrouteworkflow step type (per discussion in Workflow Engine with Catalog System #2142)Files
extensions/orchestrator/ ├── extension.yml # Manifest ├── README.md # Usage docs ├── config-template.yml # Matching
strategy & scan settings └── commands/ ├── speckit.orchestrator.route.md # Prompt → command matching ├──
speckit.orchestrator.index.md # Capability indexer └── speckit.orchestrator.discover.md # Cross-repo agent scanner
Ref: #2142
Testing
extensions/template/extension.ymlandextensions/git/extension.ymlfor structural correctness
speckit.{extension-id}.{command-name}patternextension.ymlschema fields (schema_version, requires, provides, hooks, tags)uv run specify --helpuv sync && uv run pytestAI Disclosure
GitHub Copilot CLI (Claude) was used to:
All design decisions (routing algorithm, phased approach, integration points) were authored by me based on my
existing Agent Orchestrator implementations (Agency plugin + VS Code extension). I reviewed and understand all
generated content.