From java-instrumentation
Use this skill whenever the user needs to build, run, or deploy a Spring Boot application before instrumenting it with Datadog APM. Triggers on mentions of Spring Boot setup, Java application deployment, building a Spring Boot JAR, deploying Spring Boot to Kubernetes, or running a Spring Boot app in Docker. Also applies when the user needs to prepare a Java application for Datadog APM instrumentation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/java-instrumentation:setup-springbootThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build and deploy a Spring Boot 3.5.9 REST API application. Provides the foundation for Datadog APM instrumentation (see `springboot-dd-tracer` skill).
Build and deploy a Spring Boot 3.5.9 REST API application. Provides the foundation for Datadog APM instrumentation (see springboot-dd-tracer skill).
The sample application provides three REST API endpoints with different logging destinations and random HTTP status codes (30% 2XX, 40% 4XX, 30% 5XX). See ../springboot-dd-tracer/README.md for the full application documentation.
kubectl (for Kubernetes deployment)The full application source and documentation is in ../springboot-dd-tracer/references/. Key steps:
cd ../springboot-dd-tracer/references/
./mvnw clean package
./mvnw spring-boot:run
The application starts on http://localhost:8080.
cd ../springboot-dd-tracer/references/
docker build -t springboot3dot5dot9-sandbox:0.0.1-SNAPSHOT .
docker run -p 8080:8080 springboot3dot5dot9-sandbox:0.0.1-SNAPSHOT
cd ../springboot-dd-tracer/references/
# Build for linux/amd64 and push to registry
docker buildx build --platform linux/amd64 \
-t <REGISTRY>/springboot3dot5dot9-sandbox:0.0.1-SNAPSHOT --push .
# Deploy
kubectl apply -f k8s/
kubectl rollout status deployment/springboot3dot5dot9-sandbox
# GET endpoint
curl http://localhost:8080/api/data
# POST endpoint
curl -X POST http://localhost:8080/api/submit \
-H "Content-Type: application/json" \
-d '{"key": "test"}'
# PUT endpoint
curl -X PUT http://localhost:8080/api/update -v
# Verify app is running
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/actuator/health
# Expected: 200
# Verify all three endpoints respond
curl -s http://localhost:8080/api/data | head -1
# Expected: JSON response with randomNumber, loremIpsum, statusCode
# For Kubernetes: verify pods are ready
kubectl get pods -l app=springboot3dot5dot9-sandbox
kubectl rollout status deployment/springboot3dot5dot9-sandbox
Cause: Another process is using port 8080.
Fix: lsof -i :8080 to find it, then kill or change port in application.properties.
Cause: Wrong Java version or corrupted cache.
Fix: Verify java -version shows 17.x, then ./mvnw clean and retry.
Cause: JVM startup exceeds probe timeout, or image pull failure.
Fix: Check logs: kubectl logs -l app=springboot3dot5dot9-sandbox. The startup probe allows up to 70s for JVM boot.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub jek-bao-choo/datadog-agentic-plugins --plugin java-instrumentation