Agent skill

Jimmer Orm

by Coooolfan in Coooolfan/XiaomiAlbumSyncer

Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4)…

GPL-3.0Auto-check passedDatabases

Install Jimmer Orm

skills CLI
$ npx skills add Coooolfan/XiaomiAlbumSyncer --skill jimmer-orm -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Coooolfan/XiaomiAlbumSyncer jimmer-orm --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Coooolfan/XiaomiAlbumSyncer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/jimmer-orm .claude/skills/jimmer-orm && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jimmer-orm
GitHub stars
420
Token cost
~702 tokens
SKILL.md length
205 words
Files
5 (incl. references, assets)
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4)…

  • Works in 3 steps: 定义实体时 → 编写查询时 → 遇到问题时
  • Tasks that involve ORMs and data access
  • SKILL.md covers 事实源, 本项目约定(XiaomiAlbumSyncer), 核心概念 and 语言选择, plus 3 more sections
  • Runs Kotlin scripts from its folder; reaches github.com

What it does

Jimmer Orm is an agent skill from Coooolfan/XiaomiAlbumSyncer. Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4) 使用动态谓词、动态表连接或隐式子查询;(5) 编辑包含 Jimmer 相关代码的 Java/Kotlin 文件。

Its SKILL.md is about 700 tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files and assets (for example `references/dsl-queries.md`, `references/dto.md` and `references/entity-mapping.md`).

It sits in Databases, covering ORMs and data access and Android development. It works with Kotlin, Java and SQL. The repository describes itself as: 全量/增量/定时 下载小米云服务中的 相册/录音 到本地. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve ORMs and data access
  • Tasks that involve Android development

Example prompts

  • “/jimmer-orm”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. 定义实体时
  2. 编写查询时
  3. 遇到问题时

What it can do on your machine

Read from SKILL.md and the folder at commit b3c030f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Kotlin), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jimmer Orm loads about 702 tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 65 tokens; SKILL.md has 205 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~702
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Coooolfan/XiaomiAlbumSyncer at commit b3c030f, republished under its GPL-3.0 licence (© Coooolfan). 205 words, ~702 tokens.

Download SKILL.mdSave it as .claude/skills/jimmer-orm/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
jimmer-orm
description
Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4) 使用动态谓词、动态表连接或隐式子查询;(5) 编辑包含 Jimmer 相关代码的 Java/Kotlin 文件。

事实源

如果当前上下文中指名了 Jimmer 项目的源码的本地路径,应当以源码实现作为基准。如果有其他情况需要查阅 Jimmer 的具体实现,其代码仓库为 https://github.com/babyfish-ct/jimmer

本项目约定(XiaomiAlbumSyncer)

  • 服务端为 Solon + Kotlin + Jimmer,不是 Spring;服务类用 @Managed 标记,依赖通过构造函数或 @Inject 注入
  • 实体:server/src/main/kotlin/com/coooolfan/xiaomialbumsyncer/model/
  • DTO:server/src/main/dto/<Entity>.dto,KSP 生成于 ...model.dto
  • 查询入口是注入的 KSqlClient,项目内习惯用 sql.executeQuery(Entity::class) { ... } / sql.executeDelete / sql.saveCommand(input, SaveMode.X),而非 createQuery(...).execute()
  • Controller 返回实体时用 companion 中的 Fetcher<T> 常量 + @FetchBy 固定投影,Service 接受 fetcher: Fetcher<T> 参数
  • 修改实体/DTO 后需执行 cd server && ./gradlew clean compileKotlin 验证 KSP 生成代码可编译
  • 数据库表结构由 Flyway 迁移管理(server/src/main/resources 下的 migration),新增字段需同步添加迁移脚本

核心概念

实体定义特点
  • 使用 interface 定义实体,而非 class
  • 实体是动态对象和不可变对象
  • 只有 getter,没有 setter
  • 由 KSP (Kotlin) 或 AnnotationProcessor (Java) 编译时生成实现
  • 属性未设置 ≠ 属性为 null
DSL 查询特点
  • 强类型 SQL DSL,提供编译时安全保证
  • 动态谓词:根据参数决定是否添加 SQL 条件
  • 动态表连接:未使用的连接自动忽略,冲突连接自动合并
  • 隐式子查询:基于集合关联创建子查询,自动生成父子关联条件

