[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69B8ND3PR8M9EEKC2TQ94G2":3,"skill-same:01M69B8ND3PR8M9EEKC2TQ94G2":70},{"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":23,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M69B8ND3PR8M9EEKC2TQ94G2","update-samples",null,"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.","microsoft\u002Faspire.dev","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69B7HZWV2YNDYYCP5G712FG",203,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fupdate-samples\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,9],"update samples","update","data","new","when","with","sample","upstream","use","repo","json","github","repository","file","metadata","aspire","sync","2026-11-10 10:12:30",false,"---\nname: update-samples\ndescription: 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.\n---\n\n# Update Samples Data\n\nThis skill synchronizes the samples data file with the `microsoft\u002Faspire-samples` GitHub repository. It enumerates all sample projects in the `samples\u002F` directory, fetches each sample's README.md, and generates a structured JSON catalog.\n\n## Overview\n\nThe aspire.dev site maintains a data file for samples:\n\n- **`src\u002Ffrontend\u002Fsrc\u002Fdata\u002Fsamples.json`** — Sample metadata including titles, descriptions, tags, deep links, and README content extracted from the upstream repo.\n\nThis skill keeps that file in sync with the `microsoft\u002Faspire-samples` repository on GitHub.\n\n## Prerequisites\n\n- Node.js installed and available on `PATH`\n- Working directory is the repository root\n- The frontend project dependencies are installed (`bun install` in `src\u002Ffrontend\u002F`)\n- Optional: `GITHUB_TOKEN` environment variable for higher GitHub API rate limits\n\n## Step-by-Step Process\n\n### 1. Run the update script\n\nFetch the latest sample data from the GitHub API:\n\n```bash\ncd src\u002Ffrontend && node scripts\u002Fupdate-samples.js\n```\n\nThis writes updated sample metadata to `src\u002Ffrontend\u002Fsrc\u002Fdata\u002Fsamples.json`. The script queries the GitHub Contents API for directories in `microsoft\u002Faspire-samples\u002Fsamples\u002F`, fetches each sample's README.md, and extracts structured metadata.\n\n### 2. What the script does\n\nFor each subdirectory in `samples\u002F`:\n\n1. **Lists directories** — Calls the GitHub Contents API to enumerate entries in `samples\u002F` and filters to directories only (skipping files like `global.json`, `Directory.Build.props`).\n\n2. **Fetches README.md** — Downloads the raw README.md for each sample directory.\n\n3. **Extracts metadata** from the README:\n   - **`name`** — The directory name (e.g., `aspire-shop`)\n   - **`title`** — Extracted from the first `# heading` in the README\n   - **`description`** — The first paragraph of body text after the title (before any `##` heading)\n  - **`href`** — Deep link to the sample on GitHub: `https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire-samples\u002Ftree\u002Fmain\u002Fsamples\u002F{name}`\n   - **`readme`** — The full Markdown content of the README.md, with image paths rewritten to local assets (see below)\n   - **`tags`** — Auto-detected tags based on technologies, languages, services, and features mentioned in the README and directory name\n   - **`thumbnail`** — Local asset path to the first image referenced in the README (if any), or `null`\n\n4. **Downloads images** — For each image referenced in the README (`![alt](src)`):\n   - Resolves the remote URL (relative paths are resolved against the GitHub raw content URL)\n   - Downloads the image to `src\u002Ffrontend\u002Fsrc\u002Fassets\u002Fsamples\u002F{name}\u002F{filename}`\n   - Rewrites the image reference in the README to use the local asset path: `~\u002Fassets\u002Fsamples\u002F{name}\u002F{filename}`\n   - This ensures images are bundled with the site and served locally rather than hotlinked from GitHub\n\n5. **Writes output** — Saves the result as a sorted JSON array to `src\u002Ffrontend\u002Fsrc\u002Fdata\u002Fsamples.json`.\n\n### 3. Tag detection\n\nTags are automatically inferred from the README content and sample name. The script detects:\n\n#### Languages\n| Tag | Matched by |\n|---|---|\n| `csharp` | C#, .NET references |\n| `python` | Python references |\n| `javascript` | JavaScript references |\n| `node` | Node.js references |\n| `go` | Go\u002FGolang references |\n| `java` | Java, Spring Boot, Quarkus, Maven, Gradle references |\n\n#### Services & Technologies\n| Tag | Matched by |\n|---|---|\n| `redis` | Redis references |\n| `postgresql` | PostgreSQL, Postgres, Npgsql references |\n| `sql-server` | SQL Server, MSSQL references |\n| `mysql` | MySQL references |\n| `mongodb` | MongoDB references |\n| `rabbitmq` | RabbitMQ references |\n| `kafka` | Kafka references |\n| `prometheus` | Prometheus references |\n| `grafana` | Grafana references |\n| `docker` | Docker, container references |\n\n#### Azure Services\n| Tag | Matched by |\n|---|---|\n| `azure` | Azure references |\n| `azure-functions` | Azure Functions references |\n| `azure-storage` | Azure Storage references |\n| `azure-service-bus` | Azure Service Bus references |\n\n#### Frameworks & Features\n| Tag | Matched by |\n|---|---|\n| `blazor` | Blazor references |\n| `orleans` | Orleans references |\n| `grpc` | gRPC references |\n| `ef-core` | Entity Framework Core references |\n| `metrics` | Metrics, OpenTelemetry references |\n| `health-checks` | Health check references |\n| `containers` | Container build\u002Fdeployment references |\n| `databases` | Database-related references |\n| `migrations` | Database migration references |\n| `volumes` | Volume mount references |\n| `dashboard` | Dashboard references |\n\n### 4. Output format\n\nThe output `samples.json` is a JSON array with entries like:\n\n```json\n[\n  {\n    \"name\": \"aspire-shop\",\n    \"title\": \"Aspire Shop\",\n    \"description\": \"The app consists of four .NET services including a Blazor frontend, catalog API, catalog database manager, and basket service.\",\n    \"href\": \"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire-samples\u002Ftree\u002Fmain\u002Fsamples\u002Faspire-shop\",\n    \"readme\": \"# Aspire Shop\\n\\n![Screenshot...](~\u002Fassets\u002Fsamples\u002Faspire-shop\u002Faspireshop-frontend-complete.png)...\",\n    \"tags\": [\"csharp\", \"blazor\", \"postgresql\", \"redis\", \"grpc\", \"ef-core\"],\n    \"thumbnail\": \"~\u002Fassets\u002Fsamples\u002Faspire-shop\u002Faspireshop-frontend-complete.png\"\n  }\n]\n```\n\n### 5. Manual review\n\nAfter running the script:\n\n- **Review new entries** — Verify titles and descriptions are meaningful\n- **Check tags** — The auto-detection may miss niche technologies; manually add tags if needed\n- **Verify thumbnails** — Ensure image URLs resolve correctly\n- **Remove stale samples** — The script automatically handles this since it rebuilds from source\n\n### 6. Environment variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `GITHUB_TOKEN` | No | GitHub personal access token for higher API rate limits (60 → 5000 requests\u002Fhour) |\n| `SAMPLES_BRANCH` | No | Override the `microsoft\u002Faspire-samples` ref to fetch from (default `main`). Useful for staging `samples.json` against a still-open upstream PR — set to the PR's head ref. The generated `href` fields stay anchored to `main` so links remain valid after the PR branch is deleted. |\n\n### 7. Integration with build\n\nThe script is registered as an npm script in `src\u002Ffrontend\u002Fpackage.json`:\n\n```bash\nbun run update:samples\n```\n\nIt is also included in the `update:all` aggregate script so it runs alongside other data updates during builds.\n","# Update Samples Data\n\nThis skill synchronizes the samples data file with the `microsoft\u002Faspire-samples` GitHub repository. It enumerates all sample projects in the `samples\u002F` directory, fetches each sample's README.md, and generates a structured JSON catalog.\n\n## Overview\n\nThe aspire.dev site maintains a data file for samples:\n\n- **`src\u002Ffrontend\u002Fsrc\u002Fdata\u002Fsamples.json`** — Sample metadata including titles, descriptions, tags, deep links, and README content extracted from the upstream repo.\n\nThis skill keeps that file in sync with the `microsoft\u002Faspire-samples` repository on GitHub.\n\n## Prerequisites\n\n- Node.js installed and available on `PATH`\n- Working directory is the repository root\n- The frontend project dependencies are installed (`bun install` in `src\u002Ffrontend\u002F`)\n- Optional: `GITHUB_TOKEN` environment variable for higher GitHub API rate limits\n\n## Step-by-Step Process\n\n### 1. Run the update script\n\nFetch the latest sample data from the GitHub API:\n\n```bash\ncd src\u002Ffrontend && node scripts\u002Fupdate-samples.js\n```\n\nThis writes updated sample metadata to `src\u002Ffrontend\u002Fsrc\u002Fdata\u002Fsamples.json`. The script queries the GitHub Contents API for directories in `microsoft\u002Faspire-samples\u002Fsamples\u002F`, fetches each sample's README.md, and extracts structured metadata.\n\n### 2. What the script does\n\nFor each subdirectory in `samples\u002F`:\n\n1. **Lists directories** — Calls the GitHub Contents API to enumerate entries in `samples\u002F` and filters to directories only (skipping files like `global.json`, `Directory.Build.props`).\n\n2. **Fetches README.md** — Downloads the raw README.md for each sample directory.\n\n3. **Extracts metadata** from the README:\n   - **`name`** — The directory name (e.g., `aspire-shop`)\n   - **`title`** — Extracted from the first `# heading` in the README\n   - **`description`** — The first paragraph of body text after the title (before any `##` heading)\n  - **`href`** — Deep link to the sample on GitHub: `https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire-samples\u002Ftree\u002Fmain\u002Fsamples\u002F{name}`\n   - **`readme`** — The full Markdown content of the README.md, with image paths rewritten to local assets (see below)\n   - **`tags`** — Auto-detected tags based on technologies, languages, services, and features mentioned in the README and directory name\n   - **`thumbnail`** — Local asset path to the first image referenced in the README (if any), or `null`\n\n4. **Downloads images** — For each image referenced in the README (`![alt](src)`):\n   - Resolves the remote URL (relative paths are resolved against the GitHub raw content URL)\n   - Downloads the image to `src\u002Ffrontend\u002Fsrc\u002Fassets\u002Fsamples\u002F{name}\u002F{filename}`\n   - Rewrites the image reference in the README to use the local asset path: `~\u002Fassets\u002Fsamples\u002F{name}\u002F{filename}`\n   - This ensures images are bundled with the site and served locally rather than hotlinked from GitHub\n\n5. **Writes output** — Saves the result as a sorted JSON array to `src\u002Ffrontend\u002Fsrc\u002Fdata\u002Fsamples.json`.\n\n### 3. Tag detection\n\nTags are automatically inferred from the README content and sample name. The script detects:\n\n#### Languages\n| Tag | Matched by |\n|---|---|\n| `csharp` | C#, .NET references |\n| `python` | Python references |\n| `javascript` | JavaScript references |\n| `node` | Node.js references |\n| `go` | Go\u002FGolang references |\n| `java` | Java, Spring Boot, Quarkus, Maven, Gradle references |\n\n#### Services & Technologies\n| Tag | Matched by |\n|---|---|\n| `redis` | Redis references |\n| `postgresql` | PostgreSQL, Postgres, Npgsql references |\n| `sql-server` | SQL Server, MSSQL references |\n| `mysql` | MySQL references |\n| `mongodb` | MongoDB references |\n| `rabbitmq` | RabbitMQ references |\n| `kafka` | Kafka references |\n| `prometheus` | Prometheus references |\n| `grafana` | Grafana references |\n| `docker` | Docker, container references |\n\n#### Azure Services\n| Tag | Matched by |\n|---|---|\n| `azure` | Azure references |\n| `azure-functions` | Azure Functions references |\n| `azure-storage` | Azure Storage references |\n| `azure-service-bus` | Azure Service Bus references |\n\n#### Frameworks & Features\n| Tag | Matched by |\n|---|---|\n| `blazor` | Blazor references |\n| `orleans` | Orleans references |\n| `grpc` | gRPC references |\n| `ef-core` | Entity Framework Core references |\n| `metrics` | Metrics, OpenTelemetry references |\n| `health-checks` | Health check references |\n| `containers` | Container build\u002Fdeployment references |\n| `databases` | Database-related references |\n| `migrations` | Database migration references |\n| `volumes` | Volume mount references |\n| `dashboard` | Dashboard references |\n\n### 4. Output format\n\nThe output `samples.json` is a JSON array with entries like:\n\n```json\n[\n  {\n    \"name\": \"aspire-shop\",\n    \"title\": \"Aspire Shop\",\n    \"description\": \"The app consists of four .NET services including a Blazor frontend, catalog API, catalog database manager, and basket service.\",\n    \"href\": \"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire-samples\u002Ftree\u002Fmain\u002Fsamples\u002Faspire-shop\",\n    \"readme\": \"# Aspire Shop\\n\\n![Screenshot...](~\u002Fassets\u002Fsamples\u002Faspire-shop\u002Faspireshop-frontend-complete.png)...\",\n    \"tags\": [\"csharp\", \"blazor\", \"postgresql\", \"redis\", \"grpc\", \"ef-core\"],\n    \"thumbnail\": \"~\u002Fassets\u002Fsamples\u002Faspire-shop\u002Faspireshop-frontend-complete.png\"\n  }\n]\n```\n\n### 5. Manual review\n\nAfter running the script:\n\n- **Review new entries** — Verify titles and descriptions are meaningful\n- **Check tags** — The auto-detection may miss niche technologies; manually add tags if needed\n- **Verify thumbnails** — Ensure image URLs resolve correctly\n- **Remove stale samples** — The script automatically handles this since it rebuilds from source\n\n### 6. Environment variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `GITHUB_TOKEN` | No | GitHub personal access token for higher API rate limits (60 → 5000 requests\u002Fhour) |\n| `SAMPLES_BRANCH` | No | Override the `microsoft\u002Faspire-samples` ref to fetch from (default `main`). Useful for staging `samples.json` against a still-open upstream PR — set to the PR's head ref. The generated `href` fields stay anchored to `main` so links remain valid after the PR branch is deleted. |\n\n### 7. Integration with build\n\nThe script is registered as an npm script in `src\u002Ffrontend\u002Fpackage.json`:\n\n```bash\nbun run update:samples\n```\n\nIt is also included in the `update:all` aggregate script so it runs alongside other data updates during builds.\n",{"name":5,"description":7},"main","f05f5561b1b858344124cd848ff06469627d7e6e",".agents\u002Fskills\u002Fupdate-samples",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-12 03:13:45",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add microsoft\u002Faspire.dev --skill update-samples",{"tool":62,"command":63},"bunx","bunx skills add microsoft\u002Faspire.dev --skill update-samples",{"tool":65,"command":66},"pnpm","pnpm dlx skills add microsoft\u002Faspire.dev --skill update-samples","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fupdate-samples\u002FSKILL.md",true,[],[71,97,137,153,172,196],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":80,"publishedAt":41},"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",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师",[39,81,82,29,83,84,35,9,85,86,87,88,89,90,91,92,46,93,94,95,96,28,27],"getting started with aspire","getting started","cli","docs","official","documentation","create","run","code","api","how","install","app","how to","operating","at",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":117,"publishedAt":41},"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",[103,108,111,114],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":109,"categoryName":110,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":112,"categoryName":113,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":115,"categoryName":116,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000036","内容创作者",[99,118,119,120,84,121,122,123,124,39,125,126,88,25,127,128,129,130,131,132,133,134,135,136,27],"frontend","writing","review","research","init","validate","scaffold","notes","pr","release-notes","product","critique","reviewer","ingestion","images","writer","argument","validator","invoke",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":144,"publishedAt":41},"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",[143],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[145,25,146,84,40,39,86,147,148,149,26,90,34,32,150,151,29,152,28,27],"update integrations","integrations","nuget","package","integration","reference","files","links",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":41},"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",[],[160,135,161,162,123,39,88,89,163,164,90,165,166,167,32,168,169,170,171,28],"twoslash validator","typescript","test","dev","examples","editing","generated","fix","bun","unit","blocks","for",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":181,"publishedAt":41},"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",[178],{"categoryNo":179,"categoryName":180,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000008","测试与质量",[83,182,183,184,185,162,186,187,26,188,32,189,190,191,192,193,194,29,171,195,28],"playwright","playwright cli","testing","screenshots","web","browser","applications","take","test web","forms","pages","form","information","navigate",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":205,"publishedAt":41},"01M69B89R72XJT8JP8JZRGCV0C","hex1b","CLI tool for automating any terminal application — TUI apps, shells, CLI tools, REPLs, and more. Use when you need to launch a process in a virtual terminal, capture its screen output, inject keystrokes or mouse input, take screenshots, record sessions, or assert on what's visible.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Faspire.dev\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fhex1b\u002FSKILL.md",[202],{"categoryNo":203,"categoryName":204,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000023","Skill与智能体开发",[198,185,83,206,207,208,209,210,211,32,189,212,213,214,215,216,217,218,219,171,28],"terminal","launch","sessions","Tools","tool","virtual","record","apps","screen","input","cli tool","output","you","more"]