Azure Diagnostics
microsoft/GitHub-Copilot-for-Azure
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage.
Configure optional customer-owned Application Insights telemetry for a Power Apps mobile app — enable it against an existing Azure resource, change the resource, or disable it.
$ npx skills add microsoft/power-platform-skills --skill setup-app-insights -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/power-platform-skills setup-app-insights --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/power-platform-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/mobile-apps/skills/setup-app-insights .claude/skills/setup-app-insights && 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 "setup-app-insights" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insights into .claude/skills/setup-app-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-app-insights", 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/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insightsType 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/power-platform-skills --skill setup-app-insights -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/power-platform-skills setup-app-insights --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/mobile-apps/skills/setup-app-insights .agents/skills/setup-app-insights && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup-app-insights" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insights into .agents/skills/setup-app-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-app-insights", 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/power-platform-skills --skill setup-app-insights -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/power-platform-skills setup-app-insights --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/mobile-apps/skills/setup-app-insights .cursor/skills/setup-app-insights && 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 "setup-app-insights" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insights into .cursor/skills/setup-app-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-app-insights", 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/power-platform-skills.git --path plugins/mobile-apps/skills/setup-app-insights--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/power-platform-skills --skill setup-app-insights -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/power-platform-skills setup-app-insights --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/mobile-apps/skills/setup-app-insights .gemini/skills/setup-app-insights && 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 "setup-app-insights" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insights into .gemini/skills/setup-app-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-app-insights", 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/power-platform-skills setup-app-insightsInstalls 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/power-platform-skills --skill setup-app-insights -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/mobile-apps/skills/setup-app-insights .github/skills/setup-app-insights && 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 "setup-app-insights" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insights into .github/skills/setup-app-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-app-insights", 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/power-platform-skills --skill setup-app-insights -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/power-platform-skills setup-app-insights --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/power-platform-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/mobile-apps/skills/setup-app-insights .opencode/skills/setup-app-insights && 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 "setup-app-insights" agent skill from https://github.com/microsoft/power-platform-skills/tree/main/plugins/mobile-apps/skills/setup-app-insights into .opencode/skills/setup-app-insights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-app-insights", 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.
setup-app-insightsConfigure optional customer-owned Application Insights telemetry for a Power Apps mobile app — enable it against an existing Azure resource, change the resource, or disable it.
Setup App Insights is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Configure optional customer-owned Application Insights telemetry for a Power Apps mobile app — enable it against an existing Azure resource, change the resource, or disable it. Standalone, and invoked by /edit-app.
Its SKILL.md is about 3.7k 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 DevOps & Cloud. It works with Azure Monitor and Microsoft Azure. The repository describes itself as: A plugin marketplace for GitHub Copilot and other AI agents that provides Power Platform development plugins, including reusable skills, agents, and commands for building and… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5ef4e4f. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepBashAskUserQuestionSkillFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
aznodenpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use az and npx, 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.
Setup App Insights loads about 3.7k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,491 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion, SkillAutomated 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/power-platform-skills at commit 5ef4e4f, republished under its MIT licence (© microsoft). 1,491 words, ~3,662 tokens.
.claude/skills/setup-app-insights/SKILL.md (or your agent's skills folder).Plugin check: Run
node "${PLUGIN_ROOT}/scripts/check-version.js"- if it outputs a message, show it to the user before proceeding.
Shared instructions: shared-instructions.md — read first.
Configures the generated app's optional, customer-owned Application Insights telemetry through app.json → expo.extra.appInsightsConfig. This is host/runtime configuration, not a connector or plan section — it never touches the data model, native-capability matrix, connector list, or screens.
Application Insights is off by default. Invoking this skill (or approving its mutation) is the explicit opt-in; consent is never inferred from an app description.
/setup-app-insights — enable, change, or disable Application Insights on an existing app./edit-app when the request is only an Application Insights change (its Step 0.5 fast path delegates here)./edit-app for those source changes./add-*, /setup-*, /edit-app, or /design-system skills.working_dir — absolute path to the project root (auto-detected from cwd, or passed by an orchestrator).--action <enable|change-resource|disable> — optional; when omitted, inferred from current state and one question.Telemetry checkpoint: resolve_app_insights_mode
1. Check env var CODE_APPS_NATIVE_ORCHESTRATING=1
→ Mode A (invoked by /edit-app). Use the passed --working-dir. Return a status block.
2. Else resolve working_dir from cwd (must contain app.json with an expo object)
→ Mode B (standalone). Return a human summary.Telemetry checkpoint: determine_app_insights_action
Read, when present:
<working_dir>/app.json<working_dir>/app/_layout.tsx<working_dir>/package.json<working_dir>/memory-bank.mdIf app.json is missing, malformed, or has no expo object, STOP without mutation (BLOCKED in Mode A). If uncommitted work overlaps app.json or app/_layout.tsx, follow the changed-file overlap approval rule in shared-instructions.md.
Determine the action:
enable — appInsightsConfig.enabled is absent or false and the user wants it on.change-resource — already enabled: true and the user wants a different destination.disable — the user wants Application Insights turned off.AskUserQuestion with those three choices, seeded by the current enabled state.Telemetry checkpoint: review_app_insights_change
Show one focused preview and continue only after approval:
─── Application Insights ────────────────────────────
Action <enable | change resource | disable>
Current enabled: <true|false>
Configuration app.json → expo.extra.appInsightsConfig
Provider app/_layout.tsx → PowerAppsProvider appConfig
Sensitive connection string is never printed or stored in memory-bank.mdAsk: Apply this Application Insights change?
After the action is confirmed, record the choice through Mobile Apps usage telemetry (enabled for enable/change-resource, disabled for disable):
node "${PLUGIN_ROOT}/hooks/run-telemetry.js" \
app-insights-selection \
"<enabled-or-disabled>" \
"<prompt-or-pretool>" \
"<working_dir>"Pass the invocation source so the event's invocationSource matches how the skill was reached: pretool in Mode A (delegated from another skill such as /edit-app via the Skill tool) and prompt in Mode B (the user ran /setup-app-insights directly).
This event follows the existing Mobile Apps telemetry controls and contains no Application Insights resource details or connection string. It fails open and never blocks the skill.
Telemetry checkpoint: configure_app_insights_resource
Discover Application Insights resources visible to the current Azure CLI identity:
az resource list \
--resource-type Microsoft.Insights/components \
--query "[].{name:name,id:id,resourceGroup:resourceGroup,location:location}" \
-o jsonBranch on the result:
One or more resources returned: use AskUserQuestion to let the user select one. Before configuring it, confirm the selected component is workspace-based — az resource list returns every Microsoft.Insights/components, including classic components, which are not compliant with this skill's contract. Read properties.WorkspaceResourceId from the selected resource:
WORKSPACE_RESOURCE_ID=$(
az resource show \
--ids "<selected-resource-id>" \
--api-version 2020-02-02 \
--query properties.WorkspaceResourceId \
-o tsv
)If WORKSPACE_RESOURCE_ID is empty, the resource is a classic (non-workspace-based) component: do not configure it. Explain that only a workspace-based Application Insights resource is supported, and let the user select a different resource or use the admin handoff below. Otherwise retrieve its connection string without printing it:
APP_INSIGHTS_CONNECTION_STRING=$(
az resource show \
--ids "<selected-resource-id>" \
--api-version 2020-02-02 \
--query properties.ConnectionString \
-o tsv
)Not logged in: tell the user to run az login, then retry discovery once.
No subscription/resource access or authorization failure: explain that Application Insights Azure RBAC is separate from Power Platform and Entra app-registration permissions. Offer an admin handoff: an administrator can create/select one workspace-based Application Insights resource and give the user its connection string.
No resources returned: ask whether the user wants to paste an administrator-provided connection string or leave telemetry disabled. Do not require the user to create Azure resources.
When accepting a pasted connection string, use AskUserQuestion freeform and never repeat the answer in chat or command output. Validate only that it contains InstrumentationKey= and either an IngestionEndpoint= or that the standard public-cloud default can be used. Do not store the connection string in memory-bank.md.
Update <working_dir>/app.json so expo.extra.appInsightsConfig contains:
{
"expo": {
"extra": {
"appInsightsConfig": {
"enabled": true,
"connectionString": "<selected-or-pasted-connection-string>",
"appId": "<appId>",
"environment": "development",
"includeUserId": false
}
}
}
}Field rules:
appId — preserve the existing non-empty value; otherwise use expo.slug, then package.json name.environment / includeUserId — preserve existing values; default to "development" and false. Never turn on user identity collection implicitly.enabled: true and replace only the connection string. Create the appInsightsConfig object when missing, and preserve every other app.json field.Never print the connection string, pass it to another agent, write it to native-app-plan.md or memory-bank.md, or include it in a summary.
The app uses @microsoft/applicationinsights-web with the React Native manual-device plugin. The first runtime event is PowerAppsNative.ApplicationStarted, a deterministic ingestion check after loading the app in Dev Player. The runtime exposes two intentionally different loggers:
import {
getAppLogger,
getCustomEventsLogger,
} from '@microsoft/power-apps-native-host';getAppLogger() is the host/runtime logger; its events continue to Microsoft OneDS and also fan out to the configured Application Insights resource.getCustomEventsLogger() is for the app's custom events; it goes only to the configured Application Insights resource and is a no-op when custom events are disabled.Custom events entry. Never use getAppLogger() for custom events.Persist in memory-bank.md (never the connection string):
- Custom events: enabled
- Custom events app ID: <appId>
- Custom events resource ID: <selected-resource-id or admin-provided>
- Custom events destination: one customer-owned workspace-based Application Insights resourceTelemetry checkpoint: disable_app_insights
Set enabled: false, clear connectionString, and preserve appId and environment when present. Keep includeUserId: false unless an existing explicitly approved value must be preserved. Do not require Azure sign-in or resource discovery.
{
"expo": {
"extra": {
"appInsightsConfig": {
"enabled": false,
"connectionString": "",
"appId": "<appId>",
"environment": "development",
"includeUserId": false
}
}
}
}Persist Custom events: disabled and the app ID in memory-bank.md; remove stale resource ID / destination lines.
Telemetry checkpoint: verify_app_insights_provider
Confirm app/_layout.tsx imports the root app.json and passes the complete object to PowerAppsProvider:
import appConfig from '../app.json';
<PowerAppsProvider appConfig={appConfig}>If either part is missing, patch only the import and the appConfig prop; preserve all other provider props and layout behavior. Run npx tsc --noEmit only when app/_layout.tsx changed.
Parse app.json with Node after the mutation and assert:
enable / change-resource: enabled === true and connectionString is non-empty.disable: enabled === false and connectionString === "".Telemetry checkpoint: offer_operation_instrumentation
This skill only wires the telemetry pipeline; it never edits screens or generated services. Enabling Application Insights emits host-level signals (app load, unhandled errors, navigation) automatically, but domain events like todo_created or order_deleted are custom events and require source changes. Those changes belong to /edit-app → screen-planner → screen-builder, which emit named events through getCustomEventsLogger under the existing scalar-only, no-PII allowlist. Offer that follow-up here; never instrument operations from this skill.
Run this step only after a successful enable or change-resource. Skip it entirely for disable.
Mode B (standalone): ask one AskUserQuestion, defaulting to No (instrumentation is opt-in, mirroring Application Insights being off by default):
Application Insights is on. Want me to add custom events for your app's major operations (create / update / delete)?
Yes → invoke /edit-app with a scoped instrumentation brief and let its normal edit flow discover the entities, screens, and operation boundaries (this skill does not read the data model or screens):
Invoke skill: /edit-app
Arguments:
Add custom events at each successful create, update, and
delete boundary for the app's main entities. Emit named events through
getCustomEventsLogger with approved scalar properties only — no
operation results, response payloads, form values, free text, record
titles, personal identifiers, tokens, precise coordinates, nested
objects, or complete URLs. Use trackScenario() for any duration.No → finish with the normal Mode B summary.
Mode A (invoked by /edit-app): do not ask the user or re-invoke /edit-app from here — that would loop back into the orchestrator. Instead signal the available follow-up in the return block (instrumentation_offer: available) so /edit-app surfaces the offer after the fast path completes.
This skill discovers or accepts an existing Application Insights resource; it does not provision Azure resources. If the user lacks Azure access and has no administrator-provided connection string, leave telemetry disabled without blocking — the app runs fine with custom events off.
Mode A (invoked by /edit-app) — status block, first line is the status code:
DONE
action: <enable|change-resource|disable>
enabled: <true|false>
app_id: <appId>
layout_patched: <yes|no>
instrumentation_offer: <available|none>instrumentation_offer is available only after a successful enable/change-resource (see Step 6.5); use none for disable or when telemetry was not turned on. Use DONE_WITH_CONCERNS: <list> when applied with caveats (e.g. an admin-provided string that could not be verified), NEEDS_CONTEXT: <missing> when a required input is unavailable, and BLOCKED: <reason> when app.json is unusable.
Mode B (standalone) — human summary:
Application Insights <enabled|updated|disabled> for this app. Configuration:
app.json→expo.extra.appInsightsConfigTo change the resource or turn it off later, run/setup-app-insightsagain.
After an enable/change-resource, if the user accepted the Step 6.5 offer, note that operation instrumentation was handed to /edit-app; if they declined, mention they can run /edit-app later to add custom operation events.
© 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 plugins/mobile-apps/skills/setup-app-insights of microsoft/power-platform-skills.
Open the folder on GitHubat commit 5ef4e4f
Setup App Insights 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 |
|---|---|---|---|---|---|---|
| Setup App Insights this skillmicrosoft/power-platform-skills | 967 | — | ~3.7k | Automated safety check: Notes | MIT | |
| Azure Diagnosticsmicrosoft/GitHub-Copilot-for-Azure | 255 | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Azure Monitor Ingestion Javamicrosoft/skills | 3.1k | 6 repos | ~2k | Automated safety check: Pass | MIT | |
| Azure Monitor Ingestion Pymicrosoft/skills | 3.1k | 6 repos | ~2k | Automated safety check: Pass | MIT | |
| Azure Monitor Opentelemetry Exporter Javamicrosoft/skills | 3.1k | 6 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Azure Monitor Opentelemetry Exporter Pymicrosoft/skills | 3.1k | 6 repos | ~2.3k | Automated safety check: Pass | MIT |
microsoft/GitHub-Copilot-for-Azure
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage.
microsoft/skills
Azure Monitor Ingestion SDK for Java. An agent skill from microsoft/skills.
microsoft/skills
Azure Monitor Ingestion SDK for Python. An agent skill from microsoft/skills.
microsoft/skills
Azure Monitor OpenTelemetry Exporter for Java. An agent skill from microsoft/skills.
microsoft/skills
Azure Monitor OpenTelemetry Exporter for Python. An agent skill from microsoft/skills.
microsoft/skills
Azure Monitor OpenTelemetry Distro for Python. An agent skill from microsoft/skills.
microsoft/power-platform-skills
Inspects and configures the web application firewall (WAF) in front of a Power Pages production site.
microsoft/power-platform-skills
Inspects and configures the security headers a Power Pages site sends to browsers — Content Security Policy, frame and clickjacking protection, cross-origin sharing, cookie behavior, and related…
microsoft/power-platform-skills
Scans a Power Pages site project for security issues in source code and dependencies.
microsoft/power-platform-skills
Runs a security scan on a deployed Power Pages site, fetches the latest scan report, and produces a plain-language summary.
microsoft/power-platform-skills
Creates Dataverse tables, columns, and relationships for a Power Pages site based on a data model proposal.
microsoft/power-platform-skills
Creates, edits, and manages Power Pages Server Logic files — server-side JavaScript that runs securely on the Power Pages runtime.
Works with
Categories
Configure optional customer-owned Application Insights telemetry for a Power Apps mobile app — enable it against an existing Azure resource, change the resource, or disable it. Setup App Insights is an agent skill from microsoft/power-platform-skills, published by the product's own GitHub organization. Configure optional customer-owned Application Insights telemetry for a Power Apps mobile app — enable it against an existing Azure resource, change the resource, or disable it.
Setup App Insights fits situations like: devOps & Cloud work in your project.
Run `npx skills add microsoft/power-platform-skills --skill setup-app-insights -a claude-code`. Or copy the skill folder (plugins/mobile-apps/skills/setup-app-insights in microsoft/power-platform-skills) into .claude/skills/setup-app-insights in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/power-platform-skills --skill setup-app-insights -a codex`. Or copy the skill folder (plugins/mobile-apps/skills/setup-app-insights in microsoft/power-platform-skills) into .agents/skills/setup-app-insights 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/power-platform-skills --skill setup-app-insights -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-app-insights, .gemini/skills/setup-app-insights, .github/skills/setup-app-insights and .opencode/skills/setup-app-insights in your project.
Going by SKILL.md and its folder, Setup App Insights needs the command-line tools its instructions call (az, node and npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion, Skill.
SKILL.md contains no URLs. Its commands use npx, 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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Setup App Insights is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 Setup App Insights: Azure Diagnostics (microsoft/GitHub-Copilot-for-Azure, 255 stars), Azure Monitor Ingestion Java (microsoft/skills, 3.1k stars), Azure Monitor Ingestion Py (microsoft/skills, 3.1k stars) and Azure Monitor Opentelemetry Exporter Java (microsoft/skills, 3.1k 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/power-platform-skills, which has 967 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on October 6, 2026.
Source: microsoft/power-platform-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.