From 88e08544c6f2acc5a3863a4e1298727f5ef6a780 Mon Sep 17 00:00:00 2001 From: Tim Krampitz Date: Sun, 4 Oct 2026 21:57:39 +0200 Subject: [PATCH] Add Aspire and Playwright agent skills and refs Signed-off-by: Tim Krampitz --- .agents/skills/aspire-init/SKILL.md | 146 ++++++ .../aspire-init/references/init-workflow.md | 123 +++++ .../aspire-init/references/templates.md | 92 ++++ .agents/skills/aspire-monitoring/SKILL.md | 197 +++++++ .../references/diagnostics-bridge.md | 209 ++++++++ .../references/monitoring.md | 161 ++++++ .../references/playwright-handoff.md | 21 + .agents/skills/aspire-orchestration/SKILL.md | 204 ++++++++ .../references/agent-workflows.md | 119 +++++ .../references/app-commands.md | 123 +++++ .../references/detection.md | 160 ++++++ .../references/resource-management.md | 38 ++ .../references/safety-guardrails.md | 272 ++++++++++ .agents/skills/aspire/SKILL.md | 159 ++++++ .../aspire-13-3-breaking-changes.md | 110 ++++ .agents/skills/dotnet-inspect/SKILL.md | 120 +++++ .agents/skills/playwright-cli/SKILL.md | 489 ++++++++++++++++++ .../references/element-attributes.md | 23 + .../references/playwright-tests.md | 39 ++ .../references/pr-attachments.md | 60 +++ .../references/request-mocking.md | 87 ++++ .../playwright-cli/references/running-code.md | 245 +++++++++ .../references/session-management.md | 227 ++++++++ .../references/storage-state.md | 275 ++++++++++ .../references/test-generation.md | 433 ++++++++++++++++ .../playwright-cli/references/tracing.md | 139 +++++ .../references/video-recording.md | 216 ++++++++ .gitignore | 2 + .vscode/mcp.json | 12 + 29 files changed, 4501 insertions(+) create mode 100644 .agents/skills/aspire-init/SKILL.md create mode 100644 .agents/skills/aspire-init/references/init-workflow.md create mode 100644 .agents/skills/aspire-init/references/templates.md create mode 100644 .agents/skills/aspire-monitoring/SKILL.md create mode 100644 .agents/skills/aspire-monitoring/references/diagnostics-bridge.md create mode 100644 .agents/skills/aspire-monitoring/references/monitoring.md create mode 100644 .agents/skills/aspire-monitoring/references/playwright-handoff.md create mode 100644 .agents/skills/aspire-orchestration/SKILL.md create mode 100644 .agents/skills/aspire-orchestration/references/agent-workflows.md create mode 100644 .agents/skills/aspire-orchestration/references/app-commands.md create mode 100644 .agents/skills/aspire-orchestration/references/detection.md create mode 100644 .agents/skills/aspire-orchestration/references/resource-management.md create mode 100644 .agents/skills/aspire-orchestration/references/safety-guardrails.md create mode 100644 .agents/skills/aspire/SKILL.md create mode 100644 .agents/skills/aspire/references/aspire-13-3-breaking-changes.md create mode 100644 .agents/skills/dotnet-inspect/SKILL.md create mode 100644 .agents/skills/playwright-cli/SKILL.md create mode 100644 .agents/skills/playwright-cli/references/element-attributes.md create mode 100644 .agents/skills/playwright-cli/references/playwright-tests.md create mode 100644 .agents/skills/playwright-cli/references/pr-attachments.md create mode 100644 .agents/skills/playwright-cli/references/request-mocking.md create mode 100644 .agents/skills/playwright-cli/references/running-code.md create mode 100644 .agents/skills/playwright-cli/references/session-management.md create mode 100644 .agents/skills/playwright-cli/references/storage-state.md create mode 100644 .agents/skills/playwright-cli/references/test-generation.md create mode 100644 .agents/skills/playwright-cli/references/tracing.md create mode 100644 .agents/skills/playwright-cli/references/video-recording.md create mode 100644 .vscode/mcp.json diff --git a/.agents/skills/aspire-init/SKILL.md b/.agents/skills/aspire-init/SKILL.md new file mode 100644 index 0000000..75a894b --- /dev/null +++ b/.agents/skills/aspire-init/SKILL.md @@ -0,0 +1,146 @@ +--- +name: aspire-init +description: >- + **WORKFLOW SKILL** - First-run flow for adding Aspire to a repo. Picks `aspire new` + (greenfield) or `aspire init` (existing repo), drops the AppHost skeleton, then hands + off to `aspireify` for resource wiring. + USE FOR: aspire init, aspire new, aspire-starter, aspire-ts-starter, aspire-py-starter, + add Aspire to existing repo, scaffold Aspire app, bootstrap Aspire, no AppHost detected, + install aspireify, generated .aspire/modules. + DO NOT USE FOR: AppHost wiring on an existing AppHost (use aspireify), start/stop/wait + (use aspire-orchestration), deploy/publish (use aspire-deployment), logs/traces (use + aspire-monitoring), repo that already has an AppHost. + INVOKES: aspire CLI (init, new, doctor), aspireify (handoff after skeleton drop). + FOR SINGLE OPERATIONS: Run `aspire init` or `aspire new TEMPLATE` directly. +license: MIT +metadata: + author: Microsoft + version: "0.0.1" +--- + +# Aspire Init + +> **First-run only.** This skill owns the skeleton drop and template choice for repositories +> that do not yet have an Aspire AppHost. Once the skeleton is in place, hand off to +> [`aspireify`](../aspireify/SKILL.md) for the actual resource wiring. + +## Prerequisites + +| Requirement | Install | +|-------------|---------| +| .NET 10.0 SDK | https://dotnet.microsoft.com/download | +| Aspire CLI (curl installer) | `curl -sSL https://aspire.dev/install.sh \| bash` | +| Aspire CLI (NativeAOT global tool) | `dotnet tool install -g Aspire.Cli` (.NET 10 required) | +| Diagnose missing prerequisites | `aspire doctor` | + +> Aspire ships the CLI as a NativeAOT .NET global tool — instant startup, no JIT warmup. +> The curl/PowerShell installer remains supported for environments without .NET 10. + +## Detection + +Activate **only** when adding Aspire to a workspace that does not yet have one. Confirm ALL +of the following before running `aspire init`: + +| Signal | How to Detect | Meaning | +|--------|---------------|---------| +| No C# AppHost | No `.csproj` containing `Aspire.AppHost.Sdk` | OK to init | +| No file-based AppHost | No `apphost.cs` with `#:sdk Aspire.AppHost.Sdk` | OK to init | +| No TypeScript AppHost | No `apphost.ts` in repo root | OK to init | +| No Aspire config | No `aspire.config.json` in repo root | OK to init | +| User intent | Explicit "add Aspire", "scaffold Aspire", "aspire init" | OK to init | + +If **any** AppHost signal is already present, **do not run `aspire init`**. Route to +[`aspireify`](../aspireify/SKILL.md) (re-wire) or +[`aspire-orchestration`](../aspire-orchestration/SKILL.md) (lifecycle). + +## Decision: `aspire new` vs `aspire init` + +| Situation | Command | Why | +|-----------|---------|-----| +| Empty directory or brand-new project | `aspire new