msstore-cli

github/awesome-copilot · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/github/awesome-copilot --skill msstore-cli
0 commentsdiscussion
summary

Automate Microsoft Store publishing and submission management from the command line.

  • Supports Windows App SDK, UWP, .NET MAUI, Flutter, Electron, React Native, and PWA applications with automatic project detection
  • Core commands cover credential configuration, app listing, submission status checks, publishing, metadata updates, and gradual rollouts
  • Includes package flight management for beta testing with group-based distribution and rollout percentage control
  • Integrates with Partne
skill.md

Microsoft Store Developer CLI (msstore)

The Microsoft Store Developer CLI (msstore) is a cross-platform command-line interface for publishing and managing applications in the Microsoft Store. It integrates with Partner Center APIs and supports automated publishing workflows for various application types.

When to Use This Skill

Use this skill when you need to:

  • Configure Store credentials for API access
  • List applications in your Store account
  • Check the status of a submission
  • Publish submissions to the Store
  • Package applications for Store submission
  • Initialize projects for Store publishing
  • Manage package flights (beta testing)
  • Set up CI/CD pipelines for automated Store publishing
  • Manage gradual rollouts of submissions
  • Update submission metadata programmatically

Prerequisites

  • Windows 10+, macOS, or Linux
  • .NET 9 Desktop Runtime (Windows) or .NET 9 Runtime (macOS/Linux)
  • Partner Center account with appropriate permissions
  • Azure AD app registration with Partner Center API access
  • msstore CLI installed via one of these methods:
    • Microsoft Store: Download
    • WinGet: winget install "Microsoft Store Developer CLI"
    • Manual: Download from GitHub Releases

Partner Center Setup

Before using msstore, you need to create an Azure AD application with Partner Center access:

  1. Go to Partner Center
  2. Navigate to Account settings > User management > Azure AD applications
  3. Create a new application and note the Tenant ID, Client ID, and Client Secret
  4. Grant the application appropriate permissions (Manager or Developer role)

Core Commands Reference

info - Print Configuration

Display the current credential configuration.

msstore info

Options:

Option Description
-v, --verbose Print verbose output

reconfigure - Configure Credentials

Configure or update Microsoft Store API credentials.

msstore reconfigure [options]

Options:

Option Description
-t, --tenantId Azure AD Tenant ID
-s, --sellerId Partner Center Seller ID
-c, --clientId Azure AD Application Client ID
-cs, --clientSecret Client Secret for authentication
-ct, --certificateThumbprint Certificate thumbprint (alternative to client secret)
-cfp, --certificateFilePath Certificate file path (alternative to client secret)
-cp, --certificatePassword Certificate password
--reset Reset credentials without full reconfiguration

Examples:

# Configure with client secret
msstore reconfigure --tenantId $TENANT_ID --sellerId $SELLER_ID --clientId $CLIENT_ID --clientSecret $CLIENT_SECRET

# Configure with certificate
msstore reconfigure --tenantId $TENANT_ID --sellerId $SELLER_ID --clientId $CLIENT_ID --certificateFilePath ./cert.pfx --certificatePassword MyPassword

settings - CLI Settings

Change settings of the Microsoft Store Developer CLI.

msstore settings [options]

Options:

Option Description
-t, --enableTelemetry Enable (true) or disable (false) telemetry

Set Publisher Display Name

msstore settings setpdn <publisherDisplayName>

Sets the default Publisher Display Name for the init command.

apps - Application Management

List and retrieve application information.

List Applications

msstore apps list

Lists all applications in your Partner Center account.

Get Application Details

msstore apps get <productId>

Arguments:

Argument Description
productId The Store product ID (e.g., 9NBLGGH4R315)

Example:

# Get details of a specific app
msstore apps get 9NBLGGH4R315

submission - Submission Management

Manage Store submissions.

Sub-Command Description
status Get submission status
get Get submission metadata and package info
getListingAssets Get listing assets of a submission
updateMetadata Update submission metadata
poll Poll submission status until complete
publish Publish a submission
delete Delete a submission

Get Submission Status

msstore submission status <productId>

Get Submission Details

msstore submission get <productId>

Update Metadata

msstore submission updateMetadata <productId> <metadata>

Where <metadata> is a JSON string with the updated metadata. Because JSON contains characters that shells interpret (quotes, braces, etc.), you must quote and/or escape the value appropriately:

  • Bash/Zsh: Wrap the JSON in single quotes so the shell passes it through literally.
    msstore submission updateMetadata 9NBLGGH4R315 '{"description":"My updated app"}'
    
  • PowerShell: Use single quotes (or escape double quotes inside a double-quoted string).
    msstore submission updateMetadata 9NBLGGH4R315 '{"description":"My updated app"}'
    
  • cmd.exe: Escape each inner double quote with a backslash.
    msstore submission updateMetadata 9NBLGGH4R315 "{\"description\":\"My updated app\"}"
    

Tip: For complex or multi-line metadata, save the JSON to a file and pass its contents instead to avoid quoting issues:

msstore submission updateMetadata 9NBLGGH4R315 "$(cat metadata.json)"

