Discuss With Me陪我想一想

Think through a question neither of you can answer yet — widen the options, label what's found vs guessed, attack the load-bearing assumptions, and leave a record that says what would overturn it陪你想一個雙方都還沒有答案的問題:先展開選項,標出哪句是查到的、哪句是猜的,再拆掉承重假設,留下一份寫明「什麼會推翻它」的紀錄

EN繁中Model-invoked模型叫用
Read SKILL.md on GitHub在 GitHub 看 SKILL.md

This skill is a thinking partner for a question that neither you nor the model can answer yet — an open design direction, a bet under real uncertainty, a diagnosis running on thin evidence. It is not a teaching tool (that's for questions with a settled answer) and not a debugging tool (that's for questions with a discoverable one). It exists for the case where two fluent parties reasoning together would happily produce a confident, well-organized answer regardless of whether it's actually right — and keeps that from happening by widening the options, labelling what's found versus guessed, attacking the assumptions the conclusion depends on, and leaving behind a record of what would prove it wrong.

Install

npx skills add https://github.com/leoluyi/skills -g -a discuss-with-me -y

To pull updates later:

npx skills update discuss-with-me

Source

What it does

  • Widens before converging. Puts more options on the table than you brought — five for a narrow question, closer to twenty for a wide-open one — including ones that cut against the direction the conversation is already drifting toward. Hands you the cut and asks which to keep, drop, or merge.
  • Grounds every load-bearing claim. Sorts each one into found (a source says it, cited), inferred (follows from something found, plus a named step), or guessed (neither). Marks these inline as it writes, not as an afterthought, because a guess reads exactly like a fact once the prose is smooth.
  • Attacks the assumptions the direction actually rests on. Once a direction is forming, runs a red-team pass: for each load-bearing assumption, names what would break it, the cheapest evidence that would settle it, and the threshold at which the direction gets abandoned rather than patched.
  • Verifies outside the context that built the conclusion. Hands the record — nothing else — to a reader with no history in the conversation: a subagent, a new session, or a different model family. The same pull toward agreement that threatens the discussion also makes the original context a poor judge of its own output.
  • Leaves a record, not a decision doc. Writes what survived into a file that carries its own falsification alongside the conclusion — killed options, the strongest case against, and what's still open — so someone reading it later can tell what was known versus guessed, and whether anything since has changed enough to reopen it.

When to use

Use it when the answer is unknown to both sides: an open design direction with no obvious winner, a strategy call under real uncertainty, a diagnosis running on thin evidence, or a discussion that's been converging for a while without anyone naming what would make it wrong. Also use it invoked bare, mid-conversation, with no question attached — that reads as "your last answer had something in it I can't act on yet," and the skill goes looking in its own previous turn for the unargued premise.

When not to

Skip it when the user already has the answer and just wants it written up — that's a drafting job for knowledge-doc-writing or formal-doc-structure. Skip it when the concept has a settled answer the user hasn't met yet — teach it, or use learn-loop; dressing up a known answer as joint inquiry wastes their time and flatters both sides. Also skip it for plain factual lookups, debugging, and code review — the test is whether the answer is unknown to both parties, not whether the topic feels hard.

How it works

The record-template (references/record-template.md) is what makes the output different from a decision doc: every load-bearing sentence in the "current best account" section carries an inline [found] / [inferred] / [guessed] tag, the killed-options table stays in the file even after a direction wins, and the open-questions section is required to be non-empty while the question is genuinely open — an empty one means the record is lying. The file is edited in place across passes rather than appended to, so it survives a context reset instead of degrading into an append-only log nobody rereads.

The redteam-pass (references/redteam-pass.md) is what turns "we think X" into something checkable. It extracts four to seven load-bearing assumptions (more than that means the discussion is being catalogued, not attacked), then for each one produces a fails-if condition specific enough to recognize on sight, the cheapest evidence that would move belief, a kill criterion decided before anything is sunk into the direction, and who would know the answer already. Assumptions get ranked by damage-if-wrong against cost-to-check, and a separate "wrong-and-silent" category exists for failures that wouldn't announce themselves for months — the flavour discussions consistently miss because they only imagine failures they'd notice.

Related skills

  • knowledge-doc-writing — use it once the answer is settled and the job is organizing it into a reference document, not discovering it.
  • formal-doc-structure — use it for a formal internal document (簽呈, 會議紀錄, 評估報告) where the content is already decided and the task is structure.
  • learn-loop — use it when the concept has a known answer and the goal is the user learning it, not the pair jointly discovering it.

