一键导入
compose-reuse-checker
分析 Compose 界面是否使用了项目中可复用的组件和主题系统。适用于检查 Compose 屏幕是否符合项目规范或需要重构以使用共享组件。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
分析 Compose 界面是否使用了项目中可复用的组件和主题系统。适用于检查 Compose 屏幕是否符合项目规范或需要重构以使用共享组件。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
通过对比 entities、schema JSON 和迁移方案,诊断并修复 Android Room 数据库在 entity 或 database 变更后的 schema 校验崩溃;增加数据库版本号,添加重命名/新增/删除列的迁移,并验证生成的 Room 代码。
优化Markdown文件中的ASCII流程图,使其更适合手机显示。将宽大的ASCII边框图转换为紧凑的树形结构。当用户要求修复流程图在手机上的显示问题时调用。
检查备份系统中选择器、备份逻辑、恢复逻辑、备份信息显示之间的数据一致性。当用户问备份对不对、备份选漏了没、恢复和备份匹配吗、备份信息准不准时调用。
Legado Plus 模块学习讲解器。当用户想学习某个模块、询问模块功能、请求讲解代码架构时调用。提供生动详尽的模块讲解,包括架构图、代码走读、实践任务。
Critical Android code review for Payoo Android app. Focuses on high-impact issues - naming conventions, memory leaks, UIState patterns, business logic placement, lifecycle management, and MVI/MVVM pattern violations. Use when reviewing Kotlin files, pull requests, or checking ViewModels, Activities, Fragments, UseCases, and Repositories.
安卓原生模块学习讲解器。当用户想学习某个模块、询问模块功能、请求讲解代码架构时调用。提供生动详尽的模块讲解,包括架构图、代码走读、实践任务。
| name | compose-reuse-checker |
| description | 分析 Compose 界面是否使用了项目中可复用的组件和主题系统。适用于检查 Compose 屏幕是否符合项目规范或需要重构以使用共享组件。 |
分析 Compose UI 文件,判断其是否正确使用了项目的可复用组件和主题系统。
接受以下任一形式:
@Composable 函数的 .kt 文件的完整路径在文件中查找以下导入和使用:
必要的主题导入:
import io.legado.app.ui.theme.LegadoTheme
import io.legado.app.ui.theme.*
必要的颜色函数(应替代硬编码颜色使用):
// 来自 CommonPageColors.kt - 页面级颜色
pageTopBarContainerColor() // TopBar/Header 背景色
pageCardContainerColor() // 卡片容器背景色
pageCardElevatedContainerColor() // 悬浮卡片背景色
pageHeaderContainerColor() // Header 背景色
pageSecondaryTextColor() // 次要文字颜色
pageAccentColor() // 强调/高亮颜色
pageSurfaceVariantColor() // Surface 变体颜色
pageMutedIconTint() // 弱化图标色调
// 来自 LegadoTheme.kt - 应包装内容
LegadoTheme { content() }
查找以下组件的导入和使用:
卡片组件:
import io.legado.app.ui.widget.components.card.GlassCard
import io.legado.app.ui.widget.components.card.TextCard
// 使用方式
GlassCard(modifier, containerColor, cornerRadius) { ... }
TextCard(text, backgroundColor, contentColor)
模态组件:
import io.legado.app.ui.widget.components.modalBottomSheet.AppModalBottomSheet
// 使用方式
AppModalBottomSheet(show, onDismissRequest, title) { ... }
列表组件:
import io.legado.app.ui.widget.components.list.TopFloatingStickyItem
// 使用方式
TopFloatingStickyItem(item) { item -> ... }
复选框组件:
import io.legado.app.ui.widget.components.checkBox.CheckboxItem
// 使用方式
CheckboxItem(title, checked, onCheckedChange)
查找以下用法:
MaterialTheme.colorScheme.primary
MaterialTheme.colorScheme.surface
MaterialTheme.colorScheme.onSurface
MaterialTheme.typography.bodyMedium
这些应该尽可能替代原始的 Color 对象使用。
分析完成后,提供:
## 分析结果
### ✅ 已正确使用
- [正确使用的组件/函数列表]
### ❌ 未使用/可优化
- [缺失的可复用组件或硬编码值列表]
### 🔧 建议修改
针对每个发现的问题,提供:
如果需要修改,提供具体的迁移计划:
## 迁移计划
### 1. 添加必要的导入
```kotlin
import io.legado.app.ui.theme.pageTopBarContainerColor
import io.legado.app.ui.widget.components.card.GlassCard
// ... 其他导入
修改前:
backgroundColor = Color(0xFFE0E0E0)
修改后:
backgroundColor = pageCardContainerColor()
修改前:
Card(modifier, colors = CardDefaults.cardColors(...)) { ... }
修改后:
GlassCard(modifier) { ... }
修改前:
@Composable
fun MyScreen() {
// ...
}
修改后:
@Composable
fun MyScreen() {
LegadoTheme {
// ...
}
}
## 示例
### 示例 1:良好用法
正确使用主题系统的文件:
```kotlin
import io.legado.app.ui.theme.LegadoTheme
import io.legado.app.ui.theme.pageTopBarContainerColor
import io.legado.app.ui.theme.pageCardContainerColor
import io.legado.app.ui.widget.components.card.GlassCard
@Composable
fun GoodScreen() {
LegadoTheme {
val topBarColor = pageTopBarContainerColor()
val cardColor = pageCardContainerColor()
GlassCard(containerColor = cardColor) {
Text("Content")
}
}
}
使用硬编码颜色的文件:
// ❌ 缺少导入
// ❌ 硬编码背景颜色
// ❌ 缺少 LegadoTheme 包装
@Composable
fun BadScreen() {
Column(modifier = Modifier.background(Color(0xFFF5F5F5))) {
Card(modifier = Modifier.background(Color.White)) {
Text("Content")
}
}
}
CommonPageColors.kt 中的 pageTopBarContainerColor() 等函数ReadRecordColors.kt 中的做法)GlassCard 而不是原始 Card 以实现玻璃效果LegadoTheme 包装内容以保持主题一致性MaterialTheme.colorScheme.* 替代硬编码颜色来处理 Material 组件