Skip to content

Agency / Claude Code Plugin

ado-aw ships a Claude Code plugin that gives Claude Code (and other Agency-compatible agents) first-class support for authoring, compiling, validating, operating, and debugging Azure DevOps agentic workflows. It is also listed in the Agency marketplace.

The plugin is mostly packaging + wiring, not new behavior: it surfaces ado-aw’s existing read-only mcp-author server and the authoring playbooks as guided agent skills.

  1. Install ado-aw in the target repository (see Quick Start).

  2. Scaffold the plugin with one command:

    Terminal window
    ado-aw init --agency

    This writes .github/agents/ado-aw.agent.md (the standard Copilot dispatcher) plus the full Agency / Claude Code plugin under agency/plugins/ado-aw/ and two repo-root marketplace catalogs. Commit the generated files.

  3. Register and install the plugin in your agent:

    /plugin marketplace add <your-org>/<your-repo>
    /plugin install ado-aw@ado-aw

    Or point directly at githubnext/ado-aw to use the canonical upstream copy before running init --agency:

    /plugin marketplace add githubnext/ado-aw
    /plugin install ado-aw@ado-aw
agency/plugins/ado-aw/
├── .claude-plugin/
│ └── plugin.json # plugin manifest (name, version, mcpServers ref)
├── .mcp.json # wires the read-only ado-aw mcp-author server
├── agency.json # Agency marketplace governance + external source pointer
├── README.md # plugin landing page
├── agents/
│ └── ado-aw.md # dispatcher subagent (routes to skills)
├── skills/
│ ├── create-workflow/SKILL.md
│ ├── update-workflow/SKILL.md
│ ├── debug-workflow/SKILL.md
│ ├── compile-and-validate/SKILL.md
│ ├── manage-lifecycle/SKILL.md
│ └── audit-build/SKILL.md
└── scripts/
├── doctor.sh # prerequisite check (POSIX)
└── doctor.ps1 # prerequisite check (Windows)

The plugin ships six skills:

SkillWhat it does
create-workflowAuthor a new agentic workflow from scratch; ends with compile + lint.
update-workflowRead an existing workflow, apply changes, recompile, and validate.
debug-workflowDiagnose a failing run via trace_failure + audit_build.
compile-and-validateRun ado-aw compile, lint_workflow, and IR/graph inspection.
manage-lifecycleInvoke enable/disable/remove/run/list/status/secrets.
audit-buildDownload and analyze a finished build’s artifacts.

The create-workflow, update-workflow, and debug-workflow skills load their authoritative playbook from a compiler-version-pinned raw.githubusercontent.com/.../v<version>/prompts/... URL, so the instructions always match the installed binary.

.mcp.json wires the local, read-only ado-aw mcp-author stdio server. The ten tools it exposes are:

ToolWhat it does
inspect_workflowBuild and return the public PipelineSummary
graph_summaryReturn the resolved GraphSummary as a structured object
graph_dumpRender the dependency graph as plain text or Graphviz DOT
step_dependenciesTraverse upstream / downstream dependencies from one step
step_outputsList declared outputs and the steps that consume them
whatifClassify downstream jobs as skipped or runs_anyway if a step fails
lint_workflowRun structural lint checks; returns findings with severity
catalogList safe-output tools, runtimes, first-class tools, engines, and models
trace_failureTrace a build’s failing-job chain using audit data + local IR graph
audit_buildDownload and analyze a completed build; returns the same JSON as ado-aw audit --json

Mutating actions (compile, enable, disable, remove, run, secrets, init) are not in the MCP server — the skills invoke them via the agent’s shell, preserving the read-only firebreak.

init --agency also writes two root-level marketplace catalogs:

FileEngine
.claude-plugin/marketplace.jsonClaude Code
.github/plugin/marketplace.jsonGitHub Copilot

Each catalog lists the ado-aw plugin with source: "./agency/plugins/ado-aw". This makes the repository itself a directly-installable marketplace: anyone can /plugin marketplace add <your-org>/<your-repo> without any extra registry configuration.

The canonical plugin lives at agency/plugins/ado-aw/ in this repository. ado-aw init --agency embeds these exact files via include_str! and writes them verbatim, so a consumer repo’s plugin can never drift from the canonical copy. A parity test (tests/init_tests.rs) asserts byte-for-byte identity.

The plugin is version-locked to the compiler. On every release, release-please bumps the plugin version in lock-step with Cargo.toml:

  • plugin.json version and both root catalog metadata.version / plugins[0].version
  • Version-pinned prompt URLs in agents/ado-aw.md and the create/update/debug skills