AI tooling maintenance
AI tools are optional. Local agents follow AGENTS.md, the AI policy, and the same development and validation workflow as human contributors. Skills supply reference material, not permission to act.
Repository scope
The six vendored Aspire skills form one upstream bundle: aspire,
aspire-init, aspireify, aspire-orchestration, aspire-monitoring, and
aspire-deployment. Keep the bundle together so its routing and reference links
remain intact. dotnet-inspect is a separate skill for inspecting .NET APIs.
Aspire is the local launcher. The generic deployment skill includes Azure, AWS, Kubernetes, and Aspire publishing guidance; those are not approved production workflows for this repository. Use hosting and the release process for the existing Compose deployment. Installed skills do not authorize deployments, releases, credential handling, destructive operations, new infrastructure, or changes to this architecture. Documentation-only work does not start services.
The MCP configuration invokes aspire agent mcp; its CLI
installation and verification belong to development setup.
The dotnet-inspect skill's dnx examples are optional tool invocations, not
pinned build dependencies. Review any tool execution separately from updating
the skill text. Never use its source/IL inspection features on original
MyGameBuilder proprietary material; the AI policy's source restrictions apply.
Verified provenance
All seven skills were introduced in application commit
f69f43d9d36c26d500678f8874831b71f0459e33. The original import did not record an
upstream pin. The following matching snapshots were reconstructed and verified
on 2026-09-22 UTC; they establish content provenance, not the original install command.
| Vendored content | Verified source | License and attribution |
|---|---|---|
| Six Aspire skill directories, 36 files | microsoft/aspire-skills at 35f41b0 |
MIT, Microsoft Corporation |
dotnet-inspect/SKILL.md |
DotnetInspectSkillFileContent in Aspire CLI 13.4.2 at d7d0b67 |
.NET Foundation and Contributors, MIT; original skill by Richard Lander |
The original dotnet-inspect skill is from richlander/dotnet-inspect v0.5.0, whose project declares MIT licensing. Aspire embeds an adapted copy with frontmatter and final-newline differences; use the embedded source above to reproduce the vendored file.
The 36 Aspire files also match the aspire-skills-v0.0.1.tgz bundle embedded in
that pinned CLI revision. Its SHA-256 is
8f0aa535917bb6d2589acbf8f986c7b0d622ee7744e39c526bb7166c0664b53c.
The current upstream v0.0.1 release artifact differs, so a version label alone
is insufficient to reproduce these files. The dotnet-inspect file's SHA-256,
after converting CRLF to LF without adding a final newline, is
944d0d4130c9286cbffcf7347e5127c8828c48525f6b0489c52c0e369ac0faab.
All 37 vendored files match their recorded sources after CRLF-to-LF normalization;
there are no repository content patches. These third-party notices remain MIT;
the application repository's Apache license does not replace them.
Reproduce or update deliberately
Use a focused branch and a separate temporary candidate directory. Do not run an unpinned installer over the working skills or regenerate them during restore, build, CI, or ordinary agent work.
For the current Aspire snapshot, from the repository root in PowerShell:
$repositoryRoot = (Get-Location).Path
$skillSource = Join-Path $env:TEMP ("ogb-aspire-skills-" + [guid]::NewGuid())
git -c core.autocrlf=false clone https://github.com/microsoft/aspire-skills.git $skillSource
git -C $skillSource checkout --detach 35f41b013fb0e1cb7860c47ccc26d827ed5fba8b
$skillNames = 'aspire', 'aspire-init', 'aspireify', 'aspire-orchestration', 'aspire-monitoring', 'aspire-deployment'
foreach ($name in $skillNames) {
foreach ($part in 'SKILL.md', 'references') {
git diff --no-index --ignore-cr-at-eol -- "$repositoryRoot/.agents/skills/$name/$part" "$skillSource/skills/$name/$part"
}
}
No diff means the current snapshot matches. Git returns 1 for a content difference
and values above 1 for errors; inspect every comparison before copying anything.
These paths contain all 36 installed files at this revision. Upstream evals
directories are excluded by the bundle's install manifest and are not vendored.
For later revisions, inspect the manifest for added assets or changed exclusions.
For dotnet-inspect, retrieve CommonAgentApplicators.cs at the pinned Aspire
commit. Extract the C# raw string named DotnetInspectSkillFileContent: remove
the opening/closing delimiters and the closing delimiter's eight-space indentation
from every content line, keep blank lines, use LF, and add no trailing newline.
Compare its SHA-256 with the value above and the local skill. Do not copy the
current richlander main file and describe it as the embedded version.
For an update, choose explicit upstream commits and verify compatibility with the repository's selected CLI/SDK. Review the entire candidate diff, including commands, permissions, external references, additional files, and licenses. Replace only the selected skill trees after review, explicitly removing obsolete files rather than leaving them behind in an overlay. Retain full license notices and attribution, then update this source record and checksum evidence in the same PR.
Keep repository-specific instructions in AGENTS.md and these setup documents; avoid editing vendored text. If a local patch is necessary, record its exact files, reason, and upstream base here, and reapply/review it deliberately on each update.
Before completing an update, compare all installed files with the chosen sources,
check referenced local assets and notices, review the diff, and run
git diff --check. A text-only skill or policy update does not require starting
Aspire. If the toolchain or application changes, run the documented solution gate
and any relevant runtime checks; a source match is not a runtime test.
Cloud coding agents
Not applicable: the maintainer confirmed local agents only on 2026-09-22 UTC. Automated Copilot review does not constitute a supported cloud coding environment. There is no cloud setup workflow or claim of runner validation. If a cloud coding agent is adopted, add a minimal setup using the same SDK and validation commands, verify it on that actual runner, and record the result before calling it supported. Keep production secrets out of that environment.