ai-image-gen
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
管理账号画像全生命周期:创建空白画像、编辑六维字段、更新记忆、切换、导出和对比。 当用户说“新建/编辑/更新/切换/导出/对比画像、写进画像记忆”时使用。 首次从社媒数据生成画像用 skill-profile-builder;只提炼语言风格用 skill-voice-builder;品牌首次入驻引导用 skill-brand-onboarding。
$ npx -y skills add zju-real/easel --skill skill-profile-manager --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skill-profile-managerContext preview
The summary Claude sees to decide when to auto-load this skill.
管理账号画像全生命周期:创建空白画像、编辑六维字段、更新记忆、切换、导出和对比。 当用户说“新建/编辑/更新/切换/导出/对比画像、写进画像记忆”时使用。 首次从社媒数据生成画像用 skill-profile-builder;只提炼语言风格用 skill-voice-builder;品牌首次入驻引导用 skill-brand-onboarding。
name: skill-profile-manager description: > 管理账号画像全生命周期:创建空白画像、编辑六维字段、更新记忆、切换、导出和对比。 当用户说“新建/编辑/更新/切换/导出/对比画像、写进画像记忆”时使用。 首次从社媒数据生成画像用 skill-profile-builder;只提炼语言风格用 skill-voice-builder;品牌首次入驻引导用 skill-brand-onboarding。 layer: general
> 创建、编辑、记忆更新、导出、对比 — 画像的全生命周期管理
| 字段 | 必填 | 说明 | |------|------|------| | action | 是 | 操作类型:`create` / `edit` / `memory-update` / `export` / `diff` / `list` / `switch` | | profile_name | 视操作 | 画像名称(create 时必填,list 时不需要) | | field | 否 | 要编辑的文件:`identity` / `style` / `audience` / `platforms` / `preferences` / `memory` | | content | 否 | 要写入的内容(edit / memory-update 时使用) | | profile_b | 否 | 第二个画像名称(diff 操作时必填) | | data_source | 否 | 记忆更新的数据来源:用户口述 / 数据报告 / 帖子反馈 |
输出新画像目录结构确认:
## 画像创建完成
**画像名称**: {profile_name}
**目录**: profiles/{profile_name}/
### 已创建文件
| 文件 | 状态 | 说明 |
|------|------|------|
| identity.md | ✅ 已填写 | 定位、差异化、内容方向 |
| style.md | ✅ 已填写 | 语气、开头结构、视觉风格 |
| audience.md | ✅ 已填写 | 人口统计、兴趣、痛点 |
| platforms.md | ⬜ 待补充 | 平台账号、内容格式 |
| preferences.md | ⬜ 待补充 | 合规规则、红线 |
| memory.md | ⬜ 空 | 将随使用积累 |输出两个画像的逐文件对比表:
## 画像对比:{profile_a} vs {profile_b}
| 维度 | {profile_a} | {profile_b} | 差异摘要 |
|------|-------------|-------------|----------|
| 定位 | ... | ... | ... |
| 风格 | ... | ... | ... |
| 受众 | ... | ... | ... |
| 平台 | ... | ... | ... |
| 偏好 | ... | ... | ... |## 当前画像列表 | 画像 | 完整度 | 最后更新 | 记忆条数 | |------|--------|----------|----------| | 科技数码达人 | 85% | 2026-07-15 | 12 | | 搞笑整活博主 | 60% | 2026-07-10 | 3 |
1. **解析用户意图**:从用户输入识别 action 类型
2. **检查画像是否已存在**:读取 `profiles/` 目录,确认同名画像不存在 3. **复制模板**:将 `profiles/_template/` 复制为 `profiles/{profile_name}/` 4. **引导填写核心信息**:依次向用户提问,收集以下信息
5. **写入文件**:将收集到的信息按模板格式写入对应文件 6. **提示后续**:告知用户可后续补充 platforms.md 和 preferences.md
7. **定位文件**:根据 field 参数确定要编辑的文件路径 `profiles/{profile_name}/{field}.md` 8. **读取当前内容**:展示该文件的当前内容给用户确认 9. **应用修改**:根据用户指示修改指定字段,保持文件其他部分不变 10. **确认变更**:输出修改前后的 diff 摘要
11. **读取现有记忆**:读取 `profiles/{profile_name}/memory.md` 12. **格式化新记忆条目**:按以下格式追加
### {日期} — {来源标签}
- 发现:{具体发现}
- 行动建议:{可执行的建议}13. **去重检查**:与已有记忆条目比对,避免重复记录 14. **追加写入**:将新条目追加到 memory.md 末尾
15. **汇总画像**:读取画像目录下所有 .md 文件 16. **生成摘要卡片**:合并为一份结构化的画像摘要(Markdown 格式) 17. **输出到 outputs/**:保存为 `outputs/<画像名-导出日期>/profile-export.md`
18. **读取两个画像**:分别读取 `profiles/{profile_a}/` 和 `profiles/{profile_b}/` 下所有文件 19. **逐维度对比**:按 identity / style / audience / platforms / preferences 五个维度对比 20. **生成差异表**:输出结构化对比表,高亮关键差异点
21. **扫描 profiles/ 目录**:列出所有子目录(排除 `_template`) 22. **计算完整度**:检查每个画像的 6 个文件是否有实质内容(非空非模板) 23. **输出列表**:按完整度排序输出
这个 SKILL 本身就是 Profile 的管理工具:
> 自研溯源与参考项目见同目录 `EASEL-META.md`。
An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。
Repo: zju-real/easel
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方…
AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI…
outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、…
音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。…
通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成…