Token导航 LogoToken导航

Agent Skill · 前端设计

kotlin-springboot-hexagonal(kotlin springboot 六边形)

用于辅助 Java 项目开发、面向对象设计、Spring 生态、Maven 或 Gradle 依赖和后端工程实践。它适合让 Agent 分析类结构、设计接口、整理服务分层、生成测试或检查常见代码坏味道。使用时需要结合项目已有架构、包结构和依赖版本,不应只按通用教程改代码;涉及数据库、事务、并发或框架配置时,应先确认运行环境和回归测试范围。

kotlin-springboot-hexagonal 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在前端设计类的 10,216 个 Skill 里排第 8,964。

总安装 245周安装 10GitHub Stars 1下载 78核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:kotlin-springboot-hexagonal(kotlin springboot 六边形)
来源仓库:https://github.com/ujon/skills
仓库路径:skills/kotlin-springboot-hexagonal
安装命令:
npx skills add https://github.com/ujon/skills --skill kotlin-springboot-hexagonal
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ujon/skills --skill kotlin-springboot-hexagonal

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

用于辅助 Java 项目开发、面向对象设计和 Spring 生态实践。适合分析类结构、设计接口、整理服务分层或生成测试用例。使用时需结合项目已有架构和依赖版本,避免盲目修改代码。涉及数据库、事务或框架配置时,应先确认运行环境和回归测试范围。建议在本地验证后再部署到生产环境。

kotlin-springboot-hexagonal 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/kotlin-springboot-hexagonal

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/ujon/skills --skill kotlin-springboot-hexagona…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

kotlin-springboot-hexagonal 怎么安装?

在终端执行 npx skills add https://github.com/ujon/skills --skill kotlin-springboot-hexagonal。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

kotlin-springboot-hexagonal 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

kotlin-springboot-hexagonal 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

kotlin-springboot-hexagonal 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

kotlin-springboot-hexagonal 用的人多吗?

公开数据是累计安装 245 次,近一周安装 10 次,下载 78 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

kotlin-springboot-hexagonal 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
kotlin-springboot-hexagonal

kotlin springboot 六边形 · 本页

2451需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Kotlin + Spring Boot Hexagonal Architecture Guide

This skill defines the architectural conventions for a Kotlin Spring Boot modular monolith using hexagonal architecture (ports & adapters). Follow these patterns when creating or modifying any code.

Module Structure

The project is organized into strict layers with unidirectional dependencies:

