fix: flatten command namespacing, doc fixes, v1.2.0 - #2
Merged
Conversation
All four subcommands lived at commands/three-axes/*.md -- a nested
folder -- while every doc (README, each command's own cross-
references, SKILL.md) consistently documented space-separated
invocation (/three-axes setup). Claude Code documents commands as
flat .md files with no specified nested-folder namespacing
convention, unlike skills/ which explicitly uses colon-namespacing.
Researched this properly rather than guessing (docs are genuinely
silent on nested command folders); rather than leave the ambiguity in
place, flattened to commands/three-axes-{setup,status,mode,set}.md
and updated every reference to the hyphenated form, matching the
pattern this project's own bare /three-axes and /three-axes-framework
commands already used successfully.
Also fixes, found during the same doc pass:
- README's Installation/Quickstart bash blocks used "claude plugins
marketplace add" / "claude plugins install" (plural) -- the
documented CLI is singular.
- CONTRIBUTING.md's remote-marketplace command was missing the
luxsolari/ owner prefix.
- CONTRIBUTING.md referenced an unexplained "@Local" marketplace with
no setup instructions; replaced with the verified
`claude --plugin-dir .` flow for local testing.
- README's Commands section never documented the bare /three-axes and
/three-axes-framework invocation, shipped in 1.1.2/1.1.3 but never
listed.
- Added license/version badges (linked to LICENSE/CHANGELOG.md) and
GitHub topics mirroring plugin.json's keywords, for discoverability.
Version bumped to 1.2.0. All 18 profile unit tests still pass
(node --test hooks/lib/__tests__/profile.test.mjs), unaffected by
this change.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Second fresh-eyes pass caught that the first pass's own edit broke a logical grouping: the new /three-axes and /three-axes-framework subsection was inserted between /three-axes-set's example block and its "Valid values" list, which belongs together. Moved the bare-invocation subsection after the valid-values list instead. Also adds .github/workflows/ci.yml -- this project had no CI at all. Runs the profile unit tests and a plugin-manifest/hooks-config JSON sanity check on every push/PR to main, mirroring the Tier 1 gate set up in sage-instructor. Verified both steps pass locally before adding. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First fresh-eyes docs review pass on this repo (mirroring the same process just applied to sage-instructor), plus one structural fix that turned up along the way:
commands/three-axes/{setup,status,mode,set}.mdlived in a nested folder, but every doc consistently documented space-separated invocation (/three-axes setup). Claude Code's docs are genuinely silent on nested-folder command namespacing (confirmed via research, not assumed) — commands are documented as flat.mdfiles, unlikeskills/which explicitly uses colon-namespacing. Flattened tocommands/three-axes-{setup,status,mode,set}.mdand updated every cross-reference to match, following the same pattern this project's own/three-axesand/three-axes-frameworkbare commands already used.claude plugins marketplace add/claude plugins install(plural) → singular, matching the documented CLI.luxsolari/owner prefix and its unexplained@localmarketplace reference (replaced with a verifiedclaude --plugin-dir .local-test flow)./three-axes//three-axes-frameworkcommands in README's Commands section — shipped in 1.1.2/1.1.3 but never listed.Version bumped to 1.2.0. Full detail in
CHANGELOG.md.Test plan
node --test hooks/lib/__tests__/profile.test.mjs— 18/18 pass, unaffected by this changeclaude plugin validate .structure check (plugin.json validated as well-formed JSON)/three-axes <word>references — none outside historicalCHANGELOG.mdentries and dateddocs/superpowers/plans|specs/planning artifacts, which are left untouched as historical record🤖 Generated with Claude Code