North Star Metric
phuryn/pm-skills
Define a North Star Metric and 3-5 supporting input metrics that form a metrics constellation.
Run metrics reports for APIView Copilot. An agent skill from Azure/azure-sdk-tools.
$ npx skills add Azure/azure-sdk-tools --skill run-metrics -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Azure/azure-sdk-tools run-metrics --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/Azure/azure-sdk-tools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/python-packages/apiview-copilot/.github/skills/run-metrics .claude/skills/run-metrics && 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 "run-metrics" agent skill from https://github.com/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metrics into .claude/skills/run-metrics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-metrics", 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/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metricsType 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 Azure/azure-sdk-tools --skill run-metrics -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Azure/azure-sdk-tools run-metrics --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/azure-sdk-tools.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/python-packages/apiview-copilot/.github/skills/run-metrics .agents/skills/run-metrics && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "run-metrics" agent skill from https://github.com/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metrics into .agents/skills/run-metrics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-metrics", 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 Azure/azure-sdk-tools --skill run-metrics -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Azure/azure-sdk-tools run-metrics --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/azure-sdk-tools.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/python-packages/apiview-copilot/.github/skills/run-metrics .cursor/skills/run-metrics && 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 "run-metrics" agent skill from https://github.com/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metrics into .cursor/skills/run-metrics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-metrics", 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/Azure/azure-sdk-tools.git --path packages/python-packages/apiview-copilot/.github/skills/run-metrics--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 Azure/azure-sdk-tools --skill run-metrics -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Azure/azure-sdk-tools run-metrics --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/azure-sdk-tools.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/python-packages/apiview-copilot/.github/skills/run-metrics .gemini/skills/run-metrics && 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 "run-metrics" agent skill from https://github.com/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metrics into .gemini/skills/run-metrics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-metrics", 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 Azure/azure-sdk-tools run-metricsInstalls 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 Azure/azure-sdk-tools --skill run-metrics -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Azure/azure-sdk-tools.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/python-packages/apiview-copilot/.github/skills/run-metrics .github/skills/run-metrics && 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 "run-metrics" agent skill from https://github.com/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metrics into .github/skills/run-metrics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-metrics", 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 Azure/azure-sdk-tools --skill run-metrics -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Azure/azure-sdk-tools run-metrics --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azure/azure-sdk-tools.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/python-packages/apiview-copilot/.github/skills/run-metrics .opencode/skills/run-metrics && 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 "run-metrics" agent skill from https://github.com/Azure/azure-sdk-tools/tree/main/packages/python-packages/apiview-copilot/.github/skills/run-metrics into .opencode/skills/run-metrics/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "run-metrics", 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.
run-metricsRun metrics reports for APIView Copilot. An agent skill from Azure/azure-sdk-tools.
Run Metrics is an agent skill from Azure/azure-sdk-tools, published by the product's own GitHub organization. Run metrics reports for APIView Copilot. Use for: run metrics, metrics report, generate metrics, monthly metrics, metrics for March, metrics for January, adoption metrics, comment quality, quality trends, save metrics, metrics charts.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Tools repository leveraged by the Azure SDK team. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cc5ca24. 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:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Run Metrics loads about 2k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 852 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 Azure/azure-sdk-tools at commit cc5ca24, republished under its MIT licence (© Azure). 852 words, ~2,021 tokens.
.claude/skills/run-metrics/SKILL.md (or your agent's skills folder).Unless the user says otherwise, always apply these defaults:
production--charts--exclude)--save unless the user explicitly asks to save (e.g. "save it", "persist", "write to DB")quality-trends report for the same period.The user will typically specify a calendar month by name (e.g. "March", "January 2025"). Resolve to the full month date range:
| User says | start_date | end_date |
|---|---|---|
| "March" (current year) | YYYY-03-01 | YYYY-03-31 |
| "January 2025" | 2025-01-01 | 2025-01-31 |
| "March 1 to March 15" | YYYY-03-01 | YYYY-03-15 |
| "2025-06-01 to 2025-06-30" | 2025-06-01 | 2025-06-30 |
When only a month name is given without a year, use the current year. Be careful with month lengths (28/29/30/31 days).
Show the resolved command and run it immediately in a single foreground terminal invocation with a 180-second timeout (timeout: 180000). Before running, clean up stale output so you never accidentally present old results.
Important: Do NOT use 2>&1 — that merges stderr log messages (e.g. "Saved: output\charts\adoption.png") into the JSON output file, producing invalid JSON. Pipe stdout through Out-File -Encoding UTF8 so the output file is always valid UTF-8 JSON.
Full terminal command (cleanup + run):
New-Item -ItemType Directory -Path output -Force | Out-Null; if (Test-Path output/metrics_output.json) { Remove-Item output/metrics_output.json }; if (Test-Path output/charts) { Remove-Item output/charts/* -Force }; python cli.py report metrics -s <start_date> -e <end_date> --charts | Out-File -Encoding UTF8 output/metrics_output.jsonAfter the command completes, read the output file with read_file to get the JSON results — do NOT use a separate terminal command. Then use view_image (not a terminal command) to display the chart PNGs. This means the entire workflow requires only one terminal invocation.
# March 2025, production, all languages, with charts (typical request)
python cli.py report metrics -s 2025-03-01 -e 2025-03-31 --charts
# Staging environment
python cli.py report metrics -s 2025-03-01 -e 2025-03-31 --charts --environment staging
# Exclude specific languages
python cli.py report metrics -s 2025-03-01 -e 2025-03-31 --charts --exclude Java Golang
# Custom date range
python cli.py report metrics -s 2025-03-10 -e 2025-03-20 --charts
# Save to database (ONLY when user explicitly requests)
python cli.py report metrics -s 2025-03-01 -e 2025-03-31 --charts --saveThe quality-trends report is the companion chart view for metrics work.
The quality-trends command uses --months plus an optional --end-date, not a start date.
Convert the requested metrics window into an inclusive calendar-month count:
| Window | Use for --months |
|---|---|
| 2026-03-01 to 2026-03-31 | 1 |
| 2026-03-01 to 2026-03-15 | 1 |
| 2026-01-15 to 2026-03-02 | 3 |
Use the same resolved end date from the metrics request for --end-date.
if (Test-Path output/charts/comment_bucket_trends.png) { Remove-Item output/charts/comment_bucket_trends.png -Force }; python cli.py report quality-trends --months <month_count> --end-date <end_date>Optional additions:
After it completes, summarize the terminal output and use view_image to show the saved chart at output/charts/comment_bucket_trends.png.
If the user asks to save after a metrics run (e.g. "okay save it", "persist that", "write to DB"), re-run the same command with --save appended. Keep all other flags identical to the previous run.
| Flag | Type | Default | Description |
|---|---|---|---|
--start-date / -s | string | required | Start date (YYYY-MM-DD) |
--end-date / -e | string | required | End date (YYYY-MM-DD) |
--environment | string | production | production or staging |
--exclude | list | none | Space-separated language names to exclude |
--charts | flag | off | Generate PNG charts to output/charts/ |
--save | flag | off | Persist metrics to Cosmos DB (never use unless user explicitly requests) |
When --charts is enabled, 4 PNGs are saved to output/charts/:
| Out-File -Encoding UTF8 output/metrics_output.json and read the file afterward. Do NOT use > which produces UTF-16 in PowerShell 5.1.output/metrics_output.json and output/charts/* before running. This prevents presenting stale results if the command fails silently.2>&1: This merges stderr log lines (e.g. "Saved: ...") into the JSON output file, producing invalid JSON. Only redirect stdout.isBackground=false and timeout: 180000 (3 min). Do NOT use isBackground=true and poll — that causes repeated user approval prompts.New-Item -ItemType Directory not mkdir: mkdir is aliased differently across shells. Use New-Item -ItemType Directory -Path output -Force | Out-Null for reliable directory creation.read_file and view_image: After the command finishes, use read_file for the JSON and view_image for charts. Do NOT launch additional terminal commands to read the file.python cli.py not .\avc: The avc.bat script may resolve to system Python. Use python cli.py report metrics ... to ensure the correct environment.report quality-trends with --months and optional --end-date, not --start-date.c, c++, typespec, swagger, xml are always excluded automatically — no need to add them.© Azure, 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 packages/python-packages/apiview-copilot/.github/skills/run-metrics of Azure/azure-sdk-tools.
Open the folder on GitHubat commit cc5ca24
Run Metrics 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 |
|---|---|---|---|---|---|---|
| Run Metrics this skillAzure/azure-sdk-tools | 134 | — | ~2k | Automated safety check: Pass | MIT | |
| North Star Metricphuryn/pm-skills | 27k | — | ~1k | Automated safety check: Pass | MIT | |
| Investigate MetricPostHog/posthog | 40k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Product Metrics Dashboard Designphuryn/pm-skills | 27k | — | ~1.3k | Automated safety check: Pass | MIT | |
| CI Metricspytorch/pytorch | 104k | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Startup Metrics Frameworkwshobson/agents | 40k | — | ~2.5k | Automated safety check: Pass | MIT |
phuryn/pm-skills
Define a North Star Metric and 3-5 supporting input metrics that form a metrics constellation.
PostHog/posthog
Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.
phuryn/pm-skills
Designs a product metrics dashboard: a North Star and input metrics, a definition table with data sources, chart types and alert thresholds, and a screen layout.
pytorch/pytorch
Query PyTorch CI, GitHub Actions, HUD, Grafana, and infrastructure metrics.
wshobson/agents
Track, calculate, and optimize key performance metrics for SaaS, marketplace, consumer, and B2B startups from seed through Series A, including unit economics, growth efficiency, and cash management.
PostHog/posthog
Build reusable activation models — an activation-rate metric and a per-user/per-account activated flag — on either PostHog data-warehouse views (HogQL) or an external dbt project.
Azure/azure-sdk-tools
Analyze and resolve APIView review feedback on Azure SDK PRs.
Azure/azure-sdk-tools
Analyze and resolve APIView review feedback on Azure SDK PRs.
Azure/azure-sdk-tools
Deploy test resources and run Azure SDK tests in live, record, or playback mode.
Azure/azure-sdk-tools
Analyze Azure SDK CI/CD pipeline failures into a structured diagnosis, and define the required output format.
Azure/azure-sdk-tools
Create, get, update, abandon, and link SDK PRs to release plan work items for Azure SDK releases.
Azure/azure-sdk-tools
Assess Azure TypeSpec Git diffs for semantic intent, REST and downstream SDK breaking changes, Azure Guidelines compliance, and documentation completeness.
Run metrics reports for APIView Copilot. An agent skill from Azure/azure-sdk-tools. Run Metrics is an agent skill from Azure/azure-sdk-tools, published by the product's own GitHub organization. Run metrics reports for APIView Copilot.
Run Metrics fits situations like: generate metrics; monthly metrics; metrics for March; metrics for January.
Run `npx skills add Azure/azure-sdk-tools --skill run-metrics -a claude-code`. Or copy the skill folder (packages/python-packages/apiview-copilot/.github/skills/run-metrics in Azure/azure-sdk-tools) into .claude/skills/run-metrics in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Azure/azure-sdk-tools --skill run-metrics -a codex`. Or copy the skill folder (packages/python-packages/apiview-copilot/.github/skills/run-metrics in Azure/azure-sdk-tools) into .agents/skills/run-metrics 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 Azure/azure-sdk-tools --skill run-metrics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-metrics, .gemini/skills/run-metrics, .github/skills/run-metrics and .opencode/skills/run-metrics in your project.
Going by SKILL.md and its folder, Run Metrics needs the command-line tools its instructions call (python). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Run Metrics is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.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 Run Metrics: North Star Metric (phuryn/pm-skills, 27k stars), Investigate Metric (PostHog/posthog, 40k stars), Product Metrics Dashboard Design (phuryn/pm-skills, 27k stars) and CI Metrics (pytorch/pytorch, 104k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Azure (a GitHub organization, an official publisher) maintains it in Azure/azure-sdk-tools, which has 134 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 9, 2026.
Source: Azure/azure-sdk-tools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.