pi-skill-families GitHub

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
Sample skills
35 skills advertised
4.5k metadata tokens
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 skills
react4
ui3
web1
docs6 · off
testing3 · off
vercel-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
Docs off
skill_families({
  action: "disable",
  family: "docs"
})
Family "docs" set to disabled.
6 skills now hidden.
29/35

skills advertised

3.5k metadata tokens

The same library,a smaller prompt.

35
skills advertised
4.5k
metadata tokens
Frontend8
Design3
Docs6
Testing3
Backend5
Ops5
Workflow5
21
skills advertised
2.6k
metadata tokens
Design3
Testing3
Backend5
Ops5
Workflow5

Docs and Frontend off.

The agent's side

Actual tool output from a 35-skill sample workspace. Public skills from skills.sh.

skill_families status output listing nine families and their enabled counts.
Status names every family and its count.
skill_families families output showing glob patterns for Frontend, Docs, and Backend families.
Families shows the patterns behind each group.
skill_families show output reading a disabled Docs skill (docx) and printing its SKILL.md header.
Show reads a disabled skill without enabling it.
skill_families list output with names, state, family, and full descriptions for Frontend skills.
List returns names, state, family, and descriptions.

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