Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"name": "agentops-accelerator",
"source": "../../plugins/agentops",
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Toolkit and Microsoft Foundry agents.",
"version": "0.16.0",
"version": "0.16.1",
"keywords": [
"agentops",
"evaluation",
Expand Down
2 changes: 1 addition & 1 deletion .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"name": "agentops-accelerator",
"source": "../../plugins/agentops",
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Toolkit and Microsoft Foundry agents.",
"version": "0.16.0",
"version": "0.16.1",
"keywords": [
"agentops",
"evaluation",
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres

## [Unreleased]

## [0.16.1] - 2026-11-06

### Changed
- **Refresh locked Python dependencies.** Update `aiohttp`, `certifi`,
`filelock`, `mcp`, `multidict`, `nltk`, `oauthlib`, and the OpenTelemetry
Expand All @@ -16,6 +18,12 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres
Trusted Publishing, and the stable Marketplace approval gate.
- **Refresh documentation tooling.** Update `mkdocs-material` to 9.8.0.

### Fixed
- **Register every bundled VS Code skill.** Align the extension's `chatSkills`
manifest with the seven canonical skills already packaged, registering
`agentops-agent` and `agentops-governance` and removing references to three
absent legacy skills. Add a contract check to prevent manifest drift.

### Removed
- **Automatic issue type classification.** Remove the repository's optional
issue-classification workflow and its generated files. New issues are no
Expand Down
6 changes: 5 additions & 1 deletion docs/whats-new.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
hide:
- navigation
---

# AgentOps What's new

Explore major updates by month, or read the [full GitHub release notes](https://github.com/Azure/agentops/releases) for all changes and fixes.
Expand All @@ -13,7 +18,6 @@ Explore major updates by month, or read the [full GitHub release notes](https://
| Release | Highlights |
| --- | --- |
| [v0.15.0](https://github.com/Azure/agentops/releases/tag/v0.15.0) | Added recipe-based [azd evaluation integration](evaluation.md#delegating-to-azd) for `azd ai eval`, preserving AgentOps results and threshold gates without changing existing `azd ai agent eval` recipes. The new path requires the preview `azure.ai.evaluations` extension, which was not yet publicly available at release. |
| [v0.14.0](https://github.com/Azure/agentops/releases/tag/v0.14.0) | Removed hosted Cockpit, `agentops cockpit deploy`, the Observe UI and its APIs. Use the [local, read-only Cockpit](operate.md#cockpit) for readiness and evaluation history, and [Foundry or Azure Monitor](foundry-ops-workbook.md) for runtime observability. |

## August 2026

Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ markdown_extensions:
emoji_generator: !!python/name:material.extensions.emoji.to_svg
nav:
- Overview: index.md
- What's new: whats-new.md
- Concepts: concepts.md
- Tutorials:
- Overview: tutorials.md
Expand All @@ -93,6 +92,7 @@ nav:
- Retrieval Optimization: retrieval-optimization.md
- Doctor Checks: doctor-checks.md
- Doctor Explained: doctor-explained.md
- What's new: whats-new.md
- Contributing:
- How It Works: how-it-works.md
- Release Process: release-process.md
Expand Down
9 changes: 3 additions & 6 deletions plugins/agentops/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "agentops-accelerator",
"displayName": "AgentOps Accelerator — Skills for GitHub Copilot",
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Accelerator and Microsoft Foundry agents.",
"version": "0.16.0",
"version": "0.16.1",
"publisher": "AgentOpsAccelerator",
"icon": "icon.png",
"license": "MIT",
Expand Down Expand Up @@ -43,13 +43,10 @@
"path": "./skills/agentops-report/SKILL.md"
},
{
"path": "./skills/agentops-regression/SKILL.md"
"path": "./skills/agentops-agent/SKILL.md"
},
{
"path": "./skills/agentops-trace/SKILL.md"
},
{
"path": "./skills/agentops-monitor/SKILL.md"
"path": "./skills/agentops-governance/SKILL.md"
},
{
"path": "./skills/agentops-workflow/SKILL.md"
Expand Down
2 changes: 1 addition & 1 deletion plugins/agentops/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "agentops-accelerator",
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Accelerator and Microsoft Foundry agents.",
"version": "0.16.0",
"version": "0.16.1",
"author": {
"name": "AgentOps Accelerator",
"url": "https://github.com/Azure/agentops"
Expand Down
15 changes: 15 additions & 0 deletions tests/unit/test_skills_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
scripts/sync-skills.ps1 (Windows)
"""

import json
from pathlib import Path

# Repository root is four levels up from this test file (tests/unit/test_skills_sync.py).
Expand Down Expand Up @@ -43,6 +44,20 @@ def test_all_skills_present_in_plugin() -> None:
)


def test_vsix_manifest_registers_all_bundled_skills() -> None:
package = json.loads(
(_PLUGIN_SKILLS.parent / "package.json").read_text(encoding="utf-8")
)
declared_paths = [skill["path"] for skill in package["contributes"]["chatSkills"]]
expected_paths = {f"./skills/{name}/SKILL.md" for name in _skill_dirs()}

assert expected_paths, "No canonical skills found"
assert len(declared_paths) == len(set(declared_paths)), "Duplicate skill registrations"
assert set(declared_paths) == expected_paths
for path in declared_paths:
assert (_PLUGIN_SKILLS.parent / path).is_file(), f"Registered skill missing: {path}"


def test_skill_contents_match() -> None:
"""Content of each SKILL.md must be identical between src/ and plugins/."""
src_skills = _skill_dirs()
Expand Down
Loading