接上篇
这两项是在使用AI辅助编程时必须了解的。是不是写提示词写的很烦,并且是很多重复的劳动?让custom_prompts和skills来帮忙。
一、自定义Prompts
它的作用就是把重复的提示词固定下来,下次直接加入到Codex的上下文。下面是实现步骤及用法。
1、创建prompts文件夹
在~/.codex进入.codex文件夹,创建prompts文件夹,在prompts中就可以创建一个个Markdown就可以固定下来一个个提示词了。
2、编辑提示词
假如我们创建了一个figma_ui.md的文件,这个文件就是固定下来通过Figma MCP转换Android原生XML UI的提示词,那应该如何编辑figma_ui.md文件呢?是有固定格式的。
kotlin
---
description: 使用Figma MCP生成Android 原生XML布局代码
argument-hint: [NOTE=]
---
这里就写固定下来的提示词...
NOTE就是可以插入内容的占位符,用的不多,看个人发挥。
3、使用
编辑好后保存,输入/prompts就可以看到了,如果要追加NOTE内容就按Tab,不追加就按回车:

这样提示词就追加到了Codex的上下文。
二、编辑skills
skill是什么?skill其实是沉淀下来的一项项技能,比如项目中创建Activity,每个项目中肯定有一套固定下来创建Activity的代码,继承谁实现什么函数,全是模板代码,而这种固定的模板代码就可以抽取为一个个skill,注意skill是能力,不是模版。
1、创建skills文件夹
在~/.codex进入.codex文件夹,创建skills文件夹,在skills文件夹中可以存放一个个skill.
2、编辑skill
还是以Figma UI来举例,在skills文件夹创建一个子文件夹,子文件夹名字是figma_ui_to_xml,然后在figma_ui_to_xml内创建一个Markdown文件,文件名是固定的SKILL.md。
这个文件的头部也是固定的name和description, 用来暴露skill 能力的名字和描述,注意这二个特别重要,因为skill是一般不会显示调用的,skill的能力能不能被调用到,就是看与name和description的匹配度,匹配度高AI认为需要使用这个skill, 就会把这个skill的提示词加载进上下文。
kotlin
---
name: figma_ui_to_xml
description: Implement this Figma design。将Figma MCP链接转换为Android原生XML。
---
写提示
3、使用
隐式调用:方便快捷(推荐)。
比如在放入Figma MCP链接时前面加上Implement this Figma design。那么因为匹配到了figma_ui_to_xml的description的语句,所以会自动使用这个skill。
显示调用:直接,明确。


三、该用谁?
一般情况下都推荐用skill, 项目中的规范写法、一套一套的模版代码、各种能力都适合归纳为skill,然后让AI自动判断适合用哪个skill。而prompt适合与项目没有强关联的,偶尔要问那么一次的,每次编辑都很烦的,就可以固定成自定义prompt。