본문으로 건너뛰기
cccskills
무료GitHub에 공개

unstuck

Work through repeated failed fixes or difficult technical choices using five perspectives: practical action, missing information, simplification, architecture, and challenged assumptions. Compare alternatives and disagreements, then receive a recommendation while keeping the final decision with the user.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use when the user is stuck or going in circles: the same fix failed twice or more, 'nothing works', 'I've tried everything', or a consequential choice with no clear winner that is hard to undo or splits the team (which database, which architecture). Brings hacker, researcher, simplifier, architect, and contrarian perspectives and converges on one recommendation. Not for a first error or normal progress.

설치 방법 보기

이럴 때 유용합니다

  • Reconsider a fix that has failed repeatedly
  • Compare difficult database or architecture choices
  • Reduce scope when complexity blocks progress
  • Challenge assumptions behind the current approach

포함된 파일(1)

  • SKILL.md9.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

/ouroboros:unstuck

Break through stagnation, or advise on a hard choice, with lateral thinking personas. Solo runs one persona; debate runs several in parallel and synthesizes them.

Usage

ooo lateral                       # debate: all 5 lateral personas
ooo lateral <persona>             # solo: one persona
ooo lateral debate <p1> <p2> ...  # debate with explicit members
ooo lateral @all                  # debate preset (the only preset)

Personas (lateral pool)

Stateless reframing lenses only; stateful roles (evaluator, qa-judge, ontologist, socratic-interviewer) have their own skills.

PersonaLensUse when
hackerMake it work first, elegance laterOverthinking blocks progress
researcherWhat information are we missing?The problem is unclear
simplifierCut scope, return to MVPComplexity is overwhelming
architectRestructure the approach entirelyThe current design is wrong
contrarianAre we solving the wrong problem?Assumptions need challenging

Besides direct ooo lateral, you MAY chain into this skill from another skill (for example as socratic-interviewer in ooo interview) when the current question needs multi-perspective deliberation; afterwards summarize the options, return to the parent flow, and let the user decide.

Instructions

Step 1: Parse args into a mode

InputModeMembers
no args, debate, or @alldebateall 5 personas
<persona>solothat persona
debate <p1> <p2> ...debatethe listed personas
@<unknown-preset>errorreject and list known presets
<unknown-persona>errorreject and list the 5 personas
<p1> <p2> ... without debateerrorreject and suggest ooo lateral debate <p1> <p2>

Validate every persona name against the pool; never coerce silently. When a parent skill wants one persona but names none, omit persona and pass stagnation_pattern (spinning, oscillation, no_drift, diminishing_returns) if known; the server picks the persona (default contrarian).

Pick the lateral mode too. Use mode="decision" when the user faces a consequential choice between options (which database, which architecture) rather than a stall; otherwise omit mode (default unstuck). In decision mode, problem_context describes the options and current_approach the currently favored one (or undecided), and an omitted persona means a full debate. Pass research=true only when the user explicitly asks for web-grounded research; it is slower and never the default.

Step 2: Gather required context before the MCP call

The tool hard-fails when problem_context or current_approach is empty, so resolve both first (solo and debate alike):

  1. Reuse session state from the parent skill or recent conversation: problem_context (what the user is stuck on, 1-3 sentences), current_approach (what was tried; "none yet, first attempt" is fine), and optional failed_attempts.
  2. If either field is unrecoverable, ask the user one combined question with the active runtime's ask_user capability: "Two things I need before lateral thinking can run: (1) what are you stuck on right now, (2) what have you already tried? A sentence each is enough." Wait for the answer. Never fabricate these fields; current_approach="not specified" is acceptable, invented content is not.

Step 3: Always call ouroboros_lateral_think

Every invocation routes through the MCP tool, solo and debate, in every runtime; never substitute a direct subagent fan-out.

Loading MCP tools (deferred-schema guard)

Ouroboros tools may be deferred, and a schema loaded on one turn can unload by the next. Immediately before each ouroboros_* call, load it with the active runtime's tool-discovery capability: "+ouroboros lateral" for ouroboros_lateral_think; "+ouroboros conductor decision" for ouroboros_record_conductor_decision (decision mode). A call whose schema is not loaded fails with "Invalid tool parameters". If the tool is already callable, discovery is a no-op and an empty result is expected. If the tool is genuinely absent (neither exposed nor loadable), stop and report that the MCP dispatch surface is broken; do not improvise solo or debate without it.

Call it with:

  • Solo: persona=<one>, problem_context, current_approach, failed_attempts.
  • Debate: personas=[...], problem_context, current_approach, failed_attempts.
  • Plus mode/research from Step 1, and session_id when running inside an interview or lateral session (it binds the fan-out so results submitted from another session are refused).

Step 4: Act on the response shape (the server picks it)

ModePlugin responseInline response
Soloone _subagent objectone # Lateral Thinking: <approach> block in content
Debate_subagents array (N objects)N blocks joined by \n\n---\n\n, plus a hidden dispatch block carrying the same N payloads

Inline dispatch block (debate, inline only). Prefer the structured copy in the response meta when present. Otherwise take the text between <!-- ouroboros-lateral-inline-dispatch-v1 base64\n and \n--> at the end of content, base64-decode it, and parse the JSON. A host that did not declare subagent capability receives the neutral shape:

