pair

A command that puts two role-played personality types into a debate about a topic. It can use two chosen types or select a rival type from the add-on's configuration.

In plain words
What is it for?
Use `/pair` to compare two personality perspectives, choose a discussion mode, or ask for a configured rival.
Why use it?
It makes contrasting assumptions and arguments easier to compare in one discussion.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/yukurash/16minds-plugin/pair
Clone the repo
git clone --depth 1 https://github.com/yukurash/16minds-plugin
Per session 38 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,715 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00038 $0.01715
Opus 5 $0.00019 $0.00857
Sonnet 5 $0.00008 $0.00343
Haiku 4.5 $0.00004 $0.00171

Measured 2d ago against content hash 10c197df8987, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pair scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/pair.md · 145 lines

How it starts

The opening of the file, as written. The whole thing — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ユーザーが /pair を実行しました。

引数: $ARGUMENTS

引数の解釈

  1. --mode=light|middle|heavy(または --mode light 形式)があれば取り出してモードとする。指定が無ければ middle
  2. --rival があれば取り出す。この場合、タイプ名は先頭1語(a)だけを読む。
  3. --rival が無ければ、残った引数の先頭2語をタイプ名 a, b として取り出し、小文字に正規化する。
  4. 残りをお題として扱う。

--rival — 論敵を実測値で選ぶ

--rival が指定された場合、b は指定させず、プラグイン直下の casting.json から best_rival[a] を読んで b とする。

個別ペアの測定値は使っていない。 120ペアを総当たりで測ったが、ペア固有の値は 分散の 62.9% が測定ノイズと区別できず、そのまま根拠にできなかった。再現した効果は 「相手自身の議論生産性」と「タイプ間の距離」の 2 つだけで、b はそこから決めている。

冒頭に 1 行だけ添える。実測値を騙らないこと。

論敵: <a> ←→ <b>(距離<相違文字数>文字 / 相手の議論生産性 <partner_effect>)

casting.json が無い、あるいは best_rival[a] が引けない場合は、その旨を伝えて b を指定するよう促して終了する。実測値があるかのように書いてはいけない。

利用可能なタイプ: intj, intp, entj, entp, infj, infp, enfj, enfp, istj, isfj, estj, esfj, istp, isfp, estp, esfp

エラー処理

  • お題が空、a/b が揃わない場合:
    Usage: /pair <a> <b> [--mode=light|middle|heavy] <topic>
       or: /pair <a> --rival [--mode=light|middle|heavy] <topic>
    Example: /pair intj enfp リモートワークと出社のバランス
    Example: /pair istj entp --mode=heavy コードベースの大規模リファクタ
    Example: /pair intj --rival このAPI設計、このまま出していいか
    
  • a, b が同じタイプの場合: 「異なる2タイプを指定してください」と返して終了。
  • --rival と b の両方が指定されている場合: b を優先し、--rival は無視した旨を一行添える。
  • 未知タイプ、未知モードの場合: 利用可能リストと共に返して終了。

実行フロー

Phase 1: 開幕の立論(全モード共通)

a, b の subagent を 並列に Task ツールで呼び出す。各 subagent に対し、お題と「開幕立論フォーマット」を渡す。

開幕立論フォーマット指定(subagentに渡す本文):

お題に対するあなたの立場を、以下の構成で約100〜200字で述べてください。あなたの口調を必ず保ってください。挨拶・前置きは不要です。

stance: <一行の立場宣言>
reasoning: <あなたの価値観からその立場に至る筋道を2〜3文で>

結果を以下のように表示:

### 開幕

#### <A>
<出力>

#### <B>
<出力>

light モードはここで終了する(Phase 2, 3 は実行しない)。

Phase 2: 反論(middle / heavy)

a, b の subagent を 並列に 再度呼び出す。各 subagent には、相手の Phase 1 出力を提示し、自分の口調で反論を書かせる。

反論フォーマット指定(subagentに渡す本文):

以下は別タイプの立論です。あなたの口調と価値観で、約150〜250字の反論を書いてください。
相手の論の中で最も自分の立場と相容れない点を1つだけ取り上げ、そこに集中して反論してください。
挨拶や前置きは不要です。

[相手の Phase 1 出力をここに貼る]

結果を表示:

### 反論

#### <A> → <B>
<出力>

#### <B> → <A>
<出力>

middle モードはここで終了する(Phase 3 は実行しない)。

Read the full file on GitHub · 145 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 145 lines · 0 tokens per session scan A 10c197df8987

Subscribe to this mod's changes

pair is a command published in the GitHub repository yukurash/16minds-plugin (5 stars, last pushed 9d ago), licensed MIT. It adds 38 tokens to every session and 1,715 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.