shareable pi assets: skills, prompt templates, and extensions.
pi install git:git@github.com:fosskar/pi-pack.gitor in ~/.pi/agent/settings.json:
{
"packages": ["git:git@github.com:fosskar/pi-pack.git"]
}pi loads:
skills/prompts/extensions/
{
inputs.pi-pack.url = "github:fosskar/pi-pack";
}for pi via home-manager:
{
home.file = {
".pi/agent/skills".source = "${inputs.pi-pack}/skills";
".pi/agent/prompts".source = "${inputs.pi-pack}/prompts";
".pi/agent/extensions".source = "${inputs.pi-pack}/extensions";
};
}for services that need one skill path:
{
services.opencrow.skills.osm = "${inputs.pi-pack}/skills/osm";
}| name | purpose |
|---|---|
batch |
decompose and coordinate large codebase changes |
caveman |
answer tersely without dropping technical content |
grill-me |
interrogate a plan one question at a time |
jujutsu |
reference workflow for jj |
osm |
query OpenStreetMap / Nominatim / Overpass |
paperless |
read-only paperless-ngx search and browsing |
simplify |
review code for reuse, quality, and efficiency, then fix it |
| name | purpose |
|---|---|
commit.md |
commit current work with jj |
jjcommit.md |
atomic jj commit workflow |
publish.md |
publish committed work safely |
| name | purpose |
|---|---|
btw.ts |
ask current model a side question |
clipboard.ts |
copy text via OSC52 |
diff.ts |
open changed files in editor diff view |
oracle.ts |
ask another configured model for review |
pi-pong.ts |
run two models on a task until convergence |
pi-to-PI.ts |
rewrite standalone pi to PI for Anthropic |
safety-net.ts |
block or confirm dangerous tool calls |
sketch/ |
browser sketch pad for image input |
nix build .#
nix fmt
nix flake checkoutputs:
packages.<system>.default— packaged pi assets undershare/pi-pack/formatter.<system>— treefmt wrapperlib.skills,lib.prompts,lib.extensions— discovered asset names
extensions execute code in the agent process. review them before installing from git.
skills can instruct an agent to run commands. review them before enabling in unattended services.
MIT