deep-interview/SKILL.md
Socratic deep interview with mathematical ambiguity gating before execution
npx skillsauth add abanoub-ashraf/manus-skills-import deep-interviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<Use_When>
ralplan, autopilot, ralph, or team
</Use_When><Do_Not_Use_When>
plan instead)<Why_This_Exists> Execution quality is usually bottlenecked by requirement clarity. A single expansion pass often misses hidden assumptions. This workflow applies Socratic pressure + quantitative ambiguity scoring so orchestration modes begin with an explicit, testable spec.
Inspired by Ouroboros (https://github.com/Q00/ouroboros) and adapted for OMX conventions. </Why_This_Exists>
<Depth_Profiles>
--quick): fast pre-PRD pass; target threshold <= 0.30; max rounds 5--standard, default): full requirement interview; target threshold <= 0.20; max rounds 12--deep): high-rigor exploration; target threshold <= 0.15; max rounds 20If no flag is provided, use Standard. </Depth_Profiles>
<Execution_Policy>
explore before asking user about internalsrequest_user_input when available; if unavailable, fall back to concise plain-text one-question turnsstate_write / state_read)
</Execution_Policy>{{ARGUMENTS}} and derive a short task slug..omx/context/{slug}-*.md..omx/context/{slug}-{timestamp}.md (UTC YYYYMMDDTHHMMSSZ) and reference it in mode state.{{ARGUMENTS}} and depth profile (--quick|--standard|--deep).explore to classify brownfield (existing codebase target) vs greenfield.state_write(mode="deep-interview"):{
"active": true,
"current_phase": "deep-interview",
"state": {
"interview_id": "<uuid>",
"profile": "quick|standard|deep",
"type": "greenfield|brownfield",
"initial_idea": "<user input>",
"rounds": [],
"current_ambiguity": 1.0,
"threshold": 0.3,
"max_rounds": 5,
"challenge_modes_used": [],
"codebase_context": null,
"context_snapshot_path": ".omx/context/<slug>-<timestamp>.md"
}
}
Repeat until ambiguity <= threshold, user exits with warning, or max rounds reached.
Use:
Target the lowest-scoring dimension:
Use structured user-input tooling available in the runtime (AskUserQuestion / equivalent) and present:
Round {n} | Target: {weakest_dimension} | Ambiguity: {score}%
{question}
Score each dimension in [0.0, 1.0] with justification + gap.
Greenfield: ambiguity = 1 - (goal × 0.40 + constraints × 0.30 + criteria × 0.30)
Brownfield: ambiguity = 1 - (goal × 0.35 + constraints × 0.25 + criteria × 0.25 + context × 0.15)
Show weighted breakdown table and next focus dimension.
Append round result and updated scores via state_write.
max_roundsUse each mode once when applicable:
Track used modes in state to prevent repetition.
When threshold is met (or user exits with warning / hard cap):
.omx/interviews/{slug}-{timestamp}.md.omx/specs/deep-interview-{slug}.mdSpec should include:
Present execution options after artifact generation:
$ralplan (Recommended)
$plan --consensus --direct <spec-path>$autopilot
$ralph
$team
IMPORTANT: Deep-interview is a requirements mode. On handoff, invoke the selected skill. Do NOT implement directly inside deep-interview.
</Steps><Tool_Usage>
explore for codebase fact gatheringrequest_user_input / structured user-input tool for each interview round when availablestate_write / state_read for resumable mode state.omx/context/.omx/interviews/ and .omx/specs/
</Tool_Usage><Escalation_And_Stop_Conditions>
<Final_Checklist>
.omx/context/{slug}-{timestamp}.md.omx/interviews/{slug}-{timestamp}.md.omx/specs/deep-interview-{slug}.md$ralplan, $autopilot, $ralph, $team)[omx.deepInterview]
defaultProfile = "standard"
quickThreshold = 0.30
standardThreshold = 0.20
deepThreshold = 0.15
quickMaxRounds = 5
standardMaxRounds = 12
deepMaxRounds = 20
enableChallengeModes = true
If interrupted, rerun $deep-interview. Resume from persisted mode state via state_read(mode="deep-interview").
deep-interview -> ralplan -> autopilot
Task: {{ARGUMENTS}}
development
Design principles for building polished, native-feeling SwiftUI apps and widgets. Use this skill when creating or modifying SwiftUI views, iOS widgets (WidgetKit), or any native Apple UI. Ensures proper spacing, typography, colors, and widget implementations that look and feel like quality apps rather than AI-generated slop.
data-ai
Design and implement SwiftUI views, components, and app architecture. Use when creating new SwiftUI views, implementing MVVM/TCA patterns, managing state with @Observable, @State, @Binding, or @Environment, designing navigation flows, or structuring iOS app architecture. Triggers on SwiftUI, view model, state management, navigation, coordinator pattern.
development
Implement, review, or improve SwiftUI animations and transitions. Use when adding implicit or explicit animations with withAnimation, configuring spring animations (.smooth, .snappy, .bouncy), building phase or keyframe animations with PhaseAnimator/KeyframeAnimator, creating hero transitions with matchedGeometryEffect or matchedTransitionSource, adding SF Symbol effects (bounce, pulse, variableColor, breathe, rotate, wiggle), implementing custom Transition or CustomAnimation types, or ensuring animations respect accessibilityReduceMotion.
testing
Audit SwiftUI views for accessibility (iOS + macOS) with patch-ready fixes