Skip to content

[refactor] Audit plugin-update Phase 1.5 / Phase 2.5 AskUserQuestion default options for consistency with #60 Phase 0.5 abort-default safety policy #68

Description

@kiki830621

Problem

Source: surfaced during /idd-implement #60 reproduction (Step 5.7)

#60 introduces Phase 0.5 to plugin-tools:plugin-update with an explicit default-option safety policy: abort is default for any state with multiple sensible actions; push as-is only for unambiguous clean+unpushed.

The skill already has AskUserQuestion calls in two other phases that predate #60:

  • Phase 1.5 (L161)check_external_deps: detects MCP/CLI binary out-of-sync with shell version, asks user 「順便更新 / 只更新 shell / 中止」
  • Phase 2.5 (L437)check_readme_freshness: detects README drift from current version, asks user 「auto-update / skip update / abort」

Both these AskUserQuestion blocks may have default options that don't follow the same safety-first policy Phase 0.5 commits to. Inconsistent default policy across the same skill = surprising UX (users build expectation from Phase 0.5 abort-default, then Phase 1.5/2.5 default to action without their explicit consent).

Type

refactor (consistency audit)

Expected behavior

Audit each AskUserQuestion in plugin-update and apply the same Phase 0.5 default-option policy:

Rule: abort (or "skip update without changes") is the default for any state with multiple sensible actions. Active changes (push, auto-update binary, regenerate README) are only the default in unambiguous happy-path cases where doing nothing would be more frustrating than doing something.

For each phase:

  1. Phase 1.5 (binary deps): when binary version drifts from shell, what's the right default? auto-update binary is opinionated (skill installs new binary on user's behalf); skip (just print warning, let user decide separately) is safer. Audit and align.
  2. Phase 2.5 (README freshness): when README is stale, default auto-regen vs skipskip is safer (skill won't surprise-rewrite docs); auto-regen is convenient but assumes user wants regeneration. Audit and align.

Actual behavior

Not yet audited. Pre-#60 the skill's AskUserQuestion default options were chosen ad-hoc; #60 introduces the first explicit cross-phase policy. Without consistency audit, the same skill has 3 different defaulting philosophies.

Priority

P3 — schedule. After #60 lands, audit existing 2 phases (≈10 min reading + AskUserQuestion redrafting). Not blocking but worth doing while the design rationale is fresh.

Strategy sketch

  1. Read plugin-update SKILL.md L161 + L437 — extract current AskUserQuestion options + identify which is marked default
  2. For each, evaluate: does the current default match Phase 0.5 policy (abort-for-ambiguous, action-for-happy-path)?
  3. If not, propose adjustment; commit as small refactor (not standalone Plan tier — Simple).

Source

surfaced during /idd-implement #60 reproduction (Step 5.7) — observed when referencing existing AskUserQuestion patterns as precedent for Phase 0.5 design.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions