prefill
Skill85 starsChanged 5 months agoMITView on GitHub
用领域基础知识填充 wiki/foundations/,避免后续 /ingest 为教科书材料创建重复的 concept 页面
Files
/prefill
将领域基础知识(奠基性方法、common practice、标准架构)作为终端页面沉淀到
wiki/foundations/。 Foundations 设计上单向:其他页面可以链接到 foundation,foundation 不写反向链接。
Trigger
手动:/prefill [domain] 或 /prefill --add "概念名"。
Inputs
domain(位置参数,可选):研究领域 —general/NLP/CV/ML Systems/Robotics之一。未指定时从wiki/topics/标签推断;若 topics 为空则提示用户。--add "<概念>":跳过 catalog,直接为单个概念建立 foundation。
Outputs
wiki/foundations/{slug}.md— 每个种子一页- 更新的
wiki/index.md(由rebuild-index重生成 foundations 段落) wiki/log.md一条记录
Wiki Interaction
读取
wiki/topics/*.md— 用于推断 domain(未指定时)wiki/foundations/*.md— 跳过已存在的 foundation(幂等).claude/skills/prefill/foundations-catalog.yaml— 种子列表
写入
wiki/foundations/{slug}.md(仅新建,从不覆盖)wiki/index.md(通过tools/research_wiki.py rebuild-index)wiki/log.md(通过tools/research_wiki.py log)
Workflow
前置条件:当前目录包含 wiki/、tools/、.claude/。WIKI_ROOT=wiki/。
Step 1: 确定 domain
- 用户传入
domain→ 直接使用。 - 否则若处于
--add模式 → 默认general,除非用户额外指定。 - 否则:读取
wiki/topics/*.md的 frontmattertags;若能识别出主导 domain 则用之,否则提示用户。
Step 2: 加载种子
- Catalog 模式:读取
.claude/skills/prefill/foundations-catalog.yaml,取domains.{domain}下所有条目,并叠加domains.general的全部条目(general foundations 适用所有领域)。 --add模式:构造单一种子{slug: <slugified concept>, title: <concept>, summary: ""}。Slug 用python3 tools/research_wiki.py slug "<concept>"生成。
对每个种子,若 wiki/foundations/{slug}.md 已存在则跳过(不覆盖、不警告)。
Step 3: 从 Wikipedia 拉取背景
对每个剩余种子调用 tools/fetch_wikipedia.py:
python3 tools/fetch_wikipedia.py summary "<title>"
python3 tools/fetch_wikipedia.py sections "<title>"
python3 tools/fetch_wikipedia.py section "<title>" --index <N> # 拉取相关章节- summary 调用返回
{title, extract, url}。 - sections 调用返回
[{index, line, level}, ...]— 选取line包含Variants/Types/Architecture/History/Limitations/Applications的章节(大小写不敏感子串匹配)。 - 任意调用退出码为
2表示页面不存在 — 该种子回退到 LLM 知识,生成的 frontmatter 中source_url: ""。
Step 4: 组装 foundation 页面
按下方模板渲染。Wikipedia 来源的内容与 LLM 生成的内容需视觉上区分:纯 LLM 段落以 (LLM analysis) 标注。
---
title: "{title}"
slug: "{slug}"
domain: "{domain}"
status: mainstream # 已被取代的方法填 historical
aliases: [] # 列出 LLM 有把握的常见别名
first_introduced: "{Wikipedia summary 中能提取的年份,否则留空}"
date_updated: "{今天}"
source_url: "{Wikipedia URL,404 时留空}"
---
## Definition
{Wikipedia summary 首段,或 LLM 提供的定义。}
## Intuition
{基于定义的通俗解释。}
## Formal notation
{从 Wikipedia 提取的公式/记号;若无则由 LLM 补充并标注 `(LLM analysis)`。}
## Key variants
{从 Wikipedia "Variants" / "Types" / "Architecture" 章节提炼的列表。}
## Known limitations
{Wikipedia + LLM 综合判断。}
## Open problems
{LLM analysis (LLM analysis)}
## Relevance to active research
{LLM analysis (LLM analysis)}每页写入 wiki/foundations/{slug}.md。
Step 5: 刷新导航和日志
python3 tools/research_wiki.py rebuild-index wiki/
python3 tools/research_wiki.py log wiki/ "prefill | {N} foundations created for {domain}"Step 6: 报告
打印分组摘要:
## Prefill Report — {date}
**Domain**: {domain}
**Created**: {N} **Skipped (already present)**: {M}
### mainstream
- foundations/gradient-descent — Gradient Descent
- ...
### historical
- foundations/recurrent-neural-networks — Recurrent Neural Networks提醒用户:后续 /ingest 会与这些 foundation 去重,遇到匹配概念时创建 [[foundation-slug]] 链接而非新建 concept 页面。
Constraints
- foundations 是终端节点:foundation 页面禁止写
key_papers、related_concepts或任何外向引用字段。其他页面可链入。 - 从不覆盖已存在的
wiki/foundations/{slug}.md(幂等)。 - 来源区分:Wikipedia 内容与 LLM 内容必须在页面正文中视觉上区分。
- catalog 是建议性的:seed YAML 由人工维护、不完整,用户可无需改代码自行扩展。
- 仅写入
wiki/foundations/:不会创建papers/、concepts/、topics/等目录下的页面。
Error Handling
wiki/foundations/不存在:先运行python3 tools/research_wiki.py init wiki/。- Wikipedia 404:记录缺失页面,该种子回退 LLM 知识(
source_url: "")。 - 网络失败:打印失败的种子,继续处理其余种子,不中断整个批次。
- catalog 文件缺失:报错并指向
.claude/skills/prefill/foundations-catalog.yaml。
Dependencies
工具(通过 Bash)
python3 tools/fetch_wikipedia.py summary|sections|section|wikitext "<title>" [--index N]python3 tools/research_wiki.py slug "<title>"python3 tools/research_wiki.py rebuild-index wiki/python3 tools/research_wiki.py log wiki/ "<message>"
Catalog
.claude/skills/prefill/foundations-catalog.yaml
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- DAIR-AutoResearch/AutoSci★ 1.7k14% same
- PKU-DAIR/AutoSci★ 1.7k14% same
- skyllwt/AutoSci★ 1.7k14% same
- skyllwt/OmegaWiki★ 1.7k14% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- askSkill
- checkSkill
- daily-arxivSkill
- discoverSkill
- editSkill
- empirical-designSkill
- empirical-ingestSkill
- exp-designSkill
- exp-evalSkill
- exp-runSkill
- exp-statusSkill
- ideateSkill
- ingestSkill
- initSkill
- noveltySkill
- paper-compileSkill
- paper-draftSkill
- paper-planSkill
- rebuttalSkill
- refineSkill
- researchSkill
- resetSkill
- reviewSkill
- setupSkill
- stata-planSkill
- surveySkill
- theory-ingestSkill
- variable-mapSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

