기존 프로젝트의 코드와 설정을 조사해 기술 구성, 구조, 아키텍처, 규칙, 연동, 테스트, 우려 사항을 다루는 문서 7개를 작성합니다. 근거 파일을 연결하고 미확인 항목을 표시하며, 계획과 실제 구현의 차이를 드러냅니다.
- 익숙하지 않은 코드베이스 파악하기
- 프로젝트 인수인계 문서 준비하기
- 설계 문서와 실제 구현 비교하기
프로젝트에서 사용하는 JDK 버전과 빌드 규칙에 맞춰 일반 Java 코드를 개발하고 유지 관리합니다. Maven·Gradle, 의존성, 로깅, 예외 처리, 코드 검사, 패키징을 다루며 프로젝트 빌드로 변경 사항을 확인합니다.
Day-to-day plain Java development without a framework: Maven and Gradle usage and wrappers, project layout, dependency and vulnerability management, modern Java idioms by JDK version (records, sealed types, pattern matching, virtual threads), SLF4J logging, error and null handling, immutability, concurrency basics, static analysis and formatting (Spotless, Error Prone, -Xlint), packaging (jar, jlink, jpackage) and GitHub Actions CI. Use when writing, building, reviewing or maintaining ordinary Java code.
실행 점수 미검증
설치 방법 보기특정 프레임워크에 의존하지 않는 Java 프로젝트의 구현, 빌드, 검토, 유지 관리를 지원합니다. 기존 설정과 소스 코드의 규칙을 살펴보고 프로젝트에서 쓰는 Maven 또는 Gradle 방식에 맞춰 작업합니다. 의존성 정리, 로깅, 예외와 널 처리, 기본적인 동시성, 프로젝트 JDK가 지원하는 언어 기능 선택을 다룹니다. 이미 설정된 코드 검사와 서식 도구를 사용하고 JAR 같은 배포물도 만들 수 있습니다.
기존 프로젝트의 작성 방식에 맞춰 코드를 수정하거나 의존성 충돌과 빌드 실패를 조사할 때 활용할 수 있습니다. records나 가상 스레드 같은 기능을 현재 Java 버전에서 사용할 수 있는지 판단할 때도 도움이 됩니다. 변경 뒤에는 프로젝트 자체의 빌드로 확인합니다.
프로젝트에 맞는 JDK와 Maven 또는 Gradle이 필요합니다. Wrapper가 있으면 이를 사용합니다. Java나 의존성 업그레이드, 공개 API 변경, 실행 시 라이브러리나 빌드 도구 추가, CI 변경은 먼저 확인해야 합니다. 미리 보기 기능은 명시적으로 선택한 경우에만 사용합니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.
점수에는 넣지 않았습니다. 2026년 10월 25일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Everyday guidance for Java projects that are not tied to a framework. If the project uses Spring Boot, Quarkus, Helidon or similar, prefer that framework's skills for framework concerns and use this one for the plain-Java parts.
pom.xml/build.gradle*, .mvn/, gradle/, .java-version/.sdkmanrc, .editorconfig, CI files, and a few source files. Match the build tool, Java release, formatter, naming, logging and test libraries already in use.java-upgrade, if installed)../mvnw, ./gradlew) when present; otherwise the installed mvn/gradle. Do not commit a wrapper unprompted../mvnw -B verify or ./gradlew build) and report the result. Run a narrower command first while iterating. If you could not run it, say so.Check maven.compiler.release/<release>, java.toolchain, or sourceCompatibility; never use a feature newer than that release. Summary (details and snippets in references/modern-java.md):
| Release | You can use |
|---|---|
| 8 | lambdas, streams, Optional, java.time |
| 11 | var, String.isBlank/strip/lines, java.net.http.HttpClient, List.of/Map.of (9) |
| 17 | records, sealed classes, text blocks, switch expressions, instanceof patterns |
| 21 | pattern matching for switch, record patterns, virtual threads, SequencedCollection (getFirst/getLast/reversed) |
| 22-24 | unnamed variables _ (22), Stream.gather (24) |
| 25 | scoped values, instance main/compact source files, module import declarations (all final) |
Structured concurrency (StructuredTaskScope) is still a preview API in 25 and 27 (verified: needs --enable-preview); do not use it in production code unless the user opts in to preview features.
./mvnw -B verify (compile, unit tests, integration tests, packaging), -pl <module> -am for one module, dependency:tree, -DskipTests only when the user asks. Gradle: ./gradlew build, test --tests 'pkg.Class', dependencies, dependencyInsight --dependency <name>.src/main/java, src/main/resources, src/test/java, src/test/resources; package by feature, one top-level type per file, no split packages.maven.compiler.release / Gradle toolchain with options.release) and UTF-8 encoding; do not rely on the JDK that happens to run the build.dependency:tree/versions: usage, version catalogs and multi-module layout: references/build-and-dependencies.md.junit-bom, testcontainers-bom, the framework's BOM) instead of repeating versions; one version per library across modules.mvn dependency:tree -Dincludes=group:artifact / gradlew dependencyInsight. Resolve conflicts with dependencyManagement or Gradle constraints, not by excluding randomly.mvn versions:display-dependency-updates (add -Dmaven.version.ignore to hide alpha/beta/RC) and report them; do not apply major upgrades without asking.-proc:none is the default unless -processor, --processor-path or --processor-module-path is given. Declare the processor path in the build (Maven annotationProcessorPaths, Gradle annotationProcessor) or pass -proc:full. JDK 21+ prints a warning when it detects implicit use; -proc:full is also backported to 17.0.11, 11.0.23 and 8u411. Source: https://inside.java/2024/06/18/quality-heads-up/.synchronized: on JDK 21-23 a virtual thread that blocks inside synchronized is pinned to its carrier; JEP 491 removes nearly all such pinning in JDK 24+. On 21-23 prefer ReentrantLock around blocking calls. Source: https://openjdk.org/jeps/491.--add-exports/--add-opens javac flags, and on JDK 21 -XDaddTypeAnnotationsToSymbol=true (see the quality reference).Respect what is configured: if the project uses Spotless/Checkstyle/SpotBugs/Error Prone, run them and fix findings; if not, do not add them. When asked to introduce them, start with -Xlint:all and Spotless (formatter only), then Error Prone. Verified configs for Maven and Gradle on JDK 21 and 25 (including the JDK-21-only -XDaddTypeAnnotationsToSymbol=true requirement and Maven .mvn/jvm.config flags) are in references/quality-and-packaging.md. Never reformat the whole codebase in an unrelated change.
mvn package/gradlew jar. Runnable app: shaded/fat jar or lib/ directory plus manifest Main-Class; custom runtime with jlink; native installer/app-image with jpackage (verified on macOS, see references/quality-and-packaging.md).actions/checkout, actions/setup-java with distribution: temurin, an explicit java-version, built-in dependency cache, then ./mvnw -B verify or ./gradlew build. Snippet and notes in references/quality-and-packaging.md. Do not change CI without asking.java-junit (unit tests), java-testcontainers (integration tests with Docker), java-hibernate-jpa (persistence), java-debugging (failures and stack traces), java-diagnostics (performance, memory, threads, JFR), java-upgrade (JDK/framework upgrades), lsp-setup (Java language server for navigation and refactoring).
references/modern-java.md: idioms and verified snippets (records, sealed types, switch patterns, text blocks, virtual threads, SequencedCollection, unnamed variables), preview status, pitfalls.references/build-and-dependencies.md: Maven/Gradle commands, wrappers, BOMs, conflict diagnosis, update checking, Dependabot/Renovate, vulnerability scanning.references/quality-and-packaging.md: logging setup, -Xlint, Spotless, Error Prone, Checkstyle/SpotBugs notes, jar/jlink/jpackage, GitHub Actions.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
기존 프로젝트의 코드와 설정을 조사해 기술 구성, 구조, 아키텍처, 규칙, 연동, 테스트, 우려 사항을 다루는 문서 7개를 작성합니다. 근거 파일을 연결하고 미확인 항목을 표시하며, 계획과 실제 구현의 차이를 드러냅니다.
AgentRC로 저장소의 AI 에이전트 활용 준비도를 평가하고 독립 실행형 HTML 보고서를 생성합니다. 9개 영역의 점수와 우선순위별 개선안을 확인하고, 조직에 맞춘 채점 정책도 적용할 수 있습니다.
프로젝트의 실제 코드에서 언어, 프레임워크, 개발 관례를 파악해 AI 코딩 에이전트용 지침 파일을 생성하거나 갱신합니다. 하나의 파일에 모으거나 주제와 프로젝트 영역별로 나누며, 쓰기 전에 변경 내용을 미리 볼 수 있습니다.
AgentRC 준비도 평가를 팀이나 조직의 기준에 맞게 조정합니다. JSON 정책에서 검사 중요도와 수준을 바꾸고, 불필요한 검사를 끄며, 통과율을 설정해 CI 자동 검사에도 적용할 수 있습니다.
제공한 광고 성과 데이터를 분석해 낭비되는 지출과 성과가 좋은 광고를 찾고, 중단·예산 증액·추가 테스트 후보를 정리합니다. 여러 플랫폼을 비교하고 A/B 테스트의 차이를 평가해 예산 재배분 방안도 제시합니다.
지정한 코드 파일에 학습용 주석을 추가해 문법, 프로그래밍 개념, 설계 선택의 이유를 설명합니다. 독자의 지식에 맞춰 설명의 깊이와 반복 정도를 조절하며 파일 구조와 형식을 유지합니다.