Skip to content

Add read-only installed skill checks - #294

Merged
nahiyankhan merged 2 commits into
mainfrom
feat/check-installed-skill
Sep 11, 2026
Merged

nahiyankhan merged 2 commits into
mainfrom
feat/check-installed-skill

Conversation

@nahiyankhan

@nahiyankhan nahiyankhan commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Category: new-feature
User Impact: Users can detect installed ghost instructions that differ from the CLI's bundled version.

Problem: An installed skill can fall out of sync after a CLI upgrade, with no command to compare its managed files.

Solution: Add ghost skill check using install's destination resolution. Report missing, changed, and extra reference files without writing, and suggest a reinstall command.

Compatibility: Exit 0 means matching files, 1 means differences, and 2 means invalid arguments. Checking does not establish which instructions an active session loaded; review local edits before reinstalling.

Scope: One of five independent PRs split from the original #291. This branch targets main and contains only this concern, its tests, and its documentation.

Related: Enforce resolved material access boundaries, Preserve guidance meaning in CLI output, Report incomplete guidance loading, Fix and validate rendered guidance examples.

Validation:

  • pnpm run quality:all: passed on this standalone branch, including build, package/release checks, tests (246 passed), workspace builds, and package validations.
  • Pre-commit checks and git diff origin/main...HEAD --check: passed.
  • Fresh dependency installation hit registry checksum errors. Validation used an isolated copy of the existing checkout's dependencies; the lockfile is unchanged.

Changeset: Existing minor changeset retained for the new command.

ghost Review: Review packet assembled against apps/docs/.ghost. This package does not bind the changed CLI/test/docs files, so the packet is coverage context, not a passing brand review. Used the current ghost review --package apps/docs/.ghost --base origin/main --format json and inspected ghost manifest; the older ghost check, --include-memory, and dump:cli-help workflows are unavailable in this checkout.

File changes (9 files)
File Purpose
.changeset/check-installed-skill.md Record the new read-only command.
README.md Document checking after upgrades and list the command.
packages/ghost/README.md Document checking after upgrades and list the command.
packages/ghost/src/commands/command-discovery.ts Expose checking in command discovery.
packages/ghost/src/commands/skill-check.ts Compare managed files and format differences without writes.
packages/ghost/src/commands/skill-command.ts Add the check action with shared destination resolution and argument validation.
packages/ghost/src/skill-bundle/SKILL.md Explain post-upgrade checks and their runtime limits.
packages/ghost/src/skill-bundle/references/schema.md Document destinations, exit codes, and read-only behavior.
packages/ghost/test/skill-check.test.ts Cover fresh and stale installs, destinations, read-only behavior, symlinks, and I/O failures.

Screenshots/Demos: N/A: no visual surface changes.

@nahiyankhan
nahiyankhan marked this pull request as ready for review September 11, 2026 05:34
@nahiyankhan
nahiyankhan merged commit 7621ceb into main Sep 11, 2026
6 checks passed
@nahiyankhan
nahiyankhan deleted the feat/check-installed-skill branch September 11, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant