设计与多媒体

Collaborate

试用

与一名对手进行有边界的交流,产出决策或记录分歧。

它能做什么

围绕单一对手、书面立场与硬性截止来组织协作。向对手暴露立场之前,先写明决策、理由与可证伪的失效条件;对手提出挑战后,先复述其立场的最强版本,再进行反驳。每轮记录双方立场的变化情况,连续两轮零变化或达到配置上限即停止。最终产出是一个完整的方案——而非两个方案的折中——并附上最强存留异议和具体的重新评估触发条件。内置路由检查,可将其与委派模式(验收标准已可写)以及独立完成模式(撤销成本低于阈值)区分开。

什么时候用它

  • 方案就绪但关键假设从未被质疑
  • 两个选项都站得住,难以抉择
  • 评审讨论陷入拉锯,无人让步
  • 设计评审需要一个能落地决策的结构

技能文档

Decision records and user preferences live in ~/Clawic/data/collaborate/ (decision-log.md for the record format). If you have data at an old location (~/collaborate/ or ~/clawic/collaborate/), move it to ~/Clawic/data/collaborate/.

Configuration

User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/collaborate/config.yaml.

VariableTypeDefaultEffect
round_capnumber (1-5)3Hard stop in Running the Exchange; the two-round no-movement rule still fires first
budget_sharenumber (% of task estimate)10Scales Rule 3's exchange budget; the 5 min floor and 30 min cap stay fixed
solo_undo_thresholdnumber (minutes)15Undo cost below this (with blast radius limited to you) routes to solo in the routing checks
counterpart_modeauto | recruit | simulateautoauto recruits a real human or agent when one is reachable, otherwise simulates the counter-mindset; recruit/simulate force one side
log_decisionsbooltrueAppend every convergence record to ~/Clawic/data/collaborate/decisions.md

Preference areas to record as the user reveals them:

  • counterpart pool — who is recruitable (teammates, review groups, other agents, nobody) — resolves counterpart_mode and shapes Counterpart Selection
  • record conventions — where decisions live (team ADRs, repo docs, the decision log) and their format — affects Convergence and decision-log.md
  • escalation path — who breaks deadlocks and what counts as blocking — affects deadlock.md
  • critique register — how blunt critique to and from humans should be — affects with-humans.md and group-review.md

When To Use

Mode: act-as. The agent runs the exchange itself, with a real second party (human, another agent) or by fully adopting a counter-mindset for the round.

  • A plan feels solid but nobody has attacked its assumptions yet
  • Two options both look defensible and you keep re-reading them without deciding
  • An artifact is technically correct but you cannot judge how its audience will receive it
  • You are about to commit to something expensive to undo and your confidence came cheap
  • You and another party keep exchanging messages without anyone changing position
  • A review, critique session, or pairing setup needs structure so it ends in a decision, not a thread
  • Not for routing specified work to sub-agents (that is delegation) or fanning out many parallel viewpoints (that is divergence)

Quick Reference

SituationPlay
Confident plan, never attackedAdversarial round: 1 counterpart attacks the 3 assumptions that, if false, kill the plan (adversarial-review.md)
Two defensible options, stuckLoss-function swap: judge each option as the person maintaining it 6 months from now (second-opinions.md)
Correct output, unknown receptionAudience pass: one round as the least patient consumer of the artifact (audience-pass.md)
Undo cost under 15 min, blast radius only youSolo; the exchange costs more than the mistake
Acceptance criteria writable right nowDelegate instead; collaboration adds latency, not information (vs-delegate.md)
Two rounds, zero position movementStop; record decision + surviving objection + revisit trigger; escalate only if blocking (deadlock.md)
Counterpart shares your data and your incentivesReplace them or feed them different data; otherwise skip the exchange (counterparts.md)
Review needs 3+ stakeholdersWritten comments first, one named decision owner, blocking/non-blocking triage (group-review.md)
Critique must land on a human authorGoal first, one falsifiable concern per point, severity label on each (with-humans.md)
Counterpart is another agent instanceFresh context, counter-role with a loss function, blind first pass (with-agents.md)
Too ambiguous to spec, too costly to review afterPair live: driver/navigator with rotation at natural boundaries (pairing.md)
Anything elseOne counterpart, position written first, 3-round cap, converge to one design

Depth on demand: adversarial-review.md attacking plans · second-opinions.md choosing between options · audience-pass.md reception testing · counterparts.md catalog and simulation discipline · briefing.md context dosing and the falsifiable question · deadlock.md stuck exchanges, disagree-and-commit, escalation · convergence.md decision records and revisit triggers · group-review.md multi-party reviews · with-humans.md politeness and power · with-agents.md agent counterparts · pairing.md live driver/navigator work · vs-delegate.md routing between modes · decision-log.md persistent record format.

Core Rules

  1. Collaborate only where you can be surprised. Test: write the counterpart's predicted response in one sentence. If you can predict it AND you know what you would do with it, apply that and skip the exchange. A collaboration that cannot move you is theater.
  2. Route by acceptance criteria. Criteria writable now → delegate. Criteria not writable yet because defining them IS the work → collaborate. Criteria writable and undo cost under solo_undo_threshold (default 15 min) → solo. Example: "refactor module X, tests stay green" is delegable; "should this module exist" is collaborative.
  3. Budget the exchange at budget_share (default 10%) of the task estimate, floor 5 min, cap 30 min. 4h task → 24 min of exchange. 30 min task → budget hits the 5 min floor, which usually means solo. Past the cap you are negotiating, not learning.
  4. Counterpart must differ in loss function or information, ideally both. Same incentives + same inputs = echo with extra steps. Prefer the counterpart who loses something if you are wrong over the one who wants you to feel good.
  5. Write your position before exposure. One paragraph: decision, strongest reason, kill condition (what would change your mind). No kill condition = you want validation, not collaboration. Unanchored exchanges converge on whoever speaks first, not on whoever is right.
  6. Two-round movement rule. After each round, note whether either side changed any claim. Zero movement across 2 consecutive rounds means the gap is values or incentives, not information; further rounds add heat. Stop and record (deadlock.md).
  7. Converge to one design, never the average. Compromise test: does the merged option still satisfy each side's original loss function? A blend of two coherent designs is usually incoherent. If the test fails, pick one design whole and record the losing objection with a revisit trigger.

Collaborate vs Delegate vs Solo

Run these checks in order; first hit wins. Misrouting symptoms and hybrid sequences: vs-delegate.md.

  1. Is the question settled knowledge (documented convention, prior decision, known fact)? → Solo, cite the source — check the decision log first. Collaboration on settled questions is lens theater.
  2. Undo cost under solo_undo_threshold and blast radius limited to you? → Solo, ship, observe.
  3. Can you write acceptance criteria a competent executor could verify without you? → Delegate.
  4. Can the exchange surprise you (Rule 1)? → Collaborate, one counterpart.
  5. None of the above (unclear criteria AND predictable counterpart)? → The task is underspecified; go get missing information first. Collaboration cannot substitute for facts neither party has.

Counterpart Selection

One counterpart per exchange (default). Add a second only if round one surfaced a new dimension neither of you can judge. Full catalog with loss functions and recruiting guidance: counterparts.md.

Gap you haveCounterpart to adopt or recruitWhat they attack
Untested assumptionsAdversarial reviewerThe 3 assumptions that, if false, kill the plan; not the wording
Feasibility optimismImplementerEvery step you wrote as "then we just..."
Correct but possibly unusableLeast patient userThe first 10 seconds of contact with the artifact
Local optimum, stale frameOutsider from an adjacent fieldWhy this is the problem at all, not how you solved it
Long-tail fragilityMaintainer at month 6What breaks when the author is gone and context is lost
Scope creepBudget holderWhat gets cut to fund each addition

If simulating the counterpart yourself: state their loss function in one line before the round ("this person is paged at 3am when it breaks") and hold it for the whole round. Dropping the loss function mid-round reverts you to self-agreement.

Running the Exchange

  1. Position first. Decision + strongest reason + kill condition, written before the counterpart sees anything (Rule 5).
  2. Brief tightly. Context in one paragraph, your position, and ONE falsifiable question. "Any thoughts?" is banned: vague briefs return vague critique and burn the budget. Good: "Does assumption B survive a 10x traffic spike?" Bad: "Is this architecture okay?" Context dosing and question bank: briefing.md.
  3. Round structure. Counterpart challenges → you restate their point until they would sign it (steelman check) → then respond. Rebutting a point you cannot restate means you rebutted a strawman.
  4. Track movement. After each round, one line: what changed. Feeds Rule 6.
  5. Stop when: your position changed and stabilized; OR 2 rounds passed with zero movement; OR the final round ends. Hard cap round_cap rounds (default 3).
  6. Converge. Emit three items: the decision, the strongest surviving objection, and the trigger condition that reopens the question ("revisit if latency exceeds 200ms in production"). A convergence without a surviving objection means the exchange found nothing; say so explicitly rather than inventing one. Record per decision-log.md when log_decisions is on.

Output Gates

Before emitting the converged result, verify:

  • Position was written before the exchange started, with a kill condition
  • The counterpart's response could have surprised me (if not, why did I run this?)
  • The brief contained one falsifiable question, not an open invitation
  • The result is one whole design, not an average of two
  • The artifact names the surviving objection and a concrete revisit trigger
  • The record landed in the decision log or the user's record convention, or skipping it was deliberate

Traps

TrapWhy it failsDo instead
Sock-puppet counterpartYou unconsciously select for agreement; the exchange confirms, never testsPick the lens that loses if you are wrong (Rule 4)
"Thoughts?" briefingOpen prompts return politeness and generalities; budget spent, zero informationOne falsifiable question per brief (briefing.md)
Averaging two designsCoherence lives in the whole; the midpoint of two coherent designs satisfies neither loss functionPick one whole; record the losing objection
Validation disguised as collaborationYou already decided; the exchange is a rubber stamp and the counterpart senses itIf no kill condition exists, skip the exchange and own the decision
Infinite roundsPast 2 no-movement rounds the gap is values, not information; rounds add heatStop, record, escalate only if blocking (deadlock.md)
Same-information counterpartSame inputs produce same blind spots regardless of role labelsGive them different data or a different loss function
Collaborating on settled questionsRe-litigating documented decisions burns trust and budgetSolo with a citation; reopen only via the recorded revisit trigger
Dropping the simulated loss functionMid-round you drift back to your own incentives and agree with yourselfRe-read the one-line loss function at the start of each round

Where Experts Disagree

  • Anchored vs blind first pass. Showing your position first speeds the attack but anchors the counterpart; a blind pass costs a round but yields an independent read. Default: anchored for adversarial review (the position IS the target), blind for second opinions (second-opinions.md).
  • Disagree-and-commit vs consensus. Consensus only for decisions that need every party's sustained effort to survive; everywhere else a named owner decides and dissent is recorded. Waiting for consensus on reversible calls is the more common failure mode.
  • Pairing vs review. Review scales and leaves a written trail; pairing transfers context and catches design errors before they are typed. The boundary is ambiguity: spec-able work gets review, unspec-able work gets pairing (pairing.md).

More Clawic skills, get them at https://clawic.com/skills/collaborate (install if the user confirms):

  • delegate — the task has writable acceptance criteria; route it to a sub-agent instead of discussing it
  • diverge — you need many parallel viewpoints generated before any of them is worth an exchange
  • six-thinking-hats — structured solo rotation through fixed lenses when no real counterpart is available
  • brainstorm — you need volume of options, not critique of one

Feedback

Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/collaborate.

常见问题

这和把工作委派给子智能体有什么区别?
委派处理的是验收标准已经可以写出来、并可由合格执行者独立验证的工作;协作适用于“定义标准本身就是工作”的场景,或撤销成本高到值得引入第二视角的场景。
双方都不再让步时怎么办?
连续两轮无任何立场变化即停止,记录决策、最强存留异议与具体的重新评估触发条件——继续只会升温,不增加信息。
可以自己模拟对手而不招募真实的人吗?
可以,将 counterpart_mode 设为 simulate。每轮前用一句话声明对方的损失函数并贯穿整轮坚持不变,否则该轮会退化为自我认同。

相关技能

Structural review of documents for gaps, clarity, completeness, and organization. Use when a brainstorm, plan, spec, ADR, or any doc needs polish before the next workflow step. For exploring new ideas from scratch, use brainstorming instead.

31 次安装1 星标

根据风险信号决定先规划还是直接执行,并按风险等级匹配规划深度,包含步骤、估算与回滚。

96 次安装2 星标

设计、主持并收尾会议,让每场会议都产出明确的决策、负责人和截止日期。

55 次安装2 星标

按真正的教练流程开会:先定产出、再用短问、给出带日期与验证的承诺,并在签约时设计好结束节点。

58 次安装3 星标

Design and operate a bounded OpenClaw multi-agent team. Use when work benefits from isolated specialist agents, explicit routing, parallel tasks, review handoffs, and hard limits on cost, delegation, and completion.

39 次安装

产出可复用的工作流蓝图,包含触发器、步骤、依赖关系和可导出产物。

362 次安装11 星标