mcpField
P
project-init

project-init

github.com/a-green-hand-jackAgent 工作流55 次安装
代码仓库

关于 project-init

用于将 ML 研究项目初始化为控制根目录的工作流技能,管理彼此独立的论文、代码及可选幻灯片仓库。它指导研究团队和 Agent 规划项目结构、记忆、工作树与协作策略。

主要功能

  1. 01创建研究控制根目录
  2. 02组织独立的组件仓库
  3. 03初始化项目记忆
  4. 04定义工作树与 Git 策略
  5. 05配置 Agent 指引和工具链门禁

适用场景

  1. 01启动新的 ML 研究项目
  2. 02连接现有论文与代码仓库
  3. 03建立共享项目记忆
  4. 04协调跨组件实验

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/a-green-hand-jack/ml-research-skills --skill project-init

安装后在 Claude Code 中输入/project-init确认已加载。

附带文件templates/PROJECT.md

详细介绍

项目初始化工作流

将研究项目初始化为控制根目录,而不只是两个并列的仓库。

当用户想要创建一个新的机器学习研究项目,并希望 Agent 从 <ProjectName>/ 开始工作,同时让 paper/、code/ 和可选的 slides/ 保持为相互独立的组件仓库时,使用此技能。

将此技能与以下技能配合使用:

  • 使用 research-project-memory 初始化跨组件记忆
  • 使用 init-latex-project 创建论文仓库
  • 使用 init-python-project 创建代码仓库
  • 使用 research-slide-deck-builder,通过外部 progress-slides 模板创建或维护可选的幻灯片仓库
  • 使用 new-workspace 创建代码实验工作树或论文版本工作树
  • 当代码在 SSH/HPC 服务上运行时,使用 remote-project-control
  • 涉及 GitHub CLI、仓库远程地址或 GitHub Project API 操作时,使用 remote-project-control 或 safe-git-ops
  • 执行非简单的 Git 操作前,使用 safe-git-ops

预期项目结构

默认结构:

<ProjectName>/
├── PROJECT.md
├── AGENTS.md
├── CLAUDE.md
├── memory/
│   ├── project.yaml
│   ├── component-index.yaml
│   ├── current-status.md
│   ├── decision-log.md
│   ├── claim-board.md
│   ├── evidence-board.md
│   ├── provenance-board.md
│   ├── risk-board.md
│   ├── action-board.md
│   ├── handoff-board.md
│   ├── phase-dashboard.md
│   └── source-visibility-board.md
├── paper/                 # independent LaTeX git repo
├── code/                  # independent Python/ML git repo
├── code-worktrees/         # sibling worktree root for code repo branches
├── paper-worktrees/        # sibling worktree root for paper venue/arXiv/camera-ready versions
├── .uv-envs/               # ignored shared uv environments for code repo/worktrees
├── reference/             # project-local sources, cards, processing state, and project-use notes
├── slides/                # optional independent git repo
├── reviewer/              # reviewer simulation state
├── rebuttal/              # real review and response state
├── artifact/              # artifact-evaluation and release handoff state
└── docs/
    ├── overview.md
    ├── designs/
    ├── experiments/
    ├── updates/
    ├── audits/
    └── timelines/

此结构是项目结构示意图的文本权威来源,该示意图维护在仓库 README 和 asset/project-anatomy.png 中。如果布局发生变化,请同步更新技能文本和可视化文档。

默认不要创建顶层 experiments/ 目录。实验执行、运行摘要、结果报告和原始产物指针应放在 code/ 或相关代码工作树中。

根目录下的 docs/ 仍然很有用,但它用于存放项目级文档,不能替代代码侧证据。可用它存放分阶段的方法设计、跨组件实验计划、项目概述、审计、时间线,以及用于协调 paper/、code/、slides/、评审、rebuttal 和产物工作的交接文档。

推荐的代码侧证据路径:

code/docs/results/         # stable result summaries, table notes, figure notes
code/docs/reports/         # experiment-report-writer outputs
code/docs/runs/            # run registry, job pointers, config and commit pointers

