$npx -y skills add plidezus/flomo-skills --skill flomo-sharedUse when a flomo skill needs to read, initialize, refresh, or migrate the shared flomo profile. Do not use for saving a memo, producing Daily Echo, or ordinary chat.
| 1 | # flomo Shared |
| 2 | |
| 3 | ## 核心定位 |
| 4 | |
| 5 | 本 skill 负责 flomo 相关 skills 共用的 profile。 |
| 6 | |
| 7 | 它不保存 memo 草稿,不生成昨日回声,不设置定时,也不决定其他 skill 什么时候开口。它只管理一个共享文件: |
| 8 | |
| 9 | - `profile.md`:用户的 flomo 表达画像,以及用户明确确认过的轻量偏好。 |
| 10 | |
| 11 | ## Profile 结构 |
| 12 | |
| 13 | `profile.md` 里有两类生命周期不同的内容: |
| 14 | |
| 15 | 1. **Expression Profile** |
| 16 | - 从真实 flomo memo 样本生成或刷新。 |
| 17 | - 描述写法、标签、长度、格式,以及什么内容值得保存。 |
| 18 | |
| 19 | 2. **User Preferences** |
| 20 | - 只能在用户明确确认后修改。 |
| 21 | - 存保存提醒模式、昨日回声默认值、Tips 是否展示过等轻量偏好。 |
| 22 | - 不要从 memo 样本推断授权、主动性或自动化边界。 |
| 23 | |
| 24 | 不要混用这两类内容。刷新 Expression Profile 时,不能顺手重写已经确认过的 User Preferences,除非用户明确要求。 |
| 25 | |
| 26 | ## 触发边界 |
| 27 | |
| 28 | 只在以下情况使用: |
| 29 | |
| 30 | - 用户说要初始化、刷新、重建或迁移 flomo profile。 |
| 31 | - `flomo-save-reminder` 或 `flomo-daily-echo` 需要 `profile.md`,但发现它缺失、为空、无效或过期。 |
| 32 | - 用户问为什么 flomo skills 不像自己的 memo 写法。 |
| 33 | |
| 34 | 不要在以下情况使用: |
| 35 | |
| 36 | - 用户要求保存当前对话到 flomo。 |
| 37 | - 用户要求生成昨日回声或每日回顾结果。 |
| 38 | - 用户只是在讨论产品策略或 skill 设计。 |
| 39 | - 当前任务不需要 flomo 用户 profile。 |
| 40 | |
| 41 | ## 状态检查 |
| 42 | |
| 43 | 使用 profile 前,先判断 `profile.md` 状态: |
| 44 | |
| 45 | - `missing`:文件不存在。 |
| 46 | - `empty`:文件存在,但 `profile_status: empty`、仍有占位内容,或没有 `updated_at`。 |
| 47 | - `invalid`:关键 metadata 缺失、格式错误或无法解析。 |
| 48 | - `stale`:`updated_at` 距今超过 30 天。 |
| 49 | - `fresh`:`profile_status: generated`,`updated_at` 有效,且没有模板占位。 |
| 50 | |
| 51 | 处理规则: |
| 52 | |
| 53 | - `fresh`:直接使用。 |
| 54 | - `stale`:当前任务可以先用,合适时再提示刷新。 |
| 55 | - `missing` / `empty` / `invalid`:除非用户已经要求初始化,否则先征得同意,再初始化或修复。 |
| 56 | - 如果用户拒绝初始化,其他 skill 可以用保守默认值继续,但要说明没有使用个性化 profile。 |
| 57 | |
| 58 | ## 初始化和刷新 |
| 59 | |
| 60 | 生成或刷新 Expression Profile 时,按顺序采样真实 flomo 数据: |
| 61 | |
| 62 | 1. 最近 3-6 个月随机 memo:可用时取 20-50 条。 |
| 63 | 2. 最近 7-14 天 memo:可用时取 5-10 条。 |
| 64 | 3. 每日回顾、历史推荐或相关旧 memo:可用时取 3-5 条。 |
| 65 | 4. 被其他 skill 调用时,可按当前话题补充 3-5 条相关样本。 |
| 66 | |
| 67 | 不要只读最近几条。最近样本容易被临时项目、情绪或话题污染。 |
| 68 | |
| 69 | 学习维度: |
| 70 | |
| 71 | - 是否使用标签,标签在开头还是结尾。 |
| 72 | - 常见标签层级,哪些宽标签应该避免滥用。 |
| 73 | - 常见长度:一句话、短段落、bullet,还是较长反思。 |
| 74 | - 是否保留用户原话。 |
| 75 | - 是否记录时间、场景、人物、来源或下一步。 |
| 76 | - 语气是口语、克制、反思、决策导向,还是正式。 |
| 77 | - 用户倾向保存什么,什么只是噪音。 |
| 78 | |
| 79 | 如果有 memory 接口,只能作为背景上下文。风格和标签必须来自真实 memo 样本或用户确认保存过的草稿。 |
| 80 | |
| 81 | ## 旧版本迁移 |
| 82 | |
| 83 | 旧版本可能有: |
| 84 | |
| 85 | ```text |
| 86 | flomo-save-reminder/ |
| 87 | user-style.md |
| 88 | state.md |
| 89 | ``` |
| 90 | |
| 91 | 迁移规则: |
| 92 | |
| 93 | - 如果 `flomo-shared/profile.md` 不存在,可以提示把旧 `user-style.md` 迁移进 `Expression Profile`。 |
| 94 | - 旧 `state.md` 里只有用户明确确认过的偏好可以迁移,例如保存提醒模式。 |
| 95 | - 不迁移临时运行状态,例如 last prompted time、本轮会话标记、临时计数器。 |
| 96 | - 如果 `profile.md` 已存在,不自动覆盖,先询问是否合并。 |
| 97 | - 除非用户明确要求删除或归档,否则保留旧文件不动。 |
| 98 | |
| 99 | 推荐提示: |
| 100 | |
| 101 | ```markdown |
| 102 | 我发现你有旧版 flomo 保存画像。要不要迁移到新的共享 profile?之后保存提醒和昨日回声都会共用它。 |
| 103 | ``` |
| 104 | |
| 105 | ## 写入规则 |
| 106 | |
| 107 | 只把 profile 数据写入 `profile.md`。 |
| 108 | |
| 109 | 不要保存: |
| 110 | |
| 111 | - 原始 memo 导出。 |
| 112 | - 大段 memo 原文。 |
| 113 | - 私人标签或个人样例到 `SKILL.md`。 |
| 114 | - 未确认的主动性、自动化或授权推断。 |
| 115 | - 只对本轮有效的运行痕迹。 |
| 116 | |
| 117 | 写入或刷新 profile 后,简短说明: |
| 118 | |
| 119 | - `updated_at` |
| 120 | - sample window |
| 121 | - sample count |
| 122 | - 这次学到或改动了哪些维度 |
| 123 | |
| 124 | 如果生成失败,直接说明原因,不要假装已经加载用户 profile。 |