Pi is an installer target
The installer writes .pi/skills/ in a project and ~/.pi/agent/skills/ under your home directory, with the AGENTS.md block covering the pointer. That is a folder of its own at both scopes.
It also walks the shared .agents/skills/ folder, at both scopes: in the project, and upward from the working directory through its ancestors up to the repository root. So Pi keeps a folder of its own and reads one the installer already writes, which puts it in Cline's and Amp's group rather than the shared-folder group Copilot and Kimi Code are in. It takes readsAlso for that, so choosing Pi beside Antigravity, Copilot, Kimi Code, or Amp fires the duplicate warning instead of leaving the same skill names in two folders silently.
Twelve agents now resolve to nine project folders.
Pi's trust step is not Hermes's
Both agents gate what they load out of a project, skills included, so the installer has to name the step. Only Hermes has a command for it. Pi asks on the first run, /trust saves the answer for later sessions, --approve answers once for an automated run, and defaultProjectTrust decides what a run that cannot ask will do.
The installer says that rather than printing a command that does not exist. One detail worth keeping: context files are not gated, so AGENTS.md loads either way. The pointer can sit there saying antislop is installed while the skills stay dark until the question is answered.
The Pi package door
Pi reads a pi key in the repository's root package.json, pointing at ./skills:
pi install git:github.com/miqdadbadjuber/anti-slopThat writes the package declaration to ~/.pi/agent/settings.json, which covers every project. Add -l to write it to this project's .pi/settings.json instead, where it applies to this repository only and loads after you grant project trust.
The key goes into the root manifest v3.2.14 created rather than a new file, because the same manifest carries the cline key the Cline door registers from. A second one would have unregistered it.
Checked against a real install, not the documentation
Pi 0.87.1 was installed and probed directly, driving its resource loader rather than going through a model:
- a project
.pi/skills/loads, and a project.agents/skills/loads beside it - both
~/.pi/agent/skills/and~/.agents/skills/load at user scope - all six skills load from the
pikey through the package door, with no diagnostic reported
The probe also corrected a claim this release would otherwise have shipped. Pi resolves a duplicate skill name itself and reports the copy it kept and the copy it dropped, so the collision notes in the README and the guide can no longer say that none of these agents settles it: project .pi/skills/ outranks the shared .agents/skills/, and it outranks the user-level folder too.
Updating
If you installed through the installer or the skills directory, npx antislop-ai --update covers it as before. The package door is outside its reach, because the declaration lives in Pi's own settings file and not in a skills folder:
pi update --extensionspi update on its own updates Pi itself rather than its packages. Every route is in the README's Update table and walked through in GUIDE.md.
Full detail is in the ROADMAP.