Conversation
Compare two registry skills or a registry skill against its installed copy on a platform. Supports --json, --scope, and --platform flags. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
devrimcavusoglu
left a comment
There was a problem hiding this comment.
Code Review
Overall this is a solid, well-tested PR that follows project conventions. All checks pass locally (make test, make lint). A few items to consider:
Issues
-
Missing
modified-bycomparison —compareSkillscovers all Skill fields exceptMetadata.ModifiedBy. This is the append-only provenance list and a likely source of drift between registry and platform copies. Either add it to the comparison or document its intentional omission. -
--scopedefault inconsistency between modes — In two-arg mode, empty--scopesearches project-first then user (viaresolveSkill). In one-arg (platform) mode, it hardcodes"user". This is pragmatic but subtly inconsistent. TheLongdescription should at minimum note the default. -
Missing
skill.ValidateNamecall — Other commands (skill install,skill remove) validate names upfront for clearer error messages. This PR skips that step and relies on downstream lookup failures. -
Longdescription slightly inaccurate — Says--scopeis required for one-arg mode, but it actually defaults to"user". Also--scopeapplies in two-arg mode too. Suggest:With one argument, compares a registry skill against its installed copy on a platform (requires --platform; --scope defaults to "user"). With two arguments, compares two registry skills by name (--scope filters to a specific scope; omit to search both).
Test coverage
12 tests with good coverage of both modes, JSON/text output, and error paths. Nice-to-have additions: --scope project for platform mode, invalid --scope value, two-arg mode with explicit --scope.
None of the above are blocking — approve once addressed or acknowledged.
Summary
skern skill diff <name> --platform <platform>to compare a registry skill against its installed copy on a platformskern skill diff <name-a> <name-b>to compare two registry skills by name--json,--scope, and--platformflagsTest plan
--platform allrejection, default scopemake buildpassesmake testpasses (all packages)make lint— 0 issuesCloses #46
🤖 Generated with Claude Code