feat: add comptibility for other ides/ tools beyond vscode and copilot cli (#1644)

Update documentation and installation instructions, and make subagents hidden from user invocation.
This commit is contained in:
Muhammad Ubaid Raza
2026-05-08 06:20:37 +05:00
committed by GitHub
parent f535585552
commit e8ce594bb7
18 changed files with 225 additions and 24 deletions
+1 -1
View File
@@ -286,7 +286,7 @@
"name": "gem-team", "name": "gem-team",
"source": "gem-team", "source": "gem-team",
"description": "Self-Learning Multi-agent orchestration harness for spec-driven development and automated verification.", "description": "Self-Learning Multi-agent orchestration harness for spec-driven development and automated verification.",
"version": "1.16.0" "version": "1.20.0"
}, },
{ {
"name": "go-mcp-development", "name": "go-mcp-development",
+2
View File
@@ -4,6 +4,8 @@ name: gem-browser-tester
argument-hint: "Enter task_id, plan_id, plan_path, and test validation_matrix or flow definitions." argument-hint: "Enter task_id, plan_id, plan_path, and test validation_matrix or flow definitions."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the BROWSER TESTER # You are the BROWSER TESTER
+2
View File
@@ -4,6 +4,8 @@ name: gem-code-simplifier
argument-hint: "Enter task_id, scope (single_file|multiple_files|project_wide), targets (file paths/patterns), and focus (dead_code|complexity|duplication|naming|all)." argument-hint: "Enter task_id, scope (single_file|multiple_files|project_wide), targets (file paths/patterns), and focus (dead_code|complexity|duplication|naming|all)."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the CODE SIMPLIFIER # You are the CODE SIMPLIFIER
+2
View File
@@ -4,6 +4,8 @@ name: gem-critic
argument-hint: "Enter plan_id, plan_path, scope (plan|code|architecture), and target to critique." argument-hint: "Enter plan_id, plan_path, scope (plan|code|architecture), and target to critique."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the CRITIC # You are the CRITIC
+2
View File
@@ -4,6 +4,8 @@ name: gem-debugger
argument-hint: "Enter task_id, plan_id, plan_path, and error_context (error message, stack trace, failing test) to diagnose." argument-hint: "Enter task_id, plan_id, plan_path, and error_context (error message, stack trace, failing test) to diagnose."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the DEBUGGER # You are the DEBUGGER
+3 -1
View File
@@ -4,6 +4,8 @@ name: gem-designer-mobile
argument-hint: "Enter task_id, plan_id (optional), plan_path (optional), mode (create|validate), scope (component|screen|navigation|design_system), target, context (framework, library), and constraints (platform, responsive, accessible, dark_mode)." argument-hint: "Enter task_id, plan_id (optional), plan_path (optional), mode (create|validate), scope (component|screen|navigation|design_system), target, context (framework, library), and constraints (platform, responsive, accessible, dark_mode)."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the DESIGNER-MOBILE # You are the DESIGNER-MOBILE
@@ -336,7 +338,7 @@ Return JSON per `Output Format`
### Execution ### Execution
- Priority order: Tools > Tasks > Scripts > CLI - Priority order: Tools > Tasks > Scripts > CLI
- For user input/permissions: use `vscode_askQuestions` tool. - For user input/permissions: use `vscode_askQuestions` or similar tool.
- Batch independent calls, prioritize I/O-bound - Batch independent calls, prioritize I/O-bound
- Retry: 3x - Retry: 3x
- Output: specs + JSON, no summaries unless failed - Output: specs + JSON, no summaries unless failed
+3 -1
View File
@@ -4,6 +4,8 @@ name: gem-designer
argument-hint: "Enter task_id, plan_id (optional), plan_path (optional), mode (create|validate), scope (component|page|layout|design_system), target, context (framework, library), and constraints (responsive, accessible, dark_mode)." argument-hint: "Enter task_id, plan_id (optional), plan_path (optional), mode (create|validate), scope (component|page|layout|design_system), target, context (framework, library), and constraints (responsive, accessible, dark_mode)."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the DESIGNER # You are the DESIGNER
@@ -277,7 +279,7 @@ Return JSON per `Output Format`
### Execution ### Execution
- Priority order: Tools > Tasks > Scripts > CLI - Priority order: Tools > Tasks > Scripts > CLI
- For user input/permissions: use `vscode_askQuestions` tool. - For user input/permissions: use `vscode_askQuestions` or similar tool.
- Batch independent calls, prioritize I/O-bound - Batch independent calls, prioritize I/O-bound
- Retry: 3x - Retry: 3x
- Output: specs + JSON, no summaries unless failed - Output: specs + JSON, no summaries unless failed
+3 -1
View File
@@ -4,6 +4,8 @@ name: gem-devops
argument-hint: "Enter task_id, plan_id, plan_path, task_definition, environment (dev|staging|prod), requires_approval flag, and devops_security_sensitive flag." argument-hint: "Enter task_id, plan_id, plan_path, task_definition, environment (dev|staging|prod), requires_approval flag, and devops_security_sensitive flag."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the DEVOPS # You are the DEVOPS
@@ -212,7 +214,7 @@ Return JSON per `Output Format`
### Execution ### Execution
- Priority order: Tools > Tasks > Scripts > CLI - Priority order: Tools > Tasks > Scripts > CLI
- For user input/permissions: use `vscode_askQuestions` tool. - For user input/permissions: use `vscode_askQuestions` or similar tool.
- Batch independent calls, prioritize I/O-bound - Batch independent calls, prioritize I/O-bound
- Retry: 3x - Retry: 3x
- Output: JSON only, no summaries unless failed - Output: JSON only, no summaries unless failed
+2
View File
@@ -4,6 +4,8 @@ name: gem-documentation-writer
argument-hint: "Enter task_id, plan_id, plan_path, task_definition with task_type (documentation|walkthrough|update), audience, coverage_matrix." argument-hint: "Enter task_id, plan_id, plan_path, task_definition with task_type (documentation|walkthrough|update), audience, coverage_matrix."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the DOCUMENTATION WRITER # You are the DOCUMENTATION WRITER
+2
View File
@@ -4,6 +4,8 @@ name: gem-implementer-mobile
argument-hint: "Enter task_id, plan_id, plan_path, and mobile task_definition to implement for iOS/Android." argument-hint: "Enter task_id, plan_id, plan_path, and mobile task_definition to implement for iOS/Android."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the IMPLEMENTER-MOBILE # You are the IMPLEMENTER-MOBILE
+2
View File
@@ -4,6 +4,8 @@ name: gem-implementer
argument-hint: "Enter task_id, plan_id, plan_path, and task_definition with tech_stack to implement." argument-hint: "Enter task_id, plan_id, plan_path, and task_definition with tech_stack to implement."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the IMPLEMENTER # You are the IMPLEMENTER
+2
View File
@@ -4,6 +4,8 @@ name: gem-mobile-tester
argument-hint: "Enter task_id, plan_id, plan_path, and mobile test definition to run E2E tests on iOS/Android." argument-hint: "Enter task_id, plan_id, plan_path, and mobile test definition to run E2E tests on iOS/Android."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the MOBILE TESTER # You are the MOBILE TESTER
+7 -6
View File
@@ -4,6 +4,7 @@ name: gem-orchestrator
argument-hint: "Describe your objective or task. Include plan_id if resuming." argument-hint: "Describe your objective or task. Include plan_id if resuming."
disable-model-invocation: true disable-model-invocation: true
user-invocable: true user-invocable: true
mode: primary
--- ---
# You are the ORCHESTRATOR # You are the ORCHESTRATOR
@@ -71,14 +72,14 @@ Route based on `user_intent` from researcher:
#### 5.1 Validation #### 5.1 Validation
- Validation not needed for low complexity plans with no clarifications/gray_areas. For all others: - Validation not needed for low complexity plans. For:
- Medium complexity: delegate to `gem-reviewer` for plan review. - Medium complexity: delegate to `gem-reviewer` for plan review.
- High complexity: delegate to both `gem-reviewer` for plan review and `gem-critic` with scope=plan and target=plan.yaml for plan review in parallel. - High complexity: delegate to both `gem-reviewer` for plan review and `gem-critic` with scope=plan and target=plan.yaml for plan review and critic in parallel.
- IF failed/blocking: Loop to `gem-planner` with feedback (max 3 iterations) - IF failed/blocking: Loop to `gem-planner` with feedback (max 3 iterations)
#### 5.2 Present #### 5.2 Present
- Present plan via `vscode_askQuestions` if complexity is medium/ high - Present plan via `vscode_askQuestions` or similar tool if complexity is medium/ high
- IF user requests changes or feedback → replan, otherwise continue to execution - IF user requests changes or feedback → replan, otherwise continue to execution
### 6. Phase 6: Execution Loop ### 6. Phase 6: Execution Loop
@@ -235,7 +236,7 @@ Blocked tasks: task_id, why blocked, how long waiting
### Execution ### Execution
- Use `vscode_askQuestions` for user input - Use `vscode_askQuestions` or similar tool for user input
- Read orchestration metadata: plan.yaml, PRD.yaml, AGENTS.md, agent outputs, Memory - Read orchestration metadata: plan.yaml, PRD.yaml, AGENTS.md, agent outputs, Memory
- Delegate ALL validation, research, analysis to subagents - Delegate ALL validation, research, analysis to subagents
- Batch independent delegations (up to 4 parallel) - Batch independent delegations (up to 4 parallel)
@@ -289,14 +290,14 @@ Run I/O and other operations in parallel and minimize repeated reads.
### Directives ### Directives
- Execute autonomously — complete ALL waves/ tasks without pausing for user confirmation between waves. - Execute autonomously — complete ALL waves/ tasks without pausing for user confirmation between waves.
- For approvals (plan, deployment): use `vscode_askQuestions` with context - For approvals (plan, deployment): use `vscode_askQuestions` or similar tool with context
- Handle needs_approval: present → IF approved, re-delegate; IF denied, mark blocked - Handle needs_approval: present → IF approved, re-delegate; IF denied, mark blocked
- Delegation First: NEVER execute ANY task yourself. Always delegate to subagents - Delegation First: NEVER execute ANY task yourself. Always delegate to subagents
- Even simplest/meta tasks handled by subagents - Even simplest/meta tasks handled by subagents
- Handle failure: IF failed → debugger diagnose → retry 3x → escalate - Handle failure: IF failed → debugger diagnose → retry 3x → escalate
- Route user feedback → Planning Phase - Route user feedback → Planning Phase
- Team Lead Personality: Brutally brief. Exciting, motivating, sarcastic. Announce progress at key moments as brief STATUS UPDATES (never as questions) - Team Lead Personality: Brutally brief. Exciting, motivating, sarcastic. Announce progress at key moments as brief STATUS UPDATES (never as questions)
- Update `manage_todo_list` and task/ wave status in `plan` after every task/wave/subagent - Update `manage_todo_list` or similar tools and task/ wave status in `plan` after every task/wave/subagent
- AGENTS.md Maintenance: delegate to `gem-documentation-writer` - AGENTS.md Maintenance: delegate to `gem-documentation-writer`
- PRD Updates: delegate to `gem-documentation-writer` - PRD Updates: delegate to `gem-documentation-writer`
+2
View File
@@ -4,6 +4,8 @@ name: gem-planner
argument-hint: "Enter plan_id, objective, and task_clarifications." argument-hint: "Enter plan_id, objective, and task_clarifications."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the PLANNER # You are the PLANNER
+4 -2
View File
@@ -4,6 +4,8 @@ name: gem-researcher
argument-hint: "Enter plan_id, objective, focus_area (optional), and task_clarifications array." argument-hint: "Enter plan_id, objective, focus_area (optional), and task_clarifications array."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the RESEARCHER # You are the RESEARCHER
@@ -45,7 +47,7 @@ Understand intent, resolve ambiguity, confirm scope. Workflow:
1. Check existing plan → Ask "Continue, modify, or fresh?" 1. Check existing plan → Ask "Continue, modify, or fresh?"
2. Set `user_intent`: continue_plan | modify_plan | new_task 2. Set `user_intent`: continue_plan | modify_plan | new_task
3. Detect gray areas in user request → IF found → Generate 2-4 options each 3. Detect gray areas in user request → IF found → Generate 2-4 options each
4. Present via `vscode_askQuestions`, classify: 4. Present via `vscode_askQuestions` or similar tool, classify:
- Architectural → `architectural_decisions` - Architectural → `architectural_decisions`
- Task-specific → `task_clarifications` - Task-specific → `task_clarifications`
5. Assess complexity → Output intent, clarifications, decisions, gray_areas 5. Assess complexity → Output intent, clarifications, decisions, gray_areas
@@ -315,7 +317,7 @@ gaps: # REQUIRED
### Execution ### Execution
- Priority order: Tools > Tasks > Scripts > CLI - Priority order: Tools > Tasks > Scripts > CLI
- For user input/permissions: use `vscode_askQuestions` tool. - For user input/permissions: use `vscode_askQuestions` or similar tool.
- Batch independent calls, prioritize I/O-bound (searches, reads) - Batch independent calls, prioritize I/O-bound (searches, reads)
- Use semantic_search, grep_search, read_file - Use semantic_search, grep_search, read_file
- Retry: 3x - Retry: 3x
+2
View File
@@ -4,6 +4,8 @@ name: gem-reviewer
argument-hint: "Enter task_id, plan_id, plan_path, review_scope (plan|task|wave), and review criteria for compliance and security audit." argument-hint: "Enter task_id, plan_id, plan_path, review_scope (plan|task|wave), and review criteria for compliance and security audit."
disable-model-invocation: false disable-model-invocation: false
user-invocable: false user-invocable: false
mode: subagent
hidden: true
--- ---
# You are the REVIEWER # You are the REVIEWER
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "gem-team", "name": "gem-team",
"version": "1.16.0", "version": "1.20.0",
"description": "Self-Learning Multi-agent orchestration harness for spec-driven development and automated verification.", "description": "Self-Learning Multi-agent orchestration harness for spec-driven development and automated verification.",
"author": { "author": {
"name": "mubaidr", "name": "mubaidr",
+183 -11
View File
@@ -6,6 +6,15 @@ Self-Learning Multi-agent orchestration harness for spec-driven development and
## Quick Start ## Quick Start
```bash
# Install via APM (recommended)
apm install mubaidr/gem-team
# Or register as a marketplace
apm marketplace add mubaidr/gem-team
apm install gem-team@gem-team
```
See [all supported installation options](#installation) below. See [all supported installation options](#installation) below.
--- ---
@@ -108,20 +117,183 @@ User Goal → Orchestrator → [Simple: Research/Plan] or [Complex: Discuss →
## Installation ## Installation
| Method | Command / Link | Docs | ### Install APM First
| :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |
| **Code** | **[Install Now](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%253A%252F%252Fraw.githubusercontent.com%252Fgithub%252Fawesome-copilot%252Fmain%252F.agents)** | [Copilot Docs](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-chat) | If you don't have APM installed, install it first:
| **Code Insiders** | **[Install Now](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%253A%252F%252Fraw.githubusercontent.com%252Fgithub%252Fawesome-copilot%252Fmain%252F.agents)** | [Copilot Docs](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-chat) |
| **APM <br/> (All AI coding agents)** | `apm install mubaidr/gem-team` | [APM Docs](https://microsoft.github.io/apm/) | ```bash
| **Copilot CLI (Marketplace)** | `copilot plugin install gem-team@awesome-copilot` | [CLI Docs](https://github.com/github/copilot-cli) | # macOS/Linux
| **Copilot CLI (Direct)** | `copilot plugin install gem-team@mubaidr` | [CLI Docs](https://github.com/github/copilot-cli) | curl -fsSL https://microsoft.github.io/apm/install.sh | sh
| **Windsurf** | `codeium agent install mubaidr/gem-team` | [Windsurf Docs](https://docs.codeium.com/windsurf) |
| **Claude Code** | `claude plugin install mubaidr/gem-team` | [Claude Docs](https://docs.anthropic.com/en/docs/claude-code) | # Windows (PowerShell)
| **OpenCode** | `opencode plugin install mubaidr/gem-team` | [OpenCode Docs](https://opencode.ai/docs/) | irm https://microsoft.github.io/apm/install.ps1 | iex
| **Manual <br/> (Copy agent files)** | VS Code: `~/.vscode/agents/` <br/> VS Code Insiders: `~/.vscode- insiders/agents/` <br/> GitHub Copilot: `~/.github/copilot/agents/` <br/> GitHub Copilot (project): `.github/plugin/agents/` <br/> Windsurf: `~/.windsurf/agents/` <br/> Claude: `~/.claude/agents/` <br/> Cursor: `~/.cursor/agents/` <br/> OpenCode: `~/.opencode/agents/` | — |
# Or via npm
npm install -g @microsoft/apm
```
**Why APM?** Universal package manager for AI coding tools. One command installs to all your tools (Copilot CLI, Claude Code, Cursor, OpenCode). Handles version locking, updates, and dependencies automatically.
[APM Documentation](https://microsoft.github.io/apm/) | [GitHub](https://github.com/microsoft/apm)
--- ---
Choose the method that works best for your workflow:
### Method 1: Direct Install via APM (Recommended)
Fastest way to get started. APM automatically detects your tool and installs to the correct location.
```bash
apm install mubaidr/gem-team
```
**Works with:** GitHub Copilot CLI, Claude Code, Cursor, OpenCode
[APM Documentation](https://microsoft.github.io/apm/getting-started/quick-start/)
---
### Method 2: Via Marketplace
Add gem-team as a marketplace, then install from it. Useful for browsing available agents and managing updates.
#### GitHub Copilot CLI
```bash
# Add marketplace
copilot plugin marketplace add mubaidr/gem-team
# Browse available plugins
copilot plugin marketplace browse gem-team
# Install
copilot plugin install gem-team@gem-team
```
#### Claude Code
```bash
# Add marketplace
/plugin marketplace add mubaidr/gem-team
# Browse in UI
/plugin
# Install
/plugin install gem-team@gem-team
```
#### Cursor IDE
```bash
# Add marketplace via APM
apm marketplace add mubaidr/gem-team
# Install
apm install gem-team@gem-team
```
---
### Method 3: From awesome-copilot Marketplace
Install from the official awesome-copilot marketplace (GitHub Copilot CLI only).
```bash
# awesome-copilot is pre-registered by default
copilot plugin install gem-team@awesome-copilot
```
**Note:** This method is only available if gem-team is listed in the awesome-copilot marketplace.
---
### Method 4: Local/Manual Installation
For development, testing, or offline use.
#### Clone Repository
```bash
git clone https://github.com/mubaidr/gem-team.git
cd gem-team
```
#### Claude Code
```bash
# Load as local plugin
claude --plugin-dir .
# Or add as local marketplace
/plugin marketplace add ./
# Reload after changes
/reload-plugins
```
#### Cursor IDE
```bash
# Option 1: Via chat command
# In Cursor: /add-plugin /absolute/path/to/gem-team
# Option 2: Copy agents to project
# One-line install: Copy agents and rename to .mdc
mkdir -p .cursor/rules && cp .apm/agents/*.agent.md .cursor/rules/ && cd .cursor/rules && for f in *.agent.md; do mv "$f" "${f%.agent.md}.mdc"; done && cd ../..
```
#### GitHub Copilot CLI
```bash
# Add as local marketplace
copilot plugin marketplace add /absolute/path/to/gem-team
# Install
copilot plugin install gem-team@gem-team
```
#### Manual Copy (Any Tool)
```bash
# Copy agents to your tool's directory
# GitHub Copilot: ~/.copilot/
# Claude Code: ~/.claude/plugins/
# Cursor: .cursor/rules/
# OpenCode: .opencode/plugins/
cp -r .apm/agents <destination>
```
---
### VS Code Extension (GitHub Copilot)
Search for "gem-team" in the VS Code Extensions marketplace.
1. Open VS Code
2. Go to Extensions (Ctrl+Shift+X)
3. Search "gem-team"
4. Click Install
---
### Verification
After installation, verify agents are available:
```bash
# GitHub Copilot CLI
copilot plugin list
# Claude Code
/plugin list
# APM (any tool)
apm list
```
## The Agent Team ## The Agent Team
### Core Workflow ### Core Workflow