[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CSQYACSS3PBYZDEG3WDNPQ":3,"skill-same:01M7CSQYACSS3PBYZDEG3WDNPQ":48},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":14,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M7CSQYACSS3PBYZDEG3WDNPQ","quarkus-verification",null,"Verification loop for Quarkus projects: build, static analysis, tests with coverage, security scans, native compilation, and diff review before release or PR.","Henrique1601\u002FSkiilsToIAs","Henrique1601","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F92006691?v=4","01M7CRXVT0GVXVK80JT1GR687S","Henrique Bezerra Dos Santos","01M7CRXVTN5Y8TMWJ1MDSKCQ1T",0,"MIT","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Fbackend-database\u002Fquarkus-verification\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: quarkus-verification\ndescription: \"Verification loop for Quarkus projects: build, static analysis, tests with coverage, security scans, native compilation, and diff review before release or PR.\"\nmetadata:\n  origin: ECC\n---\n\n# Quarkus Verification Loop\n\nRun before PRs, after major changes, and pre-deploy.\n\n## When to Activate\n\n- Before opening a pull request for a Quarkus service\n- After major refactoring or dependency upgrades\n- Pre-deployment verification for staging or production\n- Running full build → lint → test → security scan → native compilation pipeline\n- Validating test coverage meets thresholds (80%+)\n- Testing native image compatibility\n\n## Phase 1: Build\n\n```bash\n# Maven\nmvn clean verify -DskipTests\n\n# Gradle\n.\u002Fgradlew clean assemble -x test\n```\n\nIf build fails, stop and fix compilation errors.\n\n## Phase 2: Static Analysis\n\n### Checkstyle, PMD, SpotBugs (Maven)\n\n```bash\nmvn checkstyle:check pmd:check spotbugs:check\n```\n\n### SonarQube (if configured)\n\n```bash\nmvn sonar:sonar \\\n  -Dsonar.projectKey=my-quarkus-project \\\n  -Dsonar.host.url=http:\u002F\u002Flocalhost:9000 \\\n  -Dsonar.login=${SONAR_TOKEN}\n```\n\n### Common Issues to Address\n\n- Unused imports or variables\n- Complex methods (high cyclomatic complexity)\n- Potential null pointer dereferences\n- Security issues flagged by SpotBugs\n\n## Phase 3: Tests + Coverage\n\n```bash\n# Run all tests\nmvn clean test\n\n# Generate coverage report\nmvn jacoco:report\n\n# Enforce coverage threshold (80%)\nmvn jacoco:check\n\n# Or with Gradle\n.\u002Fgradlew test jacocoTestReport jacocoTestCoverageVerification\n```\n\n### Test Categories\n\n#### Unit Tests\nTest service logic with mocked dependencies:\n\n```java\n@ExtendWith(MockitoExtension.class)\nclass UserServiceTest {\n  @Mock UserRepository userRepository;\n  @InjectMocks UserService userService;\n\n  @Test\n  void createUser_validInput_returnsUser() {\n    var dto = new CreateUserDto(\"Alice\", \"alice@example.com\");\n\n    \u002F\u002F Panache persist() is void — use doNothing + verify\n    doNothing().when(userRepository).persist(any(User.class));\n\n    User result = userService.create(dto);\n\n    assertThat(result.name).isEqualTo(\"Alice\");\n    verify(userRepository).persist(any(User.class));\n  }\n}\n```\n\n#### Integration Tests\nTest with real database (Testcontainers):\n\n```java\n@QuarkusTest\n@QuarkusTestResource(PostgresTestResource.class)\nclass UserRepositoryIntegrationTest {\n\n  @Inject\n  UserRepository userRepository;\n\n  @Test\n  @Transactional\n  void findByEmail_existingUser_returnsUser() {\n    User user = new User();\n    user.name = \"Alice\";\n    user.email = \"alice@example.com\";\n    userRepository.persist(user);\n\n    Optional\u003CUser> found = userRepository.findByEmail(\"alice@example.com\");\n\n    assertThat(found).isPresent();\n    assertThat(found.get().name).isEqualTo(\"Alice\");\n  }\n}\n```\n\n#### API Tests\nTest REST endpoints with REST Assured:\n\n```java\n@QuarkusTest\nclass UserResourceTest {\n\n  @Test\n  void createUser_validInput_returns201() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"alice@example.com\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(201)\n        .body(\"name\", equalTo(\"Alice\"));\n  }\n\n  @Test\n  void createUser_invalidEmail_returns400() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"invalid\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(400);\n  }\n}\n```\n\n### Coverage Report\n\nCheck `target\u002Fsite\u002Fjacoco\u002Findex.html` for detailed coverage:\n- Overall line coverage (target: 80%+)\n- Branch coverage (target: 70%+)\n- Identify uncovered critical paths\n\n## Phase 4: Security Scanning\n\n### Dependency Vulnerabilities (Maven)\n\n```bash\nmvn org.owasp:dependency-check-maven:check\n```\n\nReview `target\u002Fdependency-check-report.html` for CVEs.\n\n### Quarkus Security Audit\n\n```bash\n# Check vulnerable extensions\nmvn quarkus:audit\n\n# List all extensions\nmvn quarkus:list-extensions\n```\n\n### OWASP ZAP (API Security Testing)\n\n```bash\ndocker run -t owasp\u002Fzap2docker-stable zap-api-scan.py \\\n  -t http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi \\\n  -f openapi\n```\n\n### Common Security Checks\n\n- [ ] All secrets in environment variables (not in code)\n- [ ] Input validation on all endpoints\n- [ ] Authentication\u002Fauthorization configured\n- [ ] CORS properly configured\n- [ ] Security headers set\n- [ ] Passwords hashed with BCrypt\n- [ ] SQL injection protection (parameterized queries)\n- [ ] Rate limiting on public endpoints\n\n## Phase 5: Native Compilation\n\nTest GraalVM native image compatibility:\n\n```bash\n# Build native executable\nmvn package -Dnative\n\n# Or with container\nmvn package -Dnative -Dquarkus.native.container-build=true\n\n# Test native executable\n.\u002Ftarget\u002F*-runner\n\n# Run basic smoke tests\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n```\n\n### Native Image Troubleshooting\n\nCommon issues:\n- **Reflection**: Add reflection config for dynamic classes\n- **Resources**: Include resources with `quarkus.native.resources.includes`\n- **JNI**: Register JNI classes if using native libraries\n\nExample reflection config:\n```java\n@RegisterForReflection(targets = {MyDynamicClass.class})\npublic class ReflectionConfiguration {}\n```\n\n## Phase 6: Performance Testing\n\n### Load Testing with K6\n\n```javascript\n\u002F\u002F load-test.js\nimport http from 'k6\u002Fhttp';\nimport { check } from 'k6';\n\nexport const options = {\n  stages: [\n    { duration: '30s', target: 50 },\n    { duration: '1m', target: 100 },\n    { duration: '30s', target: 0 },\n  ],\n};\n\nexport default function () {\n  const res = http.get('http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fmarkets');\n  check(res, {\n    'status is 200': (r) => r.status === 200,\n    'response time \u003C 200ms': (r) => r.timings.duration \u003C 200,\n  });\n}\n```\n\nRun:\n```bash\nk6 run load-test.js\n```\n\n### Metrics to Monitor\n\n- Response time (p50, p95, p99)\n- Throughput (requests\u002Fsec)\n- Error rate\n- Memory usage\n- CPU usage\n\n## Phase 7: Health Checks\n\n```bash\n# Liveness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\n\n# Readiness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n\n# All health checks\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\n\n# Metrics (if enabled)\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fmetrics\n```\n\nExpected responses:\n```json\n{\n  \"status\": \"UP\",\n  \"checks\": [\n    {\n      \"name\": \"Database connection\",\n      \"status\": \"UP\"\n    }\n  ]\n}\n```\n\n## Phase 8: Container Image Build\n\n```bash\n# Build container image\nmvn package -Dquarkus.container-image.build=true\n\n# Or with specific registry\nmvn package \\\n  -Dquarkus.container-image.build=true \\\n  -Dquarkus.container-image.registry=docker.io \\\n  -Dquarkus.container-image.group=myorg \\\n  -Dquarkus.container-image.tag=1.0.0\n\n# Test container\ndocker run -p 8080:8080 myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n### Container Security Scan\n\n```bash\n# Trivy\ntrivy image myorg\u002Fmy-quarkus-app:1.0.0\n\n# Grype\ngrype myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n## Phase 9: Configuration Validation\n\n```bash\n# Check all configuration properties\nmvn quarkus:info\n\n# List all config sources\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fdev\u002Fio.quarkus.quarkus-vertx-http\u002Fconfig\n```\n\n### Environment-Specific Checks\n\n- [ ] Database URLs configured per environment\n- [ ] Secrets externalized (Vault, env vars)\n- [ ] Logging levels appropriate\n- [ ] CORS origins set correctly\n- [ ] Rate limiting configured\n- [ ] Monitoring\u002Ftracing enabled\n\n## Phase 10: Documentation Review\n\n- [ ] OpenAPI\u002FSwagger docs up to date (`\u002Fq\u002Fswagger-ui`)\n- [ ] README has setup instructions\n- [ ] API changes documented\n- [ ] Migration guide for breaking changes\n- [ ] Configuration properties documented\n\nGenerate OpenAPI spec:\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi -o openapi.json\n```\n\n## Verification Checklist\n\n### Code Quality\n- [ ] Build passes without warnings\n- [ ] Static analysis clean (no high\u002Fmedium issues)\n- [ ] Code follows team conventions\n- [ ] No commented-out code or TODOs in PR\n\n### Testing\n- [ ] All tests pass\n- [ ] Code coverage ≥ 80%\n- [ ] Integration tests with real database\n- [ ] Security tests pass\n- [ ] Performance within acceptable limits\n\n### Security\n- [ ] No dependency vulnerabilities\n- [ ] Authentication\u002Fauthorization tested\n- [ ] Input validation complete\n- [ ] Secrets not in source code\n- [ ] Security headers configured\n\n### Deployment\n- [ ] Native compilation successful\n- [ ] Container image builds\n- [ ] Health checks respond correctly\n- [ ] Configuration valid for target environment\n\n### Native Image\n- [ ] Native executable builds\n- [ ] Native tests pass\n- [ ] Startup time \u003C 100ms\n- [ ] Memory footprint acceptable\n\n## Automated Verification Script\n\n```bash\n#!\u002Fbin\u002Fbash\nset -e\n\necho \"=== Phase 1: Build ===\"\nmvn clean verify -DskipTests\n\necho \"=== Phase 2: Static Analysis ===\"\nmvn checkstyle:check pmd:check spotbugs:check\n\necho \"=== Phase 3: Tests + Coverage ===\"\nmvn test jacoco:report jacoco:check\n\necho \"=== Phase 4: Security Scan ===\"\nmvn org.owasp:dependency-check-maven:check\n\necho \"=== Phase 5: Native Compilation ===\"\nmvn package -Dnative -Dquarkus.native.container-build=true\n\necho \"=== All Phases Complete ===\"\necho \"Review reports:\"\necho \"  - Coverage: target\u002Fsite\u002Fjacoco\u002Findex.html\"\necho \"  - Security: target\u002Fdependency-check-report.html\"\necho \"  - Native: target\u002F*-runner\"\n```\n\n## CI\u002FCD Integration\n\n### GitHub Actions Example\n\n```yaml\nname: Verification\n\non: [push, pull_request]\n\njobs:\n  verify:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v3\n\n      - name: Set up JDK 21\n        uses: actions\u002Fsetup-java@v3\n        with:\n          java-version: '21'\n          distribution: 'temurin'\n\n      - name: Cache Maven packages\n        uses: actions\u002Fcache@v3\n        with:\n          path: ~\u002F.m2\n          key: ${{ runner.os }}-m2-${{ hashFiles('**\u002Fpom.xml') }}\n\n      - name: Build\n        run: mvn clean verify -DskipTests\n\n      - name: Test with Coverage\n        run: mvn test jacoco:report jacoco:check\n\n      - name: Security Scan\n        run: mvn org.owasp:dependency-check-maven:check\n\n      - name: Upload Coverage\n        uses: codecov\u002Fcodecov-action@v3\n        with:\n          files: target\u002Fsite\u002Fjacoco\u002Fjacoco.xml\n```\n\n## Best Practices\n\n- Run verification loop before every PR\n- Automate in CI\u002FCD pipeline\n- Fix issues immediately; don't accumulate debt\n- Keep coverage above 80%\n- Update dependencies regularly\n- Test native compilation periodically\n- Monitor performance trends\n- Document breaking changes\n- Review security scan results\n- Validate configuration for each environment\n","# Quarkus Verification Loop\n\nRun before PRs, after major changes, and pre-deploy.\n\n## When to Activate\n\n- Before opening a pull request for a Quarkus service\n- After major refactoring or dependency upgrades\n- Pre-deployment verification for staging or production\n- Running full build → lint → test → security scan → native compilation pipeline\n- Validating test coverage meets thresholds (80%+)\n- Testing native image compatibility\n\n## Phase 1: Build\n\n```bash\n# Maven\nmvn clean verify -DskipTests\n\n# Gradle\n.\u002Fgradlew clean assemble -x test\n```\n\nIf build fails, stop and fix compilation errors.\n\n## Phase 2: Static Analysis\n\n### Checkstyle, PMD, SpotBugs (Maven)\n\n```bash\nmvn checkstyle:check pmd:check spotbugs:check\n```\n\n### SonarQube (if configured)\n\n```bash\nmvn sonar:sonar \\\n  -Dsonar.projectKey=my-quarkus-project \\\n  -Dsonar.host.url=http:\u002F\u002Flocalhost:9000 \\\n  -Dsonar.login=${SONAR_TOKEN}\n```\n\n### Common Issues to Address\n\n- Unused imports or variables\n- Complex methods (high cyclomatic complexity)\n- Potential null pointer dereferences\n- Security issues flagged by SpotBugs\n\n## Phase 3: Tests + Coverage\n\n```bash\n# Run all tests\nmvn clean test\n\n# Generate coverage report\nmvn jacoco:report\n\n# Enforce coverage threshold (80%)\nmvn jacoco:check\n\n# Or with Gradle\n.\u002Fgradlew test jacocoTestReport jacocoTestCoverageVerification\n```\n\n### Test Categories\n\n#### Unit Tests\nTest service logic with mocked dependencies:\n\n```java\n@ExtendWith(MockitoExtension.class)\nclass UserServiceTest {\n  @Mock UserRepository userRepository;\n  @InjectMocks UserService userService;\n\n  @Test\n  void createUser_validInput_returnsUser() {\n    var dto = new CreateUserDto(\"Alice\", \"alice@example.com\");\n\n    \u002F\u002F Panache persist() is void — use doNothing + verify\n    doNothing().when(userRepository).persist(any(User.class));\n\n    User result = userService.create(dto);\n\n    assertThat(result.name).isEqualTo(\"Alice\");\n    verify(userRepository).persist(any(User.class));\n  }\n}\n```\n\n#### Integration Tests\nTest with real database (Testcontainers):\n\n```java\n@QuarkusTest\n@QuarkusTestResource(PostgresTestResource.class)\nclass UserRepositoryIntegrationTest {\n\n  @Inject\n  UserRepository userRepository;\n\n  @Test\n  @Transactional\n  void findByEmail_existingUser_returnsUser() {\n    User user = new User();\n    user.name = \"Alice\";\n    user.email = \"alice@example.com\";\n    userRepository.persist(user);\n\n    Optional\u003CUser> found = userRepository.findByEmail(\"alice@example.com\");\n\n    assertThat(found).isPresent();\n    assertThat(found.get().name).isEqualTo(\"Alice\");\n  }\n}\n```\n\n#### API Tests\nTest REST endpoints with REST Assured:\n\n```java\n@QuarkusTest\nclass UserResourceTest {\n\n  @Test\n  void createUser_validInput_returns201() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"alice@example.com\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(201)\n        .body(\"name\", equalTo(\"Alice\"));\n  }\n\n  @Test\n  void createUser_invalidEmail_returns400() {\n    given()\n        .contentType(ContentType.JSON)\n        .body(\"\"\"\n            {\"name\": \"Alice\", \"email\": \"invalid\"}\n            \"\"\")\n        .when().post(\"\u002Fapi\u002Fusers\")\n        .then()\n        .statusCode(400);\n  }\n}\n```\n\n### Coverage Report\n\nCheck `target\u002Fsite\u002Fjacoco\u002Findex.html` for detailed coverage:\n- Overall line coverage (target: 80%+)\n- Branch coverage (target: 70%+)\n- Identify uncovered critical paths\n\n## Phase 4: Security Scanning\n\n### Dependency Vulnerabilities (Maven)\n\n```bash\nmvn org.owasp:dependency-check-maven:check\n```\n\nReview `target\u002Fdependency-check-report.html` for CVEs.\n\n### Quarkus Security Audit\n\n```bash\n# Check vulnerable extensions\nmvn quarkus:audit\n\n# List all extensions\nmvn quarkus:list-extensions\n```\n\n### OWASP ZAP (API Security Testing)\n\n```bash\ndocker run -t owasp\u002Fzap2docker-stable zap-api-scan.py \\\n  -t http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi \\\n  -f openapi\n```\n\n### Common Security Checks\n\n- [ ] All secrets in environment variables (not in code)\n- [ ] Input validation on all endpoints\n- [ ] Authentication\u002Fauthorization configured\n- [ ] CORS properly configured\n- [ ] Security headers set\n- [ ] Passwords hashed with BCrypt\n- [ ] SQL injection protection (parameterized queries)\n- [ ] Rate limiting on public endpoints\n\n## Phase 5: Native Compilation\n\nTest GraalVM native image compatibility:\n\n```bash\n# Build native executable\nmvn package -Dnative\n\n# Or with container\nmvn package -Dnative -Dquarkus.native.container-build=true\n\n# Test native executable\n.\u002Ftarget\u002F*-runner\n\n# Run basic smoke tests\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n```\n\n### Native Image Troubleshooting\n\nCommon issues:\n- **Reflection**: Add reflection config for dynamic classes\n- **Resources**: Include resources with `quarkus.native.resources.includes`\n- **JNI**: Register JNI classes if using native libraries\n\nExample reflection config:\n```java\n@RegisterForReflection(targets = {MyDynamicClass.class})\npublic class ReflectionConfiguration {}\n```\n\n## Phase 6: Performance Testing\n\n### Load Testing with K6\n\n```javascript\n\u002F\u002F load-test.js\nimport http from 'k6\u002Fhttp';\nimport { check } from 'k6';\n\nexport const options = {\n  stages: [\n    { duration: '30s', target: 50 },\n    { duration: '1m', target: 100 },\n    { duration: '30s', target: 0 },\n  ],\n};\n\nexport default function () {\n  const res = http.get('http:\u002F\u002Flocalhost:8080\u002Fapi\u002Fmarkets');\n  check(res, {\n    'status is 200': (r) => r.status === 200,\n    'response time \u003C 200ms': (r) => r.timings.duration \u003C 200,\n  });\n}\n```\n\nRun:\n```bash\nk6 run load-test.js\n```\n\n### Metrics to Monitor\n\n- Response time (p50, p95, p99)\n- Throughput (requests\u002Fsec)\n- Error rate\n- Memory usage\n- CPU usage\n\n## Phase 7: Health Checks\n\n```bash\n# Liveness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Flive\n\n# Readiness\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\u002Fready\n\n# All health checks\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fhealth\n\n# Metrics (if enabled)\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fmetrics\n```\n\nExpected responses:\n```json\n{\n  \"status\": \"UP\",\n  \"checks\": [\n    {\n      \"name\": \"Database connection\",\n      \"status\": \"UP\"\n    }\n  ]\n}\n```\n\n## Phase 8: Container Image Build\n\n```bash\n# Build container image\nmvn package -Dquarkus.container-image.build=true\n\n# Or with specific registry\nmvn package \\\n  -Dquarkus.container-image.build=true \\\n  -Dquarkus.container-image.registry=docker.io \\\n  -Dquarkus.container-image.group=myorg \\\n  -Dquarkus.container-image.tag=1.0.0\n\n# Test container\ndocker run -p 8080:8080 myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n### Container Security Scan\n\n```bash\n# Trivy\ntrivy image myorg\u002Fmy-quarkus-app:1.0.0\n\n# Grype\ngrype myorg\u002Fmy-quarkus-app:1.0.0\n```\n\n## Phase 9: Configuration Validation\n\n```bash\n# Check all configuration properties\nmvn quarkus:info\n\n# List all config sources\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fdev\u002Fio.quarkus.quarkus-vertx-http\u002Fconfig\n```\n\n### Environment-Specific Checks\n\n- [ ] Database URLs configured per environment\n- [ ] Secrets externalized (Vault, env vars)\n- [ ] Logging levels appropriate\n- [ ] CORS origins set correctly\n- [ ] Rate limiting configured\n- [ ] Monitoring\u002Ftracing enabled\n\n## Phase 10: Documentation Review\n\n- [ ] OpenAPI\u002FSwagger docs up to date (`\u002Fq\u002Fswagger-ui`)\n- [ ] README has setup instructions\n- [ ] API changes documented\n- [ ] Migration guide for breaking changes\n- [ ] Configuration properties documented\n\nGenerate OpenAPI spec:\n```bash\ncurl http:\u002F\u002Flocalhost:8080\u002Fq\u002Fopenapi -o openapi.json\n```\n\n## Verification Checklist\n\n### Code Quality\n- [ ] Build passes without warnings\n- [ ] Static analysis clean (no high\u002Fmedium issues)\n- [ ] Code follows team conventions\n- [ ] No commented-out code or TODOs in PR\n\n### Testing\n- [ ] All tests pass\n- [ ] Code coverage ≥ 80%\n- [ ] Integration tests with real database\n- [ ] Security tests pass\n- [ ] Performance within acceptable limits\n\n### Security\n- [ ] No dependency vulnerabilities\n- [ ] Authentication\u002Fauthorization tested\n- [ ] Input validation complete\n- [ ] Secrets not in source code\n- [ ] Security headers configured\n\n### Deployment\n- [ ] Native compilation successful\n- [ ] Container image builds\n- [ ] Health checks respond correctly\n- [ ] Configuration valid for target environment\n\n### Native Image\n- [ ] Native executable builds\n- [ ] Native tests pass\n- [ ] Startup time \u003C 100ms\n- [ ] Memory footprint acceptable\n\n## Automated Verification Script\n\n```bash\n#!\u002Fbin\u002Fbash\nset -e\n\necho \"=== Phase 1: Build ===\"\nmvn clean verify -DskipTests\n\necho \"=== Phase 2: Static Analysis ===\"\nmvn checkstyle:check pmd:check spotbugs:check\n\necho \"=== Phase 3: Tests + Coverage ===\"\nmvn test jacoco:report jacoco:check\n\necho \"=== Phase 4: Security Scan ===\"\nmvn org.owasp:dependency-check-maven:check\n\necho \"=== Phase 5: Native Compilation ===\"\nmvn package -Dnative -Dquarkus.native.container-build=true\n\necho \"=== All Phases Complete ===\"\necho \"Review reports:\"\necho \"  - Coverage: target\u002Fsite\u002Fjacoco\u002Findex.html\"\necho \"  - Security: target\u002Fdependency-check-report.html\"\necho \"  - Native: target\u002F*-runner\"\n```\n\n## CI\u002FCD Integration\n\n### GitHub Actions Example\n\n```yaml\nname: Verification\n\non: [push, pull_request]\n\njobs:\n  verify:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v3\n\n      - name: Set up JDK 21\n        uses: actions\u002Fsetup-java@v3\n        with:\n          java-version: '21'\n          distribution: 'temurin'\n\n      - name: Cache Maven packages\n        uses: actions\u002Fcache@v3\n        with:\n          path: ~\u002F.m2\n          key: ${{ runner.os }}-m2-${{ hashFiles('**\u002Fpom.xml') }}\n\n      - name: Build\n        run: mvn clean verify -DskipTests\n\n      - name: Test with Coverage\n        run: mvn test jacoco:report jacoco:check\n\n      - name: Security Scan\n        run: mvn org.owasp:dependency-check-maven:check\n\n      - name: Upload Coverage\n        uses: codecov\u002Fcodecov-action@v3\n        with:\n          files: target\u002Fsite\u002Fjacoco\u002Fjacoco.xml\n```\n\n## Best Practices\n\n- Run verification loop before every PR\n- Automate in CI\u002FCD pipeline\n- Fix issues immediately; don't accumulate debt\n- Keep coverage above 80%\n- Update dependencies regularly\n- Test native compilation periodically\n- Monitor performance trends\n- Document breaking changes\n- Review security scan results\n- Validate configuration for each environment\n",{"name":5,"metadata":24,"description":7},{"origin":25},"ECC","main","a73152352c0612252131e5cf84e91312a6cf17dc","backend-database\u002Fquarkus-verification","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs","https:\u002F\u002Fgithub.com\u002FHenrique1601","https:\u002F\u002Fbezerraportifolio.netlify.app\u002F","Full Stack Developer | React, Next.js, TypeScript, Node.js & IA | Construindo produtos digitais e soluções SaaS","2026-11-15 02:56:04",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add Henrique1601\u002FSkiilsToIAs --skill quarkus-verification",{"tool":40,"command":41},"bunx","bunx skills add Henrique1601\u002FSkiilsToIAs --skill quarkus-verification",{"tool":43,"command":44},"pnpm","pnpm dlx skills add Henrique1601\u002FSkiilsToIAs --skill quarkus-verification","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Fbackend-database\u002Fquarkus-verification\u002FSKILL.md",true,[],[49,56,63,71,78,85],{"skillNo":50,"name":51,"nameZh":6,"description":52,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":53,"categories":54,"keywords":55,"publishedAt":19},"01M7E2ANBW9V6AVX5JXNCEAWF8","rag-architect-agent","Agente Arquiteto de RAG, Embeddings & Busca Vetorial. Especialista em design e implementação de pipelines de Retrieval-Augmented Generation de alta fidelidade: chunking semântico, modelagem pgvector no PostgreSQL (Neon\u002FSupabase), busca híbrida (cosseno + BM25), reranking, validação via TypeSafe AI e filosofia Ponytail (anti-overengineering).","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Fcustom-agents\u002Frag-architect-agent\u002FSKILL.md",[],[],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":19},"01M7E29KKF8R02ZRGYE2MJM67G","rag-architecture-patterns","Padrões arquiteturais e implementação de pipelines RAG (Retrieval-Augmented Generation) de alta fidelidade para qualquer projeto ou sistema. Cobre chunking semântico, embeddings, busca híbrida (pgvector + BM25), reranking, validação via TypeSafe AI e filosofia Ponytail (anti-overengineering).","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Fai-agents\u002Frag-architecture-patterns\u002FSKILL.md",[],[],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":67,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":19},"01M7CWRA8E3BJ7CPY8N8EG28J1","skill-repair","Use this to fix and re-install agent skills that have failed installation.\nThis skill provides the necessary context and permissions to surgically update\nthe `manifest.json` after a fix has been applied.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Futilities\u002Fskill-repair\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M7CWR66FZP8FA47WVZ4Z2EXC","security-scan","Scan your Claude Code configuration (.claude\u002F directory) for security vulnerabilities, misconfigurations, and injection risks using AgentShield. Checks CLAUDE.md, settings.json, MCP servers, hooks, and agent definitions.","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Futilities\u002Fsecurity-scan\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M7CWR0QPY58QPTR1P759TFNG","security-review","Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment\u002Fsensitive features. Provides comprehensive security checklist and patterns.","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Futilities\u002Fsecurity-review\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M7CWQXCE40XWT4FZ3VWZFGDP","security-bounty-hunter","Hunt for exploitable, bounty-worthy security issues in repositories. Focuses on remotely reachable vulnerabilities that qualify for real reports instead of noisy local-only findings.","https:\u002F\u002Fgithub.com\u002FHenrique1601\u002FSkiilsToIAs\u002Fblob\u002Fmain\u002Futilities\u002Fsecurity-bounty-hunter\u002FSKILL.md",[],[]]