Options:

Option Description
-s, --skipInitialPolling Skip initial status polling

Publish Submission

msstore submission publish <productId>

Poll Submission

msstore submission poll <productId>

Polls until the submission status is PUBLISHED or FAILED.

Delete Submission

msstore submission delete <productId>

Options:

Option Description
--no-confirm Skip confirmation prompt

init - Initialize Project for Store

Initialize a project for Microsoft Store publishing. Automatically detects project type and configures Store identity.

msstore init <pathOrUrl> [options]

Arguments:

Argument Description
pathOrUrl Project directory path or PWA URL

Options:

Option Description
-n, --publisherDisplayName Publisher Display Name
--package Also package the project
--publish Package and publish (implies --package)
-f, --flightId Publish to a specific flight
-prp, --packageRolloutPercentage Gradual rollout percentage (0-100)
-a, --arch Architecture(s): x86, x64, arm64
-o, --output Output directory for packages
-ver, --version Version to use when building

Supported Project Types:

  • Windows App SDK / WinUI 3
  • UWP
  • .NET MAUI
  • Flutter
  • Electron
  • React Native for Desktop
  • PWA (Progressive Web Apps)

Examples:

# Initialize WinUI project
msstore init ./my-winui-app

# Initialize PWA
msstore init https://contoso.com --output ./pwa-package

# Initialize and publish
msstore init ./my-app --publish

package - Package for Store

Package an application for Microsoft Store submission.

msstore package <pathOrUrl> [options]

Arguments:

Argument Description
pathOrUrl Project directory path or PWA URL

Options:

Option Description
-o, --output Output directory for the package
-a, --arch Architecture(s): x86, x64, arm64
-ver, --version Version for the package

Examples:

# Package for default architecture
msstore package ./my-app

# Package for multiple architectures
msstore package ./my-app --arch x64,arm64 --output ./packages

# Package with specific version
msstore package ./my-app --version 1.2.3.0

publish - Publish to Store

Publish an application to the Microsoft Store.

msstore publish <pathOrUrl> [options]

Arguments:

Argument Description
pathOrUrl Project directory path or PWA URL

Options:

Option Description
-i, --inputFile Path to existing .msix or .msixupload file
-id, --appId Application ID (if not initialized)
-nc, --noCommit Keep submission in draft state
-f, --flightId Publish to a specific flight
-prp, --packageRolloutPercentage Gradual rollout percentage (0-100)

Examples:

# Publish project
msstore publish ./my-app

# Publish existing package
msstore publish ./my-app --inputFile ./packages/MyApp.msixupload

# Publish as draft
msstore publish ./my-app --noCommit

# Publish with gradual rollout
msstore publish ./my-app --packageRolloutPercentage 10

flights - Package Flight Management

Manage package flights (beta testing groups).

Sub-Command Description
list List all flights for an app
get Get flight details
delete Delete a flight
create Create a new flight
submission Manage flight submissions

List Flights

msstore flights list <productId>

Get Flight Details

msstore flights get <productId> <flightId>

Create Flight

msstore flights create <productId> <friendlyName> --group-ids <group-ids>

Options:

Option Description
-g, --group-ids Flight group IDs (comma-separated)
-r, --rank-higher-than Flight ID to rank higher than

Delete Flight

msstore flights delete <productId> <flightId>

Flight Submissions

# Get flight submission
msstore flights submission get <productId> <flightId>

# Publish flight submission
msstore flights submission publish <productId> <flightId>

# Check flight submission status
msstore flights submission status <productId> <flightId>

# Poll flight submission
msstore flights submission poll <productId> <flightId>

# Delete flight submission
msstore flights submission delete <productId> <flightId>

Flight Rollout Management

# Get rollout status
msstore flights submission rollout get <productId> <flightId>

# Update rollout percentage
msstore flights submission rollout update <productId> <flightId> <percentage>

# Halt rollout
msstore flights submission rollout halt <productId> 
how to use msstore-cli

How to use msstore-cli on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add msstore-cli
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/github/awesome-copilot --skill msstore-cli

The skills CLI fetches msstore-cli from GitHub repository github/awesome-copilot and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/msstore-cli

Reload or restart Cursor to activate msstore-cli. Access the skill through slash commands (e.g., /msstore-cli) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.634 reviews
  • Noor Brown· Dec 28, 2024

    Useful defaults in msstore-cli — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Aanya Choi· Dec 4, 2024

    msstore-cli is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Aanya Robinson· Nov 23, 2024

    Keeps context tight: msstore-cli is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Aditi Thomas· Nov 19, 2024

    We added msstore-cli from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Aisha Khan· Oct 14, 2024

    I recommend msstore-cli for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Aditi Li· Oct 10, 2024

    msstore-cli reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Zaid Patel· Sep 25, 2024

    msstore-cli fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Noor Liu· Sep 25, 2024

    I recommend msstore-cli for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Piyush G· Sep 21, 2024

    Keeps context tight: msstore-cli is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Aisha Diallo· Sep 21, 2024

    Useful defaults in msstore-cli — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

showing 1-10 of 34

1 / 4