Repository navigation
feat(plugins): add a GitHub Copilot plugin for Site Ops - #80
Closed
Paymaun (digimaun) wants to merge 4 commits into
Closed
Paymaun (digimaun) wants to merge 4 commits into
Paymaun (digimaun) wants to merge 4 commits into
Conversation
The Agent Plugins 1.0 plugin teaches GitHub Copilot to install Site Ops from a verified release, deploy AIO to one cluster or a fleet with optional Secret Sync, upgrade saved Sites, explore what a release can deploy and diagnose Site Ops errors. Each skill states the rules that keep it on its path. It uses Site Ops for every change, asks before it installs, enrolls a source or edits a file, never plans and deploys in the same turn, and deploys only the plan the user confirmed, with the same command and --yes. Before installing AIO, it checks that the cluster's resource group has no AIO instance.
The repository's marketplace lists the plugin, so Copilot CLI, VS Code and the Copilot app can install siteops@scale-kit. The plugin guide lists each skill with an example request, explains how Copilot confirms each plan, and covers installation, updates and removal in each client. The cloud agent is not supported for deployments. The README, documentation index and repository guide link to the guide.
Plugin tests read the plugin, its marketplace, the documentation and the README, so changes to those paths now run CI.
Tests check each skill against the Agent Skills format and its path rules, resolve every link and heading, parse every siteops command in skills and references with the current CLI, require a confirmation question before every deploy and each deploy to repeat a plan from the same skill, and compare the stated defaults and Secret Sync releases with the workspace.
There was a problem hiding this comment.
🟡 Changes recommended
The deployment guard can inspect the wrong subscription, and several workflow instructions need correction.
4 open issues
What changed in this PR
Adds a GitHub Copilot plugin that guides operators through Site Ops installation and AIO workflows.
Changes:
- Publishes the
siteopsplugin through thescale-kitmarketplace. - Adds five skills with deployment planning and confirmation guidance.
- Adds plugin validation tests, documentation links and CI triggers.
| File | Description |
|---|---|
| tests/test_copilot_plugin.py | Validates manifests, links, commands and confirmation guidance. |
| README.md | Introduces plugin installation. |
| plugins/siteops/skills/upgrade-aio/SKILL.md | Guides saved-Site upgrades. |
| plugins/siteops/skills/troubleshoot-siteops/SKILL.md | Defines diagnostic workflows. |
| plugins/siteops/skills/troubleshoot-siteops/references/errors.md | Maps errors to remedies. |
| plugins/siteops/skills/install-siteops/SKILL.md | Guides verified installation and updates. |
| plugins/siteops/skills/explore-content/SKILL.md | Guides content browsing and previews. |
| plugins/siteops/skills/deploy-aio/SKILL.md | Guides AIO and Secret Sync deployments. |
| plugins/siteops/skills/deploy-aio/references/fleet.md | Adds multi-cluster deployment guidance. |
| plugins/siteops/README.md | Documents plugin installation and usage. |
| plugins/siteops/plugin.json | Defines plugin metadata. |
| docs/repository-guide.md | Identifies plugin directories. |
| docs/README.md | Links the plugin guide. |
| .github/workflows/ci.yaml | Includes plugin and documentation changes in CI. |
| .github/plugin/marketplace.json | Registers the plugin in the marketplace. |
Review effort: Balanced
Comment on lines
+152
to
+155
| Then check that the cluster's resource group has no AIO instance yet: | ||
|
|
||
| ```text | ||
| az resource list --resource-type Microsoft.IoTOperations/instances --resource-group <resource-group> --query "[].id" --output tsv |
Comment on lines
+204
to
+206
| operation counts from the plan output. Take the AIO release from the | ||
| `aioRelease` input, or the default 2609. Secret Sync is enabled when the | ||
| plan marks the `secretsync` step with `+`. |
Comment on lines
+50
to
+51
| which release installed it. If Site Ops works and the user did not ask for a | ||
| specific release, skip to step 6. Otherwise check for other `siteops` |
Comment on lines
+50
to
+51
| Upgrades use saved Sites, because the AIO release is a Site setting. Ask for | ||
| the project directory if the user has not named it, then list its Sites: |
Member
Author
|
Closing in favor of #81, which carries this change as one commit and fixes the four review comments here. The existing AIO check now uses the cluster's own subscription. The Secret Sync summary reports the instance's AIO release as unchanged. A request to update Site Ops goes through release selection. An upgrade without a saved Site now finds the installation and saves its Site first. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
siteops, published through ascale-kitmarketplace in this repository. Install it in Copilot CLI withcopilot plugin marketplace add Azure/digital-ops-scale-kitandcopilot plugin install siteops@scale-kit, or from VS Code and the Copilot app.--yes. Before installing AIO, it checks that the cluster's resource group has no AIO instance.Validation
siteopscommand in the skills with the current CLI, require a confirmation question before every deploy, and compare the stated defaults with the workspace. Each check fails when its rule is broken.