con un clic
git
规范 git 工作流实践。任何代码改动都适用。在提交、开分支、解决冲突,或需要把多条并行工作线组织起来时使用。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
规范 git 工作流实践。任何代码改动都适用。在提交、开分支、解决冲突,或需要把多条并行工作线组织起来时使用。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
FDD 主流程 step 1(规划与拆解)。覆盖两段——plan(与用户弄清需求、经 investigator 调查代码库、定出 milestone、写出 plan.md 并呈现)与 features(把 milestone 拆成 features.json 并过 coverage 闸)。中间的 contract 段交给 harness-stack:fdd-validation-contract。由 harness-stack:fdd 调用。
构建新特性的主流程编排器。契约优先的多 agent 架构——捕获一个 plan,定义可测试的断言,拆解为多个 feature,再用全新上下文的 implementer/reviewer/validator subagent 驱动一个里程碑设闸的执行循环。当一处改动触及多个文件、有多条验收标准、或跨越多个 feature 时使用。主流程分三步,分发给 fdd-planning(含 fdd-validation-contract)/ fdd-execution / fdd-validate。
为一个 plan 撰写 validation contract——把 definition of done 落成一组可测试、用户可观测的 assertion(VAL-<AREA>-NNN),带 persona 与声明的 Evidence。它是 fdd step 1(规划)里的 contract 阶段。契约通过逐 area 的 investigation subagent 与若干轮 adversarial review 构建,而非一人独写。产出 .harness-runtime/plans/<slug>/validation-contract.md,并经由 fdd init-state 播种 validation-state.json。在项目内首次使用时,还会 bootstrap 项目级约定文档 docs/user-test-patterns.md。
harness-stack 框架的引导纲要(bootstrap doctrine)。在会话开始时自动加载,用以介绍 lifecycle map、golden rules,以及如何挑选正确的 harness-stack:* skill。在一次会话中首次调用任何 harness-stack:* skill 之前,先读它。
复盘一次 harness-stack 使用,把值得上报的摩擦、缺陷或建议提成 GitHub Issue 反馈给上游。在完成一项任务、用完某个 skill 后有意见或改进想法,或想为框架本身留下改进线索时使用。
FDD 主流程 step 2——执行循环。串行驱动 feature 构建:next-feature → 派 implementer → handoff 决策树 → complete。每个 feature 由交接决策树把关(核验 implementer 自验留下的证据)。静态验证 → 代码审查 → user-test 这条验证流水线在里程碑收口(fdd-validate scope=milestone)与循环跑空(scope=final)批量跑。由 harness-stack:fdd 在 features.json 通过 coverage 后调用。
| name | git |
| description | 规范 git 工作流实践。任何代码改动都适用。在提交、开分支、解决冲突,或需要把多条并行工作线组织起来时使用。 |
Git 是安全网。commit 是存档点,branch 是沙盒,history 是文档。当 agent 飞快地产出代码时,正是这套有纪律的版本控制让改动始终可审、可回退。
本技能讲的是心法——原则、约定、反模式。各项的完整规范见 references/。
始终适用。每一次代码改动都流经 git。
让 main 始终可部署。在短命的 feature branch 上干活,1–3 天内 merge 回去。长命分支会累积 merge 风险;与其把未完成的工作在分支上搁好几周,不如用 feature flag。
main ──●──●──●──●──●──●──●──●──●── (always deployable)
╲ ╱ ╲ ╱
●──●─╱ ●──╱ (short-lived feature branches)
release branch 在 main 继续前进、同时需要稳定某个发布时是可以接受的;其余一切都应尽快落地。
消息格式、拆分策略、提交前自检都在 references/commit.md。
| Diff 规模 | 处理 |
|---|---|
| ≤ ~100 行 | 好。一坐下就能审完。 |
| ~100–300 行 | 单个带测试的逻辑改动可以接受。 |
| > ~1000 行 | 太大了。拆开。 |
例外:完整删除、自动化 codemod、lockfile 更新——这些情况下审阅者核对的是意图,不是逐行。
implement slice → test → verify → commit → next slice
某个切片做坏了,git reset --hard HEAD 就能退回上一个已知良好的状态。永远不会损失超过一个增量。
git worktree add ../project-feature-a feature/task-creation
git worktree add ../project-feature-b feature/user-settings
git worktree remove ../project-feature-a # when done
每个 worktree 是一个隔离的 checkout——agent 可以并行干活,无需来回切分支。某次试验失败了,删掉 worktree,什么都不丢。每个 worktree 的运行时隔离见 harness-stack:env-init。
让某条 worktree 分支追上 trunk 时,不必切回主 worktree——直接对最新的 origin/main rebase(或 merge)即可,见 references/update-from-main.md(命令 /harness-stack:sync-main)。
feature/<short-description>
fix/<short-description>
chore/<short-description>
refactor/<short-description>
merge 之后删掉分支。有些仓库在 PR merge 时会自动删除 head 分支——别跟它对着干。
| 主题 | 参考 |
|---|---|
| Commit 规范 | references/commit.md |
| 同步(rebase + push) | references/sync.md |
| Pull / merge 更新分支 | references/pull.md |
| 用 main 更新 worktree 分支 | references/update-from-main.md |
| Push 语义 | references/push.md |
| 借口 | 现实 |
|---|---|
| 「等 feature 做完我再 commit。」 | 一个巨型 commit 没法 review、没法 debug、没法 revert。每个切片都提交。 |
| 「消息无所谓。」 | 消息就是文档。未来的 agent 需要它们。 |
| 「我之后会全 squash 掉。」 | squash 会摧毁开发叙事。从一开始就写干净的 commit。 |
| 「分支增加开销。」 | 短命分支是免费的;长命分支才是代价。 |
| 「这个改动我之后再拆。」 | 大改动风险更高、更难 revert。提交前先拆。 |
「直接 --force,更快。」 | --force 会无条件覆盖队友的工作。只有在 history 是被有意重写时才用 --force-with-lease。 |
| 「认证失败——我改一下 remote URL 吧。」 | 这是遮掩,不是修复。把认证错误暴露出来,别糊弄过去。 |
fix、update、wip、misc 这样Co-Authored-By / 模型 / 工具的署名 trailergit rebase --skip 来躲 conflict(会悄悄丢掉一个 commit)