Adversarial AI-to-AI collaboration skill for Claude Code and Codex. One agent builds, the other tries to break it. Can you break it, or should I make it?
name: break-or-make description: Adversarial AI-to-AI collaboration. Start a session as Maker (originator) or join as Breaker (adversary). Maker proposes ideas, plans, or code. Breaker stress-tests them relentlessly. Use when asked to start a break-or-make session, collaborate adversarially with another agent, or invoke /breakormake. license: MIT disable-model-invocation: true user-invocable: true argument-hint: "[start|join|respond|send|request-review|review|undo|compact|resume|status] [args]" metadata: author: AdeptusAstartes version: "1.0.0" tags: - collaboration - multi-agent - adversarial - planning
Two AI agents. One makes, the other tries to break it. Can you break it, or should I make it?
Maker originates — ideas, plans, code, architecture. They put their work forward knowing it's about to get torn apart.
Breaker stress-tests — relentlessly critical, nitpicky, finds every weakness. They don't agree easily. If the Maker's work survives the Breaker, it's solid.
The adversarial pressure IS the collaboration. Steel sharpens steel.
For the full protocol specification, see PROTOCOL.md.
/breakormake start [topic] — Start a session as MakerYou are the Maker. You are initiating a session.
./breakormake/)" — create the directory structure (sessions/ subdirectory) and copy the protocol reference.[topic] argument was not provided, infer a topic from the current conversation context. Suggest it to the user: "Topic: [your suggestion] — sound right, or something else?" If there's no conversation context to infer from, ask: "What's the topic? (a few words — this becomes the session filename)"[session-dir]/sessions/YYYY-MM-DD-[slug].md where [slug] is a short kebab-case summary of the topic (auto-generated, max 5 words).[path]"/breakormake join [session-path]Read [session-path]. You are Breaker — your job is to be relentlessly critical of everything in this session. Poke holes, challenge assumptions, find weaknesses. Do NOT agree easily. Read [session-dir]/PROTOCOL.md for the full protocol, then respond to Maker's message./breakormake join [session-file?] — Join a session as BreakerYou are the Breaker. You are joining an existing session.
[session-file] is provided, use that file.Breaker: (pending) and replace it with your name (e.g., Breaker: Codex, Breaker: Claude Code). If the Breaker field already has a name, another agent has already joined — tell the user and stop./breakormake respond — Read and respond to the other agent's messageTrigger phrases: "breaker responded", "maker responded", "they responded", "check the session"
Before proceeding: If you do not remember the active session file path, look in the session directory for the most recent session file, or ask the user: "Which session file are we working with?" Re-read the session file. If you do not remember which role you are (Maker or Breaker), ask the user: "Which role am I — Maker or Breaker?" If you are unsure about the session format or your role's expected behavior, re-read PROTOCOL.md before continuing.
/breakormake send [message] — Send a new message without reading firstTrigger phrases: "ask breaker", "tell breaker", "run this by breaker", "send to maker", "let's see what breaker thinks"
Before proceeding: If you do not remember the active session file path, look in the session directory for the most recent session file, or ask the user: "Which session file are we working with?" Re-read the session file. If you do not remember which role you are (Maker or Breaker), ask the user: "Which role am I — Maker or Breaker?" If you are unsure about the session format or your role's expected behavior, re-read PROTOCOL.md before continuing.
[message] is provided, use it as context. Otherwise, gather context from the current conversation.Note: This can produce consecutive messages from the same sender. That's fine — the protocol allows non-alternating turns.
/breakormake request-review — Request a review from Breaker (Maker only)Trigger phrases: "have breaker review this", "get breaker's take on this", "breaker should look at this"
Before proceeding: If you do not remember the active session file path, look in the session directory for the most recent session file, or ask the user: "Which session file are we working with?" Re-read the session file. If you do not remember which role you are (Maker or Breaker), ask the user: "Which role am I — Maker or Breaker?" If you are unsure about the session format or your role's expected behavior, re-read PROTOCOL.md before continuing.
/breakormake review — Perform a review (Breaker only)Trigger phrases: "review maker's work", "perform the review", "do the review"
Before proceeding: If you do not remember the active session file path, look in the session directory for the most recent session file, or ask the user: "Which session file are we working with?" Re-read the session file. If you do not remember which role you are (Maker or Breaker), ask the user: "Which role am I — Maker or Breaker?" If you are unsure about the session format or your role's expected behavior, re-read PROTOCOL.md before continuing.
/breakormake undo — Remove your last messageTrigger phrases: "undo that", "revert last message", "unsend"
Before proceeding: If you do not remember the active session file path, look in the session directory for the most recent session file, or ask the user: "Which session file are we working with?" Re-read the session file. If you do not remember which role you are (Maker or Breaker), ask the user: "Which role am I — Maker or Breaker?" If you are unsure about the session format or your role's expected behavior, re-read PROTOCOL.md before continuing.
## [Role] → [Other] header to the end of the file)./breakormake compact — Summarize and archive a long session (Breaker only)Trigger phrases: "compact the session", "session is getting long", "summarize and start fresh"
Before proceeding: If you do not remember the active session file path, look in the session directory for the most recent session file, or ask the user: "Which session file are we working with?" Re-read the session file. If you do not remember which role you are (Maker or Breaker), ask the user: "Which role am I — Maker or Breaker?" If you are unsure about the session format or your role's expected behavior, re-read PROTOCOL.md before continuing.
[filename].backup.md.[backup-path]. New session: [new-path]."/breakormake resume [session-file?] — Resume an existing sessionTrigger phrases: "resume the session", "pick up where we left off", "continue the session"
[session-file] is provided, use that file./breakormake status — Check session state and reload protocolTrigger phrases: "where are we", "what's the session state", "I'm lost", "reload the protocol"
You are the originator. You propose ideas, plans, architectures, code.
You are the adversary. Your job is to make Maker's work better by trying to destroy it.
CRITICAL: Follow this exactly to prevent garbled session files.
The 🎤 emoji is a cursor. It marks where the next agent writes. There must only ever be ONE 🎤 in the file, and it must ALWAYS be the very last thing in the file.
When appending a message to the session file:
[Your message content here]
---
## [OtherRole] → [YourRole]
🎤
--- separator after your message## [OtherRole] → [YourRole] headerIMPORTANT:
Once you are in an active session (after /breakormake start, join, or resume has been invoked), you don't need formal commands for every action. Recognize these patterns and act accordingly:
| User says | Action |
|---|---|
| "run this by breaker" | /breakormake send |
| "ask breaker about this" | /breakormake send |
| "let's see what breaker thinks" | /breakormake send |
| "breaker responded" | /breakormake respond |
| "maker responded" | /breakormake respond |
| "they responded" / "check the session" | /breakormake respond |
| "have breaker review this" / "breaker should look at this" | /breakormake request-review |
| "where are we" / "I'm lost" / "reload the protocol" | /breakormake status |