Skip to content
cccskills
FreePublished on GitHubEnglish overview

generate-classes

Compile SkyWalking DSL scripts for MAL, OAL, LAL, or Hierarchy and save the generated .class files for inspection. Choose one DSL or generate classes for all four, then locate the output and use javap to examine bytecode.

OriginalShow the original description

Generate bytecode classes from DSL scripts (MAL, OAL, LAL, Hierarchy). Runs the compiler and dumps .class files for inspection.

apache/skywalking24,978 stars(GitHub 24,978 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Inspecting classes generated from MAL expressions
  • Examining OAL metrics or dispatcher bytecode
  • Generating LAL or Hierarchy classes for debugging
  • Producing class files for all supported DSLs

Overview

What it does

This skill compiles SkyWalking DSL scripts for MAL, OAL, LAL, or Hierarchy and writes the generated .class files to disk for inspection. You can select one DSL with an argument or use all to generate classes for all four in sequence. For each target, the skill runs the corresponding Maven test command and provides the output directory. To examine the generated bytecode, it shows how to use javap -c -p on a class file.

When it helps

Use it when you want to see how a DSL definition becomes Java classes or investigate compiler output. You can focus on MAL expressions, OAL metrics, dispatchers and builders, LAL filters and extractors, or Hierarchy rules.

Example requests

  • “Generate the MAL classes and tell me where they were saved.”
  • “Generate and inspect the OAL dispatcher classes.”
  • “Generate class files for all four DSLs.”

Notes

Generation requires Maven Wrapper and running the test associated with the selected DSL. Files are written to the specified test resources or target directories. The skill also documents a Maven clean command for removing generated classes.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
BPartly lackingTests create files and Maven clean removes them; no confirmation step is described.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingMaven Wrapper is required; other prerequisites such as the JDK are not stated.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 29, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md1.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Generate DSL Classes

Run the v2 compiler (ANTLR4 + Javassist) to generate bytecode classes from DSL scripts and dump .class files to disk for inspection.

Commands by argument

mal — MAL expression classes

./mvnw test -pl oap-server/analyzer/dsl-scripts-test \
  -Dtest=MALExpressionExecutionTest -DfailIfNoTests=false -Dcheckstyle.skip

Output location: oap-server/analyzer/dsl-scripts-test/src/test/resources/scripts/mal/**/*.generated-classes/

oal — OAL metrics/dispatcher/builder classes

./mvnw test -pl oap-server/oal-rt \
  -Dtest=RuntimeOALGenerationTest -DfailIfNoTests=false -Dcheckstyle.skip

Output location: oap-server/oal-rt/target/test-classes/metrics/, metrics/builder/, dispatcher/

lal — LAL filter/extractor classes

./mvnw test -pl oap-server/analyzer/dsl-scripts-test \
  -Dtest=LALExpressionExecutionTest -DfailIfNoTests=false -Dcheckstyle.skip

Output location: oap-server/analyzer/dsl-scripts-test/src/test/resources/scripts/lal/**/*.generated-classes/

hierarchy — Hierarchy rule classes

./mvnw test -pl oap-server/analyzer/dsl-scripts-test \
  -Dtest=HierarchyRuleExecutionTest -DfailIfNoTests=false -Dcheckstyle.skip

Output location: oap-server/analyzer/dsl-scripts-test/src/test/resources/scripts/hierarchy-rule/*.generated-classes/

all or no argument — generate all DSLs

Run all four commands above sequentially.

After generation

Print the output location for the requested DSL so the user knows where to find the generated .class files. Use javap to decompile:

javap -c -p <path-to-class-file>

Cleaning generated classes

./mvnw clean -pl oap-server/analyzer/dsl-scripts-test

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ci-e2e-debug

FreeSummary

Use this skill to investigate failed end-to-end tests in GitHub Actions. It downloads the run’s log artifacts, checks OAP and other component logs for errors, and summarizes the likely root cause, including failures in standalone test tools.

  • Investigating a failed GitHub Actions E2E run
  • Checking OAP and component logs for errors
  • Tracing failures in standalone test tools
apache/skywalking25KUpdated Oct 29, 2026

compile

FreeSummary

Validate SkyWalking OAP changes by building the backend or full project and running Javadoc and Checkstyle checks. Choose commands for a full CI-style build, a faster backend build, one check, or a single module before submitting a pull request.

  • Running a full build before a PR
  • Checking Javadoc output and errors
  • Building one backend module
apache/skywalking25KUpdated Oct 29, 2026

gh-pull-request

FreeSummary

Prepare a pull request branch by running the documented build, style, license-header, and Java import checks, then committing and pushing the changes. If the branch has no pull request yet, create one using the project template.

  • Preparing checked changes for a pull request
  • Pushing commits from a feature branch
  • Creating a pull request from the current branch
apache/skywalking25KUpdated Oct 29, 2026

license

FreeSummary

Check whether source files carry the required Apache 2.0 headers and whether the dependency license file matches current dependencies. Use the provided commands to fix headers or regenerate the license list, then review any changes before submitting a pull request.

  • Checking Apache license headers before a PR
  • Fixing missing or invalid source headers
  • Reviewing dependency license changes
apache/skywalking25KUpdated Oct 29, 2026

Plan how to add a monitoring target or layer to SkyWalking OAP. The guide maps signals such as metrics, logs, and spans to extension points, and identifies related layer registration, UI templates, documentation, and local verification work.

  • Planning a new SkyWalking monitoring layer
  • Choosing an extension point for metrics or logs
  • Identifying UI and documentation updates
apache/skywalking25KUpdated Oct 29, 2026

package

FreeSummary

Rebuild SkyWalking’s distribution and OAP Docker image after source changes, choosing a command sequence that includes the updated JARs. It also explains how to inspect the image contents before running end-to-end tests.

  • Rebuilding an OAP image after Java source changes
  • Updating the distribution package before Docker builds
  • Checking that a fix reached the image before E2E tests
apache/skywalking25KUpdated Oct 29, 2026

See all skills by apache

Report a problem with this skill