Prerequisites
- GitHub Copilot CLI installed and signed in
- Read access to Peter-N91/hve-squad-plugin (public repository — no extra access grant needed)
Install both plugins, always as a pair. This marketplace publishes two
entries: hve-squad (the squad's own agents and skills) and
hve-squad-hve-core (the microsoft/hve-core agents and skills
the squad dispatches to). Most squad roles resolve to an hve-core agent, so installing
hve-squad alone leaves those roles unresolvable.
Install hve-squad-hve-core from this marketplace rather than from
microsoft/hve-core directly. This marketplace's entry is pinned to the exact
commit SHA that the matching hve-squad release was built and validated against — the same
pin recorded in that release's apm.yml and checked by its cast-delta guard.
Installing hve-core from its own source instead gives you whatever is current there, which
can be ahead of the routing tables and role charters your installed squad version
references.
1. Register the marketplace
copilot plugin marketplace add Peter-N91/hve-squad-plugin
2. Install both plugins
copilot plugin install hve-squad@hve-squad-plugin
copilot plugin install hve-squad-hve-core@hve-squad-plugin
The suffix after @ is the marketplace name
(hve-squad-plugin, the name field in
marketplace.json) — not the repository owner. Installed plugins land under
installed-plugins/hve-squad-plugin/<plugin>/, which mirrors the same
marketplace/plugin shape.
Installing hve-squad reads this repository's
.github/plugin/plugin.json manifest and registers everything it points at: the
27 agents under agents/squad/, the squad skill and its invocation skills under
skills/squad/, the hooks.json enforcement scripts, and the
.mcp.json server registration for @hve-squad/mcp.
hve-squad-hve-core then supplies the hve-core agents and skills those squad
roles dispatch to, at the pinned commit.
3. Verify the install
copilot plugin list
Confirm both hve-squad and hve-squad-hve-core
appear with a status indicating they are active. If only one appears, re-run the missing
install from step 2 — a squad with no hve-core installed will escalate rather than dispatch
when a role's agent cannot be found.
4. Namespace resolution
Once installed, every agent this plugin ships is addressable under the
hve-squad:squad-* namespace — the plugin name (hve-squad, from
plugin.json) prefixed to each agent's own name. For example:
# Ask Copilot CLI to dispatch the coordinator directly
hve-squad:squad-coordinator
# Or let natural language resolve to it
"use the squad to research this codebase"
If two installed plugins ship an agent with the same short name, the namespace prefix is what disambiguates them — always safe to use explicitly.
Updating later
This marketplace deliberately does not set autoUpdate. The
two entries are a matched pair: an unattended update that moved hve-squad
forward while leaving hve-squad-hve-core behind (or the reverse) would
reintroduce exactly the version skew the pinned entry exists to prevent. Updates are
therefore explicit, and both entries move together.
To take a new release:
# 1. Refresh the marketplace so the CLI sees the new entries and their pins
copilot plugin marketplace update Peter-N91/hve-squad-plugin
# 2. Update hve-squad in place
copilot plugin update hve-squad@hve-squad-plugin
# 3. Replace hve-squad-hve-core — uninstall THEN install, never update
copilot plugin uninstall hve-squad-hve-core@hve-squad-plugin
copilot plugin install hve-squad-hve-core@hve-squad-plugin
# 4. Confirm both moved
copilot plugin list
copilot plugin update does not work for
hve-squad-hve-core. Uninstall it, then install it. This is not a
preference — the update path cannot detect a new pin for this entry, and will leave you
on the old hve-core while reporting success.
The reason is that plugin update compares the version recorded at install
time against the version it resolves now, and for this entry both of those come from
upstream hve-core's own plugin.json (for example
3.2.2) — not from the version field of this marketplace's
entry. When an hve-squad release bumps only source.sha and upstream
hve-core's own version has not changed, the two numbers still match, so the CLI answers
already at latest and keeps the previously fetched tree. The pin moved; the
files on disk did not.
Uninstalling first clears that recorded state, so the follow-up install resolves
source.sha fresh and fetches the tree the current release was validated
against. Do this every time you take a release, even when
copilot plugin update hve-squad-hve-core@hve-squad-plugin claims there is
nothing to do.
Never update one without the other. Each hve-squad release pins the
hve-core commit it was validated against. When a release bumps that pin, the
hve-squad-hve-core entry's SHA changes with it — so updating
hve-squad alone leaves you running new squad content against the older
hve-core it was not built for. If you are ever unsure what state you are in, uninstall
and reinstall both entries.
One plugin home per client. The CLI stores plugins under
$COPILOT_HOME, and clients that embed the Copilot CLI (desktop apps, IDE
integrations) commonly point that at their own directory rather than
~/.copilot. Updating in a terminal therefore does not update the
copy an embedding client uses. Run the uninstall/install pair once per plugin home you
actually dispatch the squad from.
Do not also install the official hve-core plugin
If you run the squad, install hve-core only through this marketplace's
hve-squad-hve-core entry. Do not additionally install the official
hve-core plugin from microsoft/hve-core, and do not register
hve-core's own marketplace alongside this one.
The two entries ship the same agent, skill, and instruction files under different plugin
names, and the official one tracks whatever is current upstream instead of the validated
commit. With both installed you get two registered copies of every hve-core artifact,
usually at two different commits. Squad roles resolve to hve-core agents by name, so a
dispatch can land on the unpinned copy — and the routing tables, role charters, and
cast-delta guarantees your installed hve-squad release was built against no longer hold.
Symptoms are ambiguous: duplicated or shadowed agents in
copilot plugin list, roles that resolve to an agent whose charter does not
match the routing table, or dispatches that behave differently between two machines on
the same hve-squad version.
The hve-squad-hve-core entry is named distinctly so the two can
be registered side by side without a name collision at install time. That is a
packaging safeguard so a pre-existing install does not block this one — it is not a
recommendation to run both. If you already have the official plugin installed, remove it
before dispatching the squad:
copilot plugin list
copilot plugin uninstall hve-core@<its-marketplace>
If you need the official plugin for unrelated work, keep it in a separate plugin home
(a different $COPILOT_HOME) rather than alongside the squad.