Skip to content

Repair the reorg paths, and publish the repo as a plugin marketplace - #4

Open
gregjkal wants to merge 2 commits into
add-skill-supportfrom
fix-reorg-paths
Open

Repair the reorg paths, and publish the repo as a plugin marketplace#4
gregjkal wants to merge 2 commits into
add-skill-supportfrom
fix-reorg-paths

Conversation

@gregjkal

@gregjkal gregjkal commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Repairs what the tools/wg21 to tools-wg21 reorg left pointing at the old layout, then uses those corrected paths to publish the repo as a plugin marketplace. Stacked on #3. Two commits, reviewable separately.

The fix

  • The installer was skipping 14 of its own entries. It resolved the command list under tools/, so 11 of 14 TOP_LEVEL entries failed their existence check, along with all 3 family parents (the parent is tools/voice.md, not tools/voice/voice.md). normalize.md had also been renamed to normalize-prompt.md. A run installed 21 commands; it now installs 35.
  • Both lists are now repo-root-relative paths, matching how skills are declared, and a listed entry that does not resolve warns and names itself. Silently skipping is what let this drift for months.
  • README: 30 WG21 links and 6 renamed how-to links repaired. Arno was retired but its entry stayed in the active section, so it moves to WG21 Retired. All 97 links now resolve.

The marketplace

  • Claude Code users can now install with /plugin marketplace add cppalliance/tools-public, which handles updates and uninstall for them. No files move: plugin.json points at the existing tools/ and tools-wg21/ layout through its custom path fields.
  • install.sh stays, and remains the only path that installs into ~/.cursor/skills/ for Cursor users.
  • One list, not two. The manifest ships the same tools install.sh does, and two hand-maintained copies is exactly how this repo drifted in the first place. install.sh stays the source of truth and scripts/sync_plugin_manifest.py regenerates the manifest from it.

Tested on bash 3.2: install, uninstall, and the drift warning against a planted bad entry. claude plugin validate . --strict passes, and fails as intended when I plant a missing path.

Two notes. There is no CI, so the two checks are run by hand and documented in AGENTS.md: sync_plugin_manifest.py --check for a stale manifest, claude plugin validate . --strict for a path not in the tree. And tools-wg21/images/arno.png is orphaned now that the retired copy carries its own image; your call whether it goes.

@gregjkal gregjkal changed the title Repair the paths the tools-wg21 reorg left behind Repair the reorg paths, and publish the repo as a plugin marketplace Aug 5, 2026
Moving tools/wg21 to tools-wg21 broke three things that all silently kept
working well enough to hide it.

install.sh resolved its command list under tools/, so 11 of the 14 TOP_LEVEL
entries failed their existence check and were skipped. All three family parents
failed too: the parent lives at tools/voice.md, not tools/voice/voice.md. And
normalize.md had been renamed to normalize-prompt.md. A run installed 21
commands instead of 35.

Both lists are now paths relative to the repo root, matching how skills are
already declared, so an entry says where its file actually is. A listed entry
that does not resolve now prints a warning naming it, since silently skipping is
what let this drift for months.

README linked 30 WG21 tools at the old path and 6 how-to files at names they
were renamed away from. Arno was retired to tools-wg21/retired/ but its entry
stayed in the active section, so it now sits in WG21 Retired with the others.
All 97 README links resolve.

AGENTS.md documented tools/wg21/ and a tools-retired/ that never existed.
Adds .claude-plugin/marketplace.json and plugin.json so Claude Code users can
install with /plugin marketplace add cppalliance/tools-public and get updates
and uninstall handled for them. No files move: plugin.json points at the
existing tools/ and tools-wg21/ layout through its custom path fields.

This does not replace install.sh, which stays the only path that installs into
~/.cursor/skills/ for Cursor users.

The manifest lists the same tools install.sh does, and two hand-maintained
copies of that list is exactly how the installer drifted from the tree in the
first place. install.sh stays the source of truth and
scripts/sync_plugin_manifest.py regenerates the manifest from it.

Verify with sync_plugin_manifest.py --check, which catches a stale manifest,
and claude plugin validate --strict, which catches a listed path that is not in
the tree. Both are documented in AGENTS.md and INSTALL.md and run by hand,
since the repo has no CI.
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.

1 participant