with one click
model-cookbook-writer
编写、丰富与编译 model cookbook 的专用人机协作开发工作流。包含 Prompting Guide 大纲扩展、行业参考 cookbook SourceRef 契约管理、交付物大纲拆解与初始化、TOC 驱动编译为 HTML/Jupyter Notebook 预览及知识库联动沉淀。
Menu
编写、丰富与编译 model cookbook 的专用人机协作开发工作流。包含 Prompting Guide 大纲扩展、行业参考 cookbook SourceRef 契约管理、交付物大纲拆解与初始化、TOC 驱动编译为 HTML/Jupyter Notebook 预览及知识库联动沉淀。
编写或更新交接文档,以便拥有全新上下文的下一个 Agent 可以继续此项工作。
一个互动式的主题学习助手。作为一名智能学习伙伴,将用户的学习目标结构化,并引导完成学习过程。使用此技能时,必须高频、精确地使用 memocli 读写知识图谱,以记录和追踪学习状态。当用户希望开始新的学习主题、继续之前的学习、或者需要你引导学习某个概念时使用。
专门用于将超长群聊日志转化为结构化知识图谱。采用滑动窗口增量提取,规避上下文限制,并确保实体与关系的沉淀与溯源。
处理面试记录的 Agent 技能。包含面试大纲规划、面试提问提取与纠错、面试总结自评,以及知识图谱存储方案。
结合深度调研(Deep Research)与人工洞察(Human-in-the-loop),为大模型生态合作生成商业落地规划与极度颗粒度的宣发物料。当用户希望通过严谨的两阶段调研(前期探索与深度研究)、引入人工战略判断,并最终生成全套合作与 GTM 方案时,使用此技能。
A comprehensive, autonomous deep research framework. Use this skill when the user requests a thorough, multi-dimensional investigation into a complex topic, market research, technology landscape, or any task requiring extensive web browsing, data synthesis, and structured reporting. It orchestrates subagents and uses file-system-based state management to prevent context bloat.
| name | model-cookbook-writer |
| description | 编写、丰富与编译 model cookbook 的专用人机协作开发工作流。包含 Prompting Guide 大纲扩展、行业参考 cookbook SourceRef 契约管理、交付物大纲拆解与初始化、TOC 驱动编译为 HTML/Jupyter Notebook 预览及知识库联动沉淀。 |
| license | Apache-2.0 |
| author | github/cafe3310 |
| depends_on_skill | ["cafe3310-obsidian-writer","memories-off"] |
| depends_on_binary | ["python3"] |
本 Skill 定义了一套大模型应用 Cookbook 的全生命周期开发规范和人机协作工作流,覆盖策略调优、评测跑分、代码用例与最终交付物编译预览。
大模型 Cookbook 仓库必须严格遵守以下目录结构和文件格式定义,以确保编译脚本能够自动解析和拼接。
<cookbook-repo>/
├── AGENTS.md # 项目章程与规范文件 (明确规则与协作流程)
├── TODO.md # 动态的任务积压与指派清单 (Log-driven Task Stream)
├── cookbook-chapters/ # 章节内容树 (存放理论、最佳实践及代码示例)
│ └── {chapter-name}/
│ ├── content.md # 章节正文文本说明 (非叶子节点通常只包含此文件)
│ ├── benchmarks.md # 评估该章节提示词机制的 micro-benchmarks 建议 (叶子节点专有)
│ └── examples.md # 该章节的具体任务代码样例 (叶子节点专有)
│ # ↑ 三类文件均须含 YAML frontmatter 的 `sources:` 字段,
│ # 声明对行业参考 cookbook 的引用关系,详见 §4「SourceRef 契约」。
├── benches/ # 所有的微评测任务物理源码 (平铺命名)
│ └── YYYY-MM-DD_{bench-name}/
│ ├── README.md # 评测目的、方式、对比分支及 Rubrics 四要素说明
│ │ # ↑ 同样须含 frontmatter `sources:` 字段。
│ ├── cases/ # 结构化的测试用例数据集 (如 test_cases.json)
│ └── test_runner.py # 可独立运行的 Python 评测脚本
├── bench-results/ # 跑分数据客观归档 (平铺命名,与 benches 对应)
│ └── YYYY-MM-DD_{model-name}_{bench-name}/
│ ├── README.md # 记录测试环境、简要结论与复现命令
│ ├── results.json # 汇总跑出的评测指标结果 (包含 metrics、config 等字段)
│ └── detail.json # 记录每个 case 的具体推理日志与判定详情
└── cookbooks/ # 具体的 Cookbook 交付发布项目 (平铺命名)
└── YYYY-MM-DD_{model-name}_{cookbook-name}/
├── readme.md # 项目说明,介绍本次交付的背景、模型及受众
├── toc.md # 编译主驱动大纲,扁平化列表 + H2/H3/H4 层级标记 + 描述文本
├── reference/ # 背景输入文档(只读,不参与编译)
└── contents.md # 编译产物:拼接合并后的正文大合集 (严禁手动在此处编辑内容)
cookbook-chapters/):
content.md,用于对本大类机制做宏观概述。content.md、benchmarks.md 与 examples.md。🟥 起头做待办标记。benches/):
README.md 中标注状态(如 🟥 暂未执行该评测),不在目录名中使用 emoji。README.md 中必须包含四要素:评测目的、评测方式、对比方案、判定标准 (Rubrics)。bench-results/):
README.md 的状态需配置为 Pending,且 results.json 的 state 置为 pending。cookbooks/):
toc.md 扮演大纲路由,挂载物理文件的链接;contents.md 是编译生成的最终产物。本技能解耦为四个独立的工作流分支文件,指导开发助理(Agent)与负责人的不同阶段协作:
toc.md 物理引用关系并初始化新交付项目。contents.md、ScrollSpy 滚动高亮 preview.html 网页及状态机拆分的 preview.ipynb 笔记本。memocli 非破坏性追加图谱并生成 Obsidian 📅 状态报告,执行 iCloud Git 同步优化。为了直观地展示符合本 Skill 结构定义的仓库设计,在 assets/example-cookbook-repo/ 中建立了一个微型模拟仓库作为参考:
cookbook-chapters/ 下的三类文件须遵循固定的 heading 结构。模板文件位于 assets/,创建新章节时以此为骨架:
# 章节标题 → ## 本章节的内容 → ## 待确认的 Micro Benchmark 设计 → ## 引用来源文本 → ## 来源引用sources: 声明引用关系# 评测指南 → ## 评测背景 → ## 关联的 Bench 项目(列表形式引用 benches/ 路径,含说明与结论反哺方式)# 示例与 Recipe → ## 示例背景 → ## 关联的示例(列表形式,含适用模型、说明、对应 Bench 结论)本 Skill 管理的 cookbook 仓库大量借鉴自主流大模型厂商的官方 cookbook。所有借鉴关系统一以 frontmatter sources: 字段声明,作为机器可读的单一事实源。
<workspace>/llm-cookbooks/<vendor>/在 cookbook-chapters/**/{content,benchmarks,examples}.md 与 benches/*/README.md 的 YAML frontmatter 中以 sources 数组形式声明,单条目结构:
sources:
- vendor: <vendor-id> # 厂商标识,如 openai, anthropic, google, qwen 等
repo: <repo-name> # 镜像根下的仓库名
path: <relative/path/to/file> # 相对仓库根
registry_title: "..." # 可选,上游 registry/title 原文
registry_categories: [...] # 可选
binding_version: "..." # 可选,强绑定某发版时填写
upstream_url: https://... # 上游文件的永久链接
snapshot_commit: <commit-hash> # 锁版本,防上游漂移
relation: borrows-from # borrows-from | benchmarks-against | counter-example | extends
outline_ref: "[5]" # 可选,对应知识库大纲中的引用编号
note: "..." # 可选,一句话说明为何引用 / 引用了哪一段
sources: [] 并在 note 注明「原创推导」。| relation | 语义 |
|---|---|
borrows-from | 直接借鉴原文档思想 / 章节结构 / 代码骨架 |
benchmarks-against | 把原文档当作评测 baseline 或对照组 |
counter-example | 把原文档作为反例引用(如原方案在目标模型上劣化,本章节论证替代方案) |
extends | 在原文档基础上做了显著扩展(新增覆盖维度、组合多家方法) |
当行业参考 cookbook 大规模新增 / 章节大量铺设时,禁止逐文件手改 frontmatter,必须以一次性脚本批量注入。scripts/ 下提供两种范式脚本:
sources: 字段则跳过。适用于首次引入某 vendor 的引用。sources: 数组追加新条目,按 (vendor, path) 去重,保留原有引用。适用于在已有引用上叠加新 vendor 引用。两类脚本共享核心结构:SOURCES 字典声明引用元数据 + TARGETS 字典声明文件→引用映射 + render_* 函数渲染 YAML。新增 vendor 时复用同一范式。
当从行业参考 cookbook 整合出大纲尚未覆盖的方向,必须同时创建 chapter 与配套占位 bench,且全部带正确的 SourceRef frontmatter。范式脚本以 dataclass Spec 声明(章节路径、标题、简介、bench slug、bench 目的、rubrics、SourceRef 列表)批量生成 3+3 文件结构(chapter 三件套 + bench README/runner/cases)。
scripts/compile_cookbook.py 在编译 contents.md / preview.html / preview.ipynb 时,应增加 merge_sources pass(当前未实现,挂账于宿主仓库 TODO):
toc.md 引用的 chapter / bench frontmatter 的 sources 数组。> **Sources**: [<filename>](upstream_url) — <vendor>, relation: borrows-from。sources_index.md,按 vendor / repo 二级分组反向索引「我们引用了谁的哪些文档」,便于版权与合规审计。preview.ipynb 中向对应 markdown cell 注入同样引用块,并在第一节正文之前加一节「Acknowledgements & Sources」放总索引。本 Skill 在 scripts/ 目录下搭载两个编译预览工具:
compile_preview.py(日常审阅首选)当用户说「html 预览」「编译预览」「看一下章节」时,优先使用此脚本。
python3 scripts/compile_preview.py
build/preview.html — 单文件自包含 HTML(约 600-800KB),双击即可离线浏览,无需起 server。cookbook-chapters/02-prompting-guide/ 递归树04-methodology-cookbooks/ + 06-multimodal/cookbook-chapters/05-task-recipes/cookbooks/*/toc.md 自动生成 Tabcontent.md / benchmarks.md / examples.md,剥离 frontmatter 后以 base64 JSON 嵌入 HTML。点击左侧目录项,JS 从内存取对应章节渲染到右侧。content.md 首行 # 标题提取显示名,剥离 ✏️🟥 前缀🟥 或 content.md 前 200 字符含 🟥compile_cookbook.pypython3 scripts/compile_cookbook.py <cookbook_directory_path>
build/<cookbook_folder_name>/(含 contents.md、preview.html、preview.ipynb)toc.md 编译为正式交付物格式(含 ScrollSpy 暗色主题 HTML、Jupyter Notebook)。merge_sources pass —— 参见 §4.6。产出目录 build/ 已由项目根目录的 .gitignore 排除,保持 Git 环境整洁。
本节规范了 cookbook-chapters/02-prompting-guide/ 下每个 content.md 的整理范式。该方法论仅适用于 prompting guide 类章节,不适用于其他类型章节。
整理后的每个 content.md,在 frontmatter 和标题之后,必须包含以下三个小节(用 --- 分隔线与标题隔开):
# ✏️🟥 章节标题
---
### 本小节在说什么
(从读者角度描述本章节要传达的信息点。不复述参考来源,而是提炼出目标模型 cookbook 要教给读者的内容。)
### 为了完成本小节需要的结果,需要做什么 micro benchmark
(列出可评测的对比实验,每条都是「改变 X 变量,观察 Y 指标」的形式。)
### 在引用来源中,本小节的文本部分都包含什么
(从 SourceRef 引用的源 notebook 中提取相关文本,按 outline_ref 分组引用。)
此段由人工撰写(或人机协作后由人工确认),遵循以下原则:
此段将参考来源中的每个「建议/主张」转化为可评测的对比实验:
此段由 Agent 从源 notebook 中提取,遵循以下原则:
#### [ref] 来源标题 — 章节名 作标题。> 格式。<workspace>/llm-cookbooks/ 下的源 notebook 中提取与本章节主题相关的 text cell,填入「引用来源文本」段。本 Skill 目前专注于 Cookbook 的大纲提炼、用例组织、SourceRef 契约维护、TOC 驱动编译和两库联动记录,尚未包含以下核心开发环节的工作流与规范:
bench-framework/ 基座项目(模型 API client、判定逻辑 judge、执行度量 runner)的开发与维护规范。benches/ 目录下具体测试用例集设计、test_runner.py 逻辑实现及本地联调的开发工作流。compile_cookbook.py 的 merge_sources pass 实现:参见 §4.6。