file-to-article-generator
SKILL.md
文件解析与文章生成器
任务目标
- 本 Skill 用于:从用户上传的文件(PDF/Word/图片)中提取内容,将图片保存到本地,根据需求和内容生成文章
- 能力包含:多格式文件解析、图片提取与保存、图片内容智能理解、6种文章类型智能判断(品牌动向/产品动态/政策规则/营销战役/客户证言/行业资讯)、多类型文章生成(Markdown格式)、配图契合度检查、质量评分评估
- 触发条件:用户上传文件并要求生成品牌或产品相关文章时
前置准备
- 依赖说明:
PyMuPDF==1.23.8 # PDF文件解析和图片提取 python-docx==0.8.11 # Word文件解析和图片提取 Pillow==10.0.0 # 图片处理和格式转换 - 非标准文件/文件夹准备:创建输出目录
mkdir -p output/images
操作步骤
标准流程
1. 文件解析
使用 [INVOKE:parse_file] 调用脚本处理用户上传的文件:
- 输入:通过 stdin 传递 JSON 格式的参数
{"file_path": "文件路径"} - 输出目录:
/home/gem/output/images/(脚本会自动创建) - 输出:JSON格式的解析结果,包含文本内容、图片列表(含本地路径)、元数据
- 支持格式:PDF、DOCX、常见图片格式(JPG/PNG等)
调用方式: 在回复中包含以下格式来触发脚本执行:
[INVOKE:parse_file({"file_path": "/home/gem/uploads/文件名.pdf"})]
图片保存说明:
- 脚本会自动从文件中提取图片并保存到
/home/gem/output/images/目录 - 图片命名格式:
image_001.png,image_002.png等 - 返回的JSON中包含图片的本地路径,可直接用于Markdown引用
2. 需求收集
向用户询问生成文章的具体需求:
- 目标受众:文章面向谁阅读?(如:技术人员、普通用户、管理层)
- 文章用途:用于什么场景?(如:技术博客、产品介绍、新闻稿、内部报告)
- 特殊要求:字数限制、语言风格、重点内容、格式偏好等
3. 图片内容理解
如果解析结果包含图片,对每个图片进行内容理解:
- 使用图像识别能力分析图片内容(主题、场景、元素、风格等)
- 提取图片的核心信息和视觉特征
- 判断图片与原文内容的关联度
4. 类型判断
根据解析的文件内容、图片内容和用户需求,判断文章类型:
- 参考 references/article-types.md 中的类型定义和判断标准
- 智能体分析文件内容特征和用户需求关键词
- 确定最匹配的文章类型(如:新闻报道、技术文档、产品介绍、教程指南等)
5. 文章生成
根据确定的文章类型,使用对应的prompt模板生成内容:
- 从 references/generation-prompts.md 选择对应类型的prompt
- 替换prompt中的变量:
{ORIGINAL_TEXT}: 原文件提取的文本内容{USER_REQUIREMENTS}: 用户的具体需求描述{TARGET_AUDIENCE}: 目标受众{IMAGES_INFO}: 图片信息列表(包含图片内容理解结果和本地路径)
- 生成文章主体内容
- 使用Markdown语法插入图片:
 - 确保配图与文章内容契合,避免随意插入图片
6. 结果打分(必须执行)
根据 references/evaluation-prompts.md 中的评估Prompt对生成的文章进行质量评估:
- 重要:此步骤为必须执行,不可跳过
- 根据文章类型选择合适的评估角色(老板/客服总监)
- 评估标题点击欲望(50分):痛点匹配度、结果确定性、去空泛化
- 评估全文阅读价值(50分):落地性、迁移性、决策支持
- 计算总分并给出刻薄但真实的评估报告
- 提供标题改写建议和内容缺憾分析
7. 输出交付
按照 assets/output-template.md 的格式输出最终结果:
- 原文摘要
- 生成的完整文章内容(使用Markdown语法引用图片)
- 质量评估报告(必须包含在文章最后)
- 图片清单(索引、本地路径、描述)
- 文件下载说明
注意:评估结果必须附加在文章内容的最后,作为文章质量的重要参考。
- 质量评分报告(各维度得分、总分、改进建议)
下载说明:
- 文章保存为Markdown格式文件:
./output/article.md - 图片保存在:
./images/目录(相对于文章位置) - 用户可下载整个
./output/目录,包含文章和所有图片
可选分支
- 当文件仅包含图片(无文本):标记为图片型内容,根据图片描述生成相关文章
- 当用户需求不明确:提供几个常见类型的示例,让用户选择
- 当评分较低(<60分):询问用户是否需要重新生成,并提供改进方向
资源索引
- 必要脚本:见 scripts/parse_file.py(用途:解析PDF/Word/图片文件,提取文本和图片信息)
- 领域参考:
- 见 references/article-types.md(何时读取:判断文章类型时)
- 见 references/generation-prompts.md(何时读取:生成文章时)
- 见 references/evaluation-prompts.md(何时读取:评估生成结果时)
- 见 references/file-formats.md(何时读取:了解支持的文件格式时)
- 输出资产:见 assets/output-template.md(用途:标准化的输出格式模板)
注意事项
- 文件解析必须通过脚本完成,确保准确提取文本和图片信息
- 图片会被自动保存到沙箱,引用时使用相对路径
./images/xxx.png - 图片内容理解必须使用图像识别能力,提取图片的主题、场景、元素和风格特征
- 配图必须与文章内容契合,根据图片理解结果和文章主题合理插入图片,使用Markdown格式
,避免随意配图 - 文章类型判断、内容生成均由智能体完成,充分利用自然语言理解和创作能力
- 结果打分步骤为必须执行,不可跳过,必须使用老板或主管角色对文章进行评估
- 评估结果必须附加在文章内容的最后,作为文章质量的重要参考
- 当评分较低(<60分)时,可根据评估报告中的标题改写建议和内容缺憾分析重新生成
- 最终输出包括Markdown格式的文章、评估报告和所有图片文件,用户可一起下载
使用示例
示例1:品牌动向报道
- 功能说明:将品牌发布会资料转换为品牌动向报道文章
- 执行方式:
- 解析品牌发布会文件
- 询问受众(公众/合作伙伴/媒体)和重点(品牌战略/合作亮点/活动氛围)
- 判断为品牌动向类型(brand-event)
- 使用品牌动向prompt生成文章
- 打分并输出结果
- 关键参数:受众=公众,用途=品牌宣传,风格=积极正面
示例2:产品动态发布
- 功能说明:将产品更新文档转换为产品动态文章
- 执行方式:
- 解析产品版本更新说明文件
- 询问重点功能和技术亮点
- 判断为产品动态类型(product-feature)
- 使用产品动态prompt生成文章
- 打分并输出结果
- 关键参数:受众=用户,用途=功能介绍,风格=专业易懂
示例3:营销战役宣传
- 功能说明:将促销活动资料转换为营销战役宣传文章
- 执行方式:
- 解析活动策划文件
- 询问活动优惠和目标用户
- 判断为营销战役类型(product-campaign)
- 使用营销战役prompt生成文章
- 打分并输出结果
- 关键参数:受众=潜在用户,用途=活动宣传,风格=有吸引力
Weekly Installs
8
Repository
twwch/openskillsGitHub Stars
53
First Seen
Jan 26, 2026
Security Audits
Installed on
gemini-cli8
github-copilot8
codex8
opencode8
amp7
kimi-cli7