Skills,
by family.
Toggle whole skill families in Pi so a large library stays out of the prompt, and let the agent re-enable them on demand.
skill_families({ action: "status" })
Families are the control
Patterns decide membership
Glob patterns group skills. The first matching family wins.
Per-skill exceptions
A family can be off while one skill stays on. The override wins.
frontend8 skillsvercel-react-best-practicesoverride: on{
"families": { "docs": "disabled" },
"skills": { "vercel-react-best-practices": "enabled" }
}
Disabled is not deleted
The file stays on disk. The agent can search, show, and re-enable it.
Runtime, not reload
State changes land on the next turn. No restart, no reinstall.
How it works
Ask for a family.
“Disable the Docs family.”
The agent calls the tool.
State is written to .pi/skills-state.json.
The next turn is smaller.
The skills section advertises 29 skills instead of 35.
skill_families({
action: "disable",
family: "docs"
})
Family "docs" set to disabled.
6 skills now hidden.
skills advertised
The same library,a smaller prompt.
Docs and Frontend off.
The agent's side
Actual tool output from a 35-skill sample workspace. Public skills from skills.sh.
Install it
One package, one tool, no build step. Tested with Pi 1.3.0.
pi install npm:@varnothing-works/pi-skill-families
Then ask your agent to disable a family.
Questions
No. The file stays on disk. The agent can search for it, read it with show, and enable it again.
Yes. A per-skill setting overrides its family, so a family can stay off while one skill stays on.
Families use glob patterns plus explicit assignments. The first matching family wins, and an explicit assignment overrides patterns.
It manages the skills discovered in the current session. Starting Pi inside a project repository stops workspace skill discovery at the repository root.
It changes the system prompt, so the next request may miss the cached prefix. Toggle families when the trade is worth it.
No. Disabled skills are not advertised, but a model that knows the path can still read the file.
Turn off a family. The next turn gets smaller.
Install from npm