with one click
prompt-analyzer
提示词分析与洞察 - 查看Prompt详情、对比差异、推荐相似提示词、元素库统计
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
提示词分析与洞察 - 查看Prompt详情、对比差异、推荐相似提示词、元素库统计
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
智能提示词生成器 v2.0 - 支持人像/跨domain/设计三种模式,语义理解、常识推理、一致性检查
通用学习器 - 从任何领域的Prompt中自动提取可复用元素,持续学习和积累知识
艺术风格主控 - 自动生成艺术风格提示词,支持水墨画、油画、超现实、插画等多种艺术风格
平面设计主控 - 自动生成平面设计提示词,支持海报、logo、插画等多种设计类型
AI领域分类器 - 智能分析提示词内容,准确判断所属领域(人像/艺术/设计/产品/视频)
产品摄影主控 - 自动生成产品摄影提示词,支持商业拍摄、电商图片等场景
| name | prompt-analyzer |
| description | 提示词分析与洞察 - 查看Prompt详情、对比差异、推荐相似提示词、元素库统计 |
专注于已生成Prompt的分析和洞察,不负责生成新Prompt。
提供以下5大功能:
用户说:
从用户输入中提取Prompt ID:
# 示例:用户说 "查看Prompt #5的详情"
prompt_id = 5
from prompt_analyzer import analyze_prompt_detail
result = analyze_prompt_detail(prompt_id=5)
如果Prompt不存在:
if 'error' in result:
print(f"❌ {result['error']}")
# 提示用户:该Prompt不存在,可能还没生成过任何Prompt
📸 Prompt #5 详情
**用户需求**: {result['user_intent']}
**生成时间**: {result['generation_date']}
**质量评分**: {result['quality_score']}/10
**风格标签**: {result['style_tag']}
**使用的元素** ({len(result['elements'])}个):
1. [{field_name}] {chinese_name} (复用度: {reusability})
- 类别: {category}
- 模板: {template}
2. ...
**完整Prompt**:
────────────────────────────────────────────────────────
{result['prompt_text']}
────────────────────────────────────────────────────────
用户说:
从用户输入中提取两个Prompt ID:
# 示例:用户说 "对比Prompt #5和#17"
prompt_id1 = 5
prompt_id2 = 17
from prompt_analyzer import compare_prompts
result = compare_prompts(prompt_id1=5, prompt_id2=17)
SKILL分析返回的数据,生成对比表格:
⚖️ Prompt对比:#5 vs #17
### 基本信息对比
| 维度 | Prompt #5 | Prompt #17 |
|------|-----------|-----------|
| 用户需求 | {p1['user_intent']} | {p2['user_intent']} |
| 风格标签 | {p1['style_tag']} | {p2['style_tag']} |
| 质量评分 | {p1['quality_score']}/10 | {p2['quality_score']}/10 |
| 元素总数 | {len(p1['elements'])}个 | {len(p2['elements'])}个 |
| 生成时间 | {p1['generation_date']} | {p2['generation_date']} |
### 元素差异分析
**相似度**: {result['similarity_score']*100:.1f}%
**共同元素** ({len(result['common_elements'])}个):
- {common_element['chinese_name']} ({common_element['category']})
- ...
**Prompt #5 独有** ({len(result['unique_to_p1'])}个):
- {element['chinese_name']} ({element['category']})
关键词: {element['template'][:50]}...
- ...
**Prompt #17 独有** ({len(result['unique_to_p2'])}个):
- {element['chinese_name']} ({element['category']})
关键词: {element['template'][:50]}...
- ...
SKILL根据相似度给出结论:
if result['similarity_score'] > 0.7:
print("💡 这两个Prompt非常相似,风格接近")
elif result['similarity_score'] > 0.4:
print("💡 这两个Prompt有一定相似性,但风格有明显差异")
else:
print("💡 这两个Prompt完全不同,属于不同风格")
用户说:
# 示例:用户说 "推荐与#5相似的Prompt"
prompt_id = 5
top_n = 3 # 默认推荐3个
from prompt_analyzer import recommend_similar_prompts
result = recommend_similar_prompts(prompt_id=5, top_n=3)
SKILL解读相似度原因,为每个推荐Prompt生成理由:
# 分析共同元素,找出相似的原因
def analyze_similarity_reason(common_element_ids, target_prompt, candidate_prompt):
"""
分析两个Prompt为什么相似
返回:
- 共同的风格标签
- 共同的元素类别
- 推荐理由列表
"""
reasons = []
# 检查风格标签
if target_prompt['style_tag'] == candidate_prompt['style_tag']:
reasons.append(f"✓ 同为{candidate_prompt['style_tag']}风格")
# 按类别统计共同元素
category_count = {}
for elem_id in common_element_ids:
# 查询元素详情获取category
# ... (执行层已返回)
category = ...
category_count[category] = category_count.get(category, 0) + 1
# 列出重要的共同类别
for category, count in category_count.items():
if count >= 2:
reasons.append(f"✓ {count}个共同的{category}元素")
return reasons
🔍 为Prompt #5推荐相似提示词
[1] Prompt #{recommendation['prompt_id']} - {recommendation['user_intent']}
相似度: {recommendation['similarity']*100:.1f}%
共同元素: {recommendation['common_count']}个
质量评分: {recommendation['quality_score']}/10
理由:
- ✓ 同为{style_tag}风格
- ✓ 共用3个makeup元素
- ✓ 共用2个lighting元素
[2] ...
[3] ...
用户说:
# 场景A:用户说 "元素库有哪些类别?"
category = None # 查询整体统计
# 场景B:用户说 "makeup类别有多少个元素?"
category = 'makeup_styles' # 查询特定类别
from prompt_analyzer import get_library_statistics
# 整体统计
result = get_library_statistics()
# 或者特定类别
result = get_library_statistics(category='makeup_styles')
场景A:整体统计
📊 元素库统计
**总计**: {result['total_elements']} 个元素
**按类别分布**:
- makeup_styles: {count}个
- clothing_styles: {count}个
- hair_styles: {count}个
- lighting_techniques: {count}个
- facial_features: {count}个
- ...
💡 使用 "查看makeup_styles详情" 查看具体元素列表
场景B:类别详情
📊 元素库统计 - {category}
**类别**: {result['category_details']['category']}
**总数**: {result['category_details']['total_count']} 个元素
**最常用元素** (Top 10):
| 排名 | 元素名称 | 复用度 | 使用次数 | 平均质量 |
|------|---------|--------|---------|---------|
| 1 | {chinese_name} | {reusability} | {usage_count}次 | {avg_quality}/10 |
| 2 | ... | ... | ... | ... |
| ... |
**最高质量元素** (Top 5):
[按avg_quality排序]
**从未使用的元素** ({count}个):
[usage_count = 0的元素]
用户说:
# 示例:用户说 "古装风格应该用什么元素?"
# 映射用户描述到style_tag
style_mapping = {
'古装': 'ancient_chinese',
'古装中式': 'ancient_chinese',
'仙剑奇侠传': 'ancient_chinese',
'科幻': 'modern_sci_fi',
'西部世界': 'westworld_android',
'赛博朋克': 'cyberpunk',
'奇幻': 'fantasy'
}
style = style_mapping.get('古装', 'ancient_chinese')
from prompt_analyzer import recommend_elements_by_style
result = recommend_elements_by_style(style='ancient_chinese')
SKILL将返回的元素按类别分组,便于展示:
# 按category分组
elements_by_category = {}
for element in result['recommended_elements']:
category = element['category']
if category not in elements_by_category:
elements_by_category[category] = []
elements_by_category[category].append(element)
# 按类别的最高使用频率排序
sorted_categories = sorted(
elements_by_category.items(),
key=lambda x: max(e['usage_frequency'] for e in x[1]),
reverse=True
)
🎨 风格推荐:{result['style']}
**数据来源**: 基于{result['total_prompts']}个历史Prompt分析
**推荐元素组合** (按类别):
### 1. {category_name}
[{field_name}] {chinese_name}
- 使用频率: {usage_frequency*100:.0f}% ({usage_count}/{total_prompts}个Prompt使用)
- 复用度: {reusability}/10
- 平均质量: {avg_quality}/10
- 关键词: {template[:80]}...
### 2. {category_name}
...
**使用建议**:
- ✓ 这个组合在{style}风格中最常用,质量稳定
- ✓ 推荐搭配:{推荐的基础属性,如"东亚女性"}
- ⚠️ 避免搭配:{冲突的元素}
SKILL调用以下执行函数(代码层只执行,不决策):
# 所有函数在 prompt_analyzer.py 中
def analyze_prompt_detail(prompt_id: int) -> dict:
"""查询Prompt完整信息"""
def compare_prompts(prompt_id1: int, prompt_id2: int) -> dict:
"""对比两个Prompt差异"""
def recommend_similar_prompts(prompt_id: int, top_n: int = 3) -> list:
"""推荐相似Prompts"""
def get_library_statistics(category: str = None) -> dict:
"""查询元素库统计"""
def recommend_elements_by_style(style: str) -> dict:
"""按风格推荐元素组合"""
elements.db
├── elements # 元素库(由universal-learner维护)
├── generated_prompts # 生成历史(由intelligent-prompt-generator写入)
├── prompt_elements # Prompt-元素关联
└── element_usage_stats # 元素使用统计
重要:prompt-analyzer依赖intelligent-prompt-generator生成的历史数据。如果数据库中没有generated_prompts记录,分析功能无法工作。
✅ SKILL = 大脑(决策层)
✅ 代码 = 手脚(执行层)
❌ 代码不做决策
用户: "查看Prompt #1的详情"
SKILL处理:
from prompt_analyzer import analyze_prompt_detail
result = analyze_prompt_detail(prompt_id=1)
# 展示格式化结果
print(f"📸 Prompt #{result['prompt_id']} 详情\n")
print(f"**用户需求**: {result['user_intent']}")
print(f"**生成时间**: {result['generation_date']}")
# ...
用户: "对比Prompt #1和#2"
SKILL处理:
from prompt_analyzer import compare_prompts
result = compare_prompts(prompt_id1=1, prompt_id2=2)
# 分析相似度
similarity = result['similarity_score']
if similarity > 0.7:
conclusion = "非常相似"
elif similarity > 0.4:
conclusion = "有一定相似性"
else:
conclusion = "完全不同"
# 展示对比表格和结论
# ...
用户: "推荐与#1相似的Prompt"
SKILL处理:
from prompt_analyzer import recommend_similar_prompts
recommendations = recommend_similar_prompts(prompt_id=1, top_n=3)
# 为每个推荐分析理由
for rec in recommendations:
reasons = analyze_similarity_reason(
rec['common_element_ids'],
target_prompt_id=1,
candidate_prompt_id=rec['prompt_id']
)
# 展示推荐和理由
# ...
用户: "查看makeup_styles类别详情"
SKILL处理:
from prompt_analyzer import get_library_statistics
result = get_library_statistics(category='makeup_styles')
# 展示统计表格
details = result['category_details']
print(f"📊 {details['category']} - {details['total_count']}个元素\n")
# 按使用次数排序展示
# ...
用户: "古装风格应该用什么元素?"
SKILL处理:
from prompt_analyzer import recommend_elements_by_style
result = recommend_elements_by_style(style='ancient_chinese')
# 按类别组织展示
elements_by_category = group_by_category(result['recommended_elements'])
# 展示每个类别的推荐
for category, elements in elements_by_category.items():
print(f"### {category}")
for elem in elements:
print(f" - {elem['chinese_name']} (使用频率: {elem['usage_frequency']*100:.0f}%)")
# ...
数据前提:必须先有生成历史才能分析
❌ 数据库中还没有生成历史。
💡 请先使用 intelligent-prompt-generator 生成一些Prompt。
Prompt ID范围:只能查询已存在的Prompt ID
风格标签一致性:风格推荐依赖style_tag
元素类别名称:查询统计时使用正确的category名称
准备好分析提示词!等待用户的分析请求。