Standardize .claude/commands to the canonical lab dev-command set
Two .claude/commands lineages have diverged across lab repos:
- descriptive (
sleap-roots-analyze): pre-merge-check, update-changelog, prepare-release, cleanup-merged
- short (
sleap-roots, this repo / salk-bloom / bloom-desktop): pre-merge, changelog, release, cleanup-branch
Decision: standardize on descriptive (verb-first) names with best-of content (adopt the richer command body where the lineages differ). Several of this repo's commands (fix-formatting, validate-env, new-feature, copilot-review, and the 8-phase pre-merge) are the canonical source bodies — they're richer than analyze's and should be promoted (under descriptive names).
Canonical set (repo-agnostic)
| Group |
Commands |
| Core loop |
tdd · lint · fix-formatting · coverage · run-ci-locally · validate-env |
| Feature/PR |
new-feature · review-pr · copilot-review · pr-description · review-openspec · pre-merge-check |
| Release / housekeeping |
update-changelog · prepare-release · cleanup-merged |
| OpenSpec |
proposal · apply · archive |
Drop: bare black; generate-pr-review.
Keep per-repo: domain commands (benchmark-pr, new-pipeline, debug-test, test, docs-update, investigate) stay — repo-specific, not part of the canonical generic set.
Source of truth for new repos: the scaffolding-lab-python-repo skill.
Deltas for this repo (sleap-roots)
Already aligned/canonical-source: fix-formatting, validate-env, new-feature, copilot-review, cleanup-merged, lint, coverage, run-ci-locally, review-pr, pr-description.
Standardize
.claude/commandsto the canonical lab dev-command setTwo
.claude/commandslineages have diverged across lab repos:sleap-roots-analyze):pre-merge-check,update-changelog,prepare-release,cleanup-mergedsleap-roots, this repo /salk-bloom/bloom-desktop):pre-merge,changelog,release,cleanup-branchDecision: standardize on descriptive (verb-first) names with best-of content (adopt the richer command body where the lineages differ). Several of this repo's commands (
fix-formatting,validate-env,new-feature,copilot-review, and the 8-phasepre-merge) are the canonical source bodies — they're richer than analyze's and should be promoted (under descriptive names).Canonical set (repo-agnostic)
tdd·lint·fix-formatting·coverage·run-ci-locally·validate-envnew-feature·review-pr·copilot-review·pr-description·review-openspec·pre-merge-checkupdate-changelog·prepare-release·cleanup-mergedproposal·apply·archiveDrop: bare
black;generate-pr-review.Keep per-repo: domain commands (
benchmark-pr,new-pipeline,debug-test,test,docs-update,investigate) stay — repo-specific, not part of the canonical generic set.Source of truth for new repos: the
scaffolding-lab-python-reposkill.Deltas for this repo (
sleap-roots)Already aligned/canonical-source:
fix-formatting,validate-env,new-feature,copilot-review,cleanup-merged,lint,coverage,run-ci-locally,review-pr,pr-description.pre-merge→pre-merge-check(keep its richer 8-phase body — this is the canonical content).changelog→update-changelog.prepare-release— source:sleap-roots-analyze.review-openspec— source:sleap-roots-analyze.tdd(the red→green→refactor workflow) — source:sleap-roots-analyze. (test/debug-testare complementary run/debug commands; keep them as repo-specific.)