[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69B7MXRGTC8SEKAKX2NECGT":3,"skill-same:01M69B7MXRGTC8SEKAKX2NECGT":86},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":29,"publishedAt":57,"linkOnly":58,"markdownContent":59,"markdownBody":60,"frontMatter":61,"refName":62,"commitSha":63,"skillDirectory":64,"forksCount":65,"repositoryHtmlUrl":66,"repositoryHomepageUrl":67,"ownerHtmlUrl":68,"ownerBlogUrl":69,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M69B7MXRGTC8SEKAKX2NECGT","aspire",null,"Orchestrates Aspire distributed applications using the Aspire CLI for running, debugging, and managing distributed apps. USE FOR: aspire start, aspire stop, start aspire app, aspire describe, list aspire integrations, debug aspire issues, view aspire logs, add aspire resource, aspire dashboard, update aspire apphost. DO NOT USE FOR: non-Aspire .NET apps (use dotnet CLI), container-only deployments (use docker\u002Fpodman), Azure deployment after local testing (use azure-deploy skill). INVOKES: Aspire CLI commands (aspire start, aspire describe, aspire otel logs, aspire docs search, aspire add), bash. FOR SINGLE OPERATIONS: Use Aspire CLI commands directly for quick resource status or doc lookups.","microsoft\u002Faspire.dev","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69B7HZWV2YNDYYCP5G712FG",206,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Faspire\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56],"podman","quick","apps","app","commands","local","only","Bash","logs","search","issues","update","debugging","deployment","testing","azure","distributed","distributed applications","debug","deploy","status","otel","dotnet","dashboard","docker","docs","cli","2026-11-10 10:12:30",false,"---\nname: aspire\ndescription: \"Orchestrates Aspire distributed applications using the Aspire CLI for running, debugging, and managing distributed apps. USE FOR: aspire start, aspire stop, start aspire app, aspire describe, list aspire integrations, debug aspire issues, view aspire logs, add aspire resource, aspire dashboard, update aspire apphost. DO NOT USE FOR: non-Aspire .NET apps (use dotnet CLI), container-only deployments (use docker\u002Fpodman), Azure deployment after local testing (use azure-deploy skill). INVOKES: Aspire CLI commands (aspire start, aspire describe, aspire otel logs, aspire docs search, aspire add), bash. FOR SINGLE OPERATIONS: Use Aspire CLI commands directly for quick resource status or doc lookups.\"\n---\n\n# Aspire Skill\n\nThis repository uses Aspire to orchestrate its distributed application. Resources are defined in the AppHost project (`apphost.cs` or `apphost.mts`).\n\n## CLI command reference\n\n| Task | Command |\n|---|---|\n| Start the app | `aspire start` |\n| Start isolated (worktrees) | `aspire start --isolated` |\n| Restart the app | `aspire start` (stops previous automatically) |\n| Wait for resource healthy | `aspire wait \u003Cresource>` |\n| Stop the app | `aspire stop` |\n| List resources | `aspire describe` or `aspire resources` |\n| Run resource command | `aspire resource \u003Cresource> \u003Ccommand>` |\n| Start\u002Fstop\u002Frestart resource | `aspire resource \u003Cresource> start|stop|restart` |\n| View console logs | `aspire logs [resource]` |\n| View structured logs | `aspire otel logs [resource]` |\n| View traces | `aspire otel traces [resource]` |\n| Logs for a trace | `aspire otel logs --trace-id \u003Cid>` |\n| Add an integration | `aspire add` |\n| List running AppHosts | `aspire ps` |\n| Update AppHost packages | `aspire update` |\n| Search docs | `aspire docs search \u003Cquery>` |\n| Get doc page | `aspire docs get \u003Cslug>` |\n| List doc pages | `aspire docs list` |\n| Environment diagnostics | `aspire doctor` |\n| List resource MCP tools | `aspire mcp tools` |\n| Call resource MCP tool | `aspire mcp call \u003Cresource> \u003Ctool> --input \u003Cjson>` |\n\nMost commands support `--format Json` for machine-readable output. Use `--apphost \u003Cpath>` to target a specific AppHost.\n\n## Key workflows\n\n### Running in agent environments\n\nUse `aspire start` to run the AppHost in the background. When working in a git worktree, use `--isolated` to avoid port conflicts and to prevent sharing user secrets or other local state with other running instances:\n\n```bash\naspire start --isolated\n```\n\nUse `aspire wait \u003Cresource>` to block until a resource is healthy before interacting with it:\n\n```bash\naspire start --isolated\naspire wait myapi\n```\n\nRelaunching is safe — `aspire start` automatically stops any previous instance. Re-run `aspire start` whenever changes are made to the AppHost project.\n\n### Debugging issues\n\nBefore making code changes, inspect the app state:\n\n1. `aspire describe` — check resource status\n2. `aspire otel logs \u003Cresource>` — view structured logs\n3. `aspire logs \u003Cresource>` — view console output\n4. `aspire otel traces \u003Cresource>` — view distributed traces\n\n### Adding integrations\n\nUse `aspire docs search` to find integration documentation, then `aspire docs get` to read the full guide. Use `aspire add` to add the integration package to the AppHost.\n\nAfter adding an integration, restart the app with `aspire start` for the new resource to take effect.\n\n### Using resource MCP tools\n\nSome resources expose MCP tools (e.g. `WithPostgresMcp()` adds SQL query tools). Discover and call them via CLI:\n\n```bash\naspire mcp tools                                              # list available tools\naspire mcp tools --format Json                                # includes input schemas\naspire mcp call \u003Cresource> \u003Ctool> --input '{\"key\":\"value\"}'   # invoke a tool\n```\n\n## Important rules\n\n- **Always start the app first** (`aspire start`) before making changes to verify the starting state.\n- **To restart, just run `aspire start` again** — it automatically stops the previous instance. NEVER use `aspire stop` then `aspire run`. NEVER use `aspire run` at all.\n- Use `--isolated` when working in a worktree.\n- **Avoid persistent containers** early in development to prevent state management issues.\n- **Never install the Aspire workload** — it is obsolete.\n- Prefer `aspire.dev` and `learn.microsoft.com\u002Fmicrosoft\u002Faspire` for official documentation.\n\n## Playwright CLI\n\nIf configured, use Playwright CLI for functional testing of resources. Get endpoints via `aspire describe`. Run `playwright-cli --help` for available commands.","# Aspire Skill\n\nThis repository uses Aspire to orchestrate its distributed application. Resources are defined in the AppHost project (`apphost.cs` or `apphost.mts`).\n\n## CLI command reference\n\n| Task | Command |\n|---|---|\n| Start the app | `aspire start` |\n| Start isolated (worktrees) | `aspire start --isolated` |\n| Restart the app | `aspire start` (stops previous automatically) |\n| Wait for resource healthy | `aspire wait \u003Cresource>` |\n| Stop the app | `aspire stop` |\n| List resources | `aspire describe` or `aspire resources` |\n| Run resource command | `aspire resource \u003Cresource> \u003Ccommand>` |\n| Start\u002Fstop\u002Frestart resource | `aspire resource \u003Cresource> start|stop|restart` |\n| View console logs | `aspire logs [resource]` |\n| View structured logs | `aspire otel logs [resource]` |\n| View traces | `aspire otel traces [resource]` |\n| Logs for a trace | `aspire otel logs --trace-id \u003Cid>` |\n| Add an integration | `aspire add` |\n| List running AppHosts | `aspire ps` |\n| Update AppHost packages | `aspire update` |\n| Search docs | `aspire docs search \u003Cquery>` |\n| Get doc page | `aspire docs get \u003Cslug>` |\n| List doc pages | `aspire docs list` |\n| Environment diagnostics | `aspire doctor` |\n| List resource MCP tools | `aspire mcp tools` |\n| Call resource MCP tool | `aspire mcp call \u003Cresource> \u003Ctool> --input \u003Cjson>` |\n\nMost commands support `--format Json` for machine-readable output. Use `--apphost \u003Cpath>` to target a specific AppHost.\n\n## Key workflows\n\n### Running in agent environments\n\nUse `aspire start` to run the AppHost in the background. When working in a git worktree, use `--isolated` to avoid port conflicts and to prevent sharing user secrets or other local state with other running instances:\n\n```bash\naspire start --isolated\n```\n\nUse `aspire wait \u003Cresource>` to block until a resource is healthy before interacting with it:\n\n```bash\naspire start --isolated\naspire wait myapi\n```\n\nRelaunching is safe — `aspire start` automatically stops any previous instance. Re-run `aspire start` whenever changes are made to the AppHost project.\n\n### Debugging issues\n\nBefore making code changes, inspect the app state:\n\n1. `aspire describe` — check resource status\n2. `aspire otel logs \u003Cresource>` — view structured logs\n3. `aspire logs \u003Cresource>` — view console output\n4. `aspire otel traces \u003Cresource>` — view distributed traces\n\n### Adding integrations\n\nUse `aspire docs search` to find integration documentation, then `aspire docs get` to read the full guide. Use `aspire add` to add the integration package to the AppHost.\n\nAfter adding an integration, restart the app with `aspire start` for the new resource to take effect.\n\n### Using resource MCP tools\n\nSome resources expose MCP tools (e.g. `WithPostgresMcp()` adds SQL query tools). Discover and call them via CLI:\n\n```bash\naspire mcp tools                                              # list available tools\naspire mcp tools --format Json                                # includes input schemas\naspire mcp call \u003Cresource> \u003Ctool> --input '{\"key\":\"value\"}'   # invoke a tool\n```\n\n## Important rules\n\n- **Always start the app first** (`aspire start`) before making changes to verify the starting state.\n- **To restart, just run `aspire start` again** — it automatically stops the previous instance. NEVER use `aspire stop` then `aspire run`. NEVER use `aspire run` at all.\n- Use `--isolated` when working in a worktree.\n- **Avoid persistent containers** early in development to prevent state management issues.\n- **Never install the Aspire workload** — it is obsolete.\n- Prefer `aspire.dev` and `learn.microsoft.com\u002Fmicrosoft\u002Faspire` for official documentation.\n\n## Playwright CLI\n\nIf configured, use Playwright CLI for functional testing of resources. Get endpoints via `aspire describe`. Run `playwright-cli --help` for available commands.",{"name":5,"description":7},"main","f05f5561b1b858344124cd848ff06469627d7e6e",".agents\u002Fskills\u002Faspire",99,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev","https:\u002F\u002Faspire.dev","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-15 03:12:15",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add microsoft\u002Faspire.dev --skill aspire",{"tool":78,"command":79},"bunx","bunx skills add microsoft\u002Faspire.dev --skill aspire",{"tool":81,"command":82},"pnpm","pnpm dlx skills add microsoft\u002Faspire.dev --skill aspire","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Faspire\u002FSKILL.md",true,[],[87,116,154,175,191,210],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":98,"publishedAt":57},"01M69B8W7K62DJP002TEBRZDTC","getting-started-with-aspire","Use this skill when a developer asks how to begin using Aspire — installing the Aspire CLI, creating a new Aspire app, running it locally, or finding the authoritative docs, integration catalog, or API reference on aspire.dev. Use it for questions like \"how do I install aspire?\", \"how do I create a new aspire app?\", \"how do I run my aspire app?\", or \"where is the documentation for aspire?\". Do not use it for operating an existing Aspire AppHost (use the official `aspire` skill at github.com\u002Fmicrosoft\u002Faspire\u002Ftree\u002Fmain\u002F.agents\u002Fskills\u002Faspire), authoring AppHost code, or adding integrations to an existing app.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002Fsrc\u002Ffrontend\u002Fpublic\u002F.well-known\u002Fagent-skills\u002Fgetting-started-with-aspire\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,99,100,101,56,55,102,9,103,104,105,106,107,108,109,110,62,33,111,112,113,114,115],"getting started with aspire","getting started","with","github","official","documentation","create","run","code","api","how","install","how to","operating","at","when","new",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":134,"publishedAt":57},"01M69B8R4MPE6HAYDV46VBB40J","whatsnew","Step-argument skill that formalizes writing an Aspire \"What's new in N.N\" release-notes page (src\u002Ffrontend\u002Fsrc\u002Fcontent\u002Fdocs\u002Fwhats-new\u002Faspire-N-N.mdx) as a repeatable lifecycle. Invoke as `\u002Fwhatsnew {modality}` where modality is one of: draft\u002Fscaffold (init), research, critique, validate, polish, review. USE FOR: start\u002Fscaffold a new what's-new page for a release, research a release's changes into a dossier and author the draft prose, critique a draft, fact-check\u002Fvalidate the diff, polish and run data ingestion, or sign off the PR. DO NOT USE FOR: general docs pages (use doc-writer), reviewing an arbitrary docs PR (use doc-pr-reviewer), or product-repo changes. ORCHESTRATES: doc-writer, doc-pr-reviewer, doc-tester, twoslash-validator, update-integrations, update-samples, container-images.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwhatsnew\u002FSKILL.md",[122,125,128,131],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":129,"categoryName":130,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":132,"categoryName":133,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000036","内容创作者",[118,135,136,137,55,138,139,140,141,5,142,143,106,41,144,145,146,147,148,149,150,151,152,153,115],"frontend","writing","review","research","init","validate","scaffold","notes","pr","release-notes","product","critique","reviewer","ingestion","images","writer","argument","validator","invoke",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":163,"publishedAt":57},"01M69B8ND3PR8M9EEKC2TQ94G2","update-samples","Update the samples data file by fetching sample metadata from the microsoft\u002Faspire-samples GitHub repository. Use when adding new samples, refreshing sample data, or ensuring samples.json stays in sync with the upstream repo.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fupdate-samples\u002FSKILL.md",[160],{"categoryNo":161,"categoryName":162,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000033","数据分析师",[164,41,102,9,165,5,166,167,168,169,170,171,172,173,174,101,114,115],"update samples","sync","metadata","file","repository","data","json","repo","use","upstream","sample",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":182,"publishedAt":57},"01M69B8JC3YJKYZFC0BX9N47SC","update-integrations","Update integration documentation links and API reference data by synchronizing NuGet package names with their documentation URLs and generating per-package API schemas. Use when adding new integrations, refreshing package data, ensuring integration-docs.json stays in sync with aspire-integrations.json, or regenerating API reference JSON files.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fupdate-integrations\u002FSKILL.md",[181],{"categoryNo":161,"categoryName":162,"taxonomyType":96,"taxonomyTypeDesc":97},[183,41,184,55,165,5,104,185,186,187,169,108,170,172,188,189,101,190,114,115],"update integrations","integrations","nuget","package","integration","reference","files","links",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":57},"01M69B8F4MQJEG381FDZZ32AW4","twoslash-validator","Validate and fix two-slash TypeScript examples for aspire.dev. Use when adding or editing `twoslash` code fences, TypeScript AppHost samples, generated TypeScript API data, or failures from `bun run test:unit:twoslash-blocks`.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftwoslash-validator\u002FSKILL.md",[],[198,152,199,200,140,5,106,107,201,202,108,203,204,205,172,206,207,208,209,114],"twoslash validator","typescript","test","dev","examples","editing","generated","fix","bun","unit","blocks","for",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":217,"publishedAt":57},"01M69B8CEPDW2FFXZ89YE4F4T3","playwright-cli","Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fplaywright-cli\u002FSKILL.md",[216],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[56,218,219,44,220,200,221,222,169,223,172,224,225,226,227,228,229,101,209,230,114],"playwright","playwright cli","screenshots","web","browser","applications","take","test web","forms","pages","form","information","navigate"]