Align the write-confirmation UX with lark-cli: ConfirmRisk (and the shortcut confirmRisk) now print the yes/no prompt only when stdin is a real terminal (ioctl-level check via go-isatty; a char-device stat would misclassify `< /dev/null`). Non-interactive callers get a clean structured confirmation_required error on stderr. Piped answers are still honored for humans/scripts; --yes/--dry-run remain the sanctioned non-interactive paths. skills/mono: add the recognition + retry protocol for agents — identify confirmation_required via error.reason, show action and params, retry the original command with --yes only after explicit user consent, never silently append --yes or treat it as a transient error. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>