Community生产力与协作github.com

tderoussel/fleet-brief

为跨代码库派发多个并行构建代理时编写工作流简报,包括每条通道的文件归属、共享地面警告和“禁止操作”列表。适合在即将拆分工作给并发代理、工作者、通道或波次时使用。

fleet-brief 是什么?

该技能旨在预防并行代理同时编辑同一文件导致的冲突。它通过系统化的步骤生成一份“舰队简报”,在派发代理前明确划分工作边界。技能基于实际文件映射(而非假设)定义通道,并为每个文件分配唯一的归属通道。简报包含共享地面列表(标记多个通道读取但仅一个可写入的文件)、派生出的“禁止操作”列表(附原因),以及明确的完成和审核门禁条件。支持 git worktrees 实现隔离构建,确保通道可独立合并。最终简报写入项目计划文档,并附带“验证,不要假设”的警告。该技能适用于 Claude Code、Cursor 等 AI 代理平台,帮助用户在并行工作前避免冲突,提升协作效率。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tderoussel/agent-skills/tree/main/skills/fleet-brief

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

舰队简报

并行代理之所以失败,通常是因为 共享地面——两个通道同时编辑同一个文件。本简报的存在,就是为了在派发之前杜绝这种冲突。边界必须根据实际文件映射来推导,绝不能依靠假设。

按顺序构建简报

1. 先映射文件

在定义通道之前,列出每个拟议变更会涉及的文件。然后读取这些文件。一个没有读取其文件的通道定义,就是一场即将发生的冲突。

2. 分配独占归属

每个文件恰好属于一个通道。生成以下表格:

通道拥有(写入)仅读取
W1 — <名称>path/a.ts, path/b.tspath/shared.ts

如果两个通道需要写入同一文件,你有三个选项——明确选择其中一个,绝不能含糊:

  • 串行化(W2 等待 W1 合并)
  • 合并成一个通道
  • 拼接:一个通道添加扩展点,另一个通道消费它

3. 命名共享地面

列出每个被多个通道读取的文件,并说明谁可以写入该文件。

从你面前的代码库中推导此列表——不要把另一个项目的列表搬过来。值得检查的常见形态包括:

  • 实时入站路径。凡是接收 webhook 或用户流量的地方。并发编辑在这里会在生产环境出问题,而不是在测试中。
  • 引擎和调度模块,多个功能都会调用它们。
  • 仅追加的清单——部署配置、路由表、函数列表。平台有上限(函数数量、文件大小);两个通道独立追加可能会突破限制。
  • 被广泛导入的导出。加法式扩展;一次重命名会波及所有调用者。
  • 生成或供应商提供的文件,任何通道都不应手动编辑。

曾经引起冲突的文件,永久视为共享地面。记录在简报中,以便下一舰队继承经验。

4. 推导“禁止操作”列表

每条禁止操作都指明文件名或行为以及理由。单纯的禁止会被忽略;附有理由的才站得住脚。

适用于大多数代码库的条目:

  • 冲突解决期间不要 git add -A——它会暂存冲突标记和其他通道的工作。
  • 工作者不要在链接的工作树中提交;由协调者提交。
  • 如果测试套件全局模拟数据库,绿色的单元测试并不能证明数据库的状态。明确说明。
  • 添加依赖项时,必须附上一行理由。
  • 不要在通道内部执行数据库迁移。延迟到一个单一的、经过审核的步骤。
  • 注意静默失败的 CLI 调用——例如 gh pr create 需要显式的 --base,链式 heredoc 可能吞掉错误。

然后添加项目特有的条目。每个让你熬夜的事故,都应附上理由记录在这里。

5. 设定门禁

针对每个通道明确说明:“完成”意味着什么,什么证据能证明,以及合并前由谁审核。

值得保留的默认门禁是上线前审核——构建,然后独立行审核,然后必须修复的轮次,最后合并。绝不能仅凭通道作者的一面之词就合并。作者自己的代理是其差异最差的评审者。

6. 标记待定内容

一个“明确未完成——需要人类参与”的章节。为等待明确指示而保留的内容,是有意保留的。不要让某个通道仅仅因为看起来准备好了就去执行它。

隔离

构建应该在 git 工作树中进行,而不是在主检出目录——共享一个工作目录的舰队会交错编辑。如果尽管有文件映射,通道仍然修改重叠的文件,请为每个通道分配单独的工作树。

规模

通道应能独立合并。如果一个通道离开另一个通道的 PR 就无法合并,那它就不是一个通道——而是一个阶段。阶段串行化;通道并行化。

输出

将简报写入项目计划存放的地方,并附上“验证,不要假设”的警告。任何源文档中的状态行只是检查点,不是权威——在根据它们派发之前,重新检查实时提交、数据库状态、PR 检查和工作树头部。

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

tderoussel/codebase-audit

Runs a ranked, evidence-backed audit of a product, codebase, or subsystem, ending in a verify list that separates proven findings from inferred ones. Use when the user asks for an audit, a gap analysis, a deep read, a bug hunt, a readiness check, a re-audit, a state reconciliation, or asks what they are not seeing. Trigger phrases include "audit", "gap analysis", "what am I missing", "deep audit", "readiness", "bug hunt", "review the whole thing". Produces findings and a verify list; does not fix.

tderoussel/competitive-teardown

Researches a competing product against your own and produces a ranked build-or-ignore verdict, plus optional comparison-page copy. Use when the user names a competitor or asks how their product stacks up against one. Trigger phrases include "vs us", "competitor", "what does X have", "should we copy", "competitive gap", "teardown", "are we behind". Produces a ranked verdict with effort estimates and an explicit not-worth-copying list.

tderoussel/decision-council

Run a structured multi-perspective review of a decision instead of getting one agreeable answer. Use when the user says run a council, get me perspectives on this, should I do X, stress-test this decision, or is this a good idea.

tderoussel/inbox-triage

Triage an email inbox — sort what needs a reply, draft the replies, flag what needs a decision, and surface what can be ignored or unsubscribed. Use when the user says triage my inbox, do my email, what's in my inbox, or clean up my email.

tderoussel/overnight-build

Composes an autonomous unattended Claude Code build prompt that survives usage-limit resets via BUILD_LOG.md checkpointing, plus the launcher that restarts it. Use when the user asks for an overnight build, an autonomous build, a build to run while they sleep, an unattended or unsupervised session, or any long build they will not be monitoring. Trigger phrases include "overnight build", "run overnight", "build while I sleep", "autonomous build", "let it run", "unattended". Produces a single copyable prompt; does not run the build.

tderoussel/session-log

Write a durable record of a work session — what was built, root-caused, or shipped — into the project's notes. Use when the user says log this session, write a session log, record this, or when a substantial piece of work has just finished and needs to be handed off to a future session.

tderoussel/ship-gate

Verification gate for a Next.js-on-Vercel + Supabase + GitHub Actions stack, to run before claiming anything is shipped, deployed, live, merged, passing, or done. Use before saying a change is in production, before merging a PR, before reporting CI green, and before writing any status into a document — even if the user does not ask for verification. Trigger phrases include "is it live", "did it deploy", "ship it", "merge it", "is CI green", "confirm prod", "did that work". Encodes traps where the obvious check returns a false pass.

tderoussel/vault-doctor

Audits and repairs an Obsidian vault's structural health — broken [[wikilinks]], ambiguous duplicate filenames, missing or malformed frontmatter, stale status markers, and hub notes whose state sections have gone cold. Use when the user asks about vault health, broken links, vault cleanup, dead links, orphan notes, tag consistency, or says the vault feels messy or out of date. Trigger phrases include "vault health", "broken links", "clean up the vault", "audit the vault", "is the vault current". Read-only by default; every repair is proposed before it is made.

相关技能