feat: show compile-check in help, list, completion and skills

Merged
HA
4d ago
+311-28

Summary

  • uloop compile-check is now listed in uloop --help, uloop list --names and shell completion, and uloop skills install installs its skill, as decided in ADR 0018.

User Impact

  • Before: the command ran but nothing advertised it. Help, the command list, completion and the installed skills all left it out, so agents never found it.
  • After: agents see it next to verify-project and get a skill that says when to use it and which edits it cannot see, after which uloop compile is needed.

Changes

  • cli/common/clicore/command_registry.go: compile-check no longer sets Hidden. The field stays, with a note that no command sets it today. The test that asserted compile-check was hidden now pins the exclusion with a temporary hidden-probe entry, so the filtering in VisibleNativeCommands and NativeCommandNamesForCompletion stays tested.
  • Tests that listed the visible commands now include compile-check (help, unknown-command suggestions, list --names). The help check for a baked-in Unity compile tool now looks for " compile " so it does not match compile-check.
  • The skill drops internal: true and gains a three-line note on the edits that stay unseen (7,982 bytes, under the 8,000-byte cap). The generated copies under .claude/skills/ and .agents/skills/ were regenerated with uloop skills install --claude --agents and match the source.
  • docs/compile-check.md replaces the "hidden" paragraph with a pointer to ADR 0018. The README and README_ja list the skill, add the missing /uloop-cancel row, and count 23 bundled skills (the installable SKILL.md files, internal ones excluded), and show uloop compile-check among the CLI examples. docs/glossary.md gains a "Compile check" entry.
  • scripts/stamp-release-inputs.sh refreshed cli/dispatcher/shared-inputs-stamp.json and cli/project-runner/shared-inputs-stamp.json for the cli/common change.

Verification

  • cli/common, cli/dispatcher, cli/project-runner: gofmt -l . empty, go vet, golangci-lint run ./... 0 issues, go test ./... -count=1 pass. The exceptions are TestOSUnixMetadataReaderReportsRealOwnerAndMode and TestSendWithTransientConnectionRetryAbortsOnRefusedConnect, which the local sandbox denies (mkdir /tmp and a unix socket bind fail with "operation not permitted"); they are unrelated to this change and run in CI.
  • go run ./cmd/check-release-triggers --base origin/feature/compile-check-visible (in cli/release-automation): "Release trigger guard passed."
  • dist/darwin-arm64/uloop --help | grep compile-check prints one line.
  • check-skill-size: no SKILL.md over the limit. scripts/sync-tool-docs.sh --check: the catalog matches.