fix(skills): fix pi platform install and all-platform extension inclusion#560
Merged
Conversation
…sion Fixes pup skills install failing with pi as a target (#559). - `pup skills install --name <skill> pi` now gives a helpful error explaining pi is extension-only and listing dd-pup-pi as the available extension, instead of a cryptic "no install target" message. - `pup skills install all` (with or without --name/--type filter) now installs dd-pup-pi on pi in addition to skills on other platforms. - Platform count in success messages reflects actual platforms written to, not the full selected set. - `--dir` multi-platform installs deduplicate writes by path so file counts are accurate. - Extension platform guard in install_paths/install_path is now unconditional — --dir cannot bypass platform capability checks. - Agent-mode JSON "platforms" field reports installed platforms only. - Extracted PlatformSpec::is_extension_only() helper to avoid duplicating the user_skills/project_skills emptiness check. - Collapsed format_as_agent_md to delegate to format_as_skill_md (currently identical; doc comment notes when they will diverge). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #559.
pup skills installfails in two ways whenpiis targeted:pup skills install --name dd-apm pigives a cryptic "no install target" error instead of explaining that pi only supports extensions.pup skills install --name dd-apm allsilently skips pi and reports a misleading platform count (7 platforms but nothing installs on pi).Changes
Bug fix — better error for extension-only platforms (
src/commands/skills.rs)New behavior —
allalways installs pi extension (src/commands/skills.rs)pup skills install all(with or without--name/--typefilter) now also installsdd-pup-pion pi, sinceallmeans "full experience on every platform"Correctness fixes (
src/skills.rs,src/commands/skills.rs)--dirmulti-platform installs deduplicate writes by path (prevents redundant writes and inflated counts)install_pathsandinstall_pathis now unconditional —--dircan no longer bypass platform capability checks, preventing wrong attribution"platforms"field reports only installed platformsCode quality (
src/skills.rs)PlatformSpec::is_extension_only()helper (was duplicated inline)format_as_agent_mddelegates toformat_as_skill_md(currently identical; doc comment notes when they diverge)impl PlatformSpecblock foris_extension_only()Testing
commands/skills.rsincluding 6 new ones covering: original bug scenario,--type agent pi,--name dd-apm all,--type skill all, wrong-platform generic error, and dedup file countskills.rs:is_extension_only()unit tests, structural platform invariant, extension content-empty integrity check, pi+--dirreturning None-D warningsRelated Issues
Closes #559
🤖 Generated with Claude Code