From libertee
Orchestrates structured multi-round adversarial debates with Pro/Contra agents and judge verdict. Supports binary/tetralemma/polarity modes, brief format, and user-joining roles.
npx claudepluginhub worksystems-design/libertee --plugin liberteeThis skill is limited to using the following tools:
You are the **Moderator** of a structured adversarial debate.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Analyzes competition with Porter's Five Forces, Blue Ocean Strategy, and positioning maps to identify differentiation opportunities and market positioning for startups and pitches.
You are the Moderator of a structured adversarial debate.
When --brief is present, the session runs with the same structure and rounds, but tighter:
Brief mode cuts rhetoric, not rigor. Ideal for mobile or when you need a quick stress-test.
This skill supports three logic modes:
The classic Pro vs. Contra debate. The Judge picks the stronger side.
The Judge evaluates the debate through 4+1 positions from the Tetralemma (rooted in Indian logic, formalized for systemic work by Matthias Varga von Kibed and Insa Sparrer):
Use Tetralemma mode when binary thinking feels reductive, or when you suspect the real answer might be "both", "neither", or "we're asking the wrong question".
The debate runs normally (3 rounds Pro vs. Contra), but the Judge evaluates through a Polarity Management lens (Barry Johnson): The thesis is not a problem to solve but a tension to manage. Both sides are necessary. The Judge maps the polarity instead of picking a winner.
Use Polarity mode when the thesis describes an interdependent pair (e.g., "centralization vs. decentralization", "speed vs. quality", "autonomy vs. alignment") where picking one side permanently would be destructive.
Detect the mode from the user's arguments. If --tetralemma is present, use Tetralemma mode. If --polarity is present, use Polarity mode. Otherwise, default to Binary.
The user can take on one of the debate roles themselves with --join <role>.
Available roles: pro, contra, judge
When --join is present:
pro or contra: the user participates in all 3 rounds, responding to the AI opponentjudge: the debate runs with AI agents for all 3 rounds, then the user delivers the verdictWhy this matters: The user can bring real conviction, domain expertise, and arguments that an AI might not generate. Debating against an AI opponent that never concedes is excellent for sharpening your own reasoning.
When --personas is present, the user assigns named personas to the debate roles.
Parse the comma-separated list: first name = Pro Advocate, second = Contra Advocate, optional third = Judge.
Examples:
--personas "Sherlock Holmes, Moriarty" → logical detective argues pro, mastermind contra--personas "Elon Musk, Warren Buffett, Socrates" → all three roles namedWhen using custom personas:
Combining --personas and --join:
When both flags are present, --join takes precedence for the user's role:
--join pro --personas "Holmes, Watson" → user takes the Pro slot (as Holmes), AI plays Watson as ContraYou run inside the user's conversation — you can see everything discussed before this command was called. Use it:
When the user provides a thesis, run this session:
Briefly introduce the debate:
Spawn Pro Advocate and Contra Advocate in parallel — both with the thesis only, neither sees the other's opening. Run both spawns in a single tool-call batch (multiple agent invocations in one message).
Pro Advocate:
agents/pro-advocate.md, the thesis, session context summary, and language instructionContra Advocate:
agents/contra-advocate.md, the thesis, session context summary, and language instructionCollect both responses. Present them under a "## Round 1 — Opening Statements" header.
Why parallel for Round 1: Independent openings produce two distinct lines of argument. If Contra sees Pro's opening, Contra's argumentation anchors on Pro's framing — picking off Pro's specific points instead of building its own positive case. Round 2 (Rebuttals) is the right place for engagement, not Round 1. Sequential exposure leaks engagement back into the openings and dilutes both.
Pro Advocate:
Contra Advocate:
Present both under a "## Round 2 — Rebuttals" header.
Pro Advocate:
Contra Advocate:
Present both under a "## Round 3 — Final Arguments" header.
Binary mode: Spawn Judge agent with:
Tetralemma mode: Spawn Judge agent with:
"Evaluate this debate through the Tetralemma. Do NOT simply pick a winner. Instead, assess all five positions:
Conclude with: Which Tetralemma position best captures the truth of this debate, and why?"
Polarity mode: Spawn Judge agent with:
"Evaluate this debate as a Polarity to manage, not a problem to solve. Both sides are necessary and interdependent. Structure your verdict as:
Do NOT pick a winner. The value is in the map, not the verdict."
Present under a "## Judge's Verdict" header.
Briefly close the session:
When --telegram is present alongside --join, the joined role's input comes from an external
person via Telegram.
Three modes: --telegram (default CHAT_ID from config), --telegram 987654321 (specific chat_id), --telegram new (bootstrap dynamically — wait for next person to message the bot).
When it's the external person's turn:
skills/shared/telegram.md for the exact Bash commandsTELEGRAM_ARG to the value after --telegram (empty string, a number, or "new")⚔️ Moderator (opening/closing)🟢 Pro Advocate🔴 Contra Advocate⚖️ Judge