Fix Copilot BMAD loading and add Herdr setup guide - #2628
Conversation
…emplate
Replace the fragile LOAD instruction that relied on the model resolving
{project-root} at runtime with an explicit BMAD Method preamble that:
- Uses a repo-relative path ({target_dir}/{canonicalId}/SKILL.md) that
works reliably in both local and cloud/PR review contexts
- Names the BMAD methodology directly so the agent has context even if
the SKILL.md read is deferred
- Marks the file-read step as a mandatory first action with explicit
'do not skip' language
- Adds a fallback instruction (report inability rather than defaulting
to generic behavior) to surface misconfigurations early
Updates test/test-installation-components.js (Test Suite 17) to assert
the new invariants: repo-relative path present, BMAD Method text present,
{project-root} literal absent.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…kills CLI
- SKILL.md at repo root: lightweight named entry-point for `npx skills add
bmad-code-org/BMAD-METHOD`. Describes core personas, delivery sequence,
and how to invoke them. The open skills CLI already auto-discovers all 35+
granular BMAD skills; this file adds a single high-level 'bmad-method' skill
that works as an orientation entry point.
- docs/how-to/use-bmad-with-herdr.md: how-to guide covering:
- Installing Herdr and the Copilot integration
- Installing BMAD via `npx skills add` (project and global)
- Starting BMAD personas inside Herdr panes
- Orchestrating multiple BMAD agents across Herdr panes using the
Herdr SKILL.md (herdr CLI control from inside an agent pane)
- Assigning BMAD Custom Agents to GitHub PRs from within Herdr
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
📝 WalkthroughWalkthroughAdds BMAD skill and Herdr integration documentation, while updating GitHub Copilot installation templates and tests to use repository-relative ChangesBMAD skill integration
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/how-to/use-bmad-with-herdr.md`:
- Around line 49-57: Update both examples in docs/how-to/use-bmad-with-herdr.md
at lines 49-57 and 82-86 to use the supported Copilot CLI commands: start with
copilot, invoke personas as /bmad-agent-dev or through /skills, and provide pull
request context with /pr or `#NUMBER` instead of --pr. Ensure all guide snippets
consistently use these entrypoints and context commands.
In `@SKILL.md`:
- Around line 2-27: The BMAD metadata description references QA, but the persona
table and delivery sequence do not. Update the BMAD Method documentation to
either add a QA persona and corresponding workflow phase consistently, including
its skill name and responsibility, or remove QA from the description; keep all
persona and workflow references aligned.
- Around line 47-49: Pin all documented remote CLI inputs to immutable versions
or SHAs: update SKILL.md lines 31 and 47-49 to use pinned specs for the skills
CLI and bmad-method, and update docs/how-to/use-bmad-with-herdr.md lines 23-40,
61-67, and 90-91 to pin the BMAD and Herdr skill installations. Keep the
documented commands otherwise unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 5e25bc8f-196d-44cb-b329-51653cb63b83
📒 Files selected for processing (4)
SKILL.mddocs/how-to/use-bmad-with-herdr.mdtest/test-installation-components.jstools/installer/ide/platform-codes.yaml
| Open a Herdr pane, start Copilot CLI (or any supported agent), then invoke a BMAD persona: | ||
|
|
||
| ```bash | ||
| # In a Herdr pane | ||
| copilot-cli chat | ||
|
|
||
| # In the chat, invoke a persona | ||
| /skill bmad-agent-dev | ||
| ``` |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🌐 Web query:
GitHub Copilot CLI reference copilot chat slash skill slash pr number context
💡 Result:
To reference a pull request in GitHub Copilot Chat, you do not use slash commands for direct context injection in the way the prompt implies; instead, you use the @ symbol to attach specific repository objects or rely on the implicit context of the page you are currently viewing [1]. 1. Using the @ symbol: You can type @ followed by the pull request (e.g., @[PR-number] or simply @ and selecting from the list) in the chat prompt box to attach a pull request as context [1]. This allows Copilot to access information such as file changes, commits, comments, and reviews related to that PR [2][3]. 2. Implicit Context: If you are already viewing a pull request on GitHub, opening the Copilot Chat panel automatically uses that pull request as the active context for your questions [4][3][5]. 3. Slash Commands: While GitHub Copilot Chat has specific slash commands for managing pull requests (such as /update_pull_request_branch [PR-number] or /merge_pull_request [PR-number]), these are functional commands for performing actions rather than general methods for adding context [6][7]. Note that the GitHub Copilot CLI (the terminal-based tool) has its own distinct set of slash commands (e.g., /cwd, /model, /delegate) that are focused on local environment management and interactive session control, and these do not typically use pull request number references in the same way as the browser-based Copilot Chat [8][9][10].
Citations:
- 1: https://github.blog/changelog/2025-06-03-copilot-chat-now-supports-attaching-references-using-the-symbol/
- 2: https://github.blog/changelog/2026-04-23-copilot-chat-improvements-for-pull-requests/
- 3: https://github.com/github/docs/blob/main/content/copilot/tutorials/explore-pull-requests.md
- 4: https://docs.github.com/en/copilot/how-tos/copilot-on-github/chat-with-copilot/get-started-with-chat
- 5: https://docs.github.com/en/copilot/tutorials/explore-pull-requests
- 6: https://docs.github.com/en/copilot/reference/chat-cheat-sheet
- 7: https://docs.github.com/en/enterprise-cloud@latest/copilot/reference/chat-cheat-sheet
- 8: https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference
- 9: https://deepwiki.com/github/copilot-cli/3.2-slash-commands-reference
- 10: https://github.com/github/docs/blob/c9bd77a9/content/copilot/reference/copilot-cli-reference/cli-command-reference.md
🌐 Web query:
docs github copilot CLI chat /skill /pr context
💡 Result:
In GitHub Copilot CLI, slash commands are used to manage workflows, context, and agent capabilities efficiently [1]. /pr The /pr command is used to manage the full pull request lifecycle directly from your terminal without needing to switch contexts [2]. Key subcommands include: - /pr or /pr view: Check the status of the pull request for the current branch [2][3]. - /pr create: Create or update a pull request [2][3]. - /pr fix [feedback|conflicts|ci|all]: Address specific issues like review comments, merge conflicts, or CI failures [2][3]. - /pr auto: Automatically create a pull request (if needed) and run through all fix phases until checks pass [2][3]. - /pr automerge (or /agentmerge): Drives the PR to a green state and merges it [3]. /skills The /skills commands allow you to manage and invoke modular capabilities (skills) that enhance Copilot's ability to perform specialized tasks [4][5]. - /skills list: View currently available skills [4][3][6]. - /skills info: Get details about a specific skill, including its location [4][3][6]. - /skills add: Add a new skill location [4][3][6]. - /skills remove [SKILL-DIRECTORY]: Remove a skill you added [4][3][6]. - /skills reload: Refresh skills during a session after adding new ones [4][3][6]. - Usage: You can also trigger a specific skill by including its name in a natural language prompt, preceded by a forward slash (e.g., /frontend-design) [6]. Context Management GitHub Copilot CLI automatically manages your conversation context window—the total information the AI considers at once [7]. - /context: Provides a visual overview of your current token usage and context window status [7][8][5]. - /compact: Manually triggers context compression to free up space [7][8][5]. Copilot also performs auto-compaction in the background when approaching 95% of the token limit [7][8][5]. - /usage: Displays session statistics, including token usage breakdown [5][1]. To see a full list of commands available in your current session, you can type / at the prompt in the CLI [1][9].
Citations:
- 1: https://github.blog/ai-and-ml/github-copilot/a-cheat-sheet-to-slash-commands-in-github-copilot-cli/
- 2: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests
- 3: https://github.com/github/docs/blob/main/content/copilot/reference/copilot-cli-reference/cli-command-reference.md
- 4: https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- 5: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/overview
- 6: https://github.com/github/docs/blob/main/content/copilot/how-tos/copilot-cli/customize-copilot/create-skills.md
- 7: https://docs.github.com/en/copilot/concepts/agents/copilot-cli/context-management
- 8: https://docs.github.com/copilot/concepts/agents/about-copilot-cli
- 9: https://code.visualstudio.com/docs/agents/agent-types/copilot-cli
🌐 Web query:
site:docs.github.com github/copilot-cli reference "copilot chat" slash skill slash pr
💡 Result:
In the GitHub Copilot CLI, the /pr command is a dedicated slash command used to manage the full lifecycle of pull requests directly from your terminal [1][2]. It allows you to interact with pull requests without leaving your CLI session [2]. Key features and subcommands of /pr include: - /pr or /pr view: Shows the current status of the pull request for your active branch [2]. - /pr create: Creates or updates a pull request based on your current branch [2]. - /pr view web: Opens the pull request in your web browser [2]. - /pr fix: Addresses specific issues in a pull request, with subcommands for: - /pr fix feedback: Addresses review comments [2]. - /pr fix conflicts: Syncs your branch with the base branch and resolves merge conflicts [2]. - /pr fix ci: Diagnoses and fixes failing CI checks [2]. - /pr fix all: Executes all three fix phases sequentially [2]. - /pr auto: Automates the entire process, including creating a pull request (if needed) and looping through all fix phases until all checks pass [2]. Note that "skills" in the context of GitHub Copilot are generally distinct from slash commands [3]. While you can use slash commands like /skills list or /skills add [3] to manage agent skills within the CLI, the /pr functionality itself is a built-in command for PR management rather than a "skill" that needs to be installed [2]. You can access a list of available slash commands during an interactive session by typing /help [4][5].
Citations:
- 1: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli
- 2: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests
- 3: https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- 4: https://docs.github.com/copilot/how-tos/copilot-cli/cli-getting-started
- 5: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/overview
🌐 Web query:
Copilot CLI slash commands list /skill /pr /pr view /pr --pr
💡 Result:
In the GitHub Copilot CLI, slash commands serve as a central interface for managing your session, configuration, and specific tasks like pull request management [1][2][3]. Regarding the specific commands you mentioned: /skill While there is no single top-level /skill slash command that lists all skills in the same way as /help [4][3][5], the CLI supports skill management through other slash commands or configuration contexts [6][7]. You can generally interact with custom capabilities, plugins, or extensions via the /extensions command [4][5]. /pr The /pr command is a dedicated suite for managing the entire pull request lifecycle directly within your terminal [8][9]. It supports several subcommands to streamline development workflows [8]: /pr or /pr view: Shows the status of the pull request for the current branch [8]. /pr view web: Opens the pull request in your default browser [8]. /pr create: Creates or updates a pull request [8]. /pr fix feedback: Addresses review comments on a pull request [8]. /pr fix conflicts: Syncs the branch and resolves merge conflicts [8]. /pr fix ci: Diagnoses and fixes failing CI checks [8]. /pr fix or /pr fix all: Executes all fix phases (feedback, conflicts, then CI) in order [8]. /pr auto: Automatically creates a pull request (if needed) and loops through all fix phases until checks pass [8]. --pr This is not a slash command. In the GitHub Copilot CLI, flags starting with -- (such as --experimental or --resume) are command-line options used when launching or interacting with the tool from your shell, rather than slash commands used within the interactive CLI session [10][11]. For a complete and current list of all available slash commands in your specific environment, you can type /help within the Copilot CLI's interactive interface [4][1][11].
Citations:
- 1: https://github.blog/ai-and-ml/github-copilot/a-cheat-sheet-to-slash-commands-in-github-copilot-cli/
- 2: https://github.blog/ai-and-ml/github-copilot/github-copilot-cli-for-beginners-overview-of-common-slash-commands/
- 3: https://deepwiki.com/github/copilot-cli/3.2-slash-commands-reference
- 4: https://github.com/github/docs/blob/c9bd77a9/content/copilot/reference/copilot-cli-reference/cli-command-reference.md
- 5: https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference
- 6: https://proflead.dev/posts/github-copilot-cli-tutorial-101/
- 7: https://github.com/features/copilot/cli/
- 8: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests
- 9: https://docs.github.com/en/copilot/how-tos/copilot-cli
- 10: https://github.com/github/copilot-cli
- 11: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/overview
🌐 Web query:
"copilot chat --pr" GitHub Copilot CLI
💡 Result:
The command copilot chat --pr is not a standard, built-in flag or command within the official GitHub Copilot CLI [1][2]. GitHub Copilot CLI functionality is primarily accessed through the copilot command [3][4]. Within an interactive Copilot CLI session, you can use various slash commands—such as /mcp or /agent—to perform specific tasks [5][2]. While there is no --pr flag for the copilot chat command (as copilot chat is not a primary top-level CLI command), users can interact with pull requests in the following ways: 1. Interactive CLI Sessions: You can ask Copilot directly in the terminal to perform tasks related to pull requests, such as generating summaries, assisting with reviews, or managing PR-related workflows [3][6][7]. 2. GitHub-native Agents: The Copilot CLI is designed to work with GitHub-native agents that can interact with pull requests and issues [8]. 3. Slash Commands: Recent updates have introduced slash commands like /pr (available in some environments/references) to streamline creating PRs, fixing CI failures, and addressing review feedback [2]. If you are seeing references to copilot chat --pr in third-party documentation or community discussions, it may refer to an unofficial alias, a custom wrapper, or a confusion with features available in the GitHub web interface or VS Code Copilot Chat integration [2][9][7]. For the most accurate and up-to-date information regarding your specific environment, run copilot help within your terminal [3][10].
Citations:
- 1: https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference
- 2: https://htekdev.github.io/copilot-cli-reference/
- 3: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/overview
- 4: https://github.com/github/copilot-cli
- 5: https://github.blog/ai-and-ml/github-copilot/a-cheat-sheet-to-slash-commands-in-github-copilot-cli/
- 6: https://docs.github.com/copilot/concepts/agents/about-copilot-cli
- 7: https://devactivity.com/insights/github-copilot-chat-s-pr-boost-user-feedback-highlights-need-for-engineering-monitoring-of-billing-and-performance/
- 8: https://github.com/features/copilot/cli
- 9: https://b.hatena.ne.jp/entry/s/github.blog/changelog/2026-04-23-copilot-chat-improvements-for-pull-requests/
- 10: https://docs.github.com/copilot/how-tos/copilot-cli/cli-getting-started
🌐 Web query:
"gemini" "copilot chat" skills slash commands
💡 Result:
Both Gemini (via Gemini CLI and Chrome) and GitHub Copilot utilize slash commands to trigger specific chat skills, tasks, and workflows [1][2][3]. While they function similarly—using the / character as an invocation key—their implementations and management differ based on the environment [2][4][3]. Gemini In Gemini CLI, slash commands provide meta-level control and allow for the execution of custom, reusable, parameterizable prompts [5][1][4]. - Management: Custom slash commands are defined in TOML configuration files, either globally in ~/.gemini/commands/ or project-specifically in .gemini/commands/ [1][4]. - Skills vs. Commands: Custom commands are manually triggered by the user [6]. In contrast, "Agent Skills" are specialized workflows that can be discovered and used autonomously by the agent to perform subtasks, though they can also be invoked manually via slash commands [5][7][6]. - Chrome Integration: As of April 2026, Gemini in Chrome allows users to invoke saved "Skills" (saved prompts) via a slash palette by pressing / in the Gemini side panel [3]. These skills support cross-tab execution [3]. GitHub Copilot In GitHub Copilot Chat (e.g., in VS Code or Visual Studio), slash commands act as shortcuts to insert structured prompts for common tasks, improving speed and discoverability [2][8][9]. - Functionality: Common commands include /explain (to explain code), /fix (to propose fixes), /tests (to generate unit tests), and /doc (to add documentation) [2][9]. - Custom Skills: Copilot also supports custom skills that can be invoked via slash commands [10][11]. These skills can be generated directly from chat using commands like /create-skill, which creates the necessary configuration files (e.g., SKILL.md) [10][11]. - Context: Available commands can vary depending on the environment (e.g., VS Code vs. IDE-specific extensions) and the active chat context [2]. You can view available commands by typing / in the chat prompt box [2][10].
Citations:
- 1: https://addyosmani.com/blog/gemini-cli/
- 2: https://docs.github.com/en/copilot/reference/chat-cheat-sheet
- 3: https://ccleaks.com/news/chrome-skills-gemini-launch
- 4: https://cloud.google.com/blog/topics/developers-practitioners/gemini-cli-custom-slash-commands
- 5: https://geminicli.com/docs/reference/commands/
- 6: https://www.facebook.com/googlecloud/videos/custom-commands-are-triggered-by-you-but-skills-are-triggered-by-agents-gemini-c/1644223053671241/
- 7: feat: invoke Agent Skills via slash commands google-gemini/gemini-cli#21760
- 8: https://learn.microsoft.com/en-us/sql/tools/visual-studio-code-extensions/github-copilot/slash-commands?view=sql-server-ver17
- 9: https://github.blog/changelog/2024-01-30-code-faster-and-better-with-github-copilots-new-features-in-visual-studio/
- 10: https://techcommunity.microsoft.com/blog/azuredevcommunityblog/supercharge-your-dev-workflows-with-github-copilot-custom-skills/4510012
- 11: https://github.com/microsoft/vscode-copilot-chat/blob/main/CHANGELOG.md
🌐 Web query:
"copilot chat" "copilot cli"
💡 Result:
GitHub Copilot Chat and GitHub Copilot CLI are two distinct surface areas for interacting with GitHub Copilot, designed for different workflows and environments [1][2]. While they share the same underlying AI technology, they are optimized for different user experiences [3][2]. GitHub Copilot Chat GitHub Copilot Chat is a conversational AI interface that provides coding assistance, explanations, and suggestions [1]. It is primarily integrated into development environments such as VS Code, Visual Studio, and JetBrains IDEs, as well as on GitHub.com and GitHub Mobile [4][1]. It is designed to be a "cognitive layer" that helps you think through coding problems, explore solutions, and receive guidance directly within your editor or browser [3]. GitHub Copilot CLI GitHub Copilot CLI is a standalone, terminal-native AI coding agent that allows you to interact with Copilot directly from your command line [5][6]. It is designed for terminal-first workflows, emphasizing execution, automation, and speed [3][7]. By running in the terminal, it allows users to perform tasks—such as debugging, managing files, and interacting with GitHub issues and pull requests—without switching contexts to an IDE or browser [5][3][7]. Key Differences Interaction Design: Chat is optimized for reasoning, explanation, and IDE-based exploration, while the CLI is optimized for terminal-native, execution-first tasks [3]. Workflow Control: The CLI provides specific terminal-based capabilities like slash commands (e.g., /plan, /model, /fleet) for managing context and autonomous agentic workflows directly in the shell [8][9][10]. Environment: Chat lives in editors and on the web; the CLI is installed as a standalone tool (via npm, Homebrew, or WinGet) and runs in any terminal [1][6][8]. Integration: They are not competing tools but different windows into the same functionality; for example, you can initiate a plan in the IDE and execute it via the CLI, or use the CLI within an IDE's integrated terminal [2][9]. In summary, use GitHub Copilot Chat when you need an immersive, guided, or editor-based experience, and reach for the GitHub Copilot CLI when you want to automate tasks, work within the terminal, or minimize context switching [3][11][6]. Top Results: [4], [5], [12], [1], [3], [2], [6], [8], [10], [7]
Citations:
- 1: https://github.com/github/docs/blob/main/content/copilot/concepts/chat.md
- 2: https://segunakinyemi.com/blog/github-copilot-surface-areas/
- 3: https://techgeeta.com/blog/github-copilot-cli-vs-chat
- 4: https://docs.github.com/en/copilot/get-started/features
- 5: https://docs.github.com/copilot/concepts/agents/about-copilot-cli
- 6: https://medium.com/kenshoos-engineering-blog/copilot-101-5f3950b504f9
- 7: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli
- 8: https://docs.github.com/copilot/how-tos/copilot-cli/cli-getting-started
- 9: https://github.com/features/copilot/cli
- 10: https://github.blog/ai-and-ml/github-copilot/a-cheat-sheet-to-slash-commands-in-github-copilot-cli/
- 11: https://zenn.dev/tomokusaba/articles/b24e916c53fa7d?locale=en
- 12: https://docs.github.com/en/copilot/how-tos/chat-with-copilot/chat-in-ide
🌐 Web query:
"Copilot CLI" "Custom skills" slash command invoke
💡 Result:
To invoke a custom skill in the GitHub Copilot CLI, you can use the skill's name as a slash command directly within your prompt [1][2]. For a skill named "example-skill," you would include it in your chat prompt as follows: /example-skill Key details regarding skill invocation and management include: Invocation Behavior: While Copilot CLI often triggers skills automatically when a prompt matches a skill's description, you can force the use of a specific skill by prefixing your prompt with its name as a slash command [1][3][2]. You can include the slash command at the beginning, middle, or end of your prompt [2]. It is possible to invoke multiple skills in a single message [2]. Managing Skills in the CLI Session: The /skills command (also accessible via the /skill shortcut) allows you to manage your skills during an interactive session [2][4]. /skills list: Displays currently available skills [1][4]. /skills info: Provides details about a skill, including its location [1][4]. /skills reload: Refreshes your skills if you have added new ones during a session [1][4]. /skills add / /skills remove: Used to add or remove skill locations or specific skills [1][4]. Configuration Control: You can control how a skill is invoked using properties in the skill's configuration (often found in the SKILL.md frontmatter) [5][6]: user-invocable: If set to false, the skill will not appear in the slash command menu, though it may still be auto-triggered [5][6]. disable-model-invocation: If set to true, the skill will not be automatically triggered by Copilot and must be invoked manually via the slash command [5][6]. For managing skills outside of an active chat session, you can use the terminal command copilot skill followed by subcommands such as list, add, or remove [1][7][8].
Citations:
- 1: https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- 2: https://github.com/github/copilot-cli-for-beginners/blob/main/05-skills/README.md
- 3: https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/comparing-cli-features
- 4: https://github.com/github/docs/blob/main/content/copilot/how-tos/copilot-cli/customize-copilot/add-skills.md
- 5: https://techcommunity.microsoft.com/blog/azuredevcommunityblog/supercharge-your-dev-workflows-with-github-copilot-custom-skills/4510012
- 6: https://code.visualstudio.com/docs/agent-customization/agent-skills
- 7: https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- 8: https://github.com/github/docs/blob/main/content/copilot/reference/copilot-cli-reference/cli-command-reference.md
🌐 Web query:
"Herdr pane" "Copilot CLI" "bmad"
💡 Result:
The terms "Herdr," "pane," "Copilot CLI," and "BMAD" refer to distinct but related tools in the AI-assisted development ecosystem as of July 2026. Herdr is a terminal management tool designed for running multiple coding agents simultaneously [1]. It organizes these agents into specific "panes," keeping their shells, logs, and processes intact [1]. Herdr includes a dedicated integration for the GitHub Copilot CLI, which allows it to report Copilot session identity for state restoration after a server restart [2][3]. Users can install this hook via the command herdr integration install copilot [2][4]. BMAD (often associated with "BMAD-METHOD") is a separate framework that acts as a state-machine-driven orchestrator for development cycles [5][6]. It utilizes various coding CLIs—including Claude Code and GitHub Copilot—to automate tasks like epic selection, branch creation, and PR management [5][6]. BMAD uses its own set of tools, such as the bmad-copilot-adapter, to integrate these workflows with Copilot [7]. In summary, Herdr provides the terminal environment and pane management [1], while BMAD provides the higher-level workflow orchestration [5][6]. They are not the same tool; rather, they may be used in tandem to manage terminal sessions (via Herdr) and automate coding tasks (via BMAD) [5].
Citations:
- 1: https://herdr.dev/docs/agents/
- 2: https://herdr.dev/docs/integrations/
- 3: https://herdr.dev/docs/preview/integrations/
- 4: feat: add github copilot cli integration herdrdev/herdr#386
- 5: https://github.com/bmad-code-org/bmad-auto
- 6: https://github.com/martin-janci/autopilot
- 7: https://registry.npmjs.org/bmad-copilot-adapter
🌐 Web query:
"herdr.dev" integration copilot copy CLI slash skill /pr
💡 Result:
To integrate the GitHub Copilot CLI with Herdr and utilize agent skills, follow these steps: 1. Install the Herdr-Copilot Integration: Use the Herdr CLI to install the Copilot integration, which enables native session identity tracking [1][2]. herdr integration install copilot 2. Install the Herdr Agent Skill: To allow an agent (like Copilot) to control Herdr from within a pane, install the Herdr skill file [3][4]. For agents that support a skills system, use the following command: npx skills add ogulcancelik/herdr --skill herdr -g 3. Usage and Skills: Once the skill is installed, the agent can be prompted to perform tasks using the skill name, typically preceded by a slash (e.g., /herdr) [5][3]. The skill teaches the agent how to interact with Herdr panes, workspaces, and other agents when the environment variable HERDR_ENV=1 is active [3][6]. Note: The /pr command mentioned in your query is not a standard Herdr-specific command; ensure you are using the correct skill name (e.g., /herdr) to invoke agent-side controls, or check the specific documentation for the agent you are using to see if it supports a /pr slash command for Pull Requests [5][3]. Herdr's own CLI commands for automation are managed via the herdr binary (e.g., herdr agent, herdr pane) [6][7].
Citations:
- 1: https://herdr.dev/docs/preview/integrations/
- 2: https://herdr.dev/docs/preview/cli-reference/
- 3: https://herdr.dev/docs/agent-skill/
- 4: https://herdr.dev/agent-guide.md
- 5: https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- 6: https://github.com/ogulcancelik/herdr/blob/HEAD/SKILL.md
- 7: https://herdr.dev/docs/agent-automation/
🌐 Web query:
"herdr" bmad-agent-dev bmad copilot
💡 Result:
The terms refer to two distinct technical ecosystems: BMAD Method (an AI-driven development methodology) and Herdr (a terminal-based agent multiplexer). They are independent projects [1][2][3]. BMAD Method (BMAD-Agent-Dev) BMAD Method is an Agile AI-agent suite that uses specific "skills" to manage development workflows [4][5]. - bmad-agent-dev (or Amelia) is a specific skill within the BMAD Method [6][5]. It serves as a Senior Software Engineer responsible for story execution, test-driven development, and code implementation [7][8]. - It is triggered by commands such as DS (Dev Story) or CR (Code Review) and operates within the broader BMAD framework [5][8]. Herdr (Copilot Integration) Herdr is an agent multiplexer designed to run and manage multiple coding agents within a single terminal environment [2][3]. - Herdr allows users to run agents like GitHub Copilot CLI in persistent, screen-aware terminal sessions [2][9]. - A native integration exists for GitHub Copilot CLI [10][11]. Users can enable this by running the command herdr integration install copilot [10][12]. - This integration reports session identity to Herdr, allowing it to track agent state (e.g., idle, working, blocked) and support session resume even after terminal detaches or server restarts [10][11][12]. In summary, bmad-agent-dev is a persona/tool used within the BMAD Method methodology [5], while Herdr is an independent tool used to multiplex and manage various agents, including GitHub Copilot [2][3].
Citations:
- 1: https://github.com/bmad-code-org/bmad-auto
- 2: https://herdr.dev/
- 3: https://github.com/ogulcancelik/herdr
- 4: https://github.com/bmadcode/BMAD-METHOD/blob/9cd6e382/docs/reference/agents.md
- 5: https://docs.bmad-method.org/reference/agents/
- 6: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md
- 7: https://github.com/bmadcode/BMAD-METHOD/blob/fae70152/src/bmm-skills/4-implementation/bmad-agent-dev/SKILL.md
- 8: https://github.com/bmad-code-org/BMAD-METHOD/blob/v6.1.0/src/bmm/agents/dev.agent.yaml
- 9: https://herdr.dev/docs/agents/
- 10: https://herdr.dev/docs/integrations/
- 11: https://herdr.dev/docs/preview/integrations/
- 12: feat: add github copilot cli integration herdrdev/herdr#386
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== files =="
git ls-files | rg '^(docs/)?how-to/use-bmad-with-herdr\.md$|docs/how-to/use-bmad-with-herdr\.md' || true
echo "== target lines =="
if [ -f docs/how-to/use-bmad-with-herdr.md ]; then
nl -ba docs/how-to/use-bmad-with-herdr.md | sed -n '1,130p'
fi
echo "== all copilot/herdr mentions in this file =="
rg -n "copilot|Copilot|BMAD|bmad-agent-dev|/skill|/pr|--pr|pr URL|PR URL" docs/how-to/use-bmad-with-herdr.md || true
echo "== references in repository =="
rg -n "bmad-agent-dev|Copilot CLI|copilot-cli|copilot chat|/skill|slash commands|PR context" docs how-to README.md 2>/dev/null || trueRepository: bmad-code-org/BMAD-METHOD
Length of output: 269
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== target file excerpts =="
python3 - <<'PY'
from pathlib import Path
p = Path("docs/how-to/use-bmad-with-herdr.md")
lines = p.read_text().splitlines()
for start,end,size in [(1,140,len(lines)), (49,57,0), (82,86,0)]:
print(f"\n--- lines {start}-{end} ---")
for i in range(start, min(end, len(lines)) + 1):
line = lines[i-1] if i <= len(lines) else ""
print(f"{i}: {line}")
PY
echo "== relevant search =="
python3 - <<'PY'
from pathlib import Path
p = Path("docs/how to/use-bmad-with-herdr.md")
p = Path("docs/how-to/use-bmad-with-herdr.md")
for needle in ["copilot-cli","copilot","Copilot CLI","BMAD","BMAD METHOD","bmad-agent-dev","/skill","/pr","--pr","PR URL","https://github.com/org/repo/pull/123"]:
found = []
for n,l in enumerate((p.read_text().splitlines()), 1):
if needle in l:
found.append((n,l))
if found:
print(f"\n{needle}: {len(found)} matches")
for n,l in found[:10]:
print(f"{n}: {l}")
PY
echo "== repository-wide Copilot CLI command patterns =="
python3 - <<'PY'
from pathlib import Path
patterns = ["copilot-cli chat","copilot chat","/skill ","/skills ","/pr "]
for needle in patterns:
print(f"\n== {needle!r} ==")
count=0
for f in Path("docs").rglob("*"):
if f.is_file() and f.suffix in {".md",".mdx"}:
text=f.read_text(errors="ignore")
for n,l in enumerate(text.splitlines(),1):
if needle in l:
count+=1
if count<=5:
print(f"{f}:{n}: {l.strip()}")
print(f"total_files={count}")
PYRepository: bmad-code-org/BMAD-METHOD
Length of output: 10365
🌐 Web query:
"copilot-cli chat" install "github.com"
💡 Result:
To install the GitHub Copilot CLI, you can choose from several methods depending on your operating system and preferences [1][2]. Additionally, if you use the GitHub CLI (gh), you can access it directly through that tool [3]. Installation Methods: 1. GitHub CLI (Recommended for gh users) If you have the GitHub CLI installed, you can simply run the command gh copilot in your terminal [3]. The first time you run this, it will prompt you to install the Copilot CLI automatically [3]. 2. npm (All Platforms) Prerequisite: Node.js 22 or later [1]. Run the following command: npm install -g @github/copilot [1][4] 3. Homebrew (macOS and Linux) Run the following command: brew install copilot-cli [1][4] 4. WinGet (Windows) Run the following command in PowerShell: winget install GitHub.Copilot [1][4] 5. Install Script (macOS and Linux) You can use the official install script via curl or wget [1][4]: curl -fsSL https://gh.io/copilot-install | bash or wget -qO- https://gh.io/copilot-install | bash [1][4] Post-Installation: After installation, you can launch the CLI by running the command copilot in your terminal [4][5]. If you are not logged in, the CLI will prompt you to authenticate using the /login slash command [6][5]. The CLI supports agentic workflows and interacts with your existing GitHub credentials and organization policies [2][6].
Citations:
- 1: https://docs.github.com/copilot/how-tos/set-up/install-copilot-cli
- 2: https://github.com/features/copilot/cli
- 3: https://github.blog/changelog/2026-01-21-install-and-use-github-copilot-cli-directly-from-the-github-cli/
- 4: https://github.com/github/copilot-cli
- 5: https://inventivehq.com/knowledge-base/copilot/how-to-install-github-copilot-cli
- 6: https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/overview
🌐 Web query:
"gemini-cli" "skills" "gemini" "copilot"
💡 Result:
As of July 25, 2026, Gemini CLI has been retired and replaced [1][2]. Google deprecated the standalone Gemini CLI on May 19, 2026, and enforced a hard shutdown of its free and individual tiers on June 18, 2026 [2]. The official successor to Gemini CLI is the Antigravity CLI, invoked via the agy command [1][2]. Antigravity was announced at Google I/O 2026 as part of a broader consolidation of Google's agent tooling under the Antigravity brand [2]. For users who previously worked with Gemini CLI, here is the status of the concepts you mentioned: Agent Skills The Agent Skills framework, which allowed Gemini CLI users to extend the tool with specialized instructions and workflows, is no longer supported in the retired Gemini CLI [3][2]. If you are migrating to Antigravity CLI, you should consult the migration documentation provided by the community or official channels to see how your previous skills and workflows map to the new architecture [1][2]. Copilot Gemini CLI was often compared to other developer agents such as GitHub Copilot [4]. It was a terminal-based AI agent that utilized a Reason and Act (ReAct) loop and supported extensions via the Model Context Protocol (MCP) [5][6]. There is no official Google tool named "Gemini Copilot CLI"; Gemini CLI was the tool that fulfilled the role of an AI-powered terminal assistant [5][7]. If you are currently using an environment that relies on Gemini CLI, you are advised to migrate to the Antigravity CLI (agy) to maintain functionality [2]. Enterprise users with specific Google Cloud Code Assist licenses may have different support paths, and you should check the latest official Google Cloud documentation if you are part of an organization [1][2].
Citations:
- 1: https://github.com/drvoss/everything-copilot-cli/blob/main/guides/migration-from-gemini-cli.md
- 2: https://byteiota.com/google-antigravity-2-0-migrate-before-june-18/
- 3: https://geminicli.com/docs/cli/skills/
- 4: https://medium.com/google-cloud/beyond-prompt-engineering-using-agent-skills-in-gemini-cli-04d9af3cda21
- 5: https://docs.cloud.google.com/gemini/docs/codeassist/gemini-cli
- 6: https://developers.google.com/gemini-code-assist/docs/gemini-cli
- 7: https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/
Use the documented Copilot CLI entrypoint and context commands throughout the guide.
These snippets are copied as copilot-cli chat, /skill bmad-agent-dev, and copilot-cli chat --pr ..., but Copilot CLI is started with copilot, skills are invoked as /bmad-agent-dev or via /skills, and PR context is handled with /pr/#NUMBER, not --pr. Update both examples to avoid guiding users toward unavailable flags.
📍 Affects 1 file
docs/how-to/use-bmad-with-herdr.md#L49-L57(this comment)docs/how-to/use-bmad-with-herdr.md#L82-L86
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/how-to/use-bmad-with-herdr.md` around lines 49 - 57, Update both
examples in docs/how-to/use-bmad-with-herdr.md at lines 49-57 and 82-86 to use
the supported Copilot CLI commands: start with copilot, invoke personas as
/bmad-agent-dev or through /skills, and provide pull request context with /pr or
`#NUMBER` instead of --pr. Ensure all guide snippets consistently use these
entrypoints and context commands.
Source: MCP tools
| name: bmad-method | ||
| description: 'BMAD Method (Breakthrough Method for Agile AI-Driven Development). Use when the user asks to follow BMAD methodology, adopt a BMAD persona (analyst, architect, PM, dev, DevOps, QA), run a BMAD workflow, or produce BMAD-structured artifacts. Do not use for generic coding tasks unless the user explicitly requests BMAD.' | ||
| --- | ||
|
|
||
| # BMAD Method | ||
|
|
||
| BMAD is a structured, agent-driven software delivery methodology. It assigns AI agents to named personas — Analyst, PM, Architect, Dev Lead, DevOps Lead, QA — and routes each project phase through the right persona in sequence. | ||
|
|
||
| ## Core personas | ||
|
|
||
| | Skill name | Persona | Primary responsibility | | ||
| | ---------------------- | ----------- | --------------------------------------------- | | ||
| | `bmad-agent-analyst` | Analyst | Research, requirements, and idea shaping | | ||
| | `bmad-agent-pm` | PM | PRDs, epics, sprint planning | | ||
| | `bmad-agent-architect` | Architect | System design, ADRs, technical architecture | | ||
| | `bmad-agent-dev` | Dev Lead | Story implementation, code review, correction | | ||
| | `bmad-agent-devops` | DevOps Lead | IaC, CI/CD pipelines, deployment strategies | | ||
| | `bmad-agent-ux` | UX Designer | User flows, design specs, accessibility | | ||
|
|
||
| ## Standard delivery sequence | ||
|
|
||
| 1. **Analysis** — Analyst forges the idea and produces a brief. | ||
| 2. **Planning** — PM converts the brief into a PRD and epic breakdown. | ||
| 3. **Architecture** — Architect designs the system and produces the architecture doc. | ||
| 4. **Implementation** — Dev Lead works story-by-story through the epic backlog. | ||
| 5. **DevOps** — DevOps Lead owns pipeline and infrastructure for the whole lifecycle. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Files named SKILL.md:"
git ls-files | grep -E '(^|/)SKILL\.md$' || true
echo
echo "Buddy references to BMAD personas:"
rg -n "bmad-method|BMAD|Analyst|Architect|Dev Lead|DevOps Lead|QA|UX Designer|UX" -S . --glob '!node_modules' --glob '!dist' --glob '!build' || trueRepository: bmad-code-org/BMAD-METHOD
Length of output: 50382
Keep the BMAD persona table and workflow consistent.
The entrypoint description mentions QA, but the core personas table and standard delivery sequence omit the QA persona/workflow. Add the supported QA persona/phase, or remove QA from the description to avoid giving agents an incomplete BMAD workflow.
🧰 Tools
🪛 SkillSpector (2.3.11)
[warning] 31: [RP1] null: npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Remediation: Pin the version: npx @scope/server@1.2.3
(MCP Rug Pull (RP1))
[warning] 48: [RP1] null: npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Remediation: Pin the version: npx @scope/server@1.2.3
(MCP Rug Pull (RP1))
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@SKILL.md` around lines 2 - 27, The BMAD metadata description references QA,
but the persona table and delivery sequence do not. Update the BMAD Method
documentation to either add a QA persona and corresponding workflow phase
consistently, including its skill name and responsibility, or remove QA from the
description; keep all persona and workflow references aligned.
| ```bash | ||
| npx bmad-method install | ||
| ``` |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Repository files:"
git ls-files | sed -n '1,120p'
echo
echo "Candidate docs files:"
fd -a 'SKILL.md|use-bmad-with-herdr.md|package.json|pnpm-lock.yaml|package-lock.json|yarn.lock|bun.lockb|bun.lock' . | sed 's#^\./##'
echo
echo "Search skill/Herdr install commands:"
rg -n "npx (skills|bmad-method)|skills add|herdr|BMAD-METHOD|bmad-code-org" SKILL.md docs 2>/dev/null || true
echo
echo "Dependency manifests mentioning bmad-method/skills/herdr:"
rg -n '"@?[^"]*(?:bmad-method|skills|herdr)[^"]*"\s*:' -g 'package.json' -g 'pnpm-lock.yaml' -g 'package-lock.json' -g 'yarn.lock' -g 'bun.lock' . || trueRepository: bmad-code-org/BMAD-METHOD
Length of output: 38830
🌐 Web query:
npm npx can fetch remote package version documentation mutable package
💡 Result:
The npx command is designed to execute packages by either using a locally installed version or fetching a package remotely [1][2]. When a package is not found locally, npx installs it into a central cache (typically located in the npm cache directory) and adds it to the PATH environment variable for the duration of the command execution [1][2]. Regarding versioning and mutability: 1. Version Fetching and Caching: npx caches packages based on the specific version specifier provided (e.g., package-name, package-name@latest, or package-name@1.2.3) [3]. If you do not specify a version (using only the package name), npx may reuse a previously cached version if one exists, which can lead to situations where it does not automatically fetch the latest version if the package has been updated in the registry [4]. To ensure you are running the latest version of a package, you can explicitly use the @latest tag [3][4]. 2. Immutable vs. Mutable Specs: - Immutable specs: Most package specifiers, such as fixed versions (@1.2.3), tarball URLs, or git SHAs, point to immutable content. For these, npx correctly caches the package by the specifier, and subsequent runs reuse that cached content [5]. - Mutable specs (Directory specs): When executing a package from a local directory path, npx uses the absolute path as the cache key [5]. Because this directory path is stable even if the contents of the package (such as the bin map in package.json) change, npx may not detect updates to the package's bin configuration, potentially leading to errors where new binaries are not found [5]. 3. Cache Behavior: npx creates distinct entries in the cache for different version specifiers, even if those specifiers resolve to the same underlying version [3]. For example, requesting package-name, package-name@latest, and package-name@ may result in multiple separate downloads and cache entries for the same package version because npx keys the cache based on the provided specifier string rather than the resolved version [3].
Citations:
- 1: https://docs.npmjs.com/cli/v11/commands/npx/
- 2: https://docs.npmjs.com/cli/v9/commands/npx/
- 3: [BUG]
npxdownloads the same version of the same package multiple times if described differently npm/cli#6450 - 4: [BUG] npx won't using latest version of package if already run npm/cli#6179
- 5: [BUG] npx never reinstalls a local
directoryspec, so newly-added bins are "command not found" npm/cli#9766
Pin the documented npx install inputs.
npx runs packages by fetching remote versions when they are absent or incompatible, so bmad-method should use an explicit fixed version/sha. The skills CLI reference is also mutable remote package input; use an immutable spec if it supports one.
SKILL.md#L31: pin/copy theskillsCLI command instead of relying on a mutable registry tag.SKILL.md#L47-L49: use an explicit immutablebmad-methodspecifier.docs/how-to/use-bmad-with-herdr.md#L23-L40,L61-L67,L90-L91: pin the BMAD and Herdr skill installs.
🧰 Tools
🪛 SkillSpector (2.3.11)
[warning] 31: [RP1] null: npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Remediation: Pin the version: npx @scope/server@1.2.3
(MCP Rug Pull (RP1))
[warning] 48: [RP1] null: npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Remediation: Pin the version: npx @scope/server@1.2.3
(MCP Rug Pull (RP1))
📍 Affects 2 files
SKILL.md#L47-L49(this comment)SKILL.md#L31-L31docs/how-to/use-bmad-with-herdr.md#L23-L40docs/how-to/use-bmad-with-herdr.md#L61-L67docs/how-to/use-bmad-with-herdr.md#L90-L91
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@SKILL.md` around lines 47 - 49, Pin all documented remote CLI inputs to
immutable versions or SHAs: update SKILL.md lines 31 and 47-49 to use pinned
specs for the skills CLI and bmad-method, and update
docs/how-to/use-bmad-with-herdr.md lines 23-40, 61-67, and 90-91 to pin the BMAD
and Herdr skill installations. Keep the documented commands otherwise unchanged.
Sources: MCP tools, Linters/SAST tools
|
What is the purpose of adding a SKILL.md file to the root of the project? I am not clear what this PR is solving. is copilot broken? |
|
Purpose is that GitOps flow on getting agents do not automatically assume the persona we want to contribute, in the GitHub Copilot context |
Strengthen suite 17 to verify generated .github/agents/*.agent.md files include explicit first-read enforcement text: - 'MANDATORY FIRST ACTION' - 'Do not skip or defer this step.' This guards Copilot PR-assigned agent behavior so BMAD persona skills are loaded before any review/action output. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Greptile SummaryThis PR fixes the GitHub Copilot agent pointer generation by replacing the broken
Confidence Score: 5/5Safe to merge — changes are well-scoped to the Copilot pointer template, its migration logic, and new documentation. The core functional change (replacing the broken {project-root} placeholder and adding legacy-file migration) is implemented correctly: expandBodyTemplate leaves {project-root} as a literal, so the legacy tail computed at runtime exactly matches what old generated files contain. The frontmatter guard in looksLikeGeneratorOutput prevents false-positive matches on hand-modified files. The new migration path is exercised end-to-end by a dedicated third sub-case in the test suite. Files Needing Attention: No files require special attention.
|
| Filename | Overview |
|---|---|
| tools/installer/ide/_config-driven.js | Adds LEGACY_GITHUB_COPILOT_COMMANDS_BODY_TEMPLATE and updates looksLikeGeneratorOutput to accept the old tail for migration; logic is correct and well-isolated. |
| tools/installer/ide/platform-codes.yaml | Replaces the broken {project-root} single-line Copilot template with a proper YAML block scalar; BMAD context and mandatory-first-action text added correctly. |
| test/test-installation-components.js | New assertions cover the updated pointer invariants and the full legacy-pointer migration scenario end-to-end; combined-condition assertion from previous thread is now split into individual assert calls. |
| SKILL.md | New open-skills root entry-point; well-structured with persona table, delivery sequence, and install instructions. |
| docs/how-to/use-bmad-with-herdr.md | New Herdr setup guide; documentation-only, references external install scripts and third-party skill registries as is conventional for this type of guide. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Re-run installer on existing project] --> B{Agent file exists?}
B -- No --> C[Write new pointer with current template]
B -- Yes --> D[looksLikeGeneratorOutput?]
D -- No\nhand-modified --> E[Preserve file unchanged]
D -- Yes --> F{Matches current\ntemplate tail?}
F -- Yes --> G[Overwrite with refreshed current template]
F -- No --> H{Matches legacy\nCopilot tail?}
H -- Yes\nmigration path --> G
H -- No --> E
G --> I[File now contains BMAD preamble +\nrepo-relative SKILL.md path +\nMANDATORY FIRST ACTION text]
Reviews (2): Last reviewed commit: "fix(github-copilot): migrate legacy comm..." | Re-trigger Greptile
Recognize prior generated .github/agents pointer bodies that used the legacy template so reinstall can refresh them to the new mandatory-first-action template instead of treating them as hand-modified forever. Also split the combined Suite 17 assertion for clearer failure output, and add a migration regression that seeds a legacy pointer body and verifies reinstall rewrites it to the current template. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
What
This updates GitHub Copilot custom-agent pointer generation so BMAD persona agents reliably load their SKILL.md instructions, and adds Herdr setup documentation plus a root BMAD skill entry-point for open-skills installs.
Why
Copilot PR-assigned agents could skip BMAD methodology when the pointer relied on a
{project-root}placeholder at runtime. We also needed clear guidance for teams using Herdr andnpx skills addto bootstrap BMAD consistently.How
tools/installer/ide/platform-codes.yamlforgithub-copilotcommand pointers to use a repo-relative SKILL path, explicit BMAD context, and mandatory-first-action wording.test/test-installation-components.jsassertions for the new pointer invariants.docs/how-to/use-bmad-with-herdr.mdand rootSKILL.mdas an open-skills entry-point.MANDATORY FIRST ACTIONandDo not skip or defer this step.).Testing
Targeted installation component tests pass for the updated pointer behavior, and markdown/prettier checks are clean for the new docs files.