mcpField
P
project-sync

project-sync

github.com/a-green-hand-jack生产力50 次安装
代码仓库

关于 project-sync

project-sync 是一套手动工作流,用于将代码仓库或工作树中的新实验结果记入论文的 daily_experiments.tex。它会先预览条目供确认,并可在项目存在记忆目录时更新项目记忆。

主要功能

  1. 01定位代码与论文仓库
  2. 02收集并确认实验详情
  3. 03预览 LaTeX 条目
  4. 04在日志顶部插入条目
  5. 05可选提交论文更改
  6. 06存在时更新项目记忆

适用场景

  1. 01将新实验记录到论文日志
  2. 02添加面向论文的结果前确认指标
  3. 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 — 收集新结果

在一条消息中询问用户:

  1. 日期:这些实验是哪天做的?(默认值:今天的日期,YYYY-MM-DD)
  2. 简短标题:为这批实验拟一个简短标签(例如“CIFAR-10 上的基线”“消融实验:移除注意力层”)
  3. 设置:使用了什么方法变体 / 配置 / 数据集?
  4. 结果:关键数值是什么?(粘贴指标、准确率、损失等)
  5. 观察:结果说明了什么?哪些有效,哪些无效?
  6. 下一步:计划进行什么后续实验?

也可以检查是否存在可供提取的现有结果文件:

# 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-needed
  • memory/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。

评论

支持 Markdown