Skip to content

/atlas: intent not captured up front (no plan-mode-style confirm) + interactive clarification is Claude-AskUserQuestion-only (no Codex/Gemini/other harness) #20

@anombyte93

Description

@anombyte93

AI work-order (via issue-from-feedback). Confirmed against the actual skill flow in skills/. The "Fix Approaches" are hints, not a spec — try the recommended path and let does the entrypoint actually capture intent + ask correctly on each harness be the source of truth. Acceptance Criteria are the real spec.

Problem

Invoking /atlas does not immediately establish/understand the user's intent (no plan-mode-style "here's what I understood, let me clarify" moment up front), and it does not drive the harness to interactively ask the user clarifying questions using the correct per-harness mechanism (Claude AskUserQuestion, and the Codex / Gemini / other equivalents). New users don't get a clear signal that their intent was understood, and on non-Claude harnesses the structured questioning isn't wired at all.

Current Behavior (verified in skills/)

  • skills/atlas/SKILL.md is a thin alias (allowed-tools: [Skill]) that immediately invokes the go orchestrator and captures/echoes no intent itself.
  • skills/go/SKILL.md routes purely by pipeline state: on a fresh run current_phase is null/SETUP, so the FIRST phase is /prd:setup (engine_preflight: backend/provider resolution, capability detection). Intent discovery (DISCOVERsuperpowers:brainstorming) only runs AFTER setup advances the phase — so the first thing the user sees is environment/config work, not intent capture.
  • The engine deliberately avoids Plan Mode: skills/handoff/SKILL.md states "Plan Mode is NOT used (spec section 13.5): AskUserQuestion is the sole [mechanism]". So there is no plan-mode-on-invoke by design.
  • Interactive clarification lives in skills/discover/SKILL.md (delegates to superpowers:brainstorming, one adaptive question at a time) and skills/handoff/SKILL.md — both built around Claude's AskUserQuestion tool, with a prose fallback only when AskUserQuestion is hook-blocked. There is no harness-detecting abstraction that selects the correct interactive-question primitive for Codex / Gemini / other.

Expected Behavior

  • On the Atlas entrypoint (/atlas on Claude, $atlas on Codex, "use atlas"/activate_skill on Gemini), the engine FIRST confirms it understood the user's intent and asks the most important clarifying question(s) — an immediate "intent captured + clarify" moment — before/alongside any setup/config output.
  • The clarifying-question step uses the harness-correct interactive tool: AskUserQuestion (Claude Code), the Codex equivalent, the Gemini equivalent, and a clean structured-prose fallback for any other harness. The harness is detected, not assumed.

Files to Touch

  • skills/atlas/SKILL.md — surface an immediate intent-confirmation + first clarifying question before delegating (or instruct go to front-load it).
  • skills/go/SKILL.md — routing currently puts SETUP before any intent capture; front-load a lightweight intent-confirm (a fast intent question before/within SETUP).
  • skills/discover/SKILL.md — owns the brainstorming/AskUserQuestion flow; route the question step through a harness adapter.
  • skills/handoff/SKILL.md — also AskUserQuestion-centric; same adapter.
  • (new) a shared "ask-the-user" harness adapter (Claude AskUserQuestion / Codex / Gemini / structured-prose), driven by the engine's existing capability detection (detect_capabilities).
  • root SKILL.md (the standalone single-file variant) — mirror the same behavior.

Researched Fix Approaches

1. [Recommended] Front-load intent + a harness-aware "ask" adapter (confidence: 75%)

  • Pattern: (a) On invoke, emit an immediate intent-confirmation + the single highest-value clarifying question BEFORE setup. (b) Add one small "ask the user a structured question" abstraction that detects the harness (reuse detect_capabilities) and dispatches: Claude → AskUserQuestion; Codex → its interactive mechanism; Gemini → its activate_skill/structured flow; other → explicit numbered-options prose. discover and handoff call the adapter instead of hardcoding AskUserQuestion.
  • Why: one engine, fixes BOTH defects ("intent not understood up front" + "Claude-only questioning"); aligns with the existing capability-detection design.
  • Risk: Codex/Gemini may NOT expose a structured AskUserQuestion equivalent — then the "correct tool" there is explicit-options prose (confirm per harness, see Trust). Mild tension with spec-13.5 ("no Plan Mode") — reconcile: an intent-confirm can be a single AskUserQuestion-style question, not the harness Plan Mode.

2. [Alternative] Use each harness's NATIVE plan mode on invoke (confidence: 55%)

  • Pattern: /atlas → enter Claude Code Plan Mode (EnterPlanMode) / Codex/Gemini plan equivalents to capture intent.
  • Why not recommended: directly contradicts the engine's deliberate "Plan Mode is NOT used" design (handoff §13.5) and risks re-opening the user-agency hole AskUserQuestion was chosen to close. Only take this path after deliberately revisiting §13.5.

3. [Fallback] Prose-only intent + questions on non-Claude harnesses (confidence: 60%)

  • Pattern: Keep AskUserQuestion for Claude; on Codex/Gemini emit an explicit "Here's what I understood; choose 1/2/3" prose block.
  • Why last resort: loses structured/machine-readable answers off Claude; acceptable interim until per-harness primitives are verified.

Reference

  • The engine already has the building blocks: handoff/SKILL.md enumerates Codex/Gemini external modes and a prose fallback for hook-blocked AskUserQuestion; detect_capabilities already detects installed harnesses. The fix generalizes these into one interactive-ask adapter.
  • Cross-harness primitives to verify: Claude Code = AskUserQuestion; Gemini CLI = skillz extension + activate_skill; Codex = $name skill triggers + free-text.

Acceptance Criteria

  • Invoking the Atlas entrypoint immediately surfaces an intent-confirmation + first clarifying question (user sees their intent was understood) BEFORE setup/config output.
  • On Claude Code the clarifying step uses AskUserQuestion.
  • On Codex and Gemini the clarifying step uses that harness's correct interactive mechanism (verified), degrading to explicit-options prose only where no structured primitive exists.
  • The harness is detected, not assumed Claude; an unknown harness gets the structured-prose fallback.
  • No regression to the existing Claude /atlas → SETUP → DISCOVER → … flow once intent is confirmed.

Complexity: M–L (cross-harness)

Trust Level: HINT (not specification)

  1. Verify each harness's ACTUAL interactive-question primitive before wiring (Claude AskUserQuestion exists; confirm whether Codex/Gemini expose a structured equivalent or only free-text — if only free-text, "correct tool" = explicit-options prose there).
  2. Reconcile with spec §13.5 ("Plan Mode is NOT used") — the intent-confirm should be an AskUserQuestion-style question, not necessarily the harness's Plan Mode, unless §13.5 is deliberately revisited.
  3. The Acceptance Criteria are the spec; the approaches above are starting points.

via issue-from-feedback. Grounded in skills/{atlas,go,discover,handoff}/SKILL.md rather than web research, since this is an engine-UX issue where the skill flow is the source of truth.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions