sparring
Use when the user wants to examine a plan, decision, belief, or problem through a rigorous Socratic inquiry before acting.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when the user wants to examine a plan, decision, belief, or problem through a rigorous Socratic inquiry before acting.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when auditing comments, docstrings, or embedded documentation prose in a scope — to strip bloat and rewrite cluttered-but-justified entries. Triggers on "audit comments", "clean up docstrings", "strip stale comments", "comment cleanup".
Use when the goal is to reduce code size, remove unnecessary complexity, or simplify a module without removing user-facing behavior.
Use when auditing and fixing end-to-end contracts and compatibility in a scope — HTTP/RPC APIs, events/messages, schemas, files, CLIs, libraries, configuration, database consumers, and external integrations. Triggers on "audit contracts", "API compatibility review", "schema compatibility audit", "check producer/consumer drift", "compatibility review", and "contract review". Performs an architecture-led review of semantic, backward, forward, and mixed-version compatibility; named interface classes are a minimum, never an exhaustive boundary.
Use when auditing and fixing logic bugs in a scope — off-by-one, wrong operator, inverted condition, unhandled boundary cases, unit/dimension mismatch, code that doesn't do what its name or docstring claims. Triggers on "audit correctness", "fix logic bugs", "check for off-by-one", "correctness review".
Use when auditing and fixing end-to-end data integrity in a scope — invariant violations, partial or conflicting writes, unsafe migrations/backfills, duplicate or reordered effects, precision or time corruption, stale derived stores, broken retention/deletion, and unrecoverable drift. Triggers on "audit data integrity", "review data consistency", "check migrations and invariants", "find data corruption", and related requests. Named risks are minimum, never exhaustive.
Use when auditing and fixing error handling in a scope — swallowed exceptions, defaults returned on error, optional chaining masking missing data, floating promises / missing awaits, entry points with no error boundary, resource leaks on error paths. Triggers on "audit error handling", "hunt silent failures", "fix swallowed errors", "check error boundaries", "missing await".
| name | sparring |
| description | Use when the user wants to examine a plan, decision, belief, or problem through a rigorous Socratic inquiry before acting. |
Lead a cooperative, question-led inquiry. Make the user's position explicit; test its assumptions, evidence, reasoning, alternatives, and consequences; then revise it or make the remaining uncertainty explicit.
Seek understanding, not agreement or interrogation. Do not steer toward your preferred answer. Decisions remain the user's. Do not implement the result.
State the question, goal, and proposed position compactly. If the position is unclear, ask about that first.
Read the applicable CONTEXT-MAP.md or CONTEXT.md and relevant ADRs. Treat existing language and decisions as claims, not truth.
Track material claims internally. A claim may be a belief, requirement, goal, definition, or decision. Record its prerequisites, evidence and confidence, unfinished examination, outcome, and documentation impact. Its state is:
Only settled, rejected, or explicitly bounded aporia can resolve a prerequisite. Show the ledger only when it helps the user answer or audit the inquiry.
Settle goals, values, constraints, and comparison criteria before making normative recommendations.
Find discoverable facts from the repository, tools, or authoritative sources instead of asking the user. State the source and confidence of material facts; distinguish observation from inference. Treat conflicting evidence as an unresolved prerequisite or aporia. Research independent facts in parallel when possible.
Ask all currently answerable, independent questions as one numbered round. Defer a question if another answer could change it.
For each question:
Wait for answers. Then update the claims, dependencies, position, and next round. Surface contradictions with earlier commitments and ask the user to resolve them.
Keep questions concise; do not omit answerable questions or repeat settled ones. Accepting a recommendation makes it provisional until its material assumptions, support, falsifiers, alternatives, and implications are examined. If the user ends early, record the unexamined gaps.
Apply every relevant operation below. Combine probes; do not turn the list into a questionnaire. Record non-obvious omissions.
Use concrete scenarios where abstractions conceal disagreement. Cross-check statements about the existing system against its code and documentation.
Maintain the domain model as conclusions settle. Check terms against the glossary. Propose a canonical term for vague or overloaded language. Surface conflicts with code or documentation as questions.
Update documentation when conclusions settle, not at the end. Create files only when needed. Reconcile later revisions immediately.
For one context, use root CONTEXT.md. For multiple contexts, follow root CONTEXT-MAP.md; it lists contexts and relationships. Keep each context's CONTEXT.md and docs/adr/ together; keep system-wide ADRs in root docs/adr/. Infer the context when clear; ask when ambiguous. Create root CONTEXT.md when the first term settles if neither context file exists. Start a new context file with its name, purpose, and ## Language.
Record accepted project-specific terms under ## Language:
**Canonical term**:
Definition of what it is.
_Avoid_: ambiguous or rejected synonyms
Include domain concepts only, not implementation details, general concepts, requirements, or notes.
Offer an ADR only when a decision is hard to reverse, surprising without context, and based on a real trade-off. Write it only after approval. Use the next NNNN-slug.md; state the context, decision, and reason in one to three sentences. Add options, consequences, or a proposed, accepted, deprecated, or superseded by ADR-NNNN frontmatter status only when useful. Get approval before deprecating or superseding an ADR.
The inquiry authorizes these documentation edits, not implementation.
Finish when no material claim is silently assumed; none remains open or provisional; accepted, rejected, and uncertain claims are explicit; contradictions are resolved or recorded; and the user confirms shared understanding.
Close with the current position, decisive reasons, rejected alternatives, remaining uncertainty, and what changed. Shared understanding requires accurate restatement, not agreement.