[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69AW8MZAHAZ9GPFSYRJDBGY":3,"skill-same:01M69AW8MZAHAZ9GPFSYRJDBGY":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},"01M69AW8MZAHAZ9GPFSYRJDBGY","azldev-build-component",null,"Read this before building a component or diagnosing a build failure; do not guess build flags or the inner loop. Explains how to build, iterate on, and debug an azldev component, covering comp build flags (local-repo, preserve-buildenv), the render\u002Fbuild\u002Ftest inner loop, diff-sources, and disabling a failing %check via check.skip. Triggers include build component, build failed, build error, inner loop, preserve buildenv, local repo, disable check.","microsoft\u002Fazurelinux","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AVY9Y3D59ZBRVNKRJ851E",5362,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fazldev-build-component\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"component","azldev build component","azldev","build","failing","test","inner","iterate","render","error","comp","sources","how to","triggers","local","do","diff","before building","repo","loop","debug","2026-11-10 10:12:30",false,"---\nname: azldev-build-component\ndescription: \"Read this before building a component or diagnosing a build failure; do not guess build flags or the inner loop. Explains how to build, iterate on, and debug an azldev component, covering comp build flags (local-repo, preserve-buildenv), the render\u002Fbuild\u002Ftest inner loop, diff-sources, and disabling a failing %check via check.skip. Triggers include build component, build failed, build error, inner loop, preserve buildenv, local repo, disable check.\"\n---\n\n# Build and debug a component\n\n**Never install built RPMs on your host** — they target the distro, not your dev\nmachine. Test them in a chroot with the `azldev-mock` skill. Building and testing are separate\nsteps: `azldev comp build` produces RPMs; it does not test them.\n\n## Build\n\n```sh\nazldev comp build -p \u003Cname>                                     # one component\nazldev comp build -p \u003Ca> -p \u003Cb> --local-repo-with-publish \u003Cdir> # chain deps via a local repo\nazldev comp build -p \u003Cname> --local-repo \u003Cdir>                  # rebuild against a populated repo\n```\n\nBuild foundational packages before their dependents. RPMs land in the project's\nconfigured output directory (`out` by default). `-q` quiets output but hides build\nprogress — use it only for inner-loop builds you expect to succeed.\n\n## The inner loop\n\ninvestigate → modify → render → build → test → inspect\n\n| Step | Command |\n| --- | --- |\n| Investigate | read the rendered spec under `specs\u002F`, or `azldev comp diff-sources -p \u003Cname>` |\n| Modify | edit the component's `.comp.toml` (see the `azldev-overlays` and `azldev-comp-toml` skills) |\n| Verify | `azldev comp render -p \u003Cname>` (fast — skips source tarballs) |\n| Build | `azldev comp build -p \u003Cname>` |\n| Test | `azldev adv mock shell --add-package \u003Crpm>` (see the `azldev-mock` skill) |\n| Inspect | `azldev comp build -p \u003Cname> --preserve-buildenv always`, then a mock shell |\n\nPrefer `comp render` for quick overlay verification; use `comp diff-sources` to see the\nexact overlay effect (it fetches sources once, applies overlays to a copy, and diffs the\ntwo trees). Builds can be slow — set generous timeouts.\n\nFinalize with `azldev comp update -p \u003Cname>` before opening a PR (see the\n`azldev-update-component` skill).\n\n## Debugging build failures\n\n1. **Render error mentioning a non-standard `Release` tag** — a release-calculation\n   issue; see the `azldev-comp-toml` skill.\n2. **Preview error mentioning `rpmdev-bumpspec`, `rpmdev-packager`, `rpm`, `rpmspec`,\n   `python3`, or the Python RPM module** — this applies only when you explicitly use\n   the temporary `--rpmdev-bumpspec` preview. Provision the named prerequisite for\n   that opt-in path. Without the flag, azldev keeps the legacy static Release calculation.\n3. **Overlay did not apply as expected** — `azldev comp diff-sources -p \u003Cname>` shows\n   what the overlays actually change.\n4. **Inspect the build environment** — `azldev comp build -p \u003Cname> --preserve-buildenv\n   on-failure` (values `on-failure`, `always`, `never`), then enter a mock shell.\n5. **Failing `%check`** — fix the tests first (root cause, upstream patches, targeted\n   fixes). Only as a last resort, disable with `build.check.skip = true` and a required\n   `build.check.skip_reason` explaining what fails, why it cannot be fixed, and whether it\n   is temporary. A transient `--no-check` build flag exists for one-off local builds.\n\nPer-component build tweaks (`build.defines`, `build.without`) live in the `.comp.toml` —\nsee the `azldev-comp-toml` skill.\n\nGenerated by `azldev docs agent`; do not hand-edit.\n","# Build and debug a component\n\n**Never install built RPMs on your host** — they target the distro, not your dev\nmachine. Test them in a chroot with the `azldev-mock` skill. Building and testing are separate\nsteps: `azldev comp build` produces RPMs; it does not test them.\n\n## Build\n\n```sh\nazldev comp build -p \u003Cname>                                     # one component\nazldev comp build -p \u003Ca> -p \u003Cb> --local-repo-with-publish \u003Cdir> # chain deps via a local repo\nazldev comp build -p \u003Cname> --local-repo \u003Cdir>                  # rebuild against a populated repo\n```\n\nBuild foundational packages before their dependents. RPMs land in the project's\nconfigured output directory (`out` by default). `-q` quiets output but hides build\nprogress — use it only for inner-loop builds you expect to succeed.\n\n## The inner loop\n\ninvestigate → modify → render → build → test → inspect\n\n| Step | Command |\n| --- | --- |\n| Investigate | read the rendered spec under `specs\u002F`, or `azldev comp diff-sources -p \u003Cname>` |\n| Modify | edit the component's `.comp.toml` (see the `azldev-overlays` and `azldev-comp-toml` skills) |\n| Verify | `azldev comp render -p \u003Cname>` (fast — skips source tarballs) |\n| Build | `azldev comp build -p \u003Cname>` |\n| Test | `azldev adv mock shell --add-package \u003Crpm>` (see the `azldev-mock` skill) |\n| Inspect | `azldev comp build -p \u003Cname> --preserve-buildenv always`, then a mock shell |\n\nPrefer `comp render` for quick overlay verification; use `comp diff-sources` to see the\nexact overlay effect (it fetches sources once, applies overlays to a copy, and diffs the\ntwo trees). Builds can be slow — set generous timeouts.\n\nFinalize with `azldev comp update -p \u003Cname>` before opening a PR (see the\n`azldev-update-component` skill).\n\n## Debugging build failures\n\n1. **Render error mentioning a non-standard `Release` tag** — a release-calculation\n   issue; see the `azldev-comp-toml` skill.\n2. **Preview error mentioning `rpmdev-bumpspec`, `rpmdev-packager`, `rpm`, `rpmspec`,\n   `python3`, or the Python RPM module** — this applies only when you explicitly use\n   the temporary `--rpmdev-bumpspec` preview. Provision the named prerequisite for\n   that opt-in path. Without the flag, azldev keeps the legacy static Release calculation.\n3. **Overlay did not apply as expected** — `azldev comp diff-sources -p \u003Cname>` shows\n   what the overlays actually change.\n4. **Inspect the build environment** — `azldev comp build -p \u003Cname> --preserve-buildenv\n   on-failure` (values `on-failure`, `always`, `never`), then enter a mock shell.\n5. **Failing `%check`** — fix the tests first (root cause, upstream patches, targeted\n   fixes). Only as a last resort, disable with `build.check.skip = true` and a required\n   `build.check.skip_reason` explaining what fails, why it cannot be fixed, and whether it\n   is temporary. A transient `--no-check` build flag exists for one-off local builds.\n\nPer-component build tweaks (`build.defines`, `build.without`) live in the `.comp.toml` —\nsee the `azldev-comp-toml` skill.\n\nGenerated by `azldev docs agent`; do not hand-edit.\n",{"name":5,"description":7},"4.0","431ad36a7a827e8ec414e96ae75517ec1ded115d",".agents\u002Fskills\u002Fazldev-build-component",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-11 08:47:36",{"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-build-component",{"tool":65,"command":66},"bunx","bunx skills add microsoft\u002Fazurelinux --skill azldev-build-component",{"tool":68,"command":69},"pnpm","pnpm dlx skills add microsoft\u002Fazurelinux --skill azldev-build-component","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazurelinux\u002Fblob\u002F4.0\u002F.agents\u002Fskills\u002Fazldev-build-component\u002FSKILL.md",true,[],[74,103,126,150,171,195],{"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":85,"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":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"skill metrics","metrics","memory","azure","monitor","azure-monitor","aks","disk","node","query","azure monitor","false","readiness","CPU","disk usage","usage","for",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"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",[109],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[111,112,113,114,115,116,117,118,119,120,27,121,37,122,123,124,125],"triage","skill mass triage","diagnose","produce","batch","file","json","parallel","results","use","summary","with","root","root cause","when",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":136,"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",[132,135],{"categoryNo":133,"categoryName":134,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[137,138,139,140,141,142,143,94,144,145,27,95,97,146,147,148,149,101,102],"skill kql queries","kql","queries","kubernetes","analytics","logs","templates","container","log","events","via","activity","errors",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"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",[156],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[111,158,159,160,161,162,163,142,164,165,166,120,145,167,168,37,169,170,102,124,125],"skill koji triage","web","root cause analysis","tasks","packages","ui","analysis","broken","fetch","task","info","failure analysis","web ui",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"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",[177],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[179,180,181,182,183,113,89,184,185,186,120,187,188,189,190,37,191,192,193,102,194,125],"skill fedora mirror injections","fedora","mirror","spec","linux","pr","bootstrap","injection","dependency","bug","infra","entries","missing","argument","updates","backfill",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"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",[201],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[203,204,205,141,89,206,207,92,208,145,121,209,97,210,211,125],"skill deployment context","deployment","context","yaml","monitoring","workspace","discover","name","cluster"]