
Description
Discovers Microsoft Apps in the active environment via `ms app list --json` and optional `ms app show --json`. Use when listing or locating apps.
SKILL.md
📋 Shared Instructions: shared-instructions.md — Cross-cutting concerns.
List Apps
Lists apps the active CLI account can see in the active environment, or shows full metadata for a single app.
Workflow
- Memory Bank → 2. Verify Env → 3. Mode (list / show) → 4. Output
Step 1: Check Memory Bank
If a project memory bank exists, read it for the app's environment, if recorded, to know which environment the app was created in. Otherwise prompt the user for the environment they want to query (or accept "current default"). Note: ms app list reports apps for the signed-in account's resolved environment and has no environment-targeting flag, so the memory bank here is for context/verification — it does not scope the listing.
Step 2: Verify Env
BIN=ms
$BIN auth status # confirm the right account
The listing scopes to the active environment (the auto-routed Developer environment unless a specific one was targeted at create time).
Step 3: Mode
Ask (or infer from the user's prompt):
- list — enumerate all apps the account can see.
- show
— full metadata for one app (display name, GUID, environment, version, build info, share count, creation/modification dates).
Step 4: Output
List:
$BIN app list --json
Pretty-print the JSON. Default columns when summarizing for the user: displayName | appId | environmentId | version | lastModified.
If the list is long (>20 entries), ask the user whether they want to filter (by display-name substring) before printing. The CLI itself returns everything; the filtering happens in this skill.
Show:
$BIN app show --app "$APP_ID" --json
Pretty-print the full envelope. Highlight: appId, displayName, environmentId, version, lastDeployedCommit, shareCount, and any status fields surfaced by the service.
Useful as a Subroutine
Other skills (/delete-app, /share, /deploy) can invoke this skill to resolve an app GUID from a display-name substring. When invoked as a subroutine, take the search term as $ARG1 and return only the matching appId / displayName pairs — skip the interactive prompts.
Drift Check
After listing, if the user is currently in a project workspace with ms.config.json, cross-check the appId there against the list:
- Match found: confirm the local app exists and surface its current service-side state.
- No match: warn the user —
ms.config.jsonreferences an app that doesn't exist (or isn't visible) in the active environment. Likely causes: wrong target environment, the app was deleted, or auth is on the wrong tenant.
More skills from the Managed-Apps repository
View all 6 skillsadd-azuredevops
integrate Azure DevOps into Microsoft Apps
Jul 7Azure DevOpsIntegrationsMicrosoftadd-office365
integrate Office 365 Outlook
Jul 3MicrosoftMicrosoft 365Outlook CalendarOutlook Emailadd-workiq
add Work IQ Copilot MCP
Jul 3CopilotMCPMicrosoftMicrosoft 365delete-app
delete Microsoft Apps
Jul 7MicrosoftOperationslist-connectors
discover Microsoft App connectors and data sources
Jul 7API DevelopmentIntegrationsMicrosoft
More from Microsoft
View publisherplaywright-trace
inspect Playwright trace files
playwright
Apr 6DebuggingPlaywrightTestingrushstack-best-practices
manage Rush monorepos with best practices
rushstack
Apr 6EngineeringLocal DevelopmentMicrosoftProject Management +1azure-ai-agents-persistent-dotnet
build AI agents with Azure .NET SDK
skills
Jul 3.NETAgentsAzureLLMazure-ai-anomalydetector-java
build anomaly detection applications with Java
skills
May 13AnalyticsAzureData AnalysisJava +2azure-ai-contentsafety-java
build content moderation applications with Azure AI
skills
Jul 7AI InfrastructureAzureJavaSecurityazure-ai-contentsafety-py
detect harmful content with Azure AI Content Safety
skills
Jul 18AzureComplianceLLMMicrosoft +2