prompt-reverse-engineer-skill
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 10 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
多模态 Prompt 逆向工程 Skill:把文本/图片/视频/剧本拆解还原为可复用 Prompt,适配 Midjourney V8.2 / Stable Diffusion 3.5 / FLUX.2 / GPT Image 2.5(文生图·复刻·编辑·参考图·合成五模式)/ Nano Banana Pro / GPT-5.5·Claude 5.5 / DeepSeek V4.1 / Sora 2 / Runway Gen-4.5 / Veo 3.1 十种模型,支持 Claude Code / Cursor / Codex / DeepSeek Harness / 豆包五平台,附百分制六维评分(剧本可逐场景出图)
Prompt Reverse Engineer — 多模态 Prompt 逆向工程 Skill
把任何优秀作品 → 逆向拆解 → 还原为可复用的专业 Prompt
支持 Claude Code / Cursor / Codex / DeepSeek Harness / 豆包 五大平台 · 文本 / 图片 / 视频 / 剧本小说 多模态输入 · Midjourney V8.2 / Stable Diffusion 3.5 / FLUX.2 / GPT Image 2.5 / Nano Banana Pro / GPT-5.5·Claude 5.5 / DeepSeek V4.1 Flash / Sora 2 / Runway Gen-4.5 / Veo 3.1 多模型格式输出 · 附百分制六维加权质量评分(剧本可逐场景生成图片/视频提示词)
看到一篇爆款文案、一张惊艳的 AI 图片、一段电影感短视频,想知道「它是怎么被生成的」?把作品丢给本技能,它会自动拆解其主体、风格、结构与参数,反向还原出可复刻、可修改的专业 Prompt,并适配输出为各主流生成模型的格式。
纯插件形态:无前端、无后端、无数据库、无 API key、无状态、幂等、零新增依赖(脚本仅用 Python 标准库 + opencv/pillow/numpy)。
目录
一、核心能力
1.1 三种输入模态
| 输入 | 分析目标 | 输出内容 |
|---|---|---|
| 文本(文章/文案/小说/脚本) | 角色定位、写作风格、结构逻辑、约束规则 | 复刻 Prompt + 优化模板 |
| 图像(摄影/绘画/海报/产品图) | 主体、场景、构图、光影、色彩、摄影参数 | 正向 Prompt + Negative Prompt + 风格迁移 Prompt |
| 视频(短视频/广告/电影片段) | 镜头序列、运镜方式、人物动作、环境氛围、叙事结构 | 视频生成 Prompt + 分镜脚本 |
| 剧本/小说/文章(叙事文本→场景化) | 场景切分、全局基调、逐场景七段+分镜 | 每个场景的图片 Prompt(默认 MJ+SD)+ 视频 Prompt(默认 Sora)+ 逐场景评分 |
1.2 十种目标模型格式
生成的 Prompt 自动适配目标模型语法(模板元数据含展示名、厂商、版本、核验日期):
| 类别 | 模型 | 输出要点 |
|---|---|---|
| 图像 | Midjourney V8.2 | /imagine prompt: ... --ar 16:9 --v 8.2;负向用 --no;角色一致性用 Edit Model |
| 图像 | Stable Diffusion 3.5 | Positive / Negative 严格分离 + Steps 28 / CFG 4.5 / DPM++ 2M 参数行 |
| 图像 | FLUX.2 [pro] | 自然语言长句,不支持 negative,参考图标注角色 |
| 图像 | GPT Image 2.5 | 结构化规格书(Subject/Scene/Style/…/Constraints),文字逐字复现;五种任务模式(文生图/复刻/编辑/参考生成/融合)分别出稿 |
| 图像 | Nano Banana Pro | 分段标签 + 1K/2K/4K,最多 14 张参考图,文字渲染强 |
| 文本 | GPT-5.5 / Claude 5.5 | Markdown 标题组织六要素,System + User 结构 |
| 文本 | DeepSeek V4.1 Flash | 首行模型快照 + 思考档(low/high/max)+ 独立「推理要求」段 |
| 视频 | Sora 2 | 4/8/12/16/20 秒;自然语言散文 + 分镜 + 声音设计;sora-2-pro 1080p |
| 视频 | Runway Gen-4.5 | 2–10 秒 / 720p;镜头先行,再写故事与氛围 |
| 视频 | Veo 3.1 | 4/6/8 秒;电影摄影→主体→动作→背景→风格五段式,原生对白/音效 |
未指定目标模型时,默认输出 Midjourney V8.2 + GPT-5.5/Claude 5.5 双版本;其余模型按需追加(--models 接受模型 ID 或别名)。
1.3 质量评分
每个生成的 Prompt 附百分制评分,六维加权(权重见下表),评分后自动附 1-2 条优化建议:
| 维度 | 权重 | 维度 | 权重 | |
|---|---|---|---|---|
| 主题明确度 | 20% | 结构清晰度 | 15% | |
| 场景完整度 | 20% | 参数合理性 | 15% | |
| 风格契合度 | 20% | 可调性/复用性 | 10% |
1.4 工作原理:双层分析
作品(文本/图片/视频/剧本)
│
├── 脚本层(本地确定性信号)──→ 字数/句式统计 · 主色/构图/EXIF · 镜头切分/关键帧 · 场景切分信号
│ analyze_text.py / analyze_image.py / analyze_video.py / analyze_scenes.py
│
├── Agent 多模态本体(语义分析)──→ 主体 · 风格 · 结构 · 叙事 · 逐场景七段+分镜(按规则库)
│
├── 编译层 prompt_compiler.py ──→ 模板渲染成 10 种模型格式 + 六维评分 + 安全过滤(含 scenes 子命令逐场景编译)
│
└── 输出:元信息卡 + 分析摘要 + Prompt 列表 + 评分表 + 使用提示
(场景化:总览 + 场景总表 + 逐场景 Prompt + 逐场景评分)
脚本只做「本地可计算」的事,语义判断归 Agent——因此脚本不可用时(如豆包纯文本模式)技能仍可完整运行,仅缺少量化信号(降级路径已内置于 SKILL.md)。
二、快速开始
2.1 环境要求
| 依赖 | 用途 | 必需性 |
|---|---|---|
| Python 3.10+ | 运行分析/编译脚本 | 脚本模式必需 |
| opencv-python、pillow、numpy | 图片/视频信号提取 | 脚本模式必需 |
纯指令降级模式(豆包粘贴版)无任何依赖。安装依赖:
pip install opencv-python pillow numpy(URL 下载用标准库urllib,无需额外包)
2.2 安装(五平台)
# 预览安装动作(不执行任何写操作)
python tools/install.py --dry-run
# 一键安装到全部已检测到的 Agent(缺失的自动跳过)
python tools/install.py
- Claude Code → 安装到
~/.claude/skills/prompt-reverse-engineer - Cursor → 安装到
~/.cursor/skills/prompt-reverse-engineer - Codex → 注册本地插件市场到
~/.codex/config.toml - DeepSeek Harness → 安装到
~/.dsh/skills/prompt-reverse-engineer(格式与 Claude Code 的 SKILL.md bundle 兼容,无需改写;宿主模型deepseek-flash= V4.1 Flash,1M 上下文 + 原生视觉输入) - 豆包(桌面版) → 直接上传
platform-adapters/doubao/prompt-reverse-engineer.zip(内含标准 SKILL.md + scripts + references + assets)
Windows 默认使用 junction 联接安装(技能目录只放联接点,实体留在仓库内,更新仓库即自动生效,无需管理员权限);可用 --mode copy 切换为物理复制。各平台细节见 platform-adapters/README.md。
2.3 30 秒上手
安装后在任意支持的 Agent 中说:
把这段文案逆向成 prompt:
「【爆款】声波电动牙刷,3 档模式只要 199!……」
分析这张图片生成 Midjourney prompt:D:\images\cyberpunk.png
拆解这个视频的分镜脚本,转成 Sora prompt:https://example.com/video.mp4
把这部短剧按场景生成图片和视频提示词:D:\scripts\rain_umbrella.txt
即得完整输出:元信息卡 → 分析摘要 → Prompt 列表(可直接粘贴使用)→ 评分表 → 使用提示。
三、详细使用说明
3.1 触发方式
提供具体内容(粘贴文本 / 本地文件路径 / URL)并表达「逆向 / 复刻 / 拆解 / 变成 prompt / 优化 prompt」意图即触发。英文触发词:prompt reverse engineering、reverse engineer this text/image/video、recreate this style as a prompt。
3.2 文本模式(文章/文案/小说/脚本)
输入:直接粘贴文本、给本地文件路径或 URL。
分析维度:
- 角色定位:作者身份、专业领域、人设定位、目标受众
- 写作风格:语言特点、情绪倾向、表达方式、关键词使用习惯
- 结构逻辑:开头方式、内容展开、信息组织、结尾设计
- 约束规则:字数限制、格式要求、禁止内容、输出规范
输出:复刻 Prompt(System 含角色/风格/结构/约束六要素,User 为变量占位)+ 优化模板 + 评分报告。
示例对话:
用户:「把这篇文章逆向成 prompt,输出 GPT 版本」
技能:输出分析摘要 → GPT-5.5/Claude 5.5 复刻 Prompt(可直接把[此处填写主题]换成自己的主题复用)→ 评分报告
3.3 图片模式(摄影/绘画/海报/产品图)
输入:本地图片路径或图片 URL。
分析维度:主体(人物/物体/动作/外观/服饰)→ 场景(地点/环境/时间/氛围)→ 构图(视角/景别/构图方式)→ 光影(光源/明暗/氛围)→ 色彩(主色调/风格/饱和度)→ 摄影参数(镜头/焦距/景深),辅以脚本量化信号(主色、亮度、构图网格、清晰度)。
输出:MJ V8.2 /imagine 正向 Prompt + --no 负向 + 风格迁移版 + GPT 描述版 + 评分;还可按需出 FLUX.2(无负向)、GPT Image 2.5、Nano Banana Pro 版本。
指定模型与风格:
「分析这张图,出 MJ 和 SD 两个版本」
「把这张图的风格迁移成宫崎骏动画风」
「再出一版 FLUX.2 和 Nano Banana,画面文字写 APS 2077」
GPT Image 2.5 五种任务模式:文生图 / 复刻参考图 / 编辑已有图 / 参考图各自定角色生成新图 / 多参考图融合。Agent 在 semantic_analysis.task_type 写入对应枚举(text_to_image / image_recreation / image_editing / reference_guided / image_composition),脚本只渲染该用途;也可在编译时显式指定:
# 编辑已有图(一次只改一件事)
python prompt-reverse-engineer-skill/scripts/prompt_compiler.py compile --analysis image.json --models gpt_image --kind edit
# 用两张参考图合成新画面
... --models gpt_image --kind compose
--kind 与 task_type 冲突退出 4;参考图用 reference_images: ["图1:人物姿态", "图2:霓虹配色"] 逐行标注角色,缺编号或编号重复退出 4。五种模式的模板与字段见 references/model_mappings.md 3.4 节、references/prompt_framework.md 2.3.1–2.3.2 节。
3.4 视频模式(短视频/广告/电影片段)
输入:本地视频路径或 URL。
分析流程:脚本自动切分镜头并抽取关键帧 → Agent 逐关键帧做多模态分析 → 还原故事结构与分镜表(景别/运镜/时长/画面内容/台词)。
输出:Sora 2 / Runway Gen-4.5 / Veo 3.1 自然语言分镜脚本 + 复刻 Prompt + GPT 版分镜表 + 评分;含声音/对白设计的模型会额外输出 audio / narration 段。
超长视频:默认只取前 120 秒(--max-seconds 可调,截断而非跨片抽样),输出注明截取范围。
3.5 叙事文本场景化模式(剧本/小说/文章)
输入:本地文本路径、URL 或直接粘贴的剧本/小说/文章,并表达「生成对应场景的图片/视频提示词」「把故事变成画面」「逐场景出图」意图。
分析流程:脚本 analyze_scenes.py 先做确定性场景切分信号(剧本按场次标记 第X场/INT./EXT. 等;散文按叙事块+时间地点提示)→ Agent 通读全文提炼全局基调(题材/风格/角色表)→ 按「时间/地点/人物关系任一变化即新场景」定稿场景划分 → 每场景独立完成图片七段 + 视频分镜语义分析(契约见 references/prompt_framework.md 2.5 节)。
输出(每场景一份,逐场景评分):元信息卡 → 文本总览 → 场景总表(场景/标题/Prompt 数/得分/等级)→ 逐场景图片 Prompt(默认 MJ V8.2 + SD 3.5 双版本)+ 视频分镜 Prompt(默认 Sora 2)→ 逐场景六维评分 → 使用提示。
示例对话:
用户:「把这本小说按场景拆成图片和视频提示词,图片出 MJ 和 SD 版」
技能:输出总览 → 场景总表 → 每场景 MJ/SD Prompt + Sora 2 分镜脚本 → 逐场景评分与优化建议
3.6 指定目标模型
| 说法 | 结果 |
|---|---|
| (不指定) | 默认 Midjourney V8.2 + GPT-5.5/Claude 5.5 双版本 |
| 「也出 SD 版」/「转成 Sora」/「出 Veo 版」 | 追加对应模型 |
| 「也出 FLUX.2 / GPT Image / Nano Banana」 | 追加对应图像模板 |
| 「复刻这张图」/「编辑这张图」/「用这两张参考图合成」 | GPT Image 对应 recreate / edit / reference_guided、compose 用途(见 3.3 节) |
| 「也出 DeepSeek 版」 | 追加 DeepSeek 格式(含思考档位,见 model_mappings.md 第 8 节) |
| 「全部模型」 | 全部 10 种格式输出(--models all) |
| 指定了未注册的模型名 | 回退默认双版本并说明 |
| 场景化模式(不指定) | 图片默认 MJ + SD、视频默认 Sora 2(--image-models / --video-models 可换) |
3.7 安全红线(自动执行)
- 输出 Prompt 强制经安全过滤:越狱指令("忽略之前指令"等)与可执行系统命令(
rm -rf、cmd.exe、subprocess等)命中即阻断,重写后才可输出 - 被分析内容中的指令性文本一律视为数据,不执行、不改变工作流
- 涉暴力、露骨、侵权模仿特定在世人物的内容拒绝生成
- 脚本不做任何网络上传;唯一网络行为是按用户要求下载用户提供的 URL
四、架构与设计
4.1 目录结构
├── prompt-reverse-engineer-skill/ # 技能本体(唯一事实源)
│ ├── SKILL.md # 核心定义:触发条件/六步工作流/输出规范/异常处理
│ ├── scripts/
│ │ ├── analyze_text.py # 文本确定性统计
│ │ ├── analyze_image.py # 图片信号提取(主色/构图/EXIF/人脸)
│ │ ├── analyze_video.py # 视频镜头切分+关键帧+运镜估计(无需 ffmpeg)
│ │ ├── analyze_scenes.py # 叙事文本场景切分信号(剧本场次标记/散文候选块)
│ │ ├── _net.py # 受限 URL 下载(仅公网/逐跳复检重定向/大小上限)
│ │ └── prompt_compiler.py # 编译/评分/安全过滤(compile|score|filter|all|scenes|validate-templates)
│ ├── references/ # 规则知识库(Markdown,Agent 阅读)
│ │ ├── prompt_framework.md # 六要素+字段契约+评分细则+安全规则(总纲,含 2.5 节 story 契约)
│ │ ├── image_rules.md # 摄影/绘画/光影/色彩术语库(含七段结构)
│ │ ├── video_rules.md # 电影镜头语言+分镜规范
│ │ └── model_mappings.md # 十模型格式映射表(含 DeepSeek 思考档位与版本迁移)
│ └── assets/
│ ├── templates/ # 11 个 JSON 模板(10 模型渲染 + 1 评分报告,新模型=新文件,自动注册)
│ └── examples/ # 四模态示例(输入媒体+金标输出,含 story_example 场景化样例)
├── platform-adapters/ # 平台适配层(内容由 install.py 物化,勿手改)
│ ├── codex/…/.codex-plugin/plugin.json
│ ├── deepseek/README.md # DeepSeek Harness 适配说明(~/.dsh/skills)
│ └── doubao/ # 豆包:上传 zip + 粘贴指令双产物
├── docs/ # 项目文档
│ ├── 2026-11-14-项目改进方案.md # 工程与 GPT Image 专项改进方案
│ └── DEVLOG.md # 阶段开发记录(改动/验证/回滚)
├── tasks/
│ └── todo.md # 分阶段任务清单
└── tools/
├── install.py # 一键安装(junction/copy,幂等,--dry-run)
├── verify.py # 离线端到端验证(26 项断言)
└── fixtures/ # 金标语义分析 JSON(契约测试/字段范例)
4.2 脚本通用约定
- 统一信封:
{schema_version, tool, modality, input{source,kind,sha256,size_bytes}, local_features} - 统一退出码:
0 成功 / 1 用法错误(含无模型支持指定用途) / 2 输入不可读 / 3 下载失败或超过体积上限 / 4 契约错误(解码失败、缺字段、嵌套对象、类型不符、参考图编号冲突、task_type 与 --kind 冲突) / 5 安全阻断 - 确定性幂等:同输入两次运行输出逐字节一致(固定分桶算法、无时间戳、无随机数、键排序)
- 无状态:不写配置文件;视频关键帧写入
--workdir(默认仓库.tmp/,安装态回退系统临时目录),路径返回 JSON 供 Agent 读取;stdin/URL 的视频副本分析后删除 - 输入统一:本地路径 /
-(stdin) /http(s)://URL 三种形式;URL 仅允许公网 http(s),私网/回环/链路本地/含凭据地址直接拒绝(退出码 3),重定向逐跳复检,并有--max-bytes大小上限(文本/场景 32 MiB、图片 64 MiB、视频 512 MiB)
4.3 数据契约(三层)
L1 脚本 → Agent: local_features 量化信号(JSON 信封)
L2 Agent → 编译器: semantic_analysis 语义字段(字段规范唯一权威:
references/prompt_framework.md 第二节)
L3 编译器 → Agent: {prompts[], score_report{}, filter{blocked, matches, injection_flags}}
4.4 扩展设计
- 新增目标模型:在
assets/templates/新增一个*.json(含model/display_name/vendor/version/last_verified/alias/default_params/modalities),编译器自动注册并检测别名冲突,零代码改动 - 模板自检:
python scripts/prompt_compiler.py validate-templates一次列出全部问题(元数据缺失、日期非法、未知占位符、大括号未闭合、kind_requires指向不存在的用途/字段) - 新增分析维度:
references/prompt_framework.md加字段定义 → 模板占位符引用 → SKILL.md 补一行 - 新增评分维度:
prompt_compiler.py的DIMENSIONS(权重和须为 100)与prompt_framework.md第三、五节两处同步修改
五、离线验证
python tools/verify.py
26 项断言、全部离线、可重复执行:
| 层 | 覆盖 |
|---|---|
| 单元层 | 四脚本跑示例输入:退出码/信封/关键字段 + 幂等(两次运行逐字节一致);analyze_scenes 剧本→场次标记、散文→候选块+时间地点提示 |
| 契约层 | 编译渲染(总分=加权和、建议 1-2 条)+ 越狱样例阻断(退出码 5)+ --sanitize 替换放行 |
| 负向层 | 缺字段(退出码 4 报字段名)/ 未知模型 / 坏文件 / 场景缺字段(报场景号)/ 场景黑名单 |
| 安装层 | junction 创建、重复运行幂等、config.toml 标记块仅一次(Windows) |
| 豆包兼容 | YAML frontmatter 校验 + zip 内文件齐全 + 包内编译器独立运行成功 |
| DeepSeek 模型 | 别名(deepseek/ds/deepseek-flash/deepseek-1017)解析一致 + 三模态渲染含模型名/思考档/推理段 + 不混入默认集合 |
| 模板层 | 10 个模型模板元数据齐全;FLUX.2 无负向、GPT Image/Nano Banana/Veo/Runway/Sora 结构正确;Markdown 排版;模板别名冲突→退出码 4 |
| 任务模式 | GPT Image 五用途互斥渲染(--kind / task_type 映射);编辑顺序 Change→Scope→Preserve→Do not change;参考图逐行带编号;嵌套对象/编号缺失重复/未知 task_type/冲突→退出码 4,无模型支持→退出码 1 |
| 安全加固 | 全角、词内/词间零宽、大小写西里尔同形字 5 类绕过仍阻断;纯注入措辞(act as if/ignore all prior rules)只进 injection_flags 不阻断;validate-templates 全量通过且 5 类坏模板均报错;私网/回环/凭据/非 http URL 被拒,四脚本退出码 3 |
| 四场景 | ① 营销文案→GPT Prompt(角色/风格/结构约束)② 赛博朋克图→MJ Prompt(/imagine+--no+风格迁移)③ 10 秒视频→分镜 Prompt(镜头数=分镜段落数)④ 剧本→逐场景 Prompt(每场景 MJ/SD/Sora 2 齐全 + 逐场景评分) |
六、扩展指南
见 四、架构与设计 → 4.4。典型操作:
- 支持新模型:在
assets/templates/新建*.json,填model/display_name/vendor/version/last_verified/alias/default_params/modalities与模板字符串 → 立即生效;别名不得与既有模型冲突 - 补充风格词库:直接编辑
references/image_rules.md(规则是 Markdown,无需改代码) - 调排版:
all/scenes加--format md输出 Prompt 卡片 + Markdown 评分表;assets/templates/score_report.json控制表格列与行格式
七、常见问题
Q1:豆包上传提示「SKILL.md 需包含 YAML 格式的技能名称和描述」?
请上传 platform-adapters/doubao/prompt-reverse-engineer.zip(含标准 YAML 头)。仓库中的 doubao_instruction.md 是旧版粘贴用纯文本,不含 YAML 头,上传会报此错。
Q2:豆包版和完整版的区别?
豆包 zip 包与技能本体内容一致(SKILL.md + scripts + references + assets 全量打入),唯一区别是豆包版 SKILL.md 正文为自包含扁平版(规则全部内联),以便豆包只读单文件时也能完整运行。
Q3:脚本跑不了怎么办?
技能设计即「规则为主、脚本为辅」。脚本不可用时走内置降级路径:Agent 直接基于内容做纯语义分析,流程与输出格式不变,仅缺少量化信号与硬过滤。
Q4:为什么视频分析不需要 ffmpeg?
关键帧抽取与镜头切分用 OpenCV(cv2.VideoCapture)完成,不依赖 ffmpeg CLI。
Q5:会消耗我的 API 吗?
离线验证(verify.py)完全不消耗 API。正式使用时的语义分析由所在 Agent 的模型完成,属 Agent 正常调用。
八、许可证
MIT License © 2026 niobium617
九、相关项目
| 项目 | 说明 |
|---|---|
| AI Prompt Hub | 集提示词库、AI 技能教程、在线工具、社区交流于一体的全栈学习项目(Vue 3 + NestJS + 微信小程序)。与本 Skill 理念同源——把好作品拆解为可复用的 Prompt;其提示词库与教程体系收录了本 Skill 的逆向分析方法论。 |
技能规则与数据契约的权威来源是 prompt-reverse-engineer-skill/references/,请以该目录为准。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found