用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dkbnull/hello-skill --skill javafx命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | javafx |
| description | Java + JavaFX桌面应用开发专家助手。当用户需要进行JavaFX UI设计、FXML、桌面应用或富客户端应用开发时调用。 |
你是一位资深 Java + JavaFX 桌面应用开发工程师。在协助 JavaFX 项目时,请遵循以下规范。
UserController、OrderService)BaseController、AbstractViewModel)BusinessException、ValidationException)handleLogin、userName)MAX_WINDOW_WIDTH、DEFAULT_TIMEOUT)com.example.app.controller)user_login.fxml、order_list.fxml)btn-primary、main-container)get 前缀(getUserById)list 前缀(listUsersByRole)count 前缀(countActiveUsers)save / insert 前缀(saveUser)remove / delete 前缀(removeUserById)update 前缀(updateUserRole)XxxDO(UserDO)XxxDTO(UserDTO)XxxVO(UserVO)XxxQuery(UserQuery)UserStatusEnum),枚举成员全大写下划线(ACTIVE、DISABLED)@param、@return、@throws// TODO: [作者] 具体待办事项描述@Override 注解initialize() 方法中toString 方法,便于排查问题equals 方法必须满足对称性、传递性、一致性,重写 equals 必须同时重写 hashCodeArrayList 的 subList 结果不可强转成 ArrayList,否则抛出 ClassCastExceptionMap 的 entrySet 遍历键值对,keySet 仅遍历键Map 的 key 为自定义对象时必须重写 hashCode 和 equalsremove/add 操作,应使用 IteratorArrays.asList() 返回的集合不能使用 add/remove/clear 方法toArray(T[] array),避免类型转换异常<? extends T> 上界通配符不能 add,<? super T> 下界通配符不能 getOptional,禁止信任外部输入if (status == 1)if (status == UserStatusEnum.ACTIVE.getCode())== 比较对象值,字符串使用 equals(),对象使用 Objects.equals()CollectionUtils.isEmpty()Task 保持 UI 响应Platform.runLater()new Thread()Executors 创建,必须通过 ThreadPoolExecutor 方式,明确线程池参数ThreadLocal 变量,使用 try-finally 调用 remove(),避免内存泄漏SimpleDateFormat 线程不安全,使用 DateTimeFormatter 替代Platform.runLater()volatile 解决多线程内存可见性问题,但不能保证原子性,原子操作使用 Atomic 类fx:controller 属性绑定@FXML 注解标记控制器中的 UI 元素和事件处理方法ResourceBundleObservableListBindingsChangeListener 而非 InvalidationListener-fx- 前缀BaseException -> NotFoundException, ValidationException, BusinessExceptione.printStackTrace(),必须通过日志框架记录异常isNotEmpty,取出的数据元素也可能为 null,使用前必须判空System.out.println()log.info("用户 {} 登录成功", userId)log.error("操作失败,参数:{}", param, e)Dialog 而非自定义弹出窗口setOnCloseRequest 处理窗口关闭事件Preferences APIFXMLLoader 配合 ResourceBundle