语言选择

Jimmer 为 Kotlin 提供了特化的 API 风格

  • 实体映射: 参考 references/entity-mapping.md
  • DSL 查询: 参考 references/dsl-queries.md
  • 实体模板: 参考 assets/EntityTemplate.kt

关键注解速查

  • @Entity - 标记实体类型
  • @MappedSuperclass - 标记映射父接口,复用公共字段
  • @Embeddable - 标记嵌入值对象
  • @Id - 标记主键
  • @GeneratedValue - 主键生成策略
  • @Key - 业务键
  • @ManyToOne / @OneToMany / @ManyToMany / @OneToOne - 关联映射
  • @ManyToManyView - 通过中间实体暴露多对多视图
  • @IdView - 关联 id 视图
  • @JoinColumn - 自定义外键列名
  • @JoinTable - 自定义中间表
  • @Column - 自定义列名(仅用于非关联字段)
  • @Table - 自定义表名
  • @Version - 乐观锁版本字段
  • @LogicalDeleted - 逻辑删除字段
  • @Formula / @Transient - 计算属性
  • ? (Kotlin) - 标记可空属性

命名约定

  • 实体名 → 表名:BookStore → BOOK_STORE
  • 属性名 → 列名:firstName → FIRST_NAME
  • 多对一外键:store → STORE_ID

工作流程

  1. 定义实体时:

    • 使用 interface 而非 class
    • 根据项目语言参考对应的实体模板和映射文档
    • 中间表有排序、时间、来源等业务字段时,定义中间实体并用 @ManyToManyView 暴露只读多对多视图
    • 需要直接按外键查询或写入 input 时,优先为关联补充 @IdView
    • 参考 assets/EntityTemplate.kt 和 references/entity-mapping.md
    • 参考 references/dto.md 完成 DTO 定义
  2. 编写查询时:

    • 优先使用动态谓词(Kotlin: `ilike?`/`between?`/`valueIn?`)
    • 使用动态表连接处理单值关联查询
    • 使用隐式子查询处理集合关联,避免集合 JOIN 导致结果重复和分页失效
    • API 返回实体时使用 fetcher/DTO 控制投影,不要依赖默认序列化形状
    • 根据项目语言参考对应的 DSL 查询文档
    • 参考 references/dsl-queries.md
  3. 遇到问题时:

    • 检查实体是否使用 interface 定义
    • 检查关联映射的 mappedBy 配置
    • 检查动态谓词的参数是否正确
    • 确认表连接路径是否正确

© Coooolfan, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references, assets) in .agents/skills/jimmer-orm of Coooolfan/XiaomiAlbumSyncer.

  • SKILL.md
  • assets/EntityTemplate.kt
  • references/dsl-queries.md
  • references/dto.md
  • references/entity-mapping.md

Open the folder on GitHubat commit b3c030f

Compare with similar skills

Jimmer Orm next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jimmer Orm compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jimmer Orm this skillCoooolfan/XiaomiAlbumSyncer420—~702Automated safety check: PassGPL-3.0
Kotlin Exposed Patternsaffaan-m/ECC275k2 repos~5.2kAutomated safety check: PassMIT
Kotlin Exposed Patternsaffaan-m/ECC275k—~5.2kAutomated safety check: PassMIT
Kotlin Exposed Patternsaffaan-m/ECC275k4 repos~5.5kAutomated safety check: PassMIT
Kotlin Backend Jpa Entity MappingJetBrains/skills3642 repos~1.8kAutomated safety check: PassApache-2.0
Kotlin Tooling Java To KotlinJetBrains/skills3643 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • JetBrains Exposed ORM 模式,包括 DSL 查询、DAO 模式、事务、HikariCP 连接池、Flyway 迁移和仓库模式。

    275k GitHub starsUsed in 2 repos~5.2k tokens
    DatabasesAuto-check passed
  • JetBrains Exposed ORM パターン(DSL クエリ、DAO パターン、トランザクション、HikariCP 接続プーリング、Flyway マイグレーション、リポジトリパターンを含む)。

    275k GitHub stars~5.2k tokensUpdated 3 days ago
    DatabasesAuto-check passed
  • JetBrains Exposed ORM patterns including DSL queries, DAO pattern, transactions, HikariCP connection pooling, Flyway migrations, and repository pattern.

    275k GitHub starsUsed in 4 repos~5.5k tokens
    DatabasesAuto-check passed
  • Official

    Model Kotlin persistence code correctly for Spring Data JPA and Hibernate.

    364 GitHub starsUsed in 2 repos~1.8k tokens
    MobileAuto-check passed
  • Official

    A skill your agent uses when converting Java source files to idiomatic Kotlin, when user mentions "java to kotlin", "j2k", "convert java", "migrate java to kotlin", or when working with .java files…

    364 GitHub starsUsed in 3 repos~1.4k tokens
    MobileAuto-check passed
  • Jooq Best Practices

    jvm-skills/jvm-skills

    Comprehensive jOOQ DSL best practices for Kotlin/Java. An agent skill from jvm-skills/jvm-skills.

    140 GitHub stars~2.1k tokensUpdated 1 mo ago
    MobileAuto-check passed

