[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69AWCBCQ110DV8M63W04EC7":3,"skill-same:01M69AWCBCQ110DV8M63W04EC7":73},{"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":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M69AWCBCQ110DV8M63W04EC7","azldev-image",null,"Read this before building, booting, or configuring an azldev image. Explains the azldev image commands (list, build, boot, test, customize) and the [images.\u003Cname>] config (kiwi definition, capabilities, tests, publish); the kiwi XML format itself is upstream KIWI NG. Triggers include image build, image boot, kiwi, container image, VM image, images.toml.","microsoft\u002Fazurelinux","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AVY9Y3D59ZBRVNKRJ851E",5364,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fazldev-image\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"azldev image","azldev","image","before building","definition","ng","name","triggers","tests","toml","upstream","build","images","container","publish","capabilities","vm","boot","customize","config","test","2026-11-10 10:12:30",false,"---\nname: azldev-image\ndescription: \"Read this before building, booting, or configuring an azldev image. Explains the azldev image commands (list, build, boot, test, customize) and the [images.\u003Cname>] config (kiwi definition, capabilities, tests, publish); the kiwi XML format itself is upstream KIWI NG. Triggers include image build, image boot, kiwi, container image, VM image, images.toml.\"\n---\n\n# Build and boot images\n\nAn image assembles built RPMs into a deliverable — a container or a bootable VM.\nazldev drives the build from a kiwi-ng definition; the `.kiwi` file itself is\n**upstream KIWI NG** ([docs](https:\u002F\u002Fosinside.github.io\u002Fkiwi\u002F)) and azldev does not\nown its schema.\n\n## Commands\n\nImages are selected by their **name as a positional argument** (not `-p`).\n\n| Task | Command |\n| --- | --- |\n| List images | `azldev image list` |\n| Build an image (kiwi-ng) | `azldev image build \u003Cname>` |\n| Boot an image in a QEMU VM | `azldev image boot \u003Cname>` |\n| Run an image's tests | `azldev image test \u003Cname>` |\n| Customize a pre-built image | `azldev image customize` |\n\n`azldev image build` takes `--local-repo` \u002F `--remote-repo` to add package sources and\n`--arch` to target an architecture. When the selected distro version defines\n`kiwi-config-override`, azldev passes it to KIWI with `--config`. These top-level\noverrides have highest precedence. `azldev image boot` takes a built image name, or an\nexplicit `--image-path` \u002F `--iso`. Confirm current flags with\n`azldev image \u003Ccommand> --help` (there are more subcommands, e.g. `inject-files`).\n\n## Registering an image\n\nImages are declared under `[images.\u003Cname>]` (conventionally in an `images.toml`):\n\n```toml\n[images.container-base]\ndescription = \"Container base image\"\ndefinition = { type = \"kiwi\", path = \"container-base\u002Fcontainer-base.kiwi\", profile = \"core\" }\narchitectures = [\"x86_64\", \"aarch64\"]\n\n  [images.container-base.capabilities]\n  container = true\n  systemd = false\n\n  [images.container-base.properties]\n  openssl-fips-provider = \"upstream\"\n\n  [images.container-base.tests]\n  tests = [{ name = \"smoke\" }]\n```\n\n- `definition.type` is `kiwi` (the only type today); `path` points at the `.kiwi` file;\n  `profile` selects a kiwi profile (optional).\n- Boolean `capabilities` are tri-state flags describing the image — `machine-bootable`,\n  `container`, `systemd`, `runtime-package-management`, `wsl`, `installer-media`,\n  `fips-enabled`, and `cvm`. Set only the ones that apply.\n- `properties` is an extensible string-to-string metadata bag. For example,\n  `openssl-fips-provider = \"upstream\"` records the image's provider policy without\n  requiring azldev to define that property in its schema.\n- `architectures = [\"x86_64\", \"aarch64\"]` is optional; when unset or empty, the\n   image is treated as unrestricted (all recognized architectures). Set it to\n   restrict which architectures `image build --arch` allows for the image.\n- `tests.tests` lists the tests or test groups `azldev image test` runs locally.\n  An image ref may also set `sku-groups = [\"\u003Cname>\", ...]` to fan a test or group\n  out across the VM sizes of one or more `[sku-groups.\u003Cname>]` entries; that\n  fan-out is done by external test orchestration, not by local `azldev image test`.\n  Do not map `sku-groups` onto arbitrary LISA tests: LISA tests carry their own\n  requirements and are skipped when the SKU does not meet them, so this is\n  meaningful only for the special case of multi-SKU performance tests.\n- `publish.channels` lists the channels the image publishes to.\n\n## The kiwi definition\n\nThe `.kiwi` file is upstream KIWI NG XML — azldev does not own its schema. It selects the\nimage type (container vs. VM), package lists, repositories, and boot configuration. See\nthe [KIWI NG documentation](https:\u002F\u002Fosinside.github.io\u002Fkiwi\u002F) for the format and elements.\n\nGenerated by `azldev docs agent`; do not hand-edit.\n","# Build and boot images\n\nAn image assembles built RPMs into a deliverable — a container or a bootable VM.\nazldev drives the build from a kiwi-ng definition; the `.kiwi` file itself is\n**upstream KIWI NG** ([docs](https:\u002F\u002Fosinside.github.io\u002Fkiwi\u002F)) and azldev does not\nown its schema.\n\n## Commands\n\nImages are selected by their **name as a positional argument** (not `-p`).\n\n| Task | Command |\n| --- | --- |\n| List images | `azldev image list` |\n| Build an image (kiwi-ng) | `azldev image build \u003Cname>` |\n| Boot an image in a QEMU VM | `azldev image boot \u003Cname>` |\n| Run an image's tests | `azldev image test \u003Cname>` |\n| Customize a pre-built image | `azldev image customize` |\n\n`azldev image build` takes `--local-repo` \u002F `--remote-repo` to add package sources and\n`--arch` to target an architecture. When the selected distro version defines\n`kiwi-config-override`, azldev passes it to KIWI with `--config`. These top-level\noverrides have highest precedence. `azldev image boot` takes a built image name, or an\nexplicit `--image-path` \u002F `--iso`. Confirm current flags with\n`azldev image \u003Ccommand> --help` (there are more subcommands, e.g. `inject-files`).\n\n## Registering an image\n\nImages are declared under `[images.\u003Cname>]` (conventionally in an `images.toml`):\n\n```toml\n[images.container-base]\ndescription = \"Container base image\"\ndefinition = { type = \"kiwi\", path = \"container-base\u002Fcontainer-base.kiwi\", profile = \"core\" }\narchitectures = [\"x86_64\", \"aarch64\"]\n\n  [images.container-base.capabilities]\n  container = true\n  systemd = false\n\n  [images.container-base.properties]\n  openssl-fips-provider = \"upstream\"\n\n  [images.container-base.tests]\n  tests = [{ name = \"smoke\" }]\n```\n\n- `definition.type` is `kiwi` (the only type today); `path` points at the `.kiwi` file;\n  `profile` selects a kiwi profile (optional).\n- Boolean `capabilities` are tri-state flags describing the image — `machine-bootable`,\n  `container`, `systemd`, `runtime-package-management`, `wsl`, `installer-media`,\n  `fips-enabled`, and `cvm`. Set only the ones that apply.\n- `properties` is an extensible string-to-string metadata bag. For example,\n  `openssl-fips-provider = \"upstream\"` records the image's provider policy without\n  requiring azldev to define that property in its schema.\n- `architectures = [\"x86_64\", \"aarch64\"]` is optional; when unset or empty, the\n   image is treated as unrestricted (all recognized architectures). Set it to\n   restrict which architectures `image build --arch` allows for the image.\n- `tests.tests` lists the tests or test groups `azldev image test` runs locally.\n  An image ref may also set `sku-groups = [\"\u003Cname>\", ...]` to fan a test or group\n  out across the VM sizes of one or more `[sku-groups.\u003Cname>]` entries; that\n  fan-out is done by external test orchestration, not by local `azldev image test`.\n  Do not map `sku-groups` onto arbitrary LISA tests: LISA tests carry their own\n  requirements and are skipped when the SKU does not meet them, so this is\n  meaningful only for the special case of multi-SKU performance tests.\n- `publish.channels` lists the channels the image publishes to.\n\n## The kiwi definition\n\nThe `.kiwi` file is upstream KIWI NG XML — azldev does not own its schema. It selects the\nimage type (container vs. VM), package lists, repositories, and boot configuration. See\nthe [KIWI NG documentation](https:\u002F\u002Fosinside.github.io\u002Fkiwi\u002F) for the format and elements.\n\nGenerated by `azldev docs agent`; do not hand-edit.\n",{"name":5,"description":7},"4.0","431ad36a7a827e8ec414e96ae75517ec1ded115d",".agents\u002Fskills\u002Fazldev-image",714,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-13 03:11:46",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add microsoft\u002Fazurelinux --skill azldev-image",{"tool":65,"command":66},"bunx","bunx skills add microsoft\u002Fazurelinux --skill azldev-image",{"tool":68,"command":69},"pnpm","pnpm dlx skills add microsoft\u002Fazurelinux --skill azldev-image","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fazldev-image\u002FSKILL.md",true,[],[74,101,124,147,168,192],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":83,"publishedAt":45},"01M69AX4PP9MJPS4TE3XDW93NJ","skill-metrics","[Skill] metrics, azure-monitor, aks - Query Azure Monitor metrics for Koji AKS node CPU, memory, disk usage, and pod readiness.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fskill-metrics\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],"skill metrics","metrics","memory","azure","monitor","azure-monitor","aks","disk","node","query","azure monitor","false","readiness","CPU","disk usage","usage","for",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":108,"publishedAt":45},"01M69AX2WT9YWZTVMMQ6QWHG3Y","skill-mass-triage","[Skill] Batch-triage build failures from a JSON results file — diagnose with parallel sub-agents, bucketize by root cause, and produce a consolidated summary. Use when asked to triage a Koji results file. Triggers: batch triage, mass triage, triage results file, bucketize failures.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fskill-mass-triage\u002FSKILL.md",[107],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},[109,110,111,112,113,114,115,116,117,118,35,119,31,120,121,122,123],"triage","skill mass triage","diagnose","produce","batch","file","json","parallel","results","use","summary","with","root","root cause","when",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":134,"publishedAt":45},"01M69AX11X7RJS8A0GBJV2X0WD","skill-kql-queries","[Skill] kql, queries, log analytics, container logs - KQL query templates for Koji container logs, pod errors, restarts, Kubernetes events, build job activity, and node resource usage via Log Analytics.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fskill-kql-queries\u002FSKILL.md",[130,133],{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},[135,136,137,138,139,140,141,92,37,142,35,93,95,143,144,145,146,99,100],"skill kql queries","kql","queries","kubernetes","analytics","logs","templates","log","events","via","activity","errors",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":45},"01M69AWYRJY05J3N3K9PZ0X38H","skill-koji-triage","[Skill] Examine Koji builds, fetch task info and logs from the Koji Web UI, identify failures, and provide root cause analysis. Use when triaging Koji build failures, investigating failed tasks, downloading build logs, or searching for broken packages. Triggers: koji failure, koji build failed, koji task, koji log, koji triage, build failure analysis.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fskill-koji-triage\u002FSKILL.md",[153],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},[109,155,156,157,158,159,160,140,161,162,163,118,142,164,165,31,166,167,100,122,123],"skill koji triage","web","root cause analysis","tasks","packages","ui","analysis","broken","fetch","task","info","failure analysis","web ui",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":175,"publishedAt":45},"01M69AWWNGM4S4DDN6MSXMJ1XY","skill-fedora-mirror-injections","[Skill] Diagnose Azure Linux Stage 1 (bootstrap-mirror) BuildRequires resolution failures and backfill missing RPMs into the prod Fedora updates mirror via the azl-infra injections file. Use when triaging stage-1 \u002F azl4-bootstrap-mirror build failures, finding dependency gaps in the Fedora mirror, deciding whether a failure is a real mirror gap vs a transient timeout or a spec bug, adding entries to azl4-stage1-injections.yaml, or opening a PR with mirror injections. Triggers: bootstrap-mirror, stage 1 build failure, fedora mirror gap, missing BuildRequires, nothing provides crate, no match for argument, injections file, azl4-stage1-injections, mirror injection.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fskill-fedora-mirror-injections\u002FSKILL.md",[174],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},[176,177,178,179,180,111,87,181,182,183,118,184,185,186,187,31,188,189,190,100,191,123],"skill fedora mirror injections","fedora","mirror","spec","linux","pr","bootstrap","injection","dependency","bug","infra","entries","missing","argument","updates","backfill",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":199,"publishedAt":45},"01M69AWTVNFMTX4KQVR6EK62C0","skill-deployment-context","[Skill] deployment context, aks, azure, koji - Resolve Koji AKS deployment context -- resource group, cluster name, subscription, Log Analytics workspace, and monitoring resource names from deployment_summary.yaml when available, or discover them dynamically from Azure.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fskill-deployment-context\u002FSKILL.md",[198],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},[200,201,202,139,87,203,204,90,205,142,119,206,95,30,207,123],"skill deployment context","deployment","context","yaml","monitoring","workspace","discover","cluster"]