{"dispatch_mode": "host_decides", "host_action": "dispatch_subagents_if_supported", "execution_preference": "parallel", "fallback_strategy": "sequential", "persona_count": N, "payloads": [...]}

An explicitly sequential execution authority receives dispatch_mode="sequential" with legacy_dispatch_mode="inline_fallback", which is compatibility metadata only. Never split the joined display text on ---: user content can contain the separator.

Shape A: plugin response (OpenCode plugin mode)

The plugin spawns the children itself. Await the single _subagent result (solo) or all _subagents results (debate), then present or synthesize. If the response is inline text with neither key, you are not in plugin mode: use Shape B.

Shape B: inline response

The dispatch block distinguishes declared host_driven, capability-neutral host_decides, and explicit sequential execution. Solo: present the approach summary, reframing prompt, and questions to consider, then route back to the workflow.

Debate, runtime supports sub-agent dispatch
  1. Show the visible markdown under a short "what the lateral toolkit suggests" header.
  2. With host_action="spawn_subagents", or host_action="dispatch_subagents_if_supported" when the runtime has a native parallel primitive, use the active runtime's orchestrate_subagents capability: one isolated child per payload, launched together, each given its prompt verbatim plus its context.
  3. Await all children and correlate each result by result_correlation_key (normally context.persona).
  4. Optional Round 2 cross-attack, only when Round 1 answers diverge: give each persona short summaries of the others and ask "Identify one weakness in each. 200 words max."
  5. Synthesize (below).
Debate, constrained runtime without sub-agent dispatch

If the response is stamped with dispatch_mode="sequential", or with dispatch_mode="host_decides" and the host has no native parallel primitive, process each recovered payload in order, correlate every result by result_correlation_key, and synthesize after the last one. If no payloads are recoverable (no meta copy and no dispatch block), present the handler's markdown as-is and synthesize from that text; there is no Round 2.

Synthesize (debate, all shapes)

In decision mode, follow the synthesis contract the response carries: exactly one recommendation stated first, its grounds (citing only sources personas actually fetched), the strongest dissent, and flip conditions. After the user accepts, offer to persist it with ouroboros_record_conductor_decision as the contract describes.

In unstuck mode, present options, not a verdict:

## Debate result: N personas

### Options
- **Option A** (from <persona>): <one-liner>
- **Option B** (from <persona>): <one-liner>

### Disagreements
- <persona X> vs <persona Y>: <what they disagree about>

### Recommended (with reasoning)
<your single best read, labeled as your recommendation>

In both modes the choice is the user's: never auto-progress to the next workflow step on their behalf.

RFC #1392 State Breadcrumb Footer

End the final response with exactly one line ◆ <current state> → next: <recommended action>. Derive the state from live session state via ouroboros_session_status when available, otherwise from this skill's actual outcome. Never use a linear Step N of M footer; when the next step is a real choice, list 2-3 options.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

auto

무료

Turn a multi-file development task or technology migration into a specification with acceptance criteria, then launch background implementation and verification. The workflow clarifies missing requirements, reviews the specification, and tracks progress and blockers through linked jobs.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Implementing a feature across multiple files
  • Migrating a framework or programming language
  • Replacing authentication, storage, or API layers
Q00/ouroboros6.3천2026년 10월 20일 업데이트

Register and search existing Git repositories and worktrees, then choose which projects Ouroboros interviews use as context. You can also generate a configuration containing verified build, test, and other check commands for the evaluation workflow.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Selecting existing projects as interview context
  • Finding registered repositories by topic
  • Rescanning after repositories are added or moved
Q00/ouroboros6.3천2026년 10월 20일 업데이트

cancel

무료

Stop stuck Ouroboros executions or background jobs by ID, or cancel all running and paused executions in the current project. It reports whether cancellation is complete or has been requested, with guidance for checking the final status.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Stopping a stuck execution
  • Cancelling a background job by ID
  • Cancelling all active executions in a project
Q00/ouroboros6.3천2026년 10월 20일 업데이트

evaluate

무료

Verify finished work against acceptance criteria using executable checks and a review of whether each requirement is met. Multiple models can review uncertain cases, and rejected work can enter an automated repair loop when the required Seed is available.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking finished work against its specification
  • Verifying observed behavior against acceptance criteria
  • Requesting multiple model reviews for uncertain results
Q00/ouroboros6.3천2026년 10월 20일 업데이트

evolve

무료

Start and monitor an Ouroboros development loop that revises project concepts and acceptance criteria, the conditions for judging completion. Run and evaluate successive generations, focus revisions on failed criteria, inspect progress, or rewind to an earlier generation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Refining a project through repeated execution and evaluation
  • Inspecting progress across generations
  • Rewinding a development loop to an earlier generation
Q00/ouroboros6.3천2026년 10월 20일 업데이트

interview

무료

Turn a vague development idea into clear goals, constraints, and acceptance criteria through a guided interview. It checks unresolved decisions and confirms the agreed goal before moving toward a Seed, the requirements document used by Ouroboros.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Clarifying a vague idea before development
  • Defining completion criteria for a new feature
  • Agreeing on scope and constraints
Q00/ouroboros6.3천2026년 10월 20일 업데이트

Q00의 스킬 모두 보기

이 스킬의 문제 신고