Repository navigation
feat(commands): Unify command names and narrow single-language rules - #13
Merged
Merged
Conversation
Rename six commands to the cross-plugin verb-first scheme shared with
apple-developer, so the same intent resolves to the same name in every
plugin:
code-review -> review-code
lint-fix -> fix-quick
code-modernize -> fix-modernize
profile-performance-> fix-performance
generate-tests -> gen-tests
deps-audit -> deps
Sweep every in-body self-reference and cross-command reference across
commands, agents, skills, tests, and README so no stale slash-command
name survives. Historical CHANGELOG/MEMORY/README release-note entries
keep the names in use at that release.
fix-performance gains an optional apply phase: measure-only stays the
default and Phases 1-5 remain strictly read-only, while --apply unlocks
a PHASE CHECKPOINT (AskUserQuestion) that must be approved before
sys-code-fixer touches a file, followed by a binding build+test gate and
a mandatory re-measure.
deps is restructured to the subcommand form (audit | upgrade | add) with
an explicit dispatch rule defaulting to the read-only audit path.
Normalize command frontmatter: verb-first descriptions capped at 120
chars, allowed-tools kept minimal, estimated-cost on every file.
validate.sh: normalize a ${CLAUDE_SKILL_DIR}/ prefix before resolving
backticked skill reference paths, clearing two false "does not exist"
warnings for files that are present on disk.
Port the eight commands the naming standard defines but this plugin
lacked, adapting each apple-developer counterpart across three axes:
tech stack (Swift/Xcode -> C/C++/Python/Bash toolchains), agent routing,
and skill references. Every referenced skill was verified to exist here;
no apple skill name was transliterated.
arch-select system-architector; structural pattern plus the
orthogonal concurrency and ownership axes
arch-review system-architector; read-only, violations with
file:line and P0-P3
analyze-tech-debt architect plus per-language developers; read-only
gen-docs Doxygen (C/C++), Sphinx docstrings (Python),
shell header comments; verified by the doc build
debug configure/triage dispatch over gdb, lldb, strace,
py-spy, and shell xtrace
analyze-accessibility CLI output only -- NO_COLOR, contrast-safe ANSI,
screen-reader-friendly output, --help clarity;
read-only, haiku, and explicit that it makes no
WCAG or GUI claim
fix-refactor architect plans, sys-code-fixer applies
develop-feature architect -> language developers -> test
generator -> security auditor, with phase
checkpoints and a resumable state file
Both analyze-* commands are read-only and carry no Write or Edit. Every
build gate is /system-developer:build-test. All sixteen commands are
registered in marketplace.json, which now matches commands/ exactly.
Document the unified 16-command surface and bump the version strings together across plugin.json, marketplace.json, README, and MEMORY.md per the /cc-update convention. README: command table regrouped by intent (build/verify, review/analyze, change code, design/document/build) and a "Migration: old -> new command names" section stating the behavior delta for each rename. CHANGELOG: 1.5.0 entry covering the six renames as breaking, the eight new commands, the fix-performance --apply phase, the deps subcommand restructure, and the validate.sh reference-path fix. MEMORY.md: 1.5.0 refresh log, and the "plain command names" decision is superseded by the shared verb-first naming standard so future commands take the cross-plugin name rather than a locally-invented one. Records the two pre-existing >8KB SKILL.md warnings as debt this release did not introduce.
Rules true for one of the four languages were stated as holding for all of them, and deps could answer a mutation request with a read-only audit when the mode was given as a flag rather than the first token.
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.
Motivation
Two related pieces of work.
The igrsoft dev-plugin family adopted apple-developer's verb-prefix command scheme as its shared standard, so every plugin exposes the same 15 core commands. This plugin's command names were renamed onto it and the missing commands added.
Separately, an audit for a defect class found across the family — a rule true for one technology stated as though it were universal — covered this plugin. It spans C, C++, Python and Bash, four languages with genuinely different toolchains, comment syntax, test frameworks and build systems, so the class is live here.
Changes
Command unification (1.5.0)
code-review→review-code,lint-fix→fix-quick,code-modernize→fix-modernize,profile-performance→fix-performance,generate-tests→gen-tests,deps-audit→deps(now subcommand-dispatchedaudit|upgrade|add).arch-select,arch-review,analyze-tech-debt,gen-docs,debug,analyze-accessibility,fix-refactor,develop-feature.fix-performancekeeps measure-only as its default path and puts the apply phase behind an explicit checkpoint, so the rename does not silently turn a read-only command into a mutating one.Scope audit (1.6.0) — single-language rules stated as universal, plus:
depscould answer a mutation request with a read-only audit: dispatch selects the mode from the first token, sodeps --upgrade <pkg>fell through toauditand the caller was handed an audit report. It now stops with an explicit error. (The same hole was found and fixed in three sibling plugins.)Full detail in the CHANGELOG.
Notes
Renames are breaking with no alias mechanism; a migration table is in the README.
Verification:
scripts/validate.sh --strictreports 0 errors. Remaining warnings are pre-existing oversized-skill notices unrelated to this work.Merge order: this PR and the other five plugin PRs should merge before the
company-workflow(igrsoft) PR, which references the new command names.