Skip to content

Installed skill check misses stale or missing reference guides #463

Description

@yohimik

Summary

The installed-skill check compares only SKILL.md. A stale or missing file under references/ produces no warning when the root skill still matches the bundled copy.

I checked the published @playwright/cli@0.1.19 npm tarball, which includes the skills and reference files. This is a gap in the existing check, not a recurrence of the missing-package-files issue in #276.

Reproduction

  1. Install matching skills with playwright-cli install --skills.
  2. Leave .claude/skills/playwright-cli/SKILL.md unchanged.
  3. Change or remove .claude/skills/playwright-cli/references/video-recording.md.
  4. Invoke a command that runs checkInstalledSkills().

Expected: the same refresh guidance used for an outdated root skill, covering the affected reference too.

Actual: no mismatch warning. Changing SKILL.md itself does produce the warning.

I independently exercised the published skillCheck.js in a small filesystem fixture with matching root files and different reference files; the reference-only case emitted nothing, while a root-file change emitted the expected warning. The current implementation at 655530f still resolves and compares only the root SKILL.md.

The path history supports the same scope: #427 introduced the stale-skill warning, #439 added line-ending normalization, and the later Playwright roll did not extend the comparison to references/. The current package contains the files, but the installed-copy check does not cover their content.

This matters for the compatibility policy described in #415: the agent also reads the linked guides, and #322 is an example of command syntax living in those guides. Comparing the installed reference tree against the bundled tree, or using a generated content manifest, would extend the existing advisory check. Line-ending normalization should remain, and locally edited guides can receive a warning rather than a hard failure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions