ob-labs/coskills/pmem-style-generation
Claude Code and agent skill by ob-labs/coskills
- community
Checking that the SKILL.md file is still in the repository.
基于 powermem 中的 Style Profile 生成带有个人烙印的文稿。先中立提取素材核心信息,再拉取风格 Profile 组装 Compiler Prompt 驱动大模型输出。当用户提到"帮我写一篇"、"按我的风格写"、"生成文章"、"写条推特"、"写个小红书"、"写公众号文章",或提供素材要求创作时使用此 skill。
Install
npx vskill@latest install ob-labs/coskills/pmem-style-generationSKILL.md
Style Generation
两步走:先对素材做"信息脱水",再用风格 Profile 做"注魂",最终一次性输出专属文稿。
核心流程
0. 环境准备(首次执行)
在运行任何脚本前,先准备 .venv。下面的写法不依赖固定绝对路径:
后续所有 Python 脚本都使用 $PYTHON_BIN 执行,不依赖当前 shell 是否已激活虚拟环境。
配置管理说明:
- 首次使用时,脚本会自动创建
../pmem-config/共享配置目录 - 包含
pmem-key.env(用户配置)和.env(完整模板) - 配置优先级:系统环境变量 >
pmem-config/pmem-key.env>pmem-config/.env - 两个 skills(extraction 和 generation)共享同一配置,配置一次即可
0.1 配置检测(必需步骤)
每次运行前必须执行配置检测:
如果配置检测失败(退出码为 1):
- 检测输出说明(固定文案保留在 Skill 中,仅缺失项由脚本动态输出):
``bash # 运行配置检测(脚本会动态输出“当前缺失的配置项”) "$PYTHON_BIN" scripts/check_config.py ``
输出结构示例(缺失项列表以脚本实际检测结果为准): ``` ⚠️ 检测到以下配置项缺失或未设置:
[这里的缺失项列表由 check_config.py 动态输出]
📝 共享配置文件位置: /path/to/skills/pmem-config/pmem-key.env
请点击上面的共享配置文件路径,进入文件夹后手动编辑文件:pmem-key.env。 手动填写完成后,返回聊天框回复:已完成 ```
- Agent 应执行以下操作:
- 明确告知用户共享配置目录路径:
../pmem-config/ - 明确告知用户需要编辑的文件名:
pmem-key.env - 不在对话中逐项收集配置值,仅等待用户手动填写
- 用户回复“已完成”后,重新运行
check_config.py验证配置
- 写入配置示例:
```bash # 用户手动打开并编辑:../pmem-config/pmem-key.env # 在文件中填写缺失项,例如: LLM_API_KEY=sk-xxxxx EMBEDDING_API_KEY=sk-yyyyy
# 重新检测 "$PYTHON_BIN" scripts/check_config.py ```
- 重要提示:
- 配置会持久化保存在
../pmem-config/pmem-key.env - 下次使用任一 skill 时无需重复配置
- 用户也可以手动编辑该文件修改配置
配置检测通过后,继续执行后续步骤。
1. 确认创作指令
从用户输入中明确以下信息(如有缺失则主动询问):
| 参数 | 说明 | 示例 | |
|---|---|---|---|
| 目标平台 | 决定文体和篇幅 | Twitter、小红书、公众号、通用长文 | |
| 风格意图 | 用户的模糊描述(非技术 profile_id) | "轻松点"、"专业严肃"、"情绪化" | |
| 原始素材 | 待创作的原始内容(文章/URL/要点列表) | 粘贴文章、提供 URL、列出几个事实 |
如果用户提供了 URL 素材,先调用 baoyu-url-to-markdown 获取内容:
2. 信息脱水(中立大纲提取)
不调用任何风格,仅对原始素材做客观信息提取。使用以下 Prompt:
将提炼结果保存为 /tmp/material_outline.md。
3. 智能匹配 Style Profile(Human-in-the-loop)
关键改进:不直接使用固定的 Profile,而是根据用户意图智能匹配并让用户确认。
脚本会:
- 分析用户意图关键词("小红书"、"轻松")
- 匹配所有 Profile 的 tags、suitable_platforms、tone
- 按匹配度排序,展示前 5 个
- 让用户确认选择(输入序号)
- 返回选定的 Profile
输出示例:
如果完全没有匹配:
从返回的 JSON 读取选定的 Profile:
4. 组装 Compiler Prompt
读取 /tmp/active_profile.json,从中提取风格参数,结合平台规则(见 references/platform_templates.md),组装最终 Prompt。
使用以下 Compiler 模板:
将 {...} 替换为实际值后,直接调用 LLM 执行。
5. 输出文稿、记录日志并自动落盘
先将 LLM 返回的最终正文保存到临时文件 /tmp/generated_body.md,然后记录本次生成日志(供 Reflection Skill 溯源):
接着将最终正文自动保存到指定路径(默认 outputs/):
默认文件名规则:
其中 generation_id 来自 /tmp/generation_log.json。执行后向用户返回两个信息:
generation_id(便于 Reflection Skill 追踪效果)- 最终正文文件绝对路径(便于直接查看/发布)
平台规范速查
详细模板见 references/platform_templates.md,核心规范如下:
| 平台 | 篇幅 | 特殊要求 | |
|---|---|---|---|
| Twitter / X | 每段≤140字,总≤2000字 | 首句即金句,结尾引导转发 | |
| 小红书 | 300-800字 | 标题用数字/疑问,正文emoji适量,结尾引导收藏 | |
| 公众号 | 800-3000字 | 有小标题分节,完整起承转合,结尾引发思考 | |
| 通用长文 | 自由 | 遵循风格 Profile,结构完整 |
辅助工具
列出所有可用 Profile:
查看生成日志:
保存最终正文到 outputs/:
使用示例
最简单的使用:
指定风格特点:
从 URL 生成:
注意事项
- 信息脱水步骤必须独立执行,确保素材中的事实不被风格污染
- 必须使用 match_profile.py 进行智能匹配,让用户确认选择,不要直接使用固定 profile_id
- 用户的意图通常是模糊的("小红书"、"轻松点"),而不是技术性的 profile_id
- Compiler Prompt 中所有
{...}占位符必须替换完毕再发给 LLM - 如果 Profile 中某个维度为空,跳过该行,不要写"无"或默认值
- 生成日志 ID 务必告知用户,便于后续 Reflection 归因
- 运行脚本前优先确保
$PYTHON_BIN可用,并已安装powermem
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/pmem-style-generation/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ob-labs/coskills/pmem-style-generation)