diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index aa358f685..98efcc247 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -286,7 +286,7 @@ "name": "gem-team", "source": "gem-team", "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", diff --git a/agents/gem-browser-tester.agent.md b/agents/gem-browser-tester.agent.md index d49869bdd..ddca369c2 100644 --- a/agents/gem-browser-tester.agent.md +++ b/agents/gem-browser-tester.agent.md @@ -4,6 +4,8 @@ name: gem-browser-tester argument-hint: "Enter task_id, plan_id, plan_path, and test validation_matrix or flow definitions." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the BROWSER TESTER diff --git a/agents/gem-code-simplifier.agent.md b/agents/gem-code-simplifier.agent.md index 77977629e..caff6bf2e 100644 --- a/agents/gem-code-simplifier.agent.md +++ b/agents/gem-code-simplifier.agent.md @@ -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)." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the CODE SIMPLIFIER diff --git a/agents/gem-critic.agent.md b/agents/gem-critic.agent.md index 713ef88ff..267a61880 100644 --- a/agents/gem-critic.agent.md +++ b/agents/gem-critic.agent.md @@ -4,6 +4,8 @@ name: gem-critic argument-hint: "Enter plan_id, plan_path, scope (plan|code|architecture), and target to critique." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the CRITIC diff --git a/agents/gem-debugger.agent.md b/agents/gem-debugger.agent.md index 755e90b90..114069dfb 100644 --- a/agents/gem-debugger.agent.md +++ b/agents/gem-debugger.agent.md @@ -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." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the DEBUGGER diff --git a/agents/gem-designer-mobile.agent.md b/agents/gem-designer-mobile.agent.md index 7e923de37..4782db527 100644 --- a/agents/gem-designer-mobile.agent.md +++ b/agents/gem-designer-mobile.agent.md @@ -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)." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the DESIGNER-MOBILE @@ -336,7 +338,7 @@ Return JSON per `Output Format` ### Execution - 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 - Retry: 3x - Output: specs + JSON, no summaries unless failed diff --git a/agents/gem-designer.agent.md b/agents/gem-designer.agent.md index fb8351bca..e24539eaf 100644 --- a/agents/gem-designer.agent.md +++ b/agents/gem-designer.agent.md @@ -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)." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the DESIGNER @@ -277,7 +279,7 @@ Return JSON per `Output Format` ### Execution - 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 - Retry: 3x - Output: specs + JSON, no summaries unless failed diff --git a/agents/gem-devops.agent.md b/agents/gem-devops.agent.md index a7d578da2..5ba54183f 100644 --- a/agents/gem-devops.agent.md +++ b/agents/gem-devops.agent.md @@ -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." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the DEVOPS @@ -212,7 +214,7 @@ Return JSON per `Output Format` ### Execution - 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 - Retry: 3x - Output: JSON only, no summaries unless failed diff --git a/agents/gem-documentation-writer.agent.md b/agents/gem-documentation-writer.agent.md index 80278e71f..47ebf1bf5 100644 --- a/agents/gem-documentation-writer.agent.md +++ b/agents/gem-documentation-writer.agent.md @@ -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." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the DOCUMENTATION WRITER diff --git a/agents/gem-implementer-mobile.agent.md b/agents/gem-implementer-mobile.agent.md index 288d7e94e..199512c5c 100644 --- a/agents/gem-implementer-mobile.agent.md +++ b/agents/gem-implementer-mobile.agent.md @@ -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." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the IMPLEMENTER-MOBILE diff --git a/agents/gem-implementer.agent.md b/agents/gem-implementer.agent.md index d68cd15df..4a1b49788 100644 --- a/agents/gem-implementer.agent.md +++ b/agents/gem-implementer.agent.md @@ -4,6 +4,8 @@ name: gem-implementer argument-hint: "Enter task_id, plan_id, plan_path, and task_definition with tech_stack to implement." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the IMPLEMENTER diff --git a/agents/gem-mobile-tester.agent.md b/agents/gem-mobile-tester.agent.md index 8d5a796b7..40cca92f9 100644 --- a/agents/gem-mobile-tester.agent.md +++ b/agents/gem-mobile-tester.agent.md @@ -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." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the MOBILE TESTER diff --git a/agents/gem-orchestrator.agent.md b/agents/gem-orchestrator.agent.md index d160bdff5..c337ba809 100644 --- a/agents/gem-orchestrator.agent.md +++ b/agents/gem-orchestrator.agent.md @@ -4,6 +4,7 @@ name: gem-orchestrator argument-hint: "Describe your objective or task. Include plan_id if resuming." disable-model-invocation: true user-invocable: true +mode: primary --- # You are the ORCHESTRATOR @@ -71,14 +72,14 @@ Route based on `user_intent` from researcher: #### 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. - - 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) #### 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 ### 6. Phase 6: Execution Loop @@ -235,7 +236,7 @@ Blocked tasks: task_id, why blocked, how long waiting ### 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 - Delegate ALL validation, research, analysis to subagents - Batch independent delegations (up to 4 parallel) @@ -289,14 +290,14 @@ Run I/O and other operations in parallel and minimize repeated reads. ### Directives - 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 - Delegation First: NEVER execute ANY task yourself. Always delegate to subagents - Even simplest/meta tasks handled by subagents - Handle failure: IF failed → debugger diagnose → retry 3x → escalate - 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) -- 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` - PRD Updates: delegate to `gem-documentation-writer` diff --git a/agents/gem-planner.agent.md b/agents/gem-planner.agent.md index 86dfadc10..78a0a1476 100644 --- a/agents/gem-planner.agent.md +++ b/agents/gem-planner.agent.md @@ -4,6 +4,8 @@ name: gem-planner argument-hint: "Enter plan_id, objective, and task_clarifications." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the PLANNER diff --git a/agents/gem-researcher.agent.md b/agents/gem-researcher.agent.md index a8e176e20..38f903928 100644 --- a/agents/gem-researcher.agent.md +++ b/agents/gem-researcher.agent.md @@ -4,6 +4,8 @@ name: gem-researcher argument-hint: "Enter plan_id, objective, focus_area (optional), and task_clarifications array." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the RESEARCHER @@ -45,7 +47,7 @@ Understand intent, resolve ambiguity, confirm scope. Workflow: 1. Check existing plan → Ask "Continue, modify, or fresh?" 2. Set `user_intent`: continue_plan | modify_plan | new_task 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` - Task-specific → `task_clarifications` 5. Assess complexity → Output intent, clarifications, decisions, gray_areas @@ -315,7 +317,7 @@ gaps: # REQUIRED ### Execution - 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) - Use semantic_search, grep_search, read_file - Retry: 3x diff --git a/agents/gem-reviewer.agent.md b/agents/gem-reviewer.agent.md index d9e1f69c1..08c8d9228 100644 --- a/agents/gem-reviewer.agent.md +++ b/agents/gem-reviewer.agent.md @@ -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." disable-model-invocation: false user-invocable: false +mode: subagent +hidden: true --- # You are the REVIEWER diff --git a/plugins/gem-team/.github/plugin/plugin.json b/plugins/gem-team/.github/plugin/plugin.json index fbf189385..5e5f34c30 100644 --- a/plugins/gem-team/.github/plugin/plugin.json +++ b/plugins/gem-team/.github/plugin/plugin.json @@ -1,6 +1,6 @@ { "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.", "author": { "name": "mubaidr", diff --git a/plugins/gem-team/README.md b/plugins/gem-team/README.md index e7b020d23..d1b84dffe 100644 --- a/plugins/gem-team/README.md +++ b/plugins/gem-team/README.md @@ -6,6 +6,15 @@ Self-Learning Multi-agent orchestration harness for spec-driven development and ## 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. --- @@ -108,20 +117,183 @@ User Goal → Orchestrator → [Simple: Research/Plan] or [Complex: Discuss → ## Installation -| Method | Command / Link | Docs | -| :----------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | -| **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) | -| **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
(All AI coding agents)** | `apm install mubaidr/gem-team` | [APM Docs](https://microsoft.github.io/apm/) | -| **Copilot CLI (Marketplace)** | `copilot plugin install gem-team@awesome-copilot` | [CLI Docs](https://github.com/github/copilot-cli) | -| **Copilot CLI (Direct)** | `copilot plugin install gem-team@mubaidr` | [CLI Docs](https://github.com/github/copilot-cli) | -| **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) | -| **OpenCode** | `opencode plugin install mubaidr/gem-team` | [OpenCode Docs](https://opencode.ai/docs/) | -| **Manual
(Copy agent files)** | VS Code: `~/.vscode/agents/`
VS Code Insiders: `~/.vscode- insiders/agents/`
GitHub Copilot: `~/.github/copilot/agents/`
GitHub Copilot (project): `.github/plugin/agents/`
Windsurf: `~/.windsurf/agents/`
Claude: `~/.claude/agents/`
Cursor: `~/.cursor/agents/`
OpenCode: `~/.opencode/agents/` | — | +### Install APM First + +If you don't have APM installed, install it first: + +```bash +# macOS/Linux +curl -fsSL https://microsoft.github.io/apm/install.sh | sh + +# Windows (PowerShell) +irm https://microsoft.github.io/apm/install.ps1 | iex + +# 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 +``` + +--- + +### 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 ### Core Workflow