核心原则

  • <ProjectName>/ 是 Agent 控制根目录。
  • paper/、code/ 和 slides/ 是组件仓库,而非普通文件夹。
  • code 组件负责算法实现、实验执行、运行记录、结果报告、服务器执行状态和代码工作树。
  • 默认情况下,代码工作树不应嵌套在 code/ 中。请使用同级根目录 code-worktrees/,以免 Git、IDE、搜索工具和 Agent 将工作树误认为普通源文件。
  • 默认情况下,同一项目下的代码工作树应共用一个代码 uv 环境,例如 <ProjectName>/.uv-envs/code,通过绝对路径设置 UV_PROJECT_ENVIRONMENT,并在当前活动工作树中调用 uv run。只有在依赖、Python/CUDA 技术栈、破坏性软件包测试或实际并发同步风险需要时,才创建独立的阶段环境。
  • paper 组件负责论文源文件、会议模板、投稿模式、arXiv/公开源清理、终稿修订和论文工作树。
  • reference 组件负责项目本地资料(论文、合作者文档、笔记、规格说明、脚本、资料包)、来源卡片、处理状态、项目使用说明和资料到项目的交接。
  • 默认情况下,论文工作树不应嵌套在 paper/ 中。请使用同级根目录 paper-worktrees/,用于会议改投、arXiv 发布、rebuttal 论文修改和终稿分支。
  • 论文源文件的可见性独立于会议。如果 paper/main 与 Overleaf 关联或对合作者可见,请将其视为 author-visible,而非私有;不要将 Agent 私有文件放入该分支。
  • 项目记忆用于存储跨组件的持久状态;根目录 docs/ 用于存放项目级设计和规划资料;代码文档用于存放代码侧的实现、运行和结果详情。
  • 根 Git 仓库是可选的。如果启用,除非用户明确希望使用子模块,否则不要误将嵌套的组件仓库提交进去。
  • GitHub Project 是可选的云端协作工具。它用于跨组件仓库跟踪面向合作者的问题、PR、阻碍事项和路线图视图;不能取代根目录 memory/、组件 .agent/ 或仓库原生的证据文档。
  • 工具链检查门槛是明确的项目策略。代码、论文、Git/GitHub、远程执行、发布和制品工作流应记录其检查命令、修改规则和时效预期,而非依赖临时的 Agent 记忆。

步骤 1 - 收集项目信息

在一条消息中询问以下信息:

  1. 项目名称和父目录。
  2. 研究摘要:方法构想、目标问题、数据集、基线、指标和当前成熟度。
  3. 已知的目标会议或里程碑。
  4. 组件选择:
    • 论文仓库:新建、连接现有仓库,或暂时跳过
    • 代码仓库:新建、连接现有仓库,或暂时跳过
    • 幻灯片仓库:新建、连接现有仓库,或跳过
    • 参考文献库:创建 reference/、连接现有 PDF/源文件目录、连接初始资料包,或跳过
    • 审稿人/回复审稿意见/制品状态目录:现在创建或稍后创建
  5. Git 策略:
    • 根控制平面 Git 仓库:是/否
    • 论文/代码/幻灯片的组件远程仓库(如有)
    • 组件仓库应作为子模块,还是由根 Git 忽略
    • 是否现在创建 GitHub/GitLab 仓库;如果是,gh auth status 是否有效
    • 是否为此研究项目创建或关联一个 GitHub Project 看板
    • 是否启用默认工具链门禁:
      • 代码:uv、ruff、mypy、pytest、pre-commit
      • 论文:tex-fmt、submit-paper、Overleaf/GitHub 编译证据
      • 协调:git、gh、GitHub Project/PR 检查
      • 可选的规范检查:gitleaks、shellcheck、shfmt、actionlint、nbstripout、taplo、yamllint、lychee
  6. Worktree 策略:
    • 默认同级根目录:<ProjectName>/code-worktrees/
    • 默认论文同级根目录:<ProjectName>/paper-worktrees/
    • 共享代码 uv 环境路径:默认为 <ProjectName>/.uv-envs/code
    • 服务端 worktree 根目录(如有不同)
    • 分支命名约定(如有)
    • 论文源文件可见性策略:
      • paper/main 是否链接到 Overleaf/GitHub
      • paper/main 是 author-visible 还是 agent-private
      • .agent/、AGENTS/CLAUDE 指引、原始 CSV、绘图脚本和内部结果文档应放在哪里

