关于 skill-to-prompt
skill-to-prompt 将 Claude skill 转换为 ChatGPT Project 文档,包括精简的指令文件和整合后的参考文件,适合将 skill 工作流迁移到 ChatGPT Projects。
主要功能
- 01将 Claude skill 转换为 ChatGPT Project
- 02生成少于 8,000 字符的提示指令
- 03将参考内容整合为一个知识文件
- 04输出 .docx 文档
- 05提供 Markdown 备用格式
适用场景
- 01将 Claude skill 迁移到 ChatGPT Project
- 02整理详细工作流和参考资料
- 03生成项目指令与参考文档
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ realjaymes/ marketingagentskills --skill skill-to-prompt安装后在 Claude Code 中输入/skill-to-prompt确认已加载。
附带文件references/docx-generator.jsreferences/prompt-structure-guide.md
详细介绍
技能转提示词转换器
将 Claude 技能(SKILL.md + references/)转换为 ChatGPT Project 格式:一个提示词指令文档(.docx,不超过 8,000 个字符)和一个知识文件文档(.docx)。
生成内容
每次转换会生成:
- 提示词指令(.docx)——粘贴到 ChatGPT「Instructions」字段中的文本。不超过 8,000 个字符。采用 9 组件提示词公式进行结构化。
- 知识文件(1 个 .docx 文件)——作为参考资料上传到 ChatGPT Project。将所有详细工作流、模板、框架、示例和参考内容整合到一个文档中。
所有 .docx 文件均采用标准格式:Arial 字体,普通文本为 10pt,H1=20pt,H2=16pt,H3=14pt,H4=12pt,行距为 1.15。
转换工作流
第 1 步:定位并读取源技能
如果用户提供了技能名称(例如「copywriting」):
- 查找
~/.claude/skills/[skill-name]/SKILL.md
如果用户提供了路径,则直接使用该路径。
读取所有内容:
SKILL.md(完整内容)references/文件夹中的所有文件- 留意任何
scripts/或assets/文件夹(这些需要特殊处理)
第 2 步:分析技能复杂度
统计源内容总量,判断单个知识文件需要压缩多少:
| 复杂度 | 标准 | 所需压缩程度 |
|---|---|---|
| 简单 | SKILL.md 少于 300 行,且无参考文件 | 最少——内容可轻松放入一个知识文件 |
| 中等 | 300–500 行,或有 1–2 个参考文件 | 适度——精简冗长部分,保留所有框架和示例 |
| 复杂 | 500 行以上,或有 3 个以上参考文件 | 大幅——优先保留框架、完整示例和可执行内容。概述重复部分 |
无论复杂度如何,都必须恰好生成 1 个知识文件。
第 3 步:将内容映射到 9 组件提示词公式
阅读 references/prompt-structure-guide.md,了解完整映射指南。
从 Claude 技能中提取内容,并映射到 ChatGPT 指令组件:
| Claude 技能章节 | ChatGPT 提示词组件 |
|---|---|
Frontmatter 中的 description | 角色 + 任务摘要 |
| 「When to Use」/ 触发条件 | 任务背景 |
| 「Before Starting」/ 收集上下文的步骤 | 输入/变量 |
| 核心工作流章节(编号步骤) | 任务(精简后的步骤) |
| 「Output Format」章节 | 格式说明 |
| 「Examples」章节 | 输出示例(指令中最多 1–2 个) |
| 「Constraints」/「Rules」/「Never」陈述 | 约束 |
| 目标受众说明 | 受众 |
| 语气/风格指南 | 风格/语气 |
| 目的/结果说明 | 目标 |
第 4 步:将内容拆分到指令和知识文件中
应用优先级系统,确保字符数不超过 8,000:
P1 — 必须放入提示词指令:
- 角色说明(AI 的身份及其专长)
- 任务概述(主要任务 + 精简后的工作流步骤)
- 目标(期望结果)
- 关键约束(禁止/必须遵守的规则)
- 知识文件参考(各文件的内容,以及何时查阅)
P2 — 字符数允许时放入指令:
- 1–2 个关键示例(保持简短,将完整示例移至知识文件)
- 输入变量(开始前用户必须提供的内容)
- 输出格式规范
- 风格/语气指南
P3 — 必须放入知识文件:
- 完整的详细工作流及多段说明
- 完整的示例库
- 模板和框架(来自 SKILL.md 正文和 references/)
- 所有参考资料(来自 references/ 文件夹)
- 边缘情况和高级场景
- 决策树和详细表格
- 脚本代码(来自 scripts/ 文件夹,作为参考文档)
**字符数预算:**指令文本目标为 7,500 个字符(预留 500 个字符的安全余量)。
步骤 5:编写提示词说明
按照以下结构起草说明文本:
每份提示词说明文档都必须包含以下 9 个标题,顺序必须完全一致。不得省略或重命名任何标题。
## Role
You are [expertise extracted from skill description and intro].
You specialize in [specific domain/capabilities].
## Task
Your primary task is to [main objective from the skill].
Follow this workflow:
1. [Condensed step from skill workflow]
2. [Condensed step]
3. [Condensed step]
...
## Goal
[Desired outcome extracted from the skill's purpose/output sections]
## Audience
[Target audience. If the skill does not specify an audience, write: "General users seeking [skill domain] assistance. Adjust complexity based on the user's apparent experience level."]
## Style/Tone
[Voice/tone rules extracted from the skill. If the skill does not specify tone, write: "Professional and clear. Match the register of the target audience. Avoid jargon unless the audience expects it."]
Always include these writing rules regardless of skill-specific tone:
- Avoid dashes unless absolutely necessary. Prefer commas, periods, or conjunctions to keep the tone natural.
- Use en dashes (with spaces, e.g. word – word) or em dashes (without spaces, e.g. word—word) only when unavoidable, ideally no more than once per complete piece of output.
## Constraints
- [Never/always rule]
- [Character/word limits]
- [Format restrictions]
- [Quality standards]
## Inputs/Placeholders
Before starting, ask the user for:
1. [Required input from the skill's context-gathering steps]
2. [Required input]
## Example Output
[1-2 short examples showing expected output structure. Keep brief.]
## Formatting Instructions
[Output structure and formatting rules from the skill]
完成 9 个必需部分后,始终追加“知识文件”部分:
## Knowledge Files
This project includes 1 knowledge file. Consult it as needed:
1. **[SkillName]_Reference_Guide.docx** — [What it contains and when to reference it]
起草后统计字符数。如果超过 7,500 个字符:
- 将示例精简至最低限度(但保留“示例输出”标题,并至少提供一个简短示例)
- 进一步精简工作流步骤
- 缩短“受众”和“风格/语气”部分(但绝不能删除标题)
如果精简后仍超过 8,000 个字符:进一步缩短各部分内容,但必须保留全部 9 个标题。将详细说明移至知识文件,并在各标题下替换为简明摘要。
步骤 6:整理知识文件内容
始终只生成 1 个知识文件,命名为 [SkillName]_Reference_Guide.docx。
将所有 P3 内容整合到此单个文档中,并按清晰的标题层级组织:
[SkillName]_Reference_Guide.docx 包含:
- 完整详细的工作流及完整说明
- 所有示例和演示示例
- 模板和框架(来自 SKILL.md 正文和 references/ 文件夹)
- 所有参考资料(来自 references/ 文件夹)
- 指南、最佳实践和边缘情况
- 决策树和详细表格
- 脚本文档(注明为不可执行的参考资料)
单个文件内的组织结构:
- 主要部分使用 H1 标题(工作流、模板、示例、参考资料)
- 各主要部分中的小节使用 H2-H3 标题
- 主要部分之间插入分页符,以提高可读性
- 对于参考内容较多的复杂技能,优先保留框架、演示示例和可操作内容,而非冗长说明
步骤 7:生成 JSON 数据
将所有内容整理为符合 docx-generator 输入格式的 JSON 对象。
JSON 结构如下:
{
"skillName": "Skill Display Name",
"originalSkillName": "skill-name",
"version": "1.0.0",
"outputDir": "~/Downloads/",
"instructionDoc": {
"filename": "SkillName_Prompt_Instructions.docx",
"title": "Skill Name — ChatGPT Project Instructions",
"characterCount": 7234,
"sections": [
{ "type": "heading", "level": 1, "text": "Section Title" },
{ "type": "paragraph", "text": "Regular paragraph text." },
{ "type": "bold-paragraph", "label": "Label:", "text": "Text after label" },
{ "type": "bullet", "text": "Bullet point", "level": 0 },
{ "type": "numbered", "text": "Numbered item", "number": 1 },
{ "type": "table", "headers": ["H1","H2"], "rows": [["a","b"]], "columnPcts": [30,70] },
{ "type": "divider" },
{ "type": "spacer", "size": 200 },
{ "type": "meta", "text": "Metadata or footnote text" }
]
},
"knowledgeFiles": [
{
"filename": "SkillName_Reference_Guide.docx",
"title": "Skill Name Reference Guide",
"sections": [...]
}
]
}
将此 JSON 写入当前目录中的临时文件:[skill-name]-conversion.json
步骤 8:生成 .docx 文件
运行生成器:
NODE_PATH=~/Documents/node_modules node ~/.claude/skills/skill-to-prompt/references/docx-generator.js [skill-name]-conversion.json
这会在 ~/Downloads/ 文件夹中生成所有 .docx 文件。
如果 docx 软件包不可用,请先安装:
cd ~/Documents && npm install docx && cd -
**备用方案:**如果完全无法生成 .docx,请将内容以格式化 Markdown 输出,供用户粘贴到 Google Docs 或 Word。使用相同的标题层级和部分结构。
步骤 9:验证并呈现结果
检查并报告:
- 说明字符数(必须少于 8,000)
- 所有 .docx 文件均已成功生成
- 知识文件包含完整的引用内容
- 说明与知识文件之间的交叉引用清晰明确
向用户呈现:
Conversion complete: [skill-name] → ChatGPT Project
Output saved to ~/Downloads/
Prompt Instructions:
[SkillName]_Prompt_Instructions.docx (X,XXX characters)
Knowledge File:
[SkillName]_Reference_Guide.docx — [brief description]
Setup in ChatGPT:
1. Create a new Project in ChatGPT
2. Paste the instruction text from the Instructions .docx into the project's Instructions field
3. Upload the knowledge file to the project
4. Test with a sample prompt
呈现后,清理临时 JSON 文件:
rm [skill-name]-conversion.json
转换规则
可直接移植的内容
- 角色和目的定义
- 工作流步骤(精简后)
- 约束和规则
- 输出格式规范
- 示例和模板
- 参考内容
需要改写的内容
- Claude 工具引用(Read、Grep、Glob、Bash、Edit、Write)→ 改写为自然语言说明。例如,“读取用户的文件”改为“请用户粘贴或上传内容。”
- 动态命令(
!command语法)→ ChatGPT 不支持。应记录为手动步骤。 - 文件系统操作 → 替换为“请用户提供”这类表述。
- 渐进式披露(按需加载参考资料)→ 所有内容都必须预先放入知识文件中。
不会迁移的内容
- 脚本(scripts/ 文件夹)→ 在知识文件中说明脚本的用途。如有帮助,可将代码作为参考内容,但请注明它无法在 ChatGPT 中执行。
- 资源文件(assets/ 文件夹)→ 在输出中注明:“如有需要,必须手动迁移这些资源文件。”
- 跨技能引用→ 标记为依赖项:“此技能引用了 [other-skill]。请考虑单独转换该技能。”
- MCP 服务集成→ 在 ChatGPT Projects 中不可用。
- Frontmatter 字段(version、argument-hint、context、agent、allowed-tools)→ 这些是 Claude 专属元数据。不要将其加入 ChatGPT 指令。
输出命名规范
[SkillName]_Prompt_Instructions.docx
[SkillName]_Reference_Guide.docx
其中 [SkillName] 是采用标题大小写且以空格替换下划线的技能名称。
示例:
copywriting→Copywriting_Prompt_Instructions.docxdigital-product-video-ads→Digital_Product_Video_Ads_Prompt_Instructions.docxpage-cro→Page_CRO_Prompt_Instructions.docx
文档格式标准
所有 .docx 输出均遵循以下标准:
| 元素 | 设置 |
|---|---|
| 字体 | Arial |
| 字体颜色 | 所有文本和标题均为黑色(默认) |
| 正文 | 10pt |
| 标题 1 | 20pt |
| 标题 2 | 16pt |
| 标题 3 | 14pt |
| 标题 4 | 12pt |
| 行距 | 1.15 |
其他规则:
- 标题仅通过字号设置样式。不要额外加粗标题。
- 所有文本和标题都必须为默认黑色。不要为任何文本或标题添加其他颜色。
- 每个段落后都要添加间距。
- 表格使用交替行底纹,以提高可读性。
- 生成 .docx 时,必须为每个元素明确设置 Arial 字体、标题字号、黑色(不使用主题颜色)和 1.15 倍行距。切勿依赖 Word 默认样式。
参考资料
references/prompt-structure-guide.md— 9 个组成部分的提示词公式、字符预算分配、压缩技巧references/docx-generator.js— 用于根据 JSON 数据生成 .docx 文件的 Node.js 脚本references/AI Prompting Techniques.pdf— 提示词结构框架的源材料
相关技能
agent-skill-builder— 反向转换:将 ChatGPT Projects 转换为 Claude 技能skill-creator— 从头创建 Claude 技能的指南