当前位置: 首页 > news >正文

鸿蒙 CodeGenie:技能(Skills)配置

日常工作中,我们经常需要处理重复性任务,如调整文档结构、撰写周报告等,每次都需要输入格式要求、偏好、操作流程,耗时且容易遗漏关键细节。CodeGenie的Skills功能解决了这个问题——一次定义,长期稳定复用

一、Skills

Skills是一份标准化的教程,会指导CodeGenie面对任务时如何思考、遵循什么步骤、输出什么格式、注意事项是什么。只需要定义一次,CodeGenie便能在后续的每次对话中自动识别并应用。

Skill的本质

Skills实际是一个包含SKILL.md文件(区分大小写)的文件夹,在SKILL.md文件中以自然语言描述技能的名称、触发条件和执行步骤,可以快速定义自动化工作流。

编写规范

SKILL.md文件写作时,严格遵循业界YAML Frontmatter(元数据)+ Markdown Body(正文)的统一规范:

部分说明
YAML Frontmatter技能元数据(name、description等)
Markdown Body技能的具体指令和步骤

Skills类型

从DevEco Studio 6.1.0 Release(6.1.0.830)版本开始,CodeGenie支持两种Skills:

类型说明
Global Skills(全局技能)支持当前用户在本地所有项目中使用,不可跨设备同步
Project Skills(项目技能)仅适用于当前项目

使用约束

约束项限制
支持智能体自定义Agent和HarmonyOS Act智能体
name≤64字符,小写字母、数字、中划线组成,不能以-开头或结尾,不能包含连续的-,与文件夹命名一致
description≤1024字符
正文指令≤32768字符
文件夹大小≤100MB

二、操作步骤

2.1 进入配置页面

点击界面右上方设置按钮,选择Skills,进入配置页面。

2.2 导入Skills

Global SkillsProject Skills下:

  • 首次导入:点击Import导入技能文件

  • 已存在技能文件:点击导入按钮进行导入

2.3 导入规则

情况行为
选择的文件夹中存在SKILL.md作为单个skill导入
选择的文件夹中不存在SKILL.md遍历下一级文件夹,检查是否包含SKILL.md,找到的SKILL.md作为skill导入(支持批量导入)

注意:仅支持遍历所选择文件夹的下一级,不支持更深层级的遍历。

2.4 管理Skills

在Global Skills和Project Skills列表中,显示已导入的技能信息:

显示信息说明
技能名称如openharmony-build
描述信息SKILL.md中的description
启用状态技能是否启用

操作按钮(鼠标悬浮在技能信息上):

操作说明
编辑在代码编辑区打开SKILL.md文件
删除移除该技能

三、调用Skills

返回CodeGenie对话框调用Skills时,在对话框输入时需要带有技能的name(如openharmony-build)。

SKILL.md结构示例

--- name: openharmony-build description: 鸿蒙应用构建指南 --- ## 触发条件 当用户提到"构建"、"编译"、"打包"时触发 ## 执行步骤 1. 检查工程结构 2. 执行编译命令 3. 输出构建结果 ## 注意事项 - 确保环境变量已配置 - 检查签名配置

鸿蒙CodeGenie Skills通过包含SKILL.md的文件夹定义自动化工作流,遵循YAML Frontmatter+Markdown Body规范,支持Global Skills(全局,当前用户所有项目)和Project Skills(仅当前项目),导入时自动识别SKILL.md文件,调用时需输入技能name。

http://www.cnnetsun.cn/news/3155785.html

相关文章:

  • openEuler-pkginfo错误排查指南:常见问题与解决方案
  • WhatsApp 自动回复规则引擎的设计与实现
  • openEuler-pkginfo性能优化:如何高效处理大规模仓库数据的10个技巧
  • openEuler-pkginfo扩展开发:5个步骤轻松添加自定义功能模块
  • openeuler/cloudphone_kernel 常见问题解答:新手必看的10个实用技巧
  • openeuler/riscv-kernel项目架构深度解析:如何实现多SoC平台统一支持
  • 08_检查点
  • AI驱动的钱包交易风险解释:让链上操作在签名前可理解
  • IIM-42652 IMU传感器与STM32的6DoF运动追踪实现
  • openeuler/riscv-kernel测试与验证:确保内核稳定性的完整方法
  • 如何快速配置Autovisor:完整智慧树刷课脚本使用教程
  • AI Agent:自主智能体的工作原理与应用全景
  • ICM-42688-P与PIC18F85J50在运动控制与振动监测中的应用
  • 工业传感器控制系统核心组件与接口设计指南
  • AI 创作时间线:灵感、草稿和成稿不要混在一起
  • migration-assistant源码解析:核心模块架构与代码实现
  • ncmdump:3步解锁网易云音乐加密格式,让音乐真正属于你!
  • 工业级传感器控制系统设计与芯片选型指南
  • 基于FOC算法的15A无刷电机控制方案解析
  • BLE通信安全实践:基于AES128的加密实现与协议栈解析
  • OpenCV环境搭建与人脸识别实战:从零到一的Python计算机视觉入门
  • 直流有刷电机高效驱动方案与PIC微控制器应用
  • TM4C129ENCPDT微控制器与SLO2016协议栈应用解析
  • DS28EC20 EEPROM与PIC18F26K22微控制器的嵌入式存储方案
  • 给 Claude Code 省 97% Token 是真的吗?我把 caveman 装上跑了一周
  • TensorFlow Lite Micro 算子裁剪:少注册一个算子,省半块 Flash
  • 基于Si4731与MK64FX512VDC12的广播接收系统设计
  • 13DOF传感器与PIC18F27J53在AGV导航中的应用
  • STM32与EEPROM嵌入式存储方案设计与实现
  • 如何轻松实现跨平台B站视频下载:BBDown命令行工具全方位指南