在收到用户答复之前,请勿创建文件。

步骤 2 - 创建控制根目录

创建:

<parent-dir>/<ProjectName>/
├── memory/
├── docs/overview.md
├── docs/designs/
├── docs/experiments/
├── docs/updates/
├── docs/audits/
├── docs/timelines/
├── reference/.agent/runs/
├── reference/sources/
├── reference/cards/
├── reference/project-use/
├── reference/notes/
├── reference/summaries/
├── reviewer/.agent/
├── rebuttal/.agent/
├── artifact/.agent/
├── .uv-envs/
├── code-worktrees/
└── paper-worktrees/

仅当用户希望现在添加幻灯片组件时,才创建可选的 slides/。

如果启用了根 Git,请在 <ProjectName>/ 初始化 Git,并添加根 .gitignore,忽略组件仓库和 worktree,除非用户明确要求使用子模块:

/paper/
/code/
/slides/
/.uv-envs/
/code-worktrees/
/paper-worktrees/

如果用户希望使用子模块,请有意使用子模块命令,不要依赖意外的嵌套 Git 行为。

如果用户希望在设置期间创建 GitHub/GitLab 仓库,请先检查托管平台 CLI 的身份验证状态,例如运行 gh auth status。如果身份验证失败,请完成本地工作区设置,并将创建 Git 远程仓库记录为阻塞项;不要让仓库创建失败掩盖项目初始化结果。

如果用户希望使用 GitHub Project 看板:

  1. 将该看板视为一个研究项目跨多个仓库进行云端协调的可选工具。
  2. 执行 gh project ... 命令前,检查 gh auth status;如果令牌缺少 project 权限范围,请让用户批准,或运行 gh auth refresh -s project。
  3. 如果 Agent 运行环境无法从沙盒访问 macOS 钥匙串或 GitHub API,请将 GitHub Project 设置记录为阻塞项,而不要反复要求用户登录。
  4. 只有在所有者明确后,才创建或关联项目:用户账户(例如 @me / a-green-hand-jack)或组织。
  5. 适当时将组件仓库关联到看板,但保持根仓库和组件仓库的远程仓库相互独立。

实用 CLI 模式:

gh project create --owner <owner> --title "<ProjectName>"
gh project view <number> --owner <owner>
gh project link <number> --owner <owner> --repo <owner>/<repo>

建议字段:

  • Component:root、code、paper、slides、reviewer、rebuttal、artifact
  • Workstream:method、experiment、writing、review、release、infra
  • Status:Backlog、Ready、In Progress、Blocked、Review、Done、Parked
  • Priority:P0、P1、P2、P3
  • Target:venue、milestone、deadline、arXiv、camera-ready
  • Claim ID、Evidence ID、Worktree、Blocker

建议视图:Roadmap、Board、Experiments、Paper、Risks 和 Worktrees。

步骤 3 - 初始化项目记忆

使用 research-project-memory 模板或同等文件来创建:

  • memory/project.yaml
  • memory/component-index.yaml
  • memory/current-status.md
  • memory/decision-log.md
  • memory/claim-board.md
  • memory/evidence-board.md
  • memory/provenance-board.md
  • memory/risk-board.md
  • memory/action-board.md
  • memory/handoff-board.md
  • memory/phase-dashboard.md
  • memory/source-visibility-board.md

组件索引应记录:

