refactor(machine-health): rename check skill to audit#270
Conversation
The skill emits a findings report, not a deterministic pass/fail gate; the marketplace naming grammar reserves `check` for gates and `audit` for read-only reports. Directory and frontmatter `name` move together; "check"/"health check" remain description triggers. All repo-wide references updated atomically; plugin bumped to 0.5.0 with a breaking-rename CHANGELOG entry (0.x breaking-by-minor precedent, no renames-map entry). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YVApnNGoKxYMJKNQx1QK8C
## What Renames the `debugging` plugin's sole skill: `/debugging:diagnose` → `/debugging:debug`. One atomic rename PR per the shadowed-skill-renames contract (#256): directory (`git mv`) and frontmatter `name` move together, and all repo-wide references update in the same PR. - `plugins/debugging/skills/diagnose/` → `plugins/debugging/skills/debug/` (all bundled files) - Frontmatter `name: debug`; description unchanged — already third-person what+when, and keeps "diagnose this" as a trigger phrase - Internal `${CLAUDE_PLUGIN_ROOT}/skills/diagnose/...` paths, self-references, checklist/reference headers, and evals updated - `plugins/debugging/README.md` invocation line updated - `plugins/verification/skills/confirm/evals/evals.json` boundary notes updated - `docs/MIGRATION-PLAYBOOK.md` non-router-skill example updated - `plugins/debugging` bumped 0.3.0 → **0.4.0** (0.x breaking-by-minor precedent); new `CHANGELOG.md` with the breaking entry ## Why The skill runs the full repro → hypothesize → fix → regression-test loop; "diagnose" promised only the first half, and twinned confusingly with the unrelated `/testing:diagnose` (a read-only test-failure investigator that keeps its name). Pre-migration shadow-compromise naming is no longer needed now that plugin namespacing exists. ## Breaking change - `/debugging:diagnose` no longer resolves; invoke `/debugging:debug`. Clean break — no `renames`-map entry per the contract (marketplace `renames` map unchanged; its existing `"diagnose": "debugging"` entry is the historical plugin-level rename). - No collision with Claude Code's built-in bundled `/debug` skill: plugin skills have no bare command form, so the plugin skill is only reachable as the namespaced `/debugging:debug`. ## Deliberate skips - `plugins/testing/**` — `/testing:diagnose` is a different skill and keeps its name. - `docs/topics/plugin-organization/PLAN.md` — historical record of the earlier plugin reorganization (its D3/D13 rows describe decisions as made at the time). - `.claude-plugin/marketplace.json` — `renames` map untouched (contract constraint); the `diagnose` tag stays as a discovery keyword, mirroring the retained trigger word. - `plugin.json` `keywords` keeps `diagnose` as a discovery keyword. ## Verification - `git grep -n "debugging:diagnose"` → 0 hits - `git grep -n "skills/diagnose"` → 0 hits - `git grep -nE "(^|[^a-z:])/diagnose\b"` → 0 hits - Remaining `diagnose` hits in `plugins/debugging` are the deliberate trigger word in the skill description and the plugin keyword - Edited JSON files parse cleanly 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01YVApnNGoKxYMJKNQx1QK8C ## Related No linked issue. Contract source: #256. Sibling shadowed-skill rename PRs: #269, #270, #271. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 3m 53s —— View job PR Review: refactor(machine-health): rename check skill to audit
OverviewThis is a clean, atomic rename from What checks out ✅Rename completeness. All the right things were updated together:
Verification claims verified. Discovery trigger phrases preserved. Deliberate skips are sound. Schema URN
Issues1. Dangling program reference — This isn't a blocker if #256 is in flight, but consider either: landing #256 first (dependency), or briefly capturing the naming rule in 2. Follow-up behavior gap has no tracking home — The PR body notes that once a user seeds Fix this → — File a follow-up issue so this gets a real decision, not a PR comment that scrolls out of view. Nit (no action required)CHANGELOG entries repo-wide omit release dates (pre-existing convention). The VerdictThe rename itself is correct and complete. The two issues above are about program tracking (the missing PLAN.md) and security-posture follow-up (the DryRun default), not about the rename's correctness. Safe to merge if PR #256 establishes the naming-grammar contract. |
## What Renames the `work-items` plugin's `scan` skill to `scan-todos` — directory (`plugins/work-items/skills/scan` → `scan-todos` via `git mv`), frontmatter `name`, and every live repo-wide reference, atomically in one PR. One of the sequenced shadowed-skill-rename PRs (contract: `docs/topics/shadowed-skill-renames/PLAN.md`, PR #256). ## Why Under the `work-items` namespace, bare `scan` read as scanning tracker items. The skill sweeps the codebase's **source comments** for TODO/FIXME/HACK/XXX markers (and can resolve or file each) — the name now states its object. Per the fetched skills doc (https://code.claude.com/docs/en/skills), the invocation name comes from the skill directory name, so the directory and frontmatter `name` move together. ## Breaking change - `/work-items:scan` no longer exists; invoke `/work-items:scan-todos`. - No `renames`-map entry (settling-phase policy: clean break + version bump). - `work-items` plugin bumped **0.7.0 → 0.8.0** with a `Changed (breaking)` CHANGELOG entry. ## Changes - `skills/scan/` → `skills/scan-todos/` (`SKILL.md` + `evals/evals.json`); frontmatter `name: scan-todos`; description sharpened to state the object (source comments, not tracker items); usage line and eval `skill_name`/prompt updated. - Sibling-skill cross-references updated: `track`, `triage`, `work`, `decompose` descriptions; `track`'s scope note and legacy-verb router (`scan` → `/work-items:scan-todos`). - Shared docs: `reference/tracker-seam.md`, `reference/topic-docs.md`, `templates/checklist.md`, plugin `README.md`. - `plugin.json` version bump; new `[0.8.0]` CHANGELOG entry. ## Deliberate skips - Historical CHANGELOG entries (0.7.0 migration table and older) left verbatim. - `track/SKILL.md` legacy-verb list keeps the old bare verb `scan` on the left of its routing arrow (it names the retired monolith sub-action). - English-verb "scan"/"scanning" prose (plugin description, `add.md`, unrelated plugins) untouched. - `.claude-plugin/marketplace.json` untouched — it carries no skill names or per-plugin version, and no `renames` entry is added by policy. ## Verification - `git grep "work-items:scan"` → only `scan-todos` forms and the preserved historical CHANGELOG rows. - `git grep "skills/scan\b"` → no hits. - Skill-name/directory agreement: `name: scan-todos` matches `skills/scan-todos/` (invocation name derives from the directory per the official skills doc). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01YVApnNGoKxYMJKNQx1QK8C ## Related No linked issue. Contract source: #256. Sibling shadowed-skill rename PRs: #268, #270, #271. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
claude-review findings addressed:
No code changes needed on this branch. |
) Codifies the marketplace naming convention in PLUGIN-PHILOSOPHY: - Imperative-verb grammar; namespace supplies the object. Documented deviation from the official gerund preference (sanctioned alternative + collection-consistency requirement), chosen for sentence-composability. - Fixed verb meanings: `audit`/`scan` read-only (mutation only behind explicit override), `check` = pass/fail gate, `clean`/`tidy`/`fix` mutate, `setup`, `update`. - Sanctioned exceptions: knowledge/lifecycle-object noun routers, vendor-wrapper stutter, `-deep` isolation tier. - Cross-plugin reference rule: declared `dependencies` (auto-install) or "if installed" guard — bare references are defects. - Adds the `shadowed-skill-renames` topic contract (interview output) that drives the follow-up rename PRs. Sources fetched this session, linked in Authoritative references (verified 2026-07-17). No external content copied. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01YVApnNGoKxYMJKNQx1QK8C ## Related No linked issue. Companion doctrine PR: #257. Drives the follow-up shadowed-skill rename PRs: #268, #269, #270, #271. --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
## What Renames the `toolchain` plugin's `build` skill to `check` — one atomic rename PR from the shadowed-skill-renames plan (`docs/topics/shadowed-skill-renames/PLAN.md`, PR #256): - `git mv plugins/toolchain/skills/build plugins/toolchain/skills/check` (directory name is what sets the `/toolchain:check` command; frontmatter `name` moved with it) - Repo-wide reference sweep: every living reference to `/toolchain:build` updated — `verification:confirm`'s Stage-1 delegation, `implementation:implement` / `implement-dispatch` build-gate references, `testing:*` SSOT citations, `toolchain:lint` / `toolchain:setup` cross-references, reference YAMLs, READMEs, evals, `docs/conventions/ecosystem-commands`, and the plugin-organization decision record's live seam reference - `toolchain` plugin bumped 0.1.1 → 0.2.0 with a breaking-rename CHANGELOG entry - No `renames`-map entry, per the plan's constraint (clean breaking change while the marketplace settles) ## Why The skill runs build + test + lint as a deterministic pass/fail gate; per the marketplace naming grammar `check` = deterministic gate. "build" is also a null phase for several covered ecosystems (Python, Markdown), so the old name under-described what the skill does. Description keeps the "build", "does it compile", "run tests" trigger phrases so auto-invocation behavior is unchanged. ## Breaking `/toolchain:build` no longer exists — invoke `/toolchain:check`. Arguments, behavior, and the resolution ladder are unchanged. Consumers get the rename via the 0.2.0 plugin bump; there is no automatic renames-map migration. ## Verification - `git grep toolchain:build` → hits only in historical CHANGELOG entries (implementation, testing, verification, source-control, toolchain 0.1.0) and the new 0.2.0 breaking-rename note - `node scripts/validate-plugin-contracts.mjs` → pass (17 setup skills, 1377 plugin files) - `scripts/check-cross-plugin-source-drift.sh --check` → clean - `markdownlint-cli2` over touched markdown → 0 errors - Skill-name mechanics verified against https://code.claude.com/docs/en/skills (plugin skill command name = directory name, namespaced by plugin) Deliberate skips: historical CHANGELOG entries and the pre-split skill-name list in `plugins/implementation/README.md`'s migration section keep the old name as historical record; `marketplace.json` `tags`/`keywords` keep "build" (still functionally descriptive); no vendor/ or `.work/` touched. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01YVApnNGoKxYMJKNQx1QK8C ## Related No linked issue. Contract source: #256. Sibling shadowed-skill rename PRs: #268, #269, #270. --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QdCmaHa15bwUTh9sy7Rfdz
What
Renames the
machine-healthplugin'scheckskill toaudit— directory (skills/check/→skills/audit/) and frontmatternamemove together — with all repo-wide references updated atomically. Part of the shadowed-skill-renames program (contract:docs/topics/shadowed-skill-renames/PLAN.md, PR #256).Why
The skill emits a findings report (dated markdown, CRIT/WARN/UNKNOWN sections, trend deltas), not a deterministic pass/fail gate. The marketplace naming grammar reserves
checkfor deterministic gates andauditfor read-only reports. "check" / "health check" remain as description trigger phrases so discovery is unaffected.Breaking change
/machine-health:check→/machine-health:audit. The plugin ID (machine-health) is unchanged.0.4.0→0.5.0(0.x breaking-by-minor precedent) with a CHANGELOG breaking-rename entry.renames-map entry, per the program constraint (clean break while the marketplace settles).Follow-up noted (not fixed here)
The audit contract requires bare invocation to be read-only, with mutation only behind an explicit user override. Today, remediations default to not approved (
approvals.jsonempty; first run forces dry-run), so a bare invocation on a fresh install never mutates. However, once a user seeds approvals via/machine-health:setup, subsequent bareweekly/on-demandinvocations execute those pre-approved remediations without a per-invocation flag (DryRundefaults to$false). Whether persistent approval satisfies the "explicit user override (flag/argument)" clause, or the default should flip to dry-run absent a flag, is left as a follow-up decision — behavior is intentionally unchanged in this PR.Deliberate skips
plugins/machine-health/CHANGELOG.md[0.4.0]entry still says/machine-health:check— historical record, not rewritten.$idURNsurn:claude-code-plugin:machine-health:check-result/...:checks— these name the check-result/catalog schemas (individual checks remain the domain vocabulary), not the skill.docs/topics/plugin-organization/PLAN.mdD17 (machine-health→check) — historical decision record.check-catalog.mdreference filenames and allTest-*/*Check*script names — domain vocabulary for individual checks, unchanged.Verification
git grep -n "machine-health:check"→ only the historical 0.4.0 CHANGELOG entry, the new 0.5.0 migration note, and the schema URNs above.git grep -nE 'skills[/\]check\b'→ clean (forward- and backslash path forms swept, including PowerShell examples in the skill README and testing reference).name: auditmatches the directory name (agentskills.io constraint).renamesmap untouched.🤖 Generated with Claude Code
https://claude.ai/code/session_01YVApnNGoKxYMJKNQx1QK8C
Related
No linked issue. Contract source: #256. Sibling shadowed-skill rename PRs: #268, #269, #271.