pi package for shared agent workflows. The repository is structured as a monorepo containing modular, published packages under packages/, while skills/ and extensions/ contain unmigrated shared resources.
Install the package once to get all included skills and extensions.
pi install git:git@github.com:testzugang/pi-plugins.gitFrom the repository root:
pi install .Or from another directory:
pi install /path/to/pi-pluginsThe following selected plugins are published to npm and can be installed individually:
migrate-to-agents-md:pi install npm:@testzugang/pi-migrate-to-agents-mdaudit-agents-md:pi install npm:@testzugang/pi-audit-agents-mdcommit:pi install npm:@testzugang/pi-commitpr-findings:pi install npm:@testzugang/pi-pr-findingsdependency-audit:pi install npm:@testzugang/pi-dependency-audit
After installation, restart pi or run:
/reload
Migrates agent-specific instructions from CLAUDE.md to AGENTS.md.
Install the package, then run:
/skill:migrate-to-agents-md
Use when you want to split existing Claude/project instructions into a dedicated AGENTS.md file.
Audits only AGENTS.md for clarity, contradictions, stale harness-specific instructions, and unsafe automation guidance.
Install the package, then run:
/skill:audit-agents-md
Use after creating or editing AGENTS.md.
Creates gitmoji commits with staged-diff review, motivation, message proposal, and confirmation.
Install the package, stage your changes, then run:
/skill:commit
The skill asks for motivation, proposes a commit message, and confirms before running git commit.
Fetches GitHub PR review findings via gh and groups them by severity.
Prerequisites:
gh auth loginInstall the package, then run one of:
/skill:pr-findings
/skill:pr-findings 123
/skill:pr-findings 123 owner/repo --unresolved
/skill:pr-findings --severity blocker
/skill:pr-findings --mine --include-stale
If no PR number is provided, the skill tries to resolve the PR for the current branch.
Agent/tool usage:
pr_findings({ unresolved: true })
pr_findings({ prNumber: 123, repo: "owner/repo", severity: "blocker" })
pr_findings({ waitForNextReview: true, waitTimeoutSec: 60, waitPollSec: 30 })
waitForNextReview is useful right after a push so findings are only read after fresh review activity (default wait mode: new-review-activity).
Stress-tests a plan against the existing domain model (CONTEXT.md) and architectural decisions (docs/adr/).
Install the package, then run:
/skill:grill-with-docs
Ported and optimized for pi from mattpocock/skills.
Surfaces architectural friction and proposes deepening opportunities based on domain language.
Install the package, then run:
/skill:improve-codebase-architecture
Ported and optimized for pi from mattpocock/skills.
Compacts the current conversation into a document for another agent or session.
Install the package, then run:
/skill:handoff
Ported and optimized for pi from mattpocock/skills.
Static-first review of TypeScript dependencies, npm packages, and GitHub repositories for supply-chain malware and risky scripts.
Install the package, then run:
/skill:dependency-audit
When run without parameters, the skill asks first whether to audit pi dependencies, project dependencies, or both. You can also pass a specific package or repository URL:
/skill:dependency-audit https://github.com/user/repo
For reusable global-pi checks and interactive terminal updates, see:
packages/pi-dependency-audit/skills/dependency-audit/scripts/pi-check-*.shpackages/pi-dependency-audit/skills/dependency-audit/scripts/run_pi_dependency_audit.pypackages/pi-dependency-audit/skills/dependency-audit/scripts/summarize_pi_dependency_audit.pypackages/pi-dependency-audit/skills/dependency-audit/scripts/pi-interactive-update.py(interactive CLI selector)packages/pi-dependency-audit/skills/dependency-audit/config.json(default age-gate: 24h)
To automatically run the security audit and launch the interactive selection menu every time you type pi update or pi update --extensions in your terminal, add this function to your shell configuration (e.g., ~/.zshrc):
pi() {
if [[ "$1" == "update" && ( -z "$2" || "$2" == "--extensions" ) ]]; then
python3 ~/.pi/agent/git/github.com/testzugang/pi-plugins/packages/pi-dependency-audit/skills/dependency-audit/scripts/pi-interactive-update.py
else
command pi "$@"
fi
}Starts and controls a Chrome browser automation session through pi commands and agent tools.
Install the package, then use the browser commands:
/browser-start
/browser-start profile
/browser-start profile "Profile 2"
/browser-profile
/browser-profile clear
/browser-nav https://example.com
/browser-nav https://example.com --new
/browser-eval document.title
/browser-screenshot
Agents can also call these tools directly:
browser_start({ profile?: boolean | string })
browser_nav({ url: string, newTab?: boolean })
browser_eval({ code: string })
browser_screenshot({})
For guidance during browser tasks, run:
/skill:browser-tools
Chrome profile defaults can be stored in .pi/browser-tools.json for a project or ~/.pi/agent/browser-tools.json for the user.
migrate-to-agents-mdaudit-agents-mdcommitpr-findingsbrowser-toolsgrill-with-docsimprove-codebase-architecturehandoffdependency-audit
The repository uses a monorepo structure where modular, high-maturity plugins are isolated as independent NPM packages inside the packages/ directory. Unmigrated or legacy shared agent resources reside in the root skills/ and extensions/ directories.
pi-plugins/
packages/ # Published independent npm packages (Monorepo Workspaces)
pi-xxx/ # Package workspace containing its own package.json, SKILL.md and assets
skills/ # Remaining unmigrated shared Agent Skills (legacy root)
extensions/ # Remaining unmigrated shared extensions (legacy root)
prompts/ # Shared Prompt templates
themes/ # Shared TUI themes
scripts/ # Shared validation and utility scripts
tests/ # Shared test suites and package-manifest checks
Empty resource directories contain .gitkeep files until their first resource is added.
pi discovers resources through package.json:
{
"pi": {
"skills": ["./skills"],
"extensions": ["./extensions"],
"prompts": ["./prompts"],
"themes": ["./themes"]
}
}npm run validate