返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

告别复制粘贴:将 OpenAI Prompt 转化为 Claude Code Skills

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 17:13 |阅读模式 打印 上一主题 下一主题

早前OpenAI官方发布了一堆给企业级用户的 Use Cases(用例),分门别类地列好了给产品经理怎么写 Prompt,给工程师怎么写 Code Review 提示词。

想起以前还需要到处找Prompt,到处学习Prompt应该怎么写,还需要找些笔记软件来分门别类记录下来,每次用的时候还需要找回来,复制粘贴。

在 ChatGPT 网页版中,我们的工作流通常是:

复制 Prompt -> 切换窗口 -> 粘贴代码上下文 -> 等待生成 -> 复制回 IDE

然后我在想,现在Skills技能这么强大,能不能拿过来用用呢。通过将Prompt封装为Skill,那么我们的工作流就变为了:

用户在 IDE 键入模糊意图 -> Agent 自动识别场景 -> 调用封装好的 Prompt -> 读取当前代码 -> 直接生成结果

从 Prompt 到 Skill

在转换之前,我们需要理解两者的结构差异:

  • OpenAI Prompt: 通常是一段文本,包含背景(Context)、任务(Task)和输出要求(Output)。用户需要每次手动复制粘贴给 ChatGPT。

  • Agent Skill: 是一个文件夹(通常包含 SKILL.md),它将 Prompt 包装了元数据(YAML Frontmatter)。Agent 会根据用户的模糊意图(Intent)自动检索并加载这个 Prompt。

Skill 模板

一般SKILL.md模板的格式内容大致如下:

---name: <技能名称,如 generate-prd>description: <一句话描述,如:为新功能撰写产品需求文档 (PRD)>---
# <技能标题>
## When to use this skill-<描述触发场景1,例如:当用户要求写 PRD 时>-<描述触发场景2,例如:当用户提供了功能想法但需要文档化时>
## Instructions<这里粘贴 OpenAI 的 Prompt 内容>-Context: ...-Task: ...-Output Format: ...
## Input Variables-<变量1>: <描述>

所以我们要做的事情就相当于做一层转换YAML 元数据 (定义何时使用) + OpenAI Prompt 内容 (定义怎么做)

实战转换示例

我们从OpenAI Academy的资源中挑选几个典型用例来进行转换。

产品经理用例 (Product)

原始OpenAI Prompt

Basedonthisfeatureideaandcustomerneed,writeafirst-draftPRD.Includeuserstory,problemstatement,solutionoverview,acceptancecriteria,andsuccessmetrics.[Insertcontextorproblem]

那么转换后的SKILL.md大概是这样的:

---name: product-draft-prddescription: Draft a comprehensive Product Requirements Document (PRD) from a feature idea.---
# Product Requirements Document Generator
## When to use this skill-When the user asks to write a PRD or spec for a feature.-When the user provides a rough feature idea and needs a structured document.-When asking to "flesh out" a product concept.
## InstructionsYou are an expert Product Manager. Your goal is to draft a PRD based on the user's input.
1.**Analyze the Request**: Identify the core feature, target audience, and business goal from the user's prompt.2.**Draft the Content**: Generate a response following this strict structure: * **Problem Statement**: What are we solving? * **User Stories**: As a [user], I want to [action], so that [benefit]. * **Acceptance Criteria**: Gherkin syntax (Given/When/Then) or bullet points. * **Technical Constraints**: Potential limitations or requirements (ask if unknown). * **Success Metrics**: How will we measure success?
3.**Refinement**: If the user's input is too vague, ask clarifying questions before generating the full doc.

Claude Code 使用 Skills

然后我们尝试一下在Claude Code中来使用这份Skill,然后将它命名为product-draft-prd,并保存在项目中.claude/skills/product-draft-prd/SKILL.md,这样就仅此项目能使用。

启动Claude Code工具,输入/就能够看到刚才创建的product-draft-prd技能

帮我写一份关于‘AI自动剪辑短视频’功能的PRD

可以看到会自动触发到我们新增的Skill

最终就会展示出这份 PRD 文档内容

它将根据我们定义的文档内容,一步步给我们做分析

如果还有其他的不清楚的内容,还可以继续跟它沟通

没问题的话,我们就可以保存到本地

更自动的转换为 Skills

如果由我们自己来做这个转换,毕竟是有点难度,这种事情当然是要让 AI 帮我们处理,例如之前介绍过的,Anthropics有一个叫skill-creator的技能,我们让它帮我们做这个转换工作。

仓库地址

https://github.com/anthropics/skills/tree/main/skills/skill-creator

我们使用一段工程师用例,尝试这个转换:

Explainthiscodesnippettoajuniorengineer,pointoutpotentialbugs,andsuggestarefactorforbetterperformance.

将上面的技能放到skills目录下,然后启用这个技能

然后将技能名称和Prompt提示词发给它,它就会给我们分析这个需求,并且会提出一些问题,它这边会按照三个维度(使用场景、编程语言、审查重点),我们按照实际情况做出选择即可

我这边就是无脑全部勾上了

处理完以后,就能够在.claude/skills/里面看到生成了一个新的eng-code-review目录,这个就是我们刚才创建的新Skill

SKILL.md文档里面,详细的记录了这个技能的内容

重新进去以后,就能够看到这个新的技能。然后我在目录里面随便写了一个 python 函数的脚本,让这个技能去帮我看看这里面的问题。

defprocess_data(l): # 保存去重后的用户  res = [] foruinl:   # 糟糕的去重逻辑:每次循环都遍历一遍 res,性能灾难   ifu['id']notin[x['id']forxinres]:      res.append(u)
total =0 count =0 foruinres: ifu['active'] ==True: total += u['age'] count +=1
# 致命 Bug:如果 count 为 0,这里会报错 (ZeroDivisionError) returntotal / count

代码槽点:

  1. 性能极差:在循环里用了列表推导式做成员检查,导致复杂度变成O(N^2)
  2. 潜在 Bug:没有处理空列表(会导致除以零错误)。
  3. 健壮性差:假设所有字典都有 keys,且没有类型检查(如果 age 是字符串会报错)。
  4. 命名糟糕:变量名 l, u, x 毫无意义。

然后让它开始检查代码

执行后,输出结果,都能检查出问题来了

为什么这样做比直接用 Prompt 更好

将 OpenAI 的 Prompt 迁移为 Claude 的本地技能,是一次能力的全面升级:

  1. 上下文感知 (Context Awareness): 以往你需要手动复制粘贴代码给 AI,现在 Claude 直接“住”在你的代码库里。它能看见你引用的库、你的目录结构甚至你刚写的 Bug。这种上下文感知 (Context Awareness) 能力,让 AI 的回答从“通用的正确”变成了“针对性的解决方案”。

  2. 被动触发 vs 主动检索: 你不需要专门建立一个文档来记录那些复杂的 Prompt。在终端里,它们变成了可执行的命令。你只需要表达意图(比如 review 或 gen-prd),剩下的交给配置好的路径去执行。这是把知识“代码化”了。

  3. 团队对齐: 你可以将.agent/skills文件夹提交到 Git 仓库。这意味着你的团队成员在 Check out 代码后,立刻拥有了一致的 Prompt 工程能力——所有人的 Code Review 标准和 PRD 格式瞬间统一



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作