skills/project-sync/SKILL.md
Sync verified code-side experiment results into paper memory. Use when logs, reports, run docs, or user-confirmed metrics should become paper-facing evidence.
npx skillsauth add a-green-hand-jack/ml-research-skills project-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this workflow when you have new experiment results in the code repo or a code worktree and want to record them in the paper's daily_experiments.tex.
This is a manual, human-triggered workflow — run it whenever you want to checkpoint results into the paper.
Pair this skill with research-project-memory when the logged result should update evidence, claims, risks, actions, or paper status.
// turbo Auto-detect the project structure. Run:
# 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)/../"
Determine:
$CODE_ROOT - the code repo root or active code worktree root$PAPER_ROOT - the paper repo root$PROJECT_ROOT - the project control root, if presentIn a project-init project, paper/ and code/ are component repos under the project control root, and code worktrees usually live under code-worktrees/. If the paper repo cannot be inferred, ask the user:
"Where is the paper repo? Please provide its path."
Ask the user in a single message:
Optionally, also check if there are existing result files to pull from:
# 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
If relevant result summaries or reports exist, read them and pre-fill the answers for the user to confirm. Treat raw logs as supporting material, not paper-facing evidence, unless the user confirms the numbers.
Compose and display the LaTeX entry for the user to review:
\subsection*{<DATE> — <SHORT TITLE>}
\textbf{Setup:} <setup>\\
\textbf{Result:} <results>\\
\textbf{Observation:} <observation>\\
\textbf{Next:} <next>
Ask: "Does this look correct? Should I add it to the paper?"
Wait for confirmation.
// turbo
Read the current contents of $PAPER_ROOT/sections/daily_experiments.tex.
Insert the new entry at the top (below the comment header), so the log is in reverse chronological order (newest first).
After inserting, show the user the updated top of the file to confirm it looks right.
Ask: "要把这条实验记录提交到 paper repo 的 Git 吗?(Y/n)"
If yes:
git -C "$PAPER_ROOT" add sections/daily_experiments.tex
git -C "$PAPER_ROOT" commit -m "exp: add <DATE> — <SHORT TITLE>"
If no, inform the user the file is saved and can be committed later.
Report:
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
If the parent project has memory/, update:
memory/evidence-board.md: add the logged result as an EVD-### or link it to an existing EXP-###memory/provenance-board.md: record the source path, confirmation status, and daily-log/paper-facing consumer pathmemory/claim-board.md: move affected claims to supported, weakened, provisional, or evidence-neededmemory/risk-board.md: add or close risks exposed by the resultmemory/action-board.md: add the next experiment/report/writing action from the log entrymemory/handoff-board.md: create a handoff to paper-evidence-board, paper-result-asset-builder, or experiment-story-writer when the synced result needs paper consumptionmemory/phase-dashboard.md: update the active evidence or drafting gate if this sync changes project readinesspaper/.agent/paper-status.md: note that sections/daily_experiments.tex now contains the resultcode/.agent/ or <code-worktree>/.agent/worktree-status.md: mark that the result was promoted to paper-facing evidenceTreat the daily experiment log as evidence only if the numbers are source-linked or user-confirmed. Otherwise mark certainty as user-stated or needs-verification.
testing
Bootstrap project-local ml-research-skills. Use from global installs when creating a new ML research project, enabling this collection in an existing ML research repo, or deciding whether to install the full bundle locally. Route to project-init for new projects; do not handle paper or experiment work directly.
development
Route project operations tasks — git, memory, bootstrap, remote, workspace, code review, timeline, ops — to the correct skill. Use when the task involves commits, pushes, worktrees, project memory, enabling project-local skills, SSH/server coordination, sidecar runners, or audits. Do not solve the ops task directly.
testing
Route ML/AI paper writing tasks to the correct skill — contract planning, prose drafting, section writing, consistency editing, review simulation, rebuttal, submission, or citation work. Use when the task involves writing, revising, reviewing, or submitting a paper instead of guessing between paper-writing-assistant, paper-writing-contract-planner, paper-reviewer-simulator, auto-paper-improvement-loop, or citation skills. Do not draft prose directly.
data-ai
Project-local router for ML research skill selection. Use inside an initialized ML research project, or while maintaining this skill repo, when the user describes an ML research/paper/experiment/discovery/ops/release workflow and may not know the skill; route to a domain router or high-signal leaf. Do not use for generic non-ML projects.