Code style, logging, and testing conventions for SkillHub backend (Java) and frontend (TypeScript). Use when writing or reviewing code.
70
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
User identity is always String throughout the codebase. This covers:
Never introduce int, long, or bigint as user identifiers. The platform needs to support
external SSO/OIDC/SCIM identity sources whose UIDs are typically stable strings.
LocalizedDomainException for user-facing error messages (supports i18n)DomainBadRequestException for invalid client inputDomainNotFoundException for missing resourcesDomainForbiddenException for authorization failuresskillhub-domain/shared/exception/domain/{submodule}/service/com.iflytek.skillhub.controller/com.iflytek.skillhub.repository/*QueryRepository (e.g., GovernanceQueryRepository, MySkillQueryRepository)com.iflytek.skillhub.service/any types.web/src/api/generated/schema.d.ts for all API interactions.web/src/types/@tanstack/react-query) for server stateuseEffect for data fetchingopenapi-fetch client for type-safe API calls@radix-ui/react-dropdown-menu, @radix-ui/react-selectcn() utility: web/src/shared/lib/utils.ts| Layer | Path | Purpose |
|---|---|---|
| Pages | web/src/pages/ | Route-level page components |
| Features | web/src/features/ | Self-contained business features |
| Entities | web/src/entities/ | Domain entity display logic |
| Shared | web/src/shared/ | Reusable UI components, hooks, utilities |
Place code at the lowest appropriate layer. Do not put page-level logic in shared.
cn() for conditional class mergingweb/src/i18n/@WebMvcTest, @DataJpaTest)make test-backend-app (includes -am for dependent modules)./mvnw -pl skillhub-app clean test directly — stale Maven cache causes misleading errors-am flag or Makefile targets to include dependent modulesac46ad5
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.