[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ACBG5P0NY2A7AEX89BZNFH":3,"skill-same:01M6ACBG5P0NY2A7AEX89BZNFH":50},{"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":18,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":24,"frontMatter":25,"refName":27,"commitSha":28,"skillDirectory":29,"forksCount":30,"repositoryHtmlUrl":31,"repositoryHomepageUrl":32,"ownerHtmlUrl":33,"ownerBlogUrl":34,"ownerDescription":6,"updatedAt":35,"install":36,"resources":49},"01M6ACBG5P0NY2A7AEX89BZNFH","license",null,"Check and fix Apache 2.0 license headers and dependency licenses using skywalking-eyes. Use before submitting a PR.","apache\u002Fskywalking","apache","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47359?v=4","01M6AC83E6K4FDKK7HZ8WNMQKE","The Apache Software Foundation","01M6ACB19NRCBY51M74TPEM71Y",25002,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Flicense\u002FSKILL.md",[],[5,19,9,20],"pr","skywalking","2026-11-10 10:12:30",false,"---\nname: license\ndescription: Check and fix Apache 2.0 license headers and dependency licenses using skywalking-eyes. Use before submitting a PR.\nargument-hint: \"[check|fix|deps]\"\n---\n\n# License Checks\n\nCheck and fix license compliance using [skywalking-eyes](https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking-eyes). Two CI jobs use this tool:\n\n1. **license-header** — verifies all source files have Apache 2.0 headers\n2. **dependency-license** — verifies the LICENSE file matches current dependencies\n\n## Steps\n\n### Header check (default, or `check` argument)\n\n```bash\nlicense-eye header check\n```\n\n- **All valid**: Output shows `valid: N, invalid: 0` — nothing to do.\n- **Invalid files found**: Fix with `license-eye header fix`, then re-check.\n\n### Header fix (`fix` argument)\n\n```bash\nlicense-eye header fix\nlicense-eye header check\n```\n\n### Dependency license check (`deps` argument)\n\nThis regenerates the LICENSE file from dependency metadata and checks for drift:\n\n```bash\nlicense-eye dependency resolve --summary .\u002Fdist-material\u002Frelease-docs\u002FLICENSE.tpl || exit 1\nif [ ! -z \"$(git diff -U0 .\u002Fdist-material\u002Frelease-docs\u002FLICENSE)\" ]; then\n  echo \"LICENSE file is not updated correctly\"\n  git diff -U0 .\u002Fdist-material\u002Frelease-docs\u002FLICENSE\nfi\n```\n\nIf the LICENSE file changed, review the diff and commit it. **Important**: CI runs on Linux — some dependencies have platform-specific variants. If you're on macOS\u002FWindows, the LICENSE diff may be a platform artifact. Verify before committing.\n\n## Rules\n\nConfiguration is in `.licenserc.yaml`:\n- Java, XML, YAML\u002FYML files require Apache 2.0 headers\n- JSON and Markdown files are excluded (JSON doesn't support comments)\n- Generated files and certain vendor paths are excluded\n- SPI service files (`META-INF\u002Fservices\u002F`) require headers (use `#` comment style)\n\n## Installation\n\n```bash\n# Same version as CI (pinned commit)\ngo install github.com\u002Fapache\u002Fskywalking-eyes\u002Fcmd\u002Flicense-eye@5b7ee1731d036b5aac68f8bd3fc9e6f98ada082e\n\n# Or via Homebrew (macOS)\nbrew install license-eye\n```\n","# License Checks\n\nCheck and fix license compliance using [skywalking-eyes](https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking-eyes). Two CI jobs use this tool:\n\n1. **license-header** — verifies all source files have Apache 2.0 headers\n2. **dependency-license** — verifies the LICENSE file matches current dependencies\n\n## Steps\n\n### Header check (default, or `check` argument)\n\n```bash\nlicense-eye header check\n```\n\n- **All valid**: Output shows `valid: N, invalid: 0` — nothing to do.\n- **Invalid files found**: Fix with `license-eye header fix`, then re-check.\n\n### Header fix (`fix` argument)\n\n```bash\nlicense-eye header fix\nlicense-eye header check\n```\n\n### Dependency license check (`deps` argument)\n\nThis regenerates the LICENSE file from dependency metadata and checks for drift:\n\n```bash\nlicense-eye dependency resolve --summary .\u002Fdist-material\u002Frelease-docs\u002FLICENSE.tpl || exit 1\nif [ ! -z \"$(git diff -U0 .\u002Fdist-material\u002Frelease-docs\u002FLICENSE)\" ]; then\n  echo \"LICENSE file is not updated correctly\"\n  git diff -U0 .\u002Fdist-material\u002Frelease-docs\u002FLICENSE\nfi\n```\n\nIf the LICENSE file changed, review the diff and commit it. **Important**: CI runs on Linux — some dependencies have platform-specific variants. If you're on macOS\u002FWindows, the LICENSE diff may be a platform artifact. Verify before committing.\n\n## Rules\n\nConfiguration is in `.licenserc.yaml`:\n- Java, XML, YAML\u002FYML files require Apache 2.0 headers\n- JSON and Markdown files are excluded (JSON doesn't support comments)\n- Generated files and certain vendor paths are excluded\n- SPI service files (`META-INF\u002Fservices\u002F`) require headers (use `#` comment style)\n\n## Installation\n\n```bash\n# Same version as CI (pinned commit)\ngo install github.com\u002Fapache\u002Fskywalking-eyes\u002Fcmd\u002Flicense-eye@5b7ee1731d036b5aac68f8bd3fc9e6f98ada082e\n\n# Or via Homebrew (macOS)\nbrew install license-eye\n```\n",{"name":5,"description":7,"argument-hint":26},"[check|fix|deps]","master","f4d38fdc21e5a929ef89556a1d7c337957523aa9",".claude\u002Fskills\u002Flicense",6628,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking","https:\u002F\u002Fskywalking.apache.org\u002F","https:\u002F\u002Fgithub.com\u002Fapache","https:\u002F\u002Fwww.apache.org\u002F","2026-11-11 08:56:29",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add apache\u002Fskywalking --skill license",{"tool":42,"command":43},"bunx","bunx skills add apache\u002Fskywalking --skill license",{"tool":45,"command":46},"pnpm","pnpm dlx skills add apache\u002Fskywalking --skill license","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Flicense\u002FSKILL.md",true,[],[51,67,77,93,103,119],{"skillNo":52,"name":53,"nameZh":6,"description":54,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":62,"publishedAt":21},"01M6ACBTY89EEM81A0WWN0QQT3","test","Run unit tests, integration tests, or slow integration tests matching CI. Use to validate changes before submitting a PR.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftest\u002FSKILL.md",[57],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[53,63,64,19,65,66],"run","unit tests","validate","integration tests",{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":74,"publishedAt":21},"01M6ACBRBNXZ57EN1G8GREKFY5","run-e2e","Run SkyWalking E2E tests locally","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Frun-e2e\u002FSKILL.md",[73],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},[63,75,76,20,53],"run e2e","e2e tests",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":89,"publishedAt":21},"01M6ACBNH0HSYFX2K9CYJSPAVM","package","Rebuild the SkyWalking distribution and OAP Docker image after source changes. Use before running e2e tests so the image reflects your code changes. Avoids the \"image looks updated but runtime has stale jars\" trap.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fpackage\u002FSKILL.md",[83,86],{"categoryNo":84,"categoryName":85,"taxonomyType":60,"taxonomyTypeDesc":61},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":87,"categoryName":88,"taxonomyType":60,"taxonomyTypeDesc":61},"01JBSEEDCAT000000000000016","图像与多媒体",[79,76,90,91,92,20],"code","image","docker",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":21},"01M6ACBJQMZV0S42P4WMCFFPGP","new-monitoring-feature","Add a new monitoring target \u002F layer to SkyWalking OAP. Orients you to the OAL \u002F MAL \u002F LAL \u002F TAL \u002F SpanListener extension points, the UI template + submodule touchpoints, the docs set that must move together, and the cross-cutting traps that don't live in any one skill.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fnew-monitoring-feature\u002FSKILL.md",[],[100,101,102,20],"new monitoring feature","extension points","docs",{"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":112,"publishedAt":21},"01M6ACBDKKTXZ8Y36YHBADT8JA","gh-pull-request","Verify, commit, and push changes on a PR branch. Runs pre-flight checks (compile, checkstyle, license headers) before every push. Also creates the PR if one doesn't exist yet.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fgh-pull-request\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":60,"taxonomyTypeDesc":61},"01JBSEEDCAT000000000000007","代码审查",[113,114,115,116,117,19,118],"pull request","gh pull request","pull","commit","compile","push",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":21},"01M6ACBB39DNW4G2SR836V0RA8","generate-classes","Generate bytecode classes from DSL scripts (MAL, OAL, LAL, Hierarchy). Runs the compiler and dumps .class files for inspection.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fskywalking\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fgenerate-classes\u002FSKILL.md",[],[126,127],"generate","generate classes"]