Write a new library instrumentation end-to-end. Use when the user ask to add a new APM integration or a library instrumentation.
InstrumenterModule setup conventions
@AutoService annotation
100%
100%
ForSingleType preference
100%
100%
No static constants for one-shot methods
100%
100%
helperClassNames declared
100%
100%
classLoaderMatcher present
0%
0%
Narrow method matchers
100%
100%
compileOnly dependency
100%
100%
muzzle pass block
100%
100%
assertInverse = true
100%
100%
settings.gradle.kts entry
90%
100%
Advice class and Decorator conventions
Static advice methods
100%
100%
OnMethodEnter suppress
100%
100%
OnMethodExit suppress + onThrowable
100%
100%
@Advice.Local for span/scope
0%
100%
CallDepthThreadLocalMap usage
0%
100%
Enter span lifecycle order
20%
100%
Exit span lifecycle order
60%
100%
No logger in Advice
100%
100%
No lambdas in advice methods
100%
100%
UTF8BytesString in Decorator
100%
100%
Tag/error logic in Decorator
100%
100%
Test suite and muzzle build config
Extends InstrumentationSpecification
0%
0%
Test file in groovy directory
100%
100%
TEST_WRITER.waitForTraces
0%
100%
runUnderTrace usage
0%
100%
muzzle pass block present
100%
100%
assertInverse = true in muzzle
100%
100%
latestDepTestLibrary in build.gradle
100%
100%
Test verifies span properties
100%
100%
4ee2247
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.