skills/javax-to-jakarta-migration/SKILL.md
Migrate Java code from javax.* to jakarta.* namespace. Use when upgrading to Tomcat 11, Jakarta EE 10, or when javax imports are detected in the codebase.
npx skillsauth add williamlimasilva/.copilot javax-to-jakarta-migrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
javax.* importsSearch the codebase for all javax.* imports that need migration:
javax.servlet.* → jakarta.servlet.*
javax.persistence.* → jakarta.persistence.*
javax.validation.* → jakarta.validation.*
javax.annotation.* → jakarta.annotation.*
javax.inject.* → jakarta.inject.*
javax.enterprise.* → jakarta.enterprise.*
javax.faces.* → jakarta.faces.*
javax.ws.rs.* → jakarta.ws.rs.*
javax.el.* → jakarta.el.*
javax.json.* → jakarta.json.*
javax.mail.* → jakarta.mail.*
javax.websocket.* → jakarta.websocket.*
Do NOT migrate these (they remain in javax.*):
javax.sql.* — part of JDKjavax.naming.* — part of JDK (JNDI)javax.crypto.* — part of JDKjavax.net.* — part of JDKjavax.security.auth.* — part of JDKjavax.swing.*, javax.xml.parsers.* — JDK packagesReplace dependency coordinates:
| Old | New |
|-----|-----|
| javax.servlet:javax.servlet-api | jakarta.servlet:jakarta.servlet-api:6.0.0 |
| javax.persistence:javax.persistence-api | jakarta.persistence:jakarta.persistence-api:3.1.0 |
| javax.validation:validation-api | jakarta.validation:jakarta.validation-api:3.0.2 |
| javax.annotation:javax.annotation-api | jakarta.annotation:jakarta.annotation-api:2.1.1 |
<!-- Old namespace -->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="4.0">
<!-- New namespace -->
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" version="6.0">
Replace all javax. imports with jakarta. equivalents in .java files.
mvn clean compile or gradlew build — fix any compilation errorsmvn test or gradlew test — ensure all tests passjavax.* imports (excluding JDK packages)Provide a migration summary listing all files changed, imports replaced, and any manual steps required.
development
Build production RAG pipelines and persistent agent memory using Pinecone as the vector database backend. ALWAYS USE THIS SKILL when the user mentions Pinecone, wants to index documents for semantic search, build a retrieval-augmented generation system, store agent memory across sessions, implement hybrid search, or connect an LLM to a searchable knowledge base — even if they don't say "Pinecone" explicitly. Also use when the user asks about vector databases for RAG, namespace isolation for multi-tenant agents, embedding pipelines, or scaling a knowledge base beyond what local storage can handle. DO NOT use for local-only vector stores (Chroma, FAISS, pgvector) or pure keyword search with no semantic component.
development
Perform an AWS Well-Architected Framework review of the current workload IaC and architecture, generating findings and GitHub issues for improvements.
devops
Query AWS resources using natural language. Covers EC2, S3, RDS, Lambda, ECS, EKS, Secrets Manager, IAM, VPC, networking, messaging, and more. Strictly read-only — no writes, deletes, or mutations.
devops
Analyze AWS resource health, diagnose issues from CloudWatch logs and metrics, and create a remediation plan for identified problems.