Skill Reviewer
microsoft/GitHub-Copilot-for-Azure
Review skill PRs with structured severity-rated feedback covering token budgets, routing conflicts, and repo conventions.
A skill your agent uses to classify the documentation impact of a pull request diff, returning one of three verdicts -- no-change, in-place edit, or structural change -- with bounded LLM cost.
$ npx skills add microsoft/apm --skill docs-impact-classifier -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/apm docs-impact-classifier --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/apm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.apm/skills/docs-impact-classifier .claude/skills/docs-impact-classifier && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "docs-impact-classifier" agent skill from https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifier into .claude/skills/docs-impact-classifier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-impact-classifier", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifierType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/apm --skill docs-impact-classifier -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/apm docs-impact-classifier --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/apm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.apm/skills/docs-impact-classifier .agents/skills/docs-impact-classifier && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs-impact-classifier" agent skill from https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifier into .agents/skills/docs-impact-classifier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-impact-classifier", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/apm --skill docs-impact-classifier -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/apm docs-impact-classifier --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/apm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.apm/skills/docs-impact-classifier .cursor/skills/docs-impact-classifier && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docs-impact-classifier" agent skill from https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifier into .cursor/skills/docs-impact-classifier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-impact-classifier", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/apm.git --path .apm/skills/docs-impact-classifier--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/apm --skill docs-impact-classifier -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/apm docs-impact-classifier --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/apm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.apm/skills/docs-impact-classifier .gemini/skills/docs-impact-classifier && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docs-impact-classifier" agent skill from https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifier into .gemini/skills/docs-impact-classifier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-impact-classifier", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/apm docs-impact-classifierInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/apm --skill docs-impact-classifier -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/apm.git skills-src && mkdir -p .github/skills && cp -r skills-src/.apm/skills/docs-impact-classifier .github/skills/docs-impact-classifier && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docs-impact-classifier" agent skill from https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifier into .github/skills/docs-impact-classifier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-impact-classifier", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/apm --skill docs-impact-classifier -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/apm docs-impact-classifier --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/apm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.apm/skills/docs-impact-classifier .opencode/skills/docs-impact-classifier && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docs-impact-classifier" agent skill from https://github.com/microsoft/apm/tree/main/.apm/skills/docs-impact-classifier into .opencode/skills/docs-impact-classifier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-impact-classifier", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docs-impact-classifierA skill your agent uses to classify the documentation impact of a pull request diff, returning one of three verdicts -- no-change, in-place edit, or structural change -- with bounded LLM cost.
Docs Impact Classifier is an agent skill from microsoft/apm, published by the product's own GitHub organization. Use this skill to classify the documentation impact of a pull request diff, returning one of three verdicts -- no-change, in-place edit, or structural change -- with bounded LLM cost. Activate as a sibling skill of docs-sync; the orchestrator calls this first, before any panel spawn, to keep cost floor at 1 LLM call when no docs work is needed. Reads .apm/docs-index.yml as the corpus map; never reads the full corpus.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Monitoring and alerting, LLM cost and token optimization and Pull requests. The repository describes itself as: Agent Package Manager. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 280b8a7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Docs Impact Classifier loads about 1.8k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 826 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/apm at commit 280b8a7, republished under its MIT licence (© microsoft). 826 words, ~1,786 tokens.
.claude/skills/docs-impact-classifier/SKILL.md (or your agent's skills folder).Single responsibility: given a PR diff and the .apm/docs-index.yml
corpus map, emit ONE classification verdict.
This skill is the cost gate for the entire docs-sync system. ~70% of
PRs should exit at verdict no_change with zero panel spawn.
This is a 3-layer funnel inside a single skill invocation:
The skill returns the verdict from the earliest layer that can decide.
Read .apm/docs-index.yml to load no_impact_paths[] and
user_surface_paths[]. Get the changed file list from the PR diff
(gh pr diff --name-only).
if every changed file matches no_impact_paths AND none match user_surface_paths:
return {verdict: "no_change", confidence: "high", source: "L0", scope_pages: []}This handles:
tests/**).github/workflows/**)docs/**) -- out of scope, docs-sync doesn't review docs PRs.apm/**)Expected hit rate: ~70% of PRs short-circuit here.
If L0 did not exit, extract user-observable symbols from the diff:
^@click.command, ^@cli.command, or any apm <verb> mention in added/removed lines.^@click.option, --[a-z-]+ patterns.def <name> in src/apm_cli/__init__.py or src/apm_cli/api/**.apm.yml, apm.lock.yaml, apm-policy.yml parsers._rich_error, click.echo, raise ... Error().For each extracted symbol, consult .apm/docs-index.yml#symbol_index
to find the documented pages. Collect all hits into candidate_pages[].
Also grep -rn <symbol> docs/src/content/docs/ for symbols NOT in
the index (catches drift between index and corpus).
If L1 found zero candidate pages AND zero schema/CLI/flag changes:
return {verdict: "no_change", confidence: "medium", source: "L1", scope_pages: []}.
Otherwise, invoke the doc-analyser persona with EXACTLY this context envelope (must fit in ~8 KB tokens):
gh pr diff --stat output).apm/docs-index.yml (the whole file; it's ~8 KB seeded, may grow)pr_doc_diff_paths[]: the list of paths under docs/src/content/docs/**
that the PR itself already modifies (drives the in_place_resolved
downgrade rule in "In-place-resolved detection" below).Ask doc-analyser to return JSON matching this schema:
{
"verdict": "no_change" | "in_place_resolved" | "in_place" | "structural",
"confidence": "low" | "medium" | "high",
"scope_pages": ["docs/src/content/docs/..."],
"structural_proposal": {
"new_pages": [{"slug": "...", "rationale": "..."}],
"moved_pages": [{"from": "...", "to": "..."}],
"toc_changes": "<one-paragraph>"
},
"reasoning": "<one-paragraph: what surface changed, what docs are affected, why this verdict>"
}structural_proposal is populated only when verdict is structural.
scope_pages is populated for in_place and structural verdicts.
| Verdict | Meaning | Panel size | Cost |
|---|---|---|---|
no_change | No user-observable surface changed | 0 panel spawns | ~0-1 LLM call |
in_place_resolved | Doc impact existed, but the PR's OWN diff already patches every page in scope_pages -- author already did the work | 0 panel spawns; skill emits NO advisory | ~1 LLM call |
in_place | One to a few pages need a paragraph or section update; no new pages, no TOC change | N candidate pages x (doc-writer + python-architect) + editorial-owner + growth-hacker + CDO | ~6-12 LLM calls |
structural | A new page is needed, OR an existing page should be split/merged, OR the TOC needs to change to fit a new concept | architect first (TOC delta), then in-place panel for affected pages | ~10-15 LLM calls |
BEFORE returning in_place, intersect your scope_pages[] with the
list of files the PR itself touches under docs/** (provided to you
by the orchestrator under pr_doc_diff_paths[]). If EVERY scope page
already appears in pr_doc_diff_paths, downgrade to in_place_resolved
and emit reasoning of the form "Author already patched <page list>".
This is the well-behaved-author path; the skill stays silent.
If only SOME scope pages are pre-patched, keep in_place and list the
REMAINING (unpatched) pages in scope_pages[]. Note the pre-patched
ones in reasoning for transparency.
When the L1 layer reports an ADDED public symbol that matches an
EXISTING public symbol's name in the corpus (e.g. PR adds apm update
but apm update already appears in 9 docs pages with different
semantics), this is a RENAME or BREAKING SEMANTIC CHANGE. Bias toward
structural (not in_place):
Do NOT collapse a rename into in_place just because the affected
pages already exist. The shape of the work is structural even when no
new page is strictly required.
in_place with empty scope_pages -- invalid; orchestrator will reject.structural without structural_proposal -- invalid.in_place when EVERY scope page is in pr_doc_diff_paths -- should be in_place_resolved.structural to seem thorough -- the CDO will catch this. Return the minimal true verdict.in_place for a verb-swap PR.Return a SINGLE JSON document matching the schema in Step 3 as the final message of your task. No prose around the JSON. The orchestrator parses your last message.
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .apm/skills/docs-impact-classifier of microsoft/apm.
Open the folder on GitHubat commit 280b8a7
Docs Impact Classifier next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Docs Impact Classifier this skillmicrosoft/apm | 4k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Skill Reviewermicrosoft/GitHub-Copilot-for-Azure | 255 | — | ~482 | Automated safety check: Pass | MIT | |
| App Observabilitygrafana/skills | 278 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Monitoring Observabilityyonatangross/orchestkit | 288 | — | ~2.2k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Babysit PR To Pass CIsgl-project/sglang | 37k | 2 repos | ~3k | Automated safety check: Pass | Apache-2.0 |
microsoft/GitHub-Copilot-for-Azure
Review skill PRs with structured severity-rated feedback covering token budgets, routing conflicts, and repo conventions.
grafana/skills
Get RED metrics + service maps + frontend RUM + AI/LLM monitoring out of Grafana Cloud — Application Observability (tracesspanmetrics from OTel traces, p50/p95/p99 latency, exemplar-to-trace…
yonatangross/orchestkit
Monitoring and observability patterns for Prometheus metrics, Grafana dashboards, Langfuse v4 LLM tracing (astype, scorecurrentspan, shouldexportspan, LangfuseMedia), and drift detection.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
sgl-project/sglang
Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.
ansible/ansible
Load Ansible project development guidelines, testing conventions, PR review processes, and code structure reference into context
microsoft/apm
A skill your agent uses to cut an APM release from the current worktree: assess whether the cycle since the last tag warrants a patch or minor bump (semver discipline against the…
microsoft/apm
A skill your agent uses to run a holistic regrounding pass on the entire microsoft/apm documentation corpus against current source code, page-by-page, and emit surgical fixes for stale claims.
microsoft/apm
A skill your agent uses to verify CLAIM-LEVEL grounding of a documentation page (or set of pages) against the source code.
microsoft/apm
A skill your agent uses to write the PR description (PR body) for any pull request opened against microsoft/apm.
microsoft/apm
A skill your agent uses to implement ONE microsoft/apm issue already selected by autopilot-issue-delivery-scheduler.
microsoft/apm
Drive ONE already selected open pull request in microsoft/apm to mergeable.
A skill your agent uses to classify the documentation impact of a pull request diff, returning one of three verdicts -- no-change, in-place edit, or structural change -- with bounded LLM cost. Docs Impact Classifier is an agent skill from microsoft/apm, published by the product's own GitHub organization. Use this skill to classify the documentation impact of a pull request diff, returning one of three verdicts -- no-change, in-place edit, or structural change -- with bounded LLM cost.
Docs Impact Classifier fits situations like: classify the documentation impact of a pull request diff; returning one of three verdicts -- no-change; structural change -- with bounded LLM cost.
Run `npx skills add microsoft/apm --skill docs-impact-classifier -a claude-code`. Or copy the skill folder (.apm/skills/docs-impact-classifier in microsoft/apm) into .claude/skills/docs-impact-classifier in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/apm --skill docs-impact-classifier -a codex`. Or copy the skill folder (.apm/skills/docs-impact-classifier in microsoft/apm) into .agents/skills/docs-impact-classifier in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/apm --skill docs-impact-classifier -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs-impact-classifier, .gemini/skills/docs-impact-classifier, .github/skills/docs-impact-classifier and .opencode/skills/docs-impact-classifier in your project.
Going by SKILL.md and its folder, Docs Impact Classifier needs the command-line tools its instructions call (gh).
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Docs Impact Classifier is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Docs Impact Classifier: Skill Reviewer (microsoft/GitHub-Copilot-for-Azure, 255 stars), App Observability (grafana/skills, 278 stars), Monitoring Observability (yonatangross/orchestkit, 288 stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/apm, which has 3,968 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 6, 2026.
Source: microsoft/apm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.