← ClaudeAtlas

preflightlisted

开工 30 秒自检——fetch + 分支 / OpenSpec 适用性 / 探索方式三件套。**只要**用户发出开工信号("开始干 / 帮我做 X / 先做 A 再做 B / 实现 Y / 修 bug")或显式 `/preflight`,**都用这个 skill** 先跑一遍——避免落入"在 main 直接编辑 / 跳过 OpenSpec / 不用 Explore subagent / 从过期 origin/main SHA 起 worktree"四个 CLAUDE.md 已固化为硬约束的高频 friction。
snowzhaozhj/claude-devtools-rs · ★ 1 · AI & Automation · score 67
Install: claude install-skill snowzhaozhj/claude-devtools-rs
# preflight > 触发:`/preflight`;或用户开工信号("开始做 X / 帮我实现 Y / 先做 A 再做 B / 修这个 bug") > 输出:4 个检查结果 + 给用户的简短确认问题 > 不修改任何文件——只读 + 决策 + 可能跑一次 `git fetch`。 ## 为什么有这个 skill CLAUDE.md "What to do first in a fresh session" 把 4 件事列成开工硬约束。但 Claude 在"看上去很急"的请求下会跳: - 在 main 上编辑(已配 hook 拦截,但仍有路径白名单空隙) - 行为契约改动事后补 spec(OpenSpec 流程) - 主动 grep / Read 污染主上下文(应该用 Explore subagent) - **本地 origin/main SHA 过期就直接起 worktree**——EnterWorktree 默认 `worktree.baseRef=fresh` 用本地 origin/main 指针,不 fetch → 从过期 SHA 起 → PR 一上来 conflict(PR #122 案例:本地落后 24h+ 错过多个 PR) 这个 skill 强制把"跳"成本提前——开工先回答 4 个问题,再触工具。 ## 工作步骤 ### Step 1:跑诊断命令(并行) ```bash git fetch origin main --quiet git branch --show-current git rev-list --left-right --count HEAD...origin/main git status --short ls openspec/changes/ 2>/dev/null | grep -v "^archive$" ``` 输出四块: - 当前分支 - 本地与 origin/main 的偏离(`A B` = 本地多 A 个 commit / 远端多 B 个) - 未跟踪 / 未提交文件 - 进行中(未 archive)的 openspec change 列表 `git fetch` 是硬约束——CLAUDE.md L 列入"What to do first" 第 1 条。如果 fetch 失败(无网络 / 鉴权),照样继续,但在 Q1 报告里告知"未 fetch,origin/main 指针可能过期"。 ### Step 2:回答 4 个问题(自检后给用户看) **Q1. origin/main 是否已 fetch + 本地是否落后?** - fetch 成功 + 本地 = origin/main 或仅领先 → ✅ 进入 Q2 - 本地落后(右数 > 0)→ ⚠️ 报告"本地比 origin/main 落后 N 个 commit",建议在切分支前 `git checkout main && git pull` 同步——尤其是要起 worktree 时(EnterWorktree 用本地 origin/main 指针,落后会从过期 SHA 起) - fetch 失败 → ⚠️ 报告"未能 fetch,可能离线;如有网络请先 fetch 再开工" **Q2. 当前在 feature 分支吗?** - 当前分支非 `main` / `master` → ✅ 进入 Q3 - 当前分支 = `main` 或 `master` → ❌ 报告"开工前需要 `git checkout -b fea