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:
- 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.
- Phase 2.5 (README freshness): when README is stale, default
auto-regen vs skip — skip 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
- Read plugin-update SKILL.md L161 + L437 — extract current AskUserQuestion options + identify which is marked default
- For each, evaluate: does the current default match Phase 0.5 policy (abort-for-ambiguous, action-for-happy-path)?
- 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
Problem
#60 introduces Phase 0.5 to
plugin-tools:plugin-updatewith an explicit default-option safety policy:abortis default for any state with multiple sensible actions;push as-isonly for unambiguous clean+unpushed.The skill already has AskUserQuestion calls in two other phases that predate #60:
check_external_deps: detects MCP/CLI binary out-of-sync with shell version, asks user 「順便更新 / 只更新 shell / 中止」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:
For each phase:
auto-update binaryis opinionated (skill installs new binary on user's behalf);skip(just print warning, let user decide separately) is safer. Audit and align.auto-regenvsskip—skipis safer (skill won't surprise-rewrite docs);auto-regenis 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
Source
surfaced during /idd-implement #60 reproduction (Step 5.7) — observed when referencing existing AskUserQuestion patterns as precedent for Phase 0.5 design.
Related
plugins/plugin-tools/skills/plugin-update/SKILL.md