這個技能是一個思考夥伴,用在你跟模型都還沒有答案的問題上——懸而未決的設計方向、真有不確定性的判斷、證據很薄的診斷。它不是教學工具(那是給已有標準答案的問題用的),也不是除錯工具(那是給有辦法查得到答案的問題用的)。它存在的理由是:兩個講話流利的人一起推理,很容易產出一個自信、結構完整的答案,不論那個答案對不對——這個技能靠展開選項、標出哪句是查到的哪句是猜的、拆解結論所依賴的假設,並留下一份寫明「什麼會證明它錯」的紀錄,來防止這件事發生。

安裝

npx skills add https://github.com/leoluyi/skills -g -a discuss-with-me -y

之後要更新:

npx skills update discuss-with-me

原始碼

它做什麼

  • 收斂前先展開。 把比你帶進來還多的選項放上桌——窄的問題展開五個,很開放的問題接近二十個——包含跟討論當下風向相反的那些。展開完把取捨交還給你,問哪些要留、哪些要丟、哪些該合併。
  • 每個承重句都標出來源。 把每一句分成三類:已查證(有來源,附引用)、推論(從已查證的東西加上一個可指名的推理步驟得出)、推測(兩者都不是)。這是就地標記,寫的當下就標,不是事後審查——因為文字一旦寫得順,猜測讀起來會跟事實一模一樣。
  • 攻擊結論實際依賴的假設。 一個方向成形之後,執行紅隊回合:針對每個承重假設,指出什麼情況下它會不成立、最便宜能拿到的驗證證據是什麼、以及到了什麼停損點就該放棄這個方向而不是繼續修補。
  • 換到乾淨脈絡驗證。 只把紀錄——別無其他——交給一個在這段對話裡沒有歷史的讀者:subagent、新對話,或換一個模型家族。原本威脅討論品質的那股「趨向一致」的拉力,同樣會讓產出結論的那個脈絡不適合評判自己的產出。
  • 留下的是紀錄,不是決策文件。 把撐得住的部分寫進一個檔案,這份紀錄跟結論一起帶著自己的證偽條件——已排除的選項、反方最強的論證、還沒解決的部分——讓之後的讀者能看出哪些是已知、哪些是猜的,以及後續是否有新事證足以重新打開這個問題。

何時使用

當這個問題你跟模型都還沒有答案時使用:懸而未決的設計方向、真有不確定性的判斷、證據很薄的診斷;或討論已經越聊越有共識,卻沒人講得出什麼會推翻它。也適用於在對話中途不帶問題直接呼叫這個技能——這代表「你上一輪的回答裡有些東西我還沒辦法拿去用」,技能會回頭去找上一輪回答裡沒被論證的地方。

何時不要

答案已經有了、只是要寫成文件時不要用——那是 knowledge-doc-writingformal-doc-structure 的工作。學一個已有標準答案、使用者只是還沒學過的概念時不要用——直接教,或用 learn-loop;把已知答案包裝成共同探索,只是浪費使用者的時間、也對雙方都是虛假的抬舉。查事實、debug、code review 也不要用——判準是雙方是否都不知道答案,不是題目聽起來難不難。

運作方式

紀錄範本(references/record-template.md)是讓輸出跟決策文件不一樣的關鍵:「目前最好的解釋」段落裡每個承重句都要就地標 [已查證][推論][推測];已排除的選項表格在方向確定之後仍然留在檔案裡;「待驗證」段落在問題真正開放的期間必須非空——空著就代表這份紀錄在說謊。這個檔案是每次都地編輯、不是每次都往後附加,這樣才能撐過脈絡重置,而不是退化成一份沒人會回頭讀的流水帳。

紅隊回合(references/redteam-pass.md)是把「我們認為 X」變成可檢驗陳述的機制。先抽出四到七個承重假設(超過這個數字代表在整理討論內容,而不是在攻擊它),然後針對每一個產出:具體到一看就能辨認的「什麼情況下不成立」、能移動信念的「最便宜的驗證」、在還沒有投入沉沒成本前就先定好的「停損線」,以及「誰已經知道答案」。假設依「錯了會多痛」對上「查證要多貴」來排序,另外還有一類「錯了也不會出聲」的失敗——這是討論最容易漏掉的一種,因為討論只會想像自己會注意到的失敗。

相關技能

  • knowledge-doc-writing —— 答案已經確定、任務是把它整理成參考文件而不是找出答案時使用。
  • formal-doc-structure —— 內容已經定案、任務是套上正式文件結構(簽呈、會議紀錄、評估報告)時使用。
  • learn-loop —— 概念已有已知答案、目標是讓使用者學會它,而不是雙方一起探索出答案時使用。