主配置文件(CLAUDE.md)只放原则 + 高频路由规则。所有操作细节下沉到 SKILL.md。原则:不要在入口文件放执行步骤。
三个加载深度:metadata(始终在上下文,~100词)→ SKILL.md 正文(触发时加载)→ references/(按需读取,无大小限制)。
cron prompt 只写触发短语(如「执行投资早盘分析」),零条业务逻辑。全部执行步骤、存档路径、日志格式必须在 SKILL.md 中自包含。禁止在 cron prompt 中嵌入路径。
每条回复首行必须为 [标注] → 目录,接 ---。标注体系:直接回答、查询人物、深度分析、投资分析、抓取推文/公号/GitHub 等。不确定时用「直接回答」。不省略,不例外。
每个结论标注来源:📚 vault 记录 / 🧠 推断 / 📋 JSONL 回查。查人:先近后远(最近 3 天飞书摘要 + session-summaries)。cron 上下文优先(查日志最近 2 天)。不可无标注陈述。
PreToolUse + PostToolUse 规则,管「什么绝对不能做」。例如:阻止 rm -rf 对 raw/ 目录,检查文件名不允许全角/弯引号。写在 settings.json。
每个 skill 是一个 YAML frontmatter + SKILL.md。渐进加载:metadata → SKILL.md 正文 → references/。关键字段:description(触发词,不含执行指令)、allowed-tools(最小权限)、context: fork(隔离子 Agent)、disable-model-invocation: true(禁止主 Agent 直接调用)。
子 Agent 物理隔离:主 Agent skill 在 配置/skills/,子 Agent skill 在 配置/agents/{name}/skills/。路由器 skill 只有触发词 + 子 Agent 路径,正文是强制指令:「不要自己执行——必须使用 Agent 工具」。CC 原生 skills: YAML 字段预加载子 Agent 技能。
Critic FAIL 时记录到 patterns.md → 每周蒸馏时统计频率 → 出现 ≥3 次的模式自动升级为永久规则写入 optimizations.md,并追加到对应 SKILL.md 的约束。不需要人工复盘。
路由 skill 与执行 skill 分离。路由 skill 正文只有子 Agent 路径 + 强制委托指令。路由 skill 的 description 与执行 skill 有重叠触发词,但路由 skill 优先匹配(context: default),然后强制委托给子 Agent。
子 Agent 的技能文件物理隔离在 agents/{name}/skills/ 目录下。主 Agent 的 配置/skills/ 和子 Agent 的 配置/agents/{name}/skills/ 是完全独立的目录树。主 Agent 无法直接读取子 Agent 的 skill 文件——只能通过 Agent 工具启动子 Agent 后,由子 Agent 自行加载。
skills: 预加载子 Agent 定义文件(agents/kb-finance-agent.md)使用 CC 原生的 skills: YAML 字段声明持有技能。这些 skill 在子 Agent 启动时自动预加载到上下文,零延迟。不再需要子 Agent 手动 Read 完整 SKILL.md 文件——CC 框架自动注入。
| Layer | 内容 | 维护方式 | TTL |
|---|---|---|---|
| 原始记录 | JSONL 对话原文 + 飞书消息 JSON + 会话原文 md | 自动 + cron | 永久 |
| AI 摘要 | 飞书日报摘要 + 会话摘要(~2KB/篇) | cron 每日生成 | 永久 |
| 结构化记忆 | user_profile / mayfair-stable / mayfair-status / recent / feedback / vault / side-projects | 蒸馏 + 实时写入 | 7-90天 |
recent.md 使用滑动窗口(10 天),不是滚动窗口。蒸馏时只移除超出窗口的条目,保留窗口内内容。绝对不能全量清空。已蒸馏条目归档到 memory/archive/。
新会话按优先级:① recent.md ② cron 执行日志最近 2 天 ③ user_profile.md ④ mayfair-status.md(TTL 14d)⑤ feedback.md ⑥ mayfair-stable.md(按需)。Fallback:JSONL 回查。
cron prompt 只写触发短语,不写执行步骤、不写存档路径、不写日志格式。所有业务逻辑在对应 SKILL.md 中自包含。
所有 cron 必须使用 session_mode: new_per_run。禁止 reuse——共享 session 会导致并发冲突和「session is busy」错误。每个任务独立 session,互不干扰。
症状: cron 运行了、子 Agent 生成了结果,但用户微信没收到。根因:主 Agent 收到 Agent 工具结果后没输出为直接文本。cc-connect 只捕获主 Agent 的直接文本回复,Agent 工具内部结果不会自动外泄。
修复:路由器 skill 正文加硬约束 —「Agent 工具返回结果后,你必须将子 Agent 的完整输出原样作为你的回复文本输出。不要只回复'已完成'」。
症状: 主 Agent 读路由 skill 正文「使用 Agent 工具启动...」后当成建议而非命令,自己直接执行。根因:自然语言指令太软。
修复: 改成强硬指令 —「不要自己执行——你必须使用 Agent 工具启动 xxx-agent」。加 ⚠️ 关键标注。只要看到路由 skill 被匹配,Agent 没有其他选择。
核心脚本:rebuild_all_sources.py — 扫描 原始素材/ 下所有 .md 文件 → 解析 frontmatter → 全量重建 All-Sources.md。不存在「注册」步骤——文件放到 raw/ 目录就是注册。
| 目录 | 用途 | 规则 |
|---|---|---|
原始素材 (raw)/ | 原始内容(AI技术/投资财经/GitHub项目/等) | 只读只追加,不修改不删除 |
知识库 (wiki)/ | 编译产出(All-Sources/All-Concepts/concepts/summaries) | LLM 维护 |
输出 (outputs)/ | 回答/报告/投资分析/GitHub趋势 | 问答归档 + 定时产出 |
记忆 (memory)/ | 结构化记忆文件 | 蒸馏维护 + 实时写入 |
记忆原始 (mem-raw)/ | 会话原文/摘要/飞书聊天/日报 | 不进编译流水线 |
个人数据 (personal-data)/ | 持仓/备份/隐私数据 | 不进编译,严禁公开部署 |
工作区 (workspace)/ | 创作过程文件 | 不进编译,>30天清理 |
运行日志 (logs)/ | cron/蒸馏/健康检查日志 | 自动化追加 |
配置/skills/kb-xxx/SKILL.mdreferences/disable-model-invocation: truesession_mode: new_per_runagents/kb-xxx-agent.md(YAML + tools + skills:)agents/kb-xxx-agent/skills/ 目录配置/skills/kb-xxx/SKILL.md