More from Coooolfan/XiaomiAlbumSyncer

  • Jvm Live Debug

    Coooolfan/XiaomiAlbumSyncer

    在无 GUI 调试器的 CLI 环境中,对运行中的 XAS 服务端(Solon,./gradlew run 启动)做交互式断点调试。通过 JDWP + jdb + tmux 组合:run 任务暴露 5005 端口,jdb 跑在持久 tmux session 里,由 send-keys/capture-pane 跨调用读写 REPL 状态。适用于:(1) 设断点观察请求现场;(2)…

    420 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Release Note Creator

    Coooolfan/XiaomiAlbumSyncer

    撰写 Xiaomi Album Syncer 的 Release Notes。适用于:(1) 发版前为指定版本号生成更新日志;(2) 确定版本的变更范围(前序 tag 比较基准);(3) 校对已有 release notes 是否符合书写规范。

    420 GitHub stars~240 tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Jimmer Orm

What does Jimmer Orm do?

Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4)…. Jimmer Orm is an agent skill from Coooolfan/XiaomiAlbumSyncer.

When should I use Jimmer Orm?

Jimmer Orm fits situations like: tasks that involve ORMs and data access; tasks that involve Android development.

How do I install Jimmer Orm in Claude Code?

Run `npx skills add Coooolfan/XiaomiAlbumSyncer --skill jimmer-orm -a claude-code`. Or copy the skill folder (.agents/skills/jimmer-orm in Coooolfan/XiaomiAlbumSyncer) into .claude/skills/jimmer-orm in your project. Claude Code loads it when a task matches its description.

How do I install Jimmer Orm in Codex?

Run `npx skills add Coooolfan/XiaomiAlbumSyncer --skill jimmer-orm -a codex`. Or copy the skill folder (.agents/skills/jimmer-orm in Coooolfan/XiaomiAlbumSyncer) into .agents/skills/jimmer-orm in your project. Codex loads it when a task matches its description.

Can I use Jimmer Orm in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Coooolfan/XiaomiAlbumSyncer --skill jimmer-orm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jimmer-orm, .gemini/skills/jimmer-orm, .github/skills/jimmer-orm and .opencode/skills/jimmer-orm in your project.

What does Jimmer Orm need to run?

Going by SKILL.md and its folder, Jimmer Orm needs Kotlin for the scripts in its folder.

Does Jimmer Orm access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Jimmer Orm safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jimmer Orm use?

Jimmer Orm is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jimmer Orm use?

About 702 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.

What are the alternatives to Jimmer Orm?

Skills that share tags, products or a category with Jimmer Orm: Kotlin Exposed Patterns (affaan-m/ECC, 275k stars), Kotlin Exposed Patterns (affaan-m/ECC, 275k stars), Kotlin Exposed Patterns (affaan-m/ECC, 275k stars) and Kotlin Backend Jpa Entity Mapping (JetBrains/skills, 364 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jimmer Orm?

Coooolfan (a GitHub user) maintains it in Coooolfan/XiaomiAlbumSyncer, which has 420 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.

Source: Coooolfan/XiaomiAlbumSyncer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.