License
DevOps & SecuritylicenseLicense is an Agent Skill for devops & security published in the apache/skywalking repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Check and fix Apache 2.0 license headers and dependency licenses using skywalking-eyes. Use before submitting a PR.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/apache/skywalking/blob/HEAD/.claude/skills/license/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/license, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
License Checks
Check and fix license compliance using skywalking-eyes. Two CI jobs use this tool:
- license-header — verifies all source files have Apache 2.0 headers
- dependency-license — verifies the LICENSE file matches current dependencies
Steps
Header check (default, or check argument)
license-eye header check
- All valid: Output shows
valid: N, invalid: 0— nothing to do. - Invalid files found: Fix with
license-eye header fix, then re-check.
Header fix (fix argument)
license-eye header fix
license-eye header check
Dependency license check (deps argument)
This regenerates the LICENSE file from dependency metadata and checks for drift:
license-eye dependency resolve --summary ./dist-material/release-docs/LICENSE.tpl || exit 1
if [ ! -z "$(git diff -U0 ./dist-material/release-docs/LICENSE)" ]; then
echo "LICENSE file is not updated correctly"
git diff -U0 ./dist-material/release-docs/LICENSE
fi
If 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/Windows, the LICENSE diff may be a platform artifact. Verify before committing.
Rules
Configuration is in .licenserc.yaml:
- Java, XML, YAML/YML files require Apache 2.0 headers
- JSON and Markdown files are excluded (JSON doesn't support comments)
- Generated files and certain vendor paths are excluded
- SPI service files (
META-INF/services/) require headers (use#comment style)
Installation
# Same version as CI (pinned commit)
go install github.com/apache/skywalking-eyes/cmd/license-eye@5b7ee1731d036b5aac68f8bd3fc9e6f98ada082e
# Or via Homebrew (macOS)
brew install license-eye