presentation (REST)  →  application (Use Cases)  →  domain (Models)  →  support (Shared Kernel)
LayerResponsibilityMay Depend On
presentationREST controllers, request/response DTOs, security adapters, Spring config. There can be multiple presentation modules (e.g., *-api, *-admin) sharing the same application layer.application, support
applicationUse case interfaces (ports/in), service implementations, port/out interfacesdomain, support
domainEntities, value objects, domain exceptions, repository interfaces & implementationssupport
supportBase exception hierarchy, error codes, shared enums, cross-cutting types*(none)*
infrastructure/*External system adapters (Redis, messaging, etc.)domain, support

Critical rule: Presentation modules never import domain directly. All domain concepts are accessed through application layer DTOs (Command, Query, Result).

Creating a New Feature — Step by Step

When adding a new feature (e.g., "bookmark a post"), work bottom-up through the layers:

1. Domain Layer — Entity & Repository

If the feature requires a new entity, create it in domain/src/main/kotlin/{base-package}/domain/{aggregate}/.

For detailed entity patterns, value objects, repository conventions, and domain service patterns, see references/domain-patterns.md.

2. Application Layer — Use Case & Service

Create the use case interface, DTOs, and service implementation in application/src/main/kotlin/{base-package}/application/{feature}/.

For the full use case structure (Command/Query/Result naming, port/in and port/out organization, service patterns), see references/application-patterns.md.

3. Presentation Layer — Controller & DTOs

Create the controller, request/response DTOs in the target presentation module: {presentation-module}/src/main/kotlin/{base-package}/{presentation}/....

For controller patterns (Request→Command mapping, Response construction, ApiResponse wrapping), see references/presentation-patterns.md.

4. Shared Types — Support Module

If the feature introduces new enums or exception types shared across layers, add them to support/src/main/kotlin/{base-package}/support/.

For the exception hierarchy and shared type conventions, see references/support-patterns.md.

Quick Reference: File Placement

When you need to create a new file, use this table to determine the correct location:

What you're creatingModulePath
Entity classdomaindomain/.../domain/{aggregate}/{Entity}.kt
Value objectdomaindomain/.../domain/{aggregate}/vo/{ValueObject}.kt
Domain exceptiondomaindomain/.../domain/{aggregate}/exception/{Exception}.kt
Command repository (interface)domaindomain/.../domain/{aggregate}/repository/{Entity}CommandRepository.kt
Command repository (impl)domaindomain/.../domain/{aggregate}/repository/{Entity}CommandRepositoryImpl.kt
Query repository (interface)domaindomain/.../domain/{aggregate}/repository/{Entity}QueryRepository.kt
Query repository (impl)domaindomain/.../domain/{aggregate}/repository/{Entity}QueryRepositoryImpl.kt
Domain servicedomaindomain/.../domain/{aggregate}/{Entity}DomainService.kt
Use case interfaceapplicationapplication/.../application/{feature}/port/in/{Action}UseCase.kt
Command DTOapplicationapplication/.../application/{feature}/port/in/command/{Action}Command.kt
Query DTOapplicationapplication/.../application/{feature}/port/in/query/{Entity}Query.kt
Result DTOapplicationapplication/.../application/{feature}/port/in/result/{Entity}Result.kt
Port/out interfaceapplicationapplication/.../application/{feature}/port/out/{Capability}Port.kt
Service implementationapplicationapplication/.../application/{feature}/{Action}Service.kt
Controllerpresentation{presentation-module}/.../api/{feature}/{Feature}Controller.kt
Request DTOpresentation{presentation-module}/.../api/{feature}/request/{Action}Request.kt
Response DTOpresentation{presentation-module}/.../api/{feature}/response/{Entity}Response.kt
Port/out adapterpresentation{presentation-module}/.../api/common/{concern}/{Adapter}.kt
Shared enumsupportsupport/.../support/type/{TypeName}.kt
Shared exceptionsupportsupport/.../support/exception/{Exception}.kt
{base-package} and {presentation-module} are placeholders — resolve them from the actual project structure (e.g., by inspecting existing packages or build.gradle.kts). A project may have multiple presentation modules (e.g., *-api for public, *-admin for back-office).

Key Conventions Summary

DTO Naming

KindSuffixLocationExample
Write/action inputCommandport/in/command/CreatePostCommand
Read/query inputQueryport/in/query/PostsQuery
Use case outputResultport/in/result/PostDetailResult
API inputRequestapi/{feature}/request/CreatePostRequest
API outputResponseapi/{feature}/response/PostResponse

Use Case Rules

  • One use case = one action = one operator fun invoke method
  • Interface in port/in/, implementation as @Service class
  • Command for writes, Query for reads — never mix
  • Result types returned from use cases, never domain entities

Controller Rules

  • Request → Command/Query mapping via private extension functions inside the controller
  • Result → Response mapping via private extension functions inside the controller
  • All responses wrapped in ApiResponse

Repository Rules

  • Split into CommandRepository (writes) and QueryRepository (reads)
  • Interface defined in domain/{aggregate}/repository/
  • Implementation using SimpleJpaRepository (command) or JPAQueryFactory (query)
  • Both interface and impl live in the domain module

Transaction Rules

  • @Transactional on service methods that write
  • @Transactional(readOnly = true) on service methods that only read
  • Transaction boundaries at the application service layer, never at controller or domain

Kotlin Idioms

  • data class for DTOs, @JvmInline value class for value objects
  • private set on mutable entity fields — mutations only through domain methods
  • companion object {fun create(...)} factory methods on entities
  • Expression bodies for single-expression functions
  • val over var, immutable collections at public boundaries
  • Named arguments and trailing lambdas for clarity

Agents

This skill includes specialized agents for common workflows. Read the agent instructions before delegating:

  • agents/feature-scaffold.md — Scaffolds a complete vertical slice (entity → repository → use case → controller) for a new feature. Use when adding a new feature that spans all layers.
  • agents/architecture-reviewer.md — Reviews code for hexagonal architecture compliance, naming convention violations, and layer dependency issues. Use after scaffolding or before PRs.

平台分布

Codex

35.04%
按下载量换算27

Claude

28.48%
按下载量换算22

Cursor

18.88%
按下载量换算15

Gemini CLI

9.54%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills