Repository navigation
fix(cli): say init's skills install is global and how to skip it - #7691
Open
wonjangcloud9 wants to merge 1 commit into
Open
wonjangcloud9 wants to merge 1 commit into
wonjangcloud9 wants to merge 1 commit into
Conversation
init installs missing core skills into ~/.claude/skills and ~/.agents/skills, shared by every project, even when run inside a project with its own hyperframes dependency. That is the intended design, but `init --help` only said "Skip installing missing core AI skills" and the run itself never said the install is machine-wide or how to opt out. The help text and docs now name the global folders, and after an install init prints one line saying the skills are global and that --skip-skills (or HYPERFRAMES_SKIP_SKILLS=1) leaves them alone. Behaviour is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preview approval requiredThis pull request comes from a fork, so Mintlify won't build a preview until someone with write access approves commit |
This branch has not been deployed
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.
What
No behaviour change.
initnow tells you that the skills it installs are machine-wide and how to opt out:init --help:--skip-skillsreads "Leave AI skills alone. Without it, init installs missing core skills globally (~/.claude/skills, ~/.agents/skills), for every project. Also HYPERFRAMES_SKIP_SKILLS=1" (was "Skip installing missing core AI skills (also HYPERFRAMES_SKIP_SKILLS=1)").init --skip-skills(or HYPERFRAMES_SKIP_SKILLS=1) leaves skills alone."docs/packages/cli.mdx(init): the paragraph about the skills install names the two folders and--skip-skills.Why
Running
initinside a project that already has a localnpm i hyperframesinstalls the core skills into the global~/.claude/skillsand~/.agents/skillsand creates~/.agents/.skill-lock.json. That is deliberate (GLOBAL_INSTALL_ARGS_TAILincommands/skills.ts: "installing once globally beats copying a full set into every project";skills/hyperframes/references/skill-lifecycle.mddocuments it). But nothing ininitsaid so:--helponly offered "Skip installing missing core AI skills", the CLI reference said "installs the core AI skills from the current GitHub source", and the run printed theskillstool's install box plus "Workflow skills not installed here are added on demand" — where "here" reads as "this project". A user who scaffolds a project expects it to touch that project; finding six skill folders and a lock file in their home directory afterwards was a surprise.Related work
No existing issue or PR (searched "skip-skills", "skills global init"). #5704/#5706 were about symlink vs copy mode, not about saying where the install goes.
How
packages/cli/src/commands/init.ts: theskip-skillsarg description, and oneconsole.loginkeepSkillsCurrent's "installed" branch (not printed when nothing was installed, when skills were already current, or offline).docs/packages/cli.mdx: one sentence.Test plan
Real CLI, isolated
HOME(so nothing touched the real~/.claude),init proj --non-interactivewithout--skip-skills:main: the install box lists
~/.claude/skills/<name>/~/.agents/skills/<name>, thenWorkflow skills not installed here are added on demand, when first used., thenGet started:.this branch: same, plus
These skills are global: every project on this machine uses them.init --skip-skills(or HYPERFRAMES_SKIP_SKILLS=1) leaves skills alone.init --helpbefore/after as quoted above.Unit tests added (
init.skillsNotice.test.ts): runsinitin-process withupdateSkillsmocked to report an install and asserts the new line; checks the--skip-skillsdescription names~/.claude/skillsand the env var. Both fail on main'sinit.ts, both pass here; allsrc/commands/init*tests pass (98/98).Manual testing performed (above).
Documentation updated (
docs/packages/cli.mdx)Comments follow CONTRIBUTING.md "Comments"
Gates: oxlint, oxfmt, typecheck, fallow, comment ratchet — pass.
🤖 Generated with Claude Code