{"id":50708033,"url":"https://github.com/cirvine-msft/copilot-toolkit","last_synced_at":"2026-06-09T13:01:50.710Z","repository":{"id":350948896,"uuid":"1208889661","full_name":"cirvine-MSFT/copilot-toolkit","owner":"cirvine-MSFT","description":"Personal collection of GitHub Copilot CLI extensions, skills, and agents","archived":false,"fork":false,"pushed_at":"2026-04-12T23:07:27.000Z","size":56,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-13T00:23:26.145Z","etag":null,"topics":["azure-devops","copilot-cli","copilot-extension","github-copilot"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cirvine-MSFT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-12T21:50:30.000Z","updated_at":"2026-04-12T23:07:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cirvine-MSFT/copilot-toolkit","commit_stats":null,"previous_names":["cirvine-msft/copilot-toolkit"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/cirvine-MSFT/copilot-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirvine-MSFT%2Fcopilot-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirvine-MSFT%2Fcopilot-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirvine-MSFT%2Fcopilot-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirvine-MSFT%2Fcopilot-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cirvine-MSFT","download_url":"https://codeload.github.com/cirvine-MSFT/copilot-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cirvine-MSFT%2Fcopilot-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34107866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-devops","copilot-cli","copilot-extension","github-copilot"],"created_at":"2026-06-09T13:01:50.498Z","updated_at":"2026-06-09T13:01:50.698Z","avatar_url":"https://github.com/cirvine-MSFT.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# copilot-toolkit\n\nPersonal collection of [GitHub Copilot CLI](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-in-the-command-line) extensions, skills, and agents.\n\n## Extensions\n\n| Extension | Tools provided | Description |\n|-----------|---------------|-------------|\n| **ado-pr-watcher** | `pr_watcher_start`, `pr_watcher_list`, `pr_watcher_stop` | Watches Azure DevOps pull requests for reviewer activity, comment threads, negative votes, and blocking policy failures. Injects follow-up prompts so the Copilot agent can act as the PR author. |\n| **ado-build-watcher** | `build_watcher_start`, `build_watcher_list`, `build_watcher_stop` | Watches Azure DevOps build/pipeline runs and notifies the session when they complete or fail, enabling automatic diagnosis and next-step continuation. |\n\n### Quick start\n\nAfter [installing](#install-extensions), the tools are available in any Copilot CLI session:\n\n```\n# Watch a PR — auto-detects org/project/repo from your git remote\nWatch my PR for reviews\n\n# Watch a PR by URL\nWatch this PR: https://dev.azure.com/myorg/myproject/_git/myrepo/pullrequest/12345\n\n# Watch a build/pipeline run\nWatch this build: https://dev.azure.com/myorg/myproject/_build/results?buildId=98765\n\n# List active watchers\nShow my active watchers\n\n# Stop a watcher\nStop the PR watcher\n```\n\nYou don't call the tools directly — just describe what you want in natural language and Copilot invokes the right tool. The watchers run as detached background processes and inject events back into your session when something happens.\n\n### How watchers work\n\n1. **Start** — Copilot calls `pr_watcher_start` or `build_watcher_start`, which spawns a detached worker process\n2. **Poll** — The worker polls Azure DevOps APIs via `az` CLI at a configurable interval (default 60s for builds, 30s for PRs)\n3. **Notify** — When the worker detects a change (new review comment, build completed, etc.), it writes an event file\n4. **React** — The extension picks up the event and injects a follow-up prompt into your session so Copilot can act on it\n\n## Install extensions\n\nExtensions are **not** distributed through the plugin system — they require the install script.\n\n| What | How installed | What this repo provides |\n|------|--------------|------------------------|\n| **Extensions** | Install scripts below | `ado-pr-watcher`, `ado-build-watcher` |\n| **Skills \u0026 agents** | `copilot plugin install` | None yet (placeholders) |\n\n**PowerShell (Windows):**\n\n```powershell\ngit clone https://github.com/cirvine-msft/copilot-toolkit.git\ncd copilot-toolkit\n.\\install-extensions.ps1\n```\n\n**Bash (macOS / Linux):**\n\n```bash\ngit clone https://github.com/cirvine-msft/copilot-toolkit.git\ncd copilot-toolkit\n./install-extensions.sh\n```\n\nTo install only specific extensions:\n\n```bash\n./install-extensions.sh ado-build-watcher          # just the build watcher\n.\\install-extensions.ps1 ado-pr-watcher             # just the PR watcher\n```\n\nAfter installing, run `/clear` in the Copilot CLI or restart it to load the new extensions.\n\n### Update\n\n```bash\ncd copilot-toolkit\ngit pull\n./install-extensions.sh   # or .\\install-extensions.ps1\n```\n\nThe install scripts use mirror semantics — stale files from previous versions are cleaned up automatically.\n\n### Uninstall\n\nRemove the installed extension directories:\n\n```bash\nrm -rf ~/.copilot/extensions/ado-pr-watcher\nrm -rf ~/.copilot/extensions/ado-build-watcher\nrm -rf ~/.copilot/extensions/lib\n```\n\nThen run `/clear` or restart the CLI.\n\n## Plugin system\n\nThis repo contains a `plugin.json` manifest for future skills and agents. When skills/agents are published, they'll be installable via:\n\n**From the terminal:**\n```bash\ncopilot plugin install cirvine-msft/copilot-toolkit\n```\n\n**From within the CLI:**\n```\n/plugin install cirvine-msft/copilot-toolkit\n```\n\n\u003e **Note:** The plugin system installs skills and agents only — it does **not** install the watcher extensions. Those always require the install scripts above.\n\n## Requirements\n\n- [GitHub Copilot CLI](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-in-the-command-line)\n- [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) with the Azure DevOps extension\n- Azure DevOps access for the repos/pipelines you want to watch\n\n### Azure CLI setup\n\n```bash\n# Install Azure DevOps extension (if not already present)\naz extension add --name azure-devops\n\n# Login\naz login\n\n# Optionally set defaults so you don't have to pass org/project every time\naz devops configure --defaults organization=https://dev.azure.com/YOUR_ORG project=YOUR_PROJECT\n```\n\nThe extensions auto-detect org/project/repo from your git remote when possible. Explicit values are only needed when auto-detection can't resolve them (e.g., non-ADO git remotes, numeric build IDs without context).\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| Tools don't appear after install | Run `/clear` or restart the CLI |\n| `az` commands fail with auth errors | Run `az login` to refresh credentials |\n| Watcher not detecting changes | Check `pr_watcher_list` / `build_watcher_list` for status; verify Azure DevOps access |\n| Extension not loading | Verify files exist in `~/.copilot/extensions/ado-pr-watcher/` |\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcirvine-msft%2Fcopilot-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcirvine-msft%2Fcopilot-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcirvine-msft%2Fcopilot-toolkit/lists"}