Skip to content

Add local skill installs#35

Open
oronbz wants to merge 1 commit intopointfreeco:mainfrom
oronbz:feature/local
Open

Add local skill installs#35
oronbz wants to merge 1 commit intopointfreeco:mainfrom
oronbz:feature/local

Conversation

@oronbz
Copy link

@oronbz oronbz commented Feb 8, 2026

--local: project-scoped skill installs

Skills currently install to the user's home directory, which means every project on your machine shares the same set. The new --local flag drops symlinks into the current working directory instead, so you can version-control exactly which skills a repo uses.

pfw install --local              # defaults to .agents/skills
pfw install --local --tool codex # .codex/skills in the project root

--local cannot be combined with --path (you already know where you want things).

Includes validation, a localInstallPath helper, currentDirectoryPath on FileSystem, and tests covering agents-default, single tool, multi-tool, and opencode variants.

@mbrandonw
Copy link
Member

Hi @oronbz, thanks for exploring this, but is this different from pfw install --path .?

@oronbz
Copy link
Author

oronbz commented Feb 8, 2026

Hi @oronbz, thanks for exploring this, but is this different from pfw install --path .?

Hi @mbrandonw, thanks for checking in! First of all, I have to admit, I only saw this param after I've started to implement the feature, I guess I wasn't on the latest version befrehand.

Secondly, while --path does offer a possibility to put the skills wherever you want, --local make the process seamless and streamlined without remembering every agent directory, automatically putting it in ~/.agents/skills while also supports combining it with the --tool.
One could even say that --tool is redundant because of --path but I believe it serves the exact same purpose.

@stephencelis
Copy link
Member

@oronbz I think we are open to this but instead of defaulting to .agents it should probably perform the same kind of logic done globally, where it looks for directories like .codex, .claude and installs them locally there. How's that sound?

@oronbz
Copy link
Author

oronbz commented Feb 18, 2026

@oronbz I think we are open to this but instead of defaulting to .agents it should probably perform the same kind of logic done globally, where it looks for directories like .codex, .claude and installs them locally there. How's that sound?

I also lately discovered that Claude Code doesn't even look for skills in .agents but most of the agents look for .claude.
So I believe .claude is a better default, but according to your suggestion, where should the files be put if those directories do not exist?

@stephencelis
Copy link
Member

I think we should check the various .{tool} directories and install in any/all of those that exist, and then if it finds none, it should ask for a tool and use that .{tool} directory. This matches the behavior of global installation.

If for whatever reason certain tools have different local directories, we can special case those in a computed property on the tool. Sound good?

@stephencelis
Copy link
Member

@oronbz Just checking in, are you still interested in addressing the above feedback to get this merged?

@oronbz
Copy link
Author

oronbz commented Mar 4, 2026

@oronbz Just checking in, are you still interested in addressing the above feedback to get this merged?

Hey definitely!
Tough times here (geographically speaking) but I'll get to it soon enough

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.

3 participants