Files
ClaudeandClaude Fable 5 dfca612f8c docs(skill): require explicit user confirmations at the three submit checkpoints
Three changes the user wanted in the operation skill, all aimed at
making the LLM agent pause and ask the human instead of silently
choosing defaults or auto-confirming:

  1. At task submission, ASK for connection (which one to use) and
     app_name. The service has no default for app_name and rejects
     implicit queue/memory/cores/num_executors defaults, so the
     agent has to surface these to the user anyway — better to do
     it deliberately than to call a tool, get 400, and re-ask.

  2. Before prepare_submit_job, ASK for the submit parameters
     (queue, executor_memory, executor_cores, num_executors,
     extra_args). The agent tells the user the server-side defaults
     it WOULD use so they can approve or override, instead of
     picking on their behalf.

  3. Before confirm_submit_job, present a one-screen summary of
     exactly what will run (connection, app_name, script, queue,
     resources, tracking URL) and wait for the user's explicit
     affirmative ('yes', 'confirm', 'go', 'y', even an emoji).
     A non-answer or 'wait' / 'let me think' is NOT consent. The
     agent NEVER calls confirm_submit_job without that go-ahead.

Where the changes live in the skill:
  * §0 Mindset — added a 4th 'must' about not auto-confirming,
    cross-referencing the new §0.1.
  * §0.1 Mandatory user confirmations — new sub-section, spells out
    the three checkpoints in detail (what to ask, what counts as
    consent, what doesn't).
  * §2 The canonical happy path — the numbered list now interleaves
    CHECKPOINT 1/2/3 lines with the tool calls, so the pauses are
    visually unmistakable.
  * §8 Common pitfalls — two new rows: 'auto-confirming without
    explicit yes' and 'picking defaults on the user's behalf'.
  * §9 End-to-end example — the word-count walkthrough now shows
    the full ask flow with sample agent / user dialogue at each
    checkpoint, ending in 'only NOW may you call confirm_submit_job'.

The example also adds a 'kill_job: ASK THE USER FIRST' note, since
killing a running YARN app is the same class of irreversible action
as confirming a new one.

File: 449 → 557 lines (+108).
No code changes; tests not affected.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-30 10:06:56 +08:00
..