Agent Skill 其他

XML转Compose

将Android XML布局转换为Jetpack Compose。适用于XML布局迁移、视图转可组合项或Compose迁移协助。支持处理布局、控件、属性、样式及资源引用。

查看 GitHub 仓库 ↗ ⭐ 15 Stars
  • Skill 名称:xml-to-compose
  • 简称:XML转Compose转换器
  • 来源:社区第三方(开发者 singhsume123)
  • 运行宿主:Claude-Code CLI
  • 核心定位:将Android XML布局文件自动转换为Jetpack Compose代码,适用于Android应用从传统View系统向现代声明式UI的迁移场景。

🧩 内部核心组成

该Skill通过智能解析和映射机制实现XML到Compose的转换:

核心转换能力

  • 布局映射系统:识别XML根布局并映射到对应Compose容器
  • 组件转换引擎:将XML视图组件转换为等效Compose组件
  • 属性处理模块:XML属性到Modifier链的有序转换
  • 资源引用处理:支持@string、@dimen、@color等资源引用转换

转换映射表(精简)

源XML组件目标Compose组件
LinearLayout (vertical)Column
LinearLayout (horizontal)Row
FrameLayoutBox
TextViewText
EditTextTextField/OutlinedTextField
ButtonButton
ImageViewImage/AsyncImage

目录结构

  • references/layouts.md - 布局容器映射参考
  • references/widgets.md - UI组件映射参考
  • references/attributes.md - 属性到Modifier映射参考

🛠 安装与启用方式

安装命令

skills install --user singhsume123/xml-to-compose-skill

前置要求

  • 已安装Claude-Code CLI环境
  • Android开发基础知识
  • Jetpack Compose基础理解

启用方式:安装后即可在Claude-Code CLI中通过自然语言指令触发转换功能。

📋 标准工作流

  1. 用户输入:提供XML布局文件或描述转换需求
  2. 结构分析:Skill解析XML层级结构,识别根布局类型
  3. 组件映射:逐层遍历XML节点,映射到对应Compose组件
  4. 属性转换:将XML属性转换为Compose Modifier链(遵循特定顺序)
  5. 资源处理:转换资源引用为Compose资源函数调用
  6. 代码生成:输出符合Compose最佳实践的Kotlin代码
  7. 预览添加:自动生成@Preview函数便于即时预览

典型输出包括:主Composable函数、状态管理参数、预览函数、资源引用处理。

⚠️ 关键限制、缺陷、注意事项

技术限制

  • 平台限制:仅支持Android XML布局转换,不支持iOS或其他平台
  • 复杂布局:对ConstraintLayout等复杂布局的转换可能需手动调整
  • 自定义视图:无法自动转换自定义View组件,需要手动实现

使用限制

  • Token消耗:大尺寸XML文件转换可能消耗较多token
  • 兼容性:生成的代码基于Material 3,需确保项目支持
  • 状态管理:需要手动添加状态管理逻辑(如ViewModel集成)

生产环境适用性

  • 适合作为迁移辅助工具,但需人工审查和优化
  • 不适合直接用于生产环境,必须经过测试和重构

✅ 适用场景 & ❌ 不适合场景

✅ 适用场景

  • 遗留项目迁移:将传统XML布局的Android应用迁移到Compose
  • 学习辅助:帮助开发者理解XML与Compose的对应关系
  • 快速原型:快速将设计稿XML转换为可运行的Compose代码
  • 增量迁移:大型项目中部分模块的逐步迁移

❌ 不适合场景

  • 全新项目开发:直接使用Compose编写更高效
  • 复杂动画需求:需要手动实现复杂动画和交互逻辑
  • 性能关键场景:自动生成的代码可能需要性能优化
  • 高度定制UI:自定义设计系统需要手动实现组件

如何安装

skills install --user singhsume123/xml-to-compose-skill

通用安装教程:在哪里输入上面的命令

上面的命令本质是在「终端 / 命令行」中调用技能管理器,把该 Skill 下载并注册到你的 AI 工具。各主流工具打开终端的位置不同,按下面操作即可:

  1. 打开工具自带的终端面板,或系统终端(macOS「终端」、Windows「PowerShell」、Linux「Terminal」)。
  2. 把上面的安装命令复制进去,回车运行,等待下载与注册完成。
  3. 重启或重新加载 AI 工具,让新安装的 Skill 被识别。
  4. 新建对话并触发:直接描述用途,或通过该工具的技能 / 斜杠菜单选中此 Skill。
Claude 桌面版(macOS / Windows)

桌面版没有内置命令行,Skill 需通过 Claude Code CLI 安装。打开系统终端,先执行 npm install -g @anthropic-ai/claude-code,再运行上面的安装命令;完成后完全退出并重新打开 Claude。

Claude Code(终端 CLI)

直接在项目目录的终端里运行上面的命令即可。也可先输入 claude 启动交互界面,再在对话中引用该 Skill(/ 斜杠菜单或直接描述用途)。

VS Code(含 GitHub Copilot)

打开终端面板:菜单「终端 → 新建终端」,或快捷键 Ctrl+`(macOS 为 ⌃+`)。在终端里运行上面的命令;装完后执行「重新加载窗口」(Ctrl+Shift+P → Reload Window),让 Copilot 等扩展识别新技能。

Cursor

底部「终端」面板(Ctrl+`)即是内置终端。粘贴运行上面的命令,完成后在命令面板执行「Reload Window」刷新,再开始对话。

Windsurf

底部「终端」面板运行命令;也可直接使用其内置 Agent 终端,在对话侧执行安装。

其他工具(ChatGPT、本地脚本等)

不支持本地终端的产品,可先在本机终端完成安装,再在对话中描述该 Skill 的能力让其调用;不同工具的命令格式请以其官方文档为准。

风险提示

✅ 低风险

自动扫描未发现高危命令、隐私抓取或数据外传行为。仍建议安装前快速浏览仓库代码。

相似 Skill 推荐

品味技能
Leonxlnx/taste-skill
低风险

品味技能 - 让AI拥有好品味,阻止AI生成无聊、通用的垃圾内容。

CowAgent
zhayujie/CowAgent
低风险

开源超级AI助手与智能体框架。规划任务,运行工具和技能,通过记忆和知识自我进化。多模型、多通道。轻量级、可扩展、一行安装。(前身为chatgpt-on-wechat)

Obsidian技能
kepano/obsidian-skills
低风险

为Obsidian设计的智能体技能。教会你的智能体使用Obsidian CLI以及开放格式,包括Markdown、Bases、JSON Canvas。

AI网站克隆模板
JCodesMore/ai-website-cloner-template
低风险

使用AI编码代理,通过一条命令克隆任何网站。