components:
  code:
    path: code
    worktree_root: code-worktrees
    worktree_index_path: code/.agent/worktree-index.md
    shared_uv_environment: .uv-envs/code
    owns:
      - algorithm implementation
      - experiment execution
      - code-side result reports
      - server execution state
  paper:
    path: paper
    worktree_root: paper-worktrees
    worktree_index_path: paper/.agent/worktree-index.md
    default_visibility_tier: author-visible
    source_visibility_board: memory/source-visibility-board.md
    owns:
      - paper claims and narrative
      - figures and tables selected for submission
      - venue/arXiv/camera-ready versions
      - source visibility and cleanup policy
  slides:
    path: slides
    status: optional
  reviewer:
    path: reviewer
  rebuttal:
    path: rebuttal
  artifact:
    path: artifact

根目录记忆应存储指向代码侧证据的引用,而不是重复详细的运行日志。

在 memory/project.yaml 中记录默认工具链门禁:

toolchain_gates:
  policy: check-before-mutate
  code:
    environment_check: "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv sync"
    format_check: "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run ruff format --check src tests experiments scripts"
    lint_check: "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run ruff check src tests experiments scripts"
    type_check: "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run mypy src"
    test_check: "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run pytest tests -v"
    local_gate_runner: "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run pre-commit run --all-files"
    mutate_only_when_requested:
      - "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run ruff format src tests experiments scripts"
      - "UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code uv run ruff check --fix src tests experiments scripts"
  optional_hygiene:
    secret_scan: "gitleaks dir --no-banner --redact ."
    shell_lint: "shellcheck jobs/*.sh scripts/*.sh"
    shell_format_check: "shfmt -d jobs scripts"
    notebook_output_check: "nbstripout --dry-run notebooks/*.ipynb"
    github_actions_lint: "actionlint .github/workflows/*.yml"
    toml_format_check: "taplo fmt --check pyproject.toml"
    yaml_lint: "yamllint ."
    link_check: "lychee --no-progress README.md docs/**/*.md"
  paper:
    source_format_check: "tex-fmt --check --nowrap --recursive ."
    submission_check: "bash <submit-paper-skill-dir>/scripts/check.sh \"$PAPER_DIR\""
    compile_truth: "Overleaf/GitHub or local LaTeX compile log"
    mutate_only_when_requested:
      - "tex-fmt --nowrap --recursive ."
  coordination:
    git_status_check: "git status --short --branch"
    whitespace_check: "git diff --check"
    github_auth_check: "gh auth status"
    github_pr_check: "gh pr checks"

连接现有代码仓库时,保留现有的组件专用工具。例如,如果代码仓库已使用 black、isort、pyright、pre-commit、gitleaks、shellcheck、shfmt、actionlint、nbstripout 或 CI 专用命令,请记录这些实际命令,而不是强制采用默认脚手架策略。对于非 ML 仓库,如果 experiments 或 scripts 等默认路径不存在,则将其省略。

如果存在 GitHub Project 看板,请在 memory/project.yaml 中记录:

github_project:
  enabled: true
  owner: <github-user-or-org>
  title: <ProjectName>
  number: <project-number>
  url: <project-url>
  sync_policy: issue-pr-links
  scope_required: project

如果看板存在,但 Agent 不应管理它,请使用 sync_policy: none。除非用户明确希望这些内容在 GitHub 中可见,否则不要将私有研究理由或未公开的论文审查风险同步到 GitHub 字段中。

第 4 步 - 创建根目录级 Agent 指南

编写两个根目录 Agent 入口文件:

  • <ProjectName>/AGENTS.md,供 Codex 和通用 Agent 指南使用
  • <ProjectName>/CLAUDE.md,用于兼容 Claude Code

两者在语义上应保持一致。建议使用镜像内容,或在简短的 CLAUDE.md 中告知 Claude Code 遵循 AGENTS.md,将其作为规范的项目控制根策略。

根目录指南必须说明:

  • 除非任务明确限定在某个组件内,否则 Agent 应从 <ProjectName>/ 开始工作
  • 检查组件仓库和执行仓库本地命令时,使用 git -C code ...、git -C paper ... 和 git -C slides ...
  • 完成预检后,例行推送最终分支时,使用 project-push <repo> <remote> <branch>,而不是原始的 git push、git -C <repo> push、cd <repo> && git push 或 shell 包装的推送命令
  • 默认将代码工作树放在 code-worktrees/ 下
  • 对于不同投稿场合、arXiv 和最终出版版本,默认将论文工作树放在 paper-worktrees/ 下
  • 论文源文件的可见性级别为 agent-private、author-visible、anonymous-submission、public-preprint、camera-ready-public 和 publisher-artifact
  • 如果 paper/main 通过 GitHub 与 Overleaf 同步,则其可见性级别为 author-visible;不要将 .agent/、AGENTS.md、CLAUDE.md、原始 CSV、内部结果文档、绘图脚本、审稿策略或私有路径放入此可见源文件中
  • 如果已安装 tex-fmt,论文格式检查使用 tex-fmt --check --nowrap --recursive .;仅在明确要求格式化时才运行 tex-fmt --nowrap --recursive .,并在推送或投稿前检查差异
  • 代码检查使用 uv sync、uv run ruff format --check、uv run ruff check、uv run mypy src、uv run pytest tests -v 和 uv run pre-commit run --all-files,并将 UV_PROJECT_ENVIRONMENT 指向共享的项目代码环境,除非代码仓库说明了其他现有方案
  • 如果存在相关文件和工具,可选的卫生检查包括 gitleaks、shellcheck、shfmt、actionlint、nbstripout、taplo、yamllint 和 lychee
  • ruff format、ruff check --fix、shfmt -w、不带 --dry-run 的 nbstripout 以及 tex-fmt 格式化模式等会修改内容的格式化或修复命令,必须获得明确请求或符合已记录的项目策略,并在之后检查差异
  • 根目录 docs/ 用于存放项目级概览、分阶段方法设计、跨组件实验计划、审计、时间线和交接文档
  • code/docs/ 用于存放代码侧结果摘要、运行记录、实现报告和服务端执行说明
  • 实验结果存放在 code/docs/results/、code/docs/reports/、code/docs/runs/,或代码工作树中的相同路径下
  • 原始输出、日志、检查点以及 wandb/tensorboard 缓存不属于项目根目录内容
  • 论文版本说明存放在相应论文工作树的 .agent/worktree-status.md 中;需要长期保留的决策存放在根目录 memory/ 中
  • 跨工作树汇总记录存放在 code/.agent/worktree-index.md、paper/.agent/worktree-index.md 和根目录 memory/component-index.yaml 中
  • 配置了 GitHub Project 时,将其用作面向协作者的看板,展示问题、PR、阻塞项、目标和路线图视图;根目录 memory/ 仍用于存放长期研究记忆
  • 发布 arXiv 或公开源文件的论文工作树必须在发布源文件前移除 TODO、内部注释、隐藏的图表描述、审稿回复备注和作者注释宏
  • 即使论文尚未公开,面向作者的 Overleaf 分支也不得包含仅供 Agent 使用的私有文件
  • 匿名会议论文工作树必须遵守投稿场合的匿名和格式要求
  • 项目记忆中应保存长期有效的主张、证据、来源信息、风险、行动和交接摘要
  • 项目记忆应跟踪主张生命周期、证据来源信息、跨模块交接和阶段仪表盘状态
  • 在代码变更期间使用 update-docs,不要只在发布时使用
  • 对稳定的代码、论文、制品或根目录里程碑使用 add-git-tag

第 5 步 - 初始化或连接组件仓库

论文

如果要创建新的论文仓库,请在以下位置使用 init-latex-project:

<ProjectName>/paper/

如果要连接现有论文仓库,请克隆仓库或记录其路径和远程地址。然后,在创建或跟踪 Agent 私有文件之前,检查该仓库是否已关联 Overleaf,或是否对合作者可见。

如果 Agent 将编辑论文,请确保论文工作区同时包含 paper/AGENTS.md 和 paper/CLAUDE.md,但默认将其视为 Agent 私有指南。如果当前分支为 author-visible、anonymous-submission、public-preprint 或 camera-ready-public,请将这些文件保持为未跟踪、忽略状态,或放在 agent-private 工作树中,而不要推送到可见源。确保这些文件遵循相同的论文本地编译、投稿 venue、源文件卫生、图表和记忆规则。

如果有 tex-fmt,请在论文本地指南中将其记录为源格式检查工具。格式状态应与论文工作树/源文件可见性状态一并记录;它不能替代 Overleaf 编译证据。

代码

如果要创建新的代码仓库,请在以下位置使用 init-python-project:

<ProjectName>/code/

对于 ML 项目,请确保代码仓库包含:

code/AGENTS.md
code/CLAUDE.md
code/docs/results/
code/docs/reports/
code/docs/runs/

初始化或连接代码仓库时,请在 code/AGENTS.md、code/CLAUDE.md 和 memory/project.yaml 中记录其工具链门禁。在项目控制根目录布局中,新的代码门禁默认应通过 UV_PROJECT_ENVIRONMENT=<absolute-project-root>/.uv-envs/code 运行,以便 code/ 和 code-worktrees/* 共用同一个依赖环境。只有独立代码仓库或明确选择按工作树使用环境的仓库,才适合直接运行 uv sync。如果现有仓库已配置 CI、pre-commit、black、isort、pyright、gitleaks、shellcheck、shfmt、actionlint、nbstripout 或自定义命令,请保留并记录这些命令。

如果要连接现有代码仓库,不要强行套用完整脚手架。只有在报告缺失项后,才补充缺失的高价值记忆/文档路径。

如果代码仓库克隆自上游项目,不要假设 origin 可写入。请记录 origin 是上游仓库、派生仓库还是新建的项目仓库,并将其与根控制平面仓库的远程地址分开。

幻灯片

如有需要,请创建或连接:

<ProjectName>/slides/

幻灯片可以使用单独的 git 仓库。优先将外部 progress-slides 模板用作幻灯片组件,而不是自行设计本地脚手架:

git clone https://github.com/a-green-hand-jack/progress-slides.git <ProjectName>/slides

克隆后,请先检查 slides/README.md、slides/package.json 和现有幻灯片源文件,再进行编辑。使用 research-slide-deck-builder 处理演示文稿结构、兼容模板的源文件编写、预览/构建命令,以及 slides/.agent/ 中的故事线、受众、源证据和过时证据说明。

将 slides/ 视为多演示文稿工作区。根目录和幻灯片本地的 Agent 指南都应说明,稳定版本的演示文稿存放在 slides/decks/<YYYY-MM-DD>-<audience-or-purpose>-<slug>.md 下;slides/slides.md 仅用于活动/默认演示文稿、暂存文件或模板示例。在 slides/.agent/deck-index.md 中记录演示文稿历史,可在 slides/.agent/decks/<deck-id>.md 中保留可选的单份演示文稿说明,并针对目标演示文稿文件运行 Slidev,例如 npx slidev decks/2026-05-02-advisor-plan.md。

步骤 6 - 确立工作树策略

默认代码策略:

main code repo:       <ProjectName>/code/
code worktree root:   <ProjectName>/code-worktrees/
worktree path:        <ProjectName>/code-worktrees/<branch-type>-<branch-name>/

默认论文策略:

main paper repo:      <ProjectName>/paper/
paper worktree root:  <ProjectName>/paper-worktrees/
worktree path:        <ProjectName>/paper-worktrees/<version-type>-<venue-or-name>/

以下情况使用论文工作树:

  • 面向不同会议,且使用不同模板或样式文件
  • 主分支位于 Overleaf 或对合作者可见时,进行 Agent 私有起草
  • 发布 arXiv 预印本时,LaTeX 源文件可能公开
  • 录用后的最终定稿版本
  • 仅涉及论文的 rebuttal 编辑,且不应影响主投稿分支

论文版本管理规范:

  • Agent 私有版本:可以包含 .agent/、AGENTS.md、CLAUDE.md、写作记忆、来源记录、内部结果文档、CSV 和绘图脚本;不应同步到可见的远程仓库
  • 作者可见 / Overleaf 版本:排除 .agent/、AGENTS.md、CLAUDE.md、原始 CSV、内部结果文档、绘图脚本、审稿人策略、私有路径和仅供 Agent 使用的备注
  • arXiv / 公开源文件:移除 TODO、TeX 注释中的内部图表说明、审稿人备注、隐藏注释、作者注释宏以及匿名处理遗留内容
  • 匿名会议版本:确保匿名、会议模式和格式要求;如果源文件会上传,不要假定源文件注释是安全的
  • 最终定稿版本:取消匿名、添加致谢 / 资金来源、履行 rebuttal 承诺,并移除仅供草稿使用的备注

将此记录在:

  • memory/project.yaml
  • memory/component-index.yaml
  • memory/source-visibility-board.md
  • <ProjectName>/AGENTS.md
  • <ProjectName>/CLAUDE.md
  • 涉及服务器执行时,记录在 code/docs/ops/current-status.md

如果执行服务器上只有代码仓库,请在 code/infra/remote-projects.yaml 或 code/docs/ops/current-status.md 中记录服务器专用的工作树根目录。不要假定服务器上有 paper/ 或根项目记忆文件。

步骤 7 - 编写 PROJECT.md

根据 templates/PROJECT.md 创建 <ProjectName>/PROJECT.md。填写 <ProjectName> 和一句话描述,并将 GitHub Project Board 状态设为 none、linked 或 planned。其他所有章节都是稳定的默认内容——仅当项目的组件布局、可见性策略或记忆结构与默认设置不同时才编辑。

步骤 8 - 最终总结

报告:

Project initialized: <ProjectName>
Control root: <path>

Components:
  paper: <created|connected|skipped>
  code: <created|connected|skipped>
  slides: <created|connected|skipped>
  reviewer/rebuttal/artifact state: <created|deferred>
  GitHub Project: <created|linked|deferred|not requested>
  Toolchain gates: <configured|deferred|inherited from existing repos>

Code worktree root:
  <ProjectName>/code-worktrees/
Paper worktree root:
  <ProjectName>/paper-worktrees/

Next skills:
  research-project-memory -> inspect or update project state
  new-workspace -> create a code branch/worktree or paper version worktree
  remote-project-control -> configure SSH/HPC execution for code
  experiment-design-planner -> plan first experiment matrix
  research-slide-deck-builder -> create progress/advisor/lab slides with progress-slides

最终检查

完成前:

  • AGENTS.md 和 CLAUDE.md 中均存在根目录 Agent 指引
  • Agent 会编辑的组件仓库均包含配对的 AGENTS.md 和 CLAUDE.md
  • 根目录记忆文件均已创建,或已明确延期
  • paper/、code/ 和 slides/ 的 Git 边界清晰
  • 涉及 GitHub / GitLab 设置时,已分别检查根目录和组件的 Git 远程仓库
  • 尝试创建仓库前,已检查 gh auth status 或等效托管平台 CLI 的认证状态
  • GitHub Project 设置已记录在 memory/project.yaml 和 PROJECT.md 中,或已明确延期并记录为待办事项 / 阻塞项
  • 工具链门禁默认设置已记录在 memory/project.yaml 中,或已记录现有组件专用门禁作为继承设置
  • 尝试执行 gh project ... 命令前,gh 令牌已具备 project 范围
  • 已记录 code-worktrees/ 策略
  • 已记录 paper-worktrees/ 策略
  • 已记录论文源文件可见性策略,尤其是 paper/main 是否通过 Overleaf / GitHub 对作者可见
  • 除非用户明确要求,否则不存在顶层 experiments/ 目录
  • 根目录 docs/ 的项目级作用明确,不会与 code/docs/ 混淆
  • 代码侧证据路径位于 code/docs/ 中
  • 组件远程仓库和根目录 Git 策略不存在歧义

评论

支持 Markdown