Skip to content

refactor: drop plugin-cache scanning from skill platforms - #54

Merged
massive-value merged 1 commit into
mainfrom
refactor/simplify-skill-platforms
May 9, 2026
Merged

refactor: drop plugin-cache scanning from skill platforms#54
massive-value merged 1 commit into
mainfrom
refactor/simplify-skill-platforms

Conversation

@massive-value

Copy link
Copy Markdown
Owner

Summary

  • Removes PluginInstall, detect_plugin_installs, _read_active_install_paths, and _scan_plugin_cache from _skill_platforms.py.
  • Drops the plugin section of wbox skills list output.
  • Drops the "Plugin installs" section of wbox doctor output and renames the legacy "Skill installs (legacy template-copy)" header to just "Skill installs" now that the contrast is gone.
  • Removes the test suite that exercised the deleted symbols.

After this change, _skill_platforms.py is a focused "find host directories, write skill copies" module with no concept of host plugin caches. Net diff: -292 lines, +3 lines.

Closes #28

Test plan

  • ruff check src/ tests/ passes
  • pytest passes (264 tests, run in two batches due to a shared rate-limiter quirk on the developer machine; 81 skill-related + 183 remaining)
  • wbox skills list still surfaces the three platforms with status/version columns
  • wbox doctor still surfaces auth, agent CLI detection, skill installs, firm data, and summary sections

🤖 Generated with Claude Code

`_skill_platforms.py` is now a focused "find host directories, write
skill copies" module. The plugin-cache discovery code (PluginInstall,
detect_plugin_installs, _read_active_install_paths, _scan_plugin_cache)
was an attempt to surface host-CLI-managed plugin copies in `wbox skills
list` and `wbox doctor`, but added complexity without clear value and
duplicated state the host CLI already owns.

- Remove the four named symbols from _skill_platforms.py.
- Drop the plugin section of `wbox skills list` output.
- Drop the "Plugin installs" section of `wbox doctor` output and rename
  the legacy "Skill installs (legacy template-copy)" header to just
  "Skill installs" now that the contrast is gone.
- Remove tests that exercised the deleted symbols.

Closes #28

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 08c21d8ac5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 111 to 113
for p in detect_platforms():
status = "installed" if is_installed(p) else "not installed"
meta = read_meta(skill_dir(p)) if is_installed(p) else {}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore plugin install visibility in doctor

In the default Claude install path (scripts/install.sh:90) and documented manual path (README.md:72), the skill is installed via Claude's plugin cache rather than under ~/.claude/skills. After deleting plugin discovery, this section only iterates detect_platforms(), so wbox doctor reports those default plugin-only installs as not installed and no longer shows the active plugin despite the README telling users to run doctor to see install status. If cache scanning is intentionally gone, doctor needs another host-backed status check or the installer/docs workflow will be misleading for default Claude users.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deferring per the one-round rule. The plugin-cache scanning removal is intentional v2 cutover scope (this PR closes #28). The doctor display gap is the symmetric piece — once #42/#43 land the new install path, plugin-marketplace installs go away as a supported channel and there's nothing for doctor to scan. Tracking under v2 cutover umbrella #50; if a host-backed status check still makes sense post-cutover I'll file it as a separate issue then.

@massive-value

Copy link
Copy Markdown
Owner Author

Holding this PR until #42 (install.sh rewrite) and #43 (install.ps1 parity) land — same ordering as #51.

Codex's P2 here is correct: after dropping plugin-cache discovery, `wbox doctor` no longer reports the documented default Claude install path (`scripts/install.sh` lines 90+, README line 72) as installed. That's misleading until the v1 plugin install flow is itself replaced. Same root cause as the P1s on #51 — the plugin install flow is still load-bearing in scripts and docs, so we can't yank discovery out of doctor without yanking the flow it discovers.

Once #42/#43 (PyInstaller binaries + new install scripts) land, this and #51 should merge as part of the v2.0.0 cutover (#50).

@massive-value
massive-value merged commit eae5192 into main May 9, 2026
5 checks passed
@massive-value
massive-value deleted the refactor/simplify-skill-platforms branch May 9, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Simplify _skill_platforms.py and list_platforms

1 participant