dependency-flow

Manages .NET MAUI dependency flow operations using darc, Maestro MCP tools, and channel conventions.

23.3k|2.0k|Updated May 8, 2020
One-click install
npx skills add https://github.com/dotnet/maui --skill dependency-flow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dependency-flow
Source: https://github.com/dotnet/maui/tree/main/.github/skills/dependency-flow
Command: npx skills add https://github.com/dotnet/maui --skill dependency-flow

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Working with .NET MAUI's build asset registry (BAR), Maestro subscriptions, and darc CLI involves intricate channel naming rules, promotion workflows, and safety constraints that are easy to get wrong. This Skill encodes MAUI-specific dependency flow knowledge so an AI agent can look up feeds, promote builds, and author subscriptions without guessing channel names or running dangerous commands.

Core Features & Use Cases

  • Feed and asset lookup: Translates natural language requests like "feeds for .NET MAUI X.Y.Z" into the correct darc get-asset or Maestro MCP tool calls, with guardrails on version and channel validation.
  • Build promotion workflows: Guides adding builds to .NET X Workload Release channels via darc add-build-to-channel, always requiring explicit user confirmation before mutating operations.
  • Subscription authoring and lifecycle: Documents the combined-PR pattern for creating preview subscriptions in the maestro-configuration repo, including the channel/branch mismatch trap from PR #35364 and preview-ship cleanup.
  • Preview release readiness gating: Ships a PowerShell classifier script that determines whether the caller can access the internal release tracker plugin, falling back to clearly-labeled public feed data when access is unavailable.
  • Use Case: A release engineer asks "is .NET MAUI Preview 5 release-ready?" The agent runs the readiness gate script, picks the correct data source based on access tier, verifies subscription wiring and feed drift, and reports a sourced answer without leaking embargoed data.

Quick Start

Ask the agent to find the NuGet feed for a specific .NET MAUI version, for example by saying "get me the feed for MAUI 10.0.10".

Frequently Asked Questions about dependency-flow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find the NuGet feed for a specific .NET MAUI version?

Run `darc get-asset --name Microsoft.Maui.Controls --version X.Y.Z` and check the Locations output for a NugetFeed entry. If no feed appears, the build has not been added to a channel yet and may need promotion via `darc add-build-to-channel`.

How do I promote a .NET MAUI build to the public feed?

Promote the build by adding it to the matching `.NET X Workload Release` channel using `darc add-build-to-channel --id <BAR_BUILD_ID> --channel ".NET 10 Workload Release"`, or use the BAR UI checkbox. The promotion build takes several minutes before assets appear on public feeds.

What is the difference between darc, mstro, and Maestro MCP tools?

Maestro MCP tools are preferred for queries like latest builds and default channels, the mstro CLI is a fallback for scripting with JSON output, and darc is required only for operations with no MCP equivalent such as asset lookup, add-build-to-channel, and update-dependencies.

Why does a Maestro PR into a preview branch bring in CI-main package versions?

This happens when the preview branch is fed by the general `.NET X.0.Yxx SDK` channel instead of a dedicated preview channel, so CI-main builds flow in. The fix is authoring Preview N subscriptions targeting the `.NET X.0.Yxx SDK Preview N` channel, as documented from the PR #35364 incident.

Can the agent run darc add-channel or set-repository-policies?

No. Channel management and merge policy changes are on the never-run list because they affect infrastructure and repo security. Mutating commands like add-build-to-channel or add-subscription require explicit user confirmation before execution.

Why does darc trigger-subscriptions return not found for a new subscription?

New subscriptions are inert until their configuration PR merges into the production branch of maestro-configuration and BAR ingests it. Verify ingestion with `darc get-subscriptions --ids <guid>` before attempting to trigger.