关于 project-sync
project-sync 是一套手动工作流,用于将代码仓库或工作树中的新实验结果记入论文的 daily_experiments.tex。它会先预览条目供确认,并可在项目存在记忆目录时更新项目记忆。
主要功能
- 01定位代码与论文仓库
- 02收集并确认实验详情
- 03预览 LaTeX 条目
- 04在日志顶部插入条目
- 05可选提交论文更改
- 06存在时更新项目记忆
适用场景
- 01将新实验记录到论文日志
- 02添加面向论文的结果前确认指标
- 03将日志结果关联到项目证据与后续行动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ a-green-hand-jack/ ml-research-skills --skill project-sync安装后在 Claude Code 中输入/project-sync确认已加载。
详细介绍
项目同步工作流
当代码仓库或代码工作树中有新的实验结果,且你想将其记录到论文的 daily_experiments.tex 中时,请使用此工作流。
这是一个由人工手动触发的工作流——每当你想将结果保存到论文中时,都可以运行它。
如果记录的结果需要更新证据、主张、风险、行动或论文状态,请将此技能与 research-project-memory 配合使用。
步骤 1 — 定位项目
// turbo 自动检测项目结构。运行:
# Find the git root of the current repo
git rev-parse --show-toplevel 2>/dev/null
# Check if we're in code/ or paper/ and find sibling
ls "$(git rev-parse --show-toplevel)/../"
确定:
$CODE_ROOT- 代码仓库根目录或当前活动代码工作树根目录$PAPER_ROOT- 论文仓库根目录$PROJECT_ROOT- 项目控制根目录(如果存在)
在 project-init 项目中,paper/ 和 code/ 是项目控制根目录下的组件仓库,代码工作树通常位于 code-worktrees/ 下。如果无法推断出论文仓库,请询问用户:
“论文仓库在哪里?请提供其路径。”
步骤 2 — 收集新结果
在一条消息中询问用户:
- 日期:这些实验是哪天做的?(默认值:今天的日期,YYYY-MM-DD)
- 简短标题:为这批实验拟一个简短标签(例如“CIFAR-10 上的基线”“消融实验:移除注意力层”)
- 设置:使用了什么方法变体 / 配置 / 数据集?
- 结果:关键数值是什么?(粘贴指标、准确率、损失等)
- 观察:结果说明了什么?哪些有效,哪些无效?
- 下一步:计划进行什么后续实验?
也可以检查是否存在可供提取的现有结果文件:
# Stable code-side evidence
find "$CODE_ROOT/docs/results" "$CODE_ROOT/docs/reports" "$CODE_ROOT/docs/runs" -maxdepth 2 -type f 2>/dev/null | sort | tail -20
# Raw or ignored outputs, if present
find "$CODE_ROOT/outputs" "$CODE_ROOT/logs" "$CODE_ROOT/checkpoints" -maxdepth 2 -type f 2>/dev/null | sort | tail -20
如果存在相关的结果摘要或报告,请阅读并预填答案,供用户确认。将原始日志视为辅助材料,而非面向论文的证据,除非用户确认其中的数值。
步骤 3 — 预览条目
编写并展示 LaTeX 条目,供用户审阅:
\subsection*{<DATE> — <SHORT TITLE>}
\textbf{Setup:} <setup>\\
\textbf{Result:} <results>\\
\textbf{Observation:} <observation>\\
\textbf{Next:} <next>
询问:“这样看起来正确吗?要将它添加到论文中吗?”
等待确认。
步骤 4 — 插入到 daily_experiments.tex
// turbo
读取 $PAPER_ROOT/sections/daily_experiments.tex 的当前内容。
将新条目插入顶部(注释标题下方),使日志按时间倒序排列(最新的在前)。
插入后,向用户展示文件更新后的顶部内容,确认显示正确。
步骤 5 — 提交到论文仓库(可选)
询问:“要把这条实验记录提交到 paper repo 的 Git 吗?(Y/n)”
如果是:
git -C "$PAPER_ROOT" add sections/daily_experiments.tex
git -C "$PAPER_ROOT" commit -m "exp: add <DATE> — <SHORT TITLE>"
如果否,告知用户文件已保存,之后可以再提交。
步骤 6 — 确认
报告:
Experiment logged:
Date: <DATE>
Title: <SHORT TITLE>
File: <PAPER_ROOT>/sections/daily_experiments.tex
To view all logged experiments:
cat <PAPER_ROOT>/sections/daily_experiments.tex
步骤 7 — 如有项目记忆,则更新
如果父项目有 memory/,请更新:
memory/evidence-board.md:将记录的结果添加为EVD-###,或将其关联到现有的EXP-###memory/provenance-board.md:记录来源路径、确认状态,以及日常日志 / 面向论文的使用路径memory/claim-board.md:将受影响的主张状态改为supported、weakened、provisional或evidence-neededmemory/risk-board.md:添加或关闭结果所揭示的风险memory/action-board.md:添加日志条目中的下一项实验 / 报告 / 写作行动memory/handoff-board.md:如果同步的结果需要用于论文,则创建交接给paper-evidence-board、paper-result-asset-builder或experiment-story-writer的任务memory/phase-dashboard.md:如果此次同步改变了项目就绪状态,则更新当前的证据或写作阶段门槛paper/.agent/paper-status.md:注明sections/daily_experiments.tex现已包含该结果code/.agent/或<code-worktree>/.agent/worktree-status.md:标记该结果已转为面向论文的证据
只有当数值有来源链接或经用户确认时,才将日常实验日志视为证据。否则,将确定性标记为 user-stated 或 needs-verification。