Skip to content

feat(integrations): add Pi subagent support - #809

Open
HerbertGao wants to merge 6 commits into
msitarzewski:mainfrom
HerbertGao:feat/pi-support
Open

HerbertGao wants to merge 6 commits into
msitarzewski:mainfrom
HerbertGao:feat/pi-support

Conversation

@HerbertGao

@HerbertGao HerbertGao commented Aug 28, 2026 •

Copy link
Copy Markdown

What does this PR do?

Adds Pi custom Subagent support to the tool registry, converter, installer, docs, and the existing tool-consistency checks.

  • registers a dual-scope pi-agent-md target
  • preserves Claude name, description, color, emoji, vibe, and the persona body, including later --- separators
  • maps Read/Write/Edit/Bash/Grep/Glob to read/write/edit/bash/grep/find
  • keeps the original list and unmapped names under x-agency-*
  • writes extensions: false for an explicit tools list, and tools: none when nothing in that list maps
  • strips one quote pair from a tools scalar before mapping
  • installs to ~/.pi/agent/agents/ by default, or to the directory given by --path (.pi/agents for a project)
  • honors PI_CODING_AGENT_DIR and PI_AGENTS_DIR
  • backs up a divergent regular file and skips a symlink or non-file target
  • includes Pi in the shared --path filename collision group

Generated integration output stays ignored. The same directories are read by @tintinweb/pi-subagents, which already treats tools: none as an empty list and unquoted extensions: false as a boolean.

Compatibility with nicobailon/pi-subagents waits on nicobailon/pi-subagents#3017. Until that lands, false and none are loaded as names.

Agent Information

N/A. This PR does not add or change an agent persona.

Validation performed

  • fork CI on this head, including ./scripts/check-tools.sh, frontmatter, agent selection, and both install.sh behavior jobs
  • bash scripts/test-convert-parallel-failure.sh after counting Pi in the 16-tool parallel total
  • companion App parity check matched all 282 generated Pi files before the final quote-only commit. That commit does not change unquoted tools lists, and no current agent quotes tools:.

@HerbertGao

Copy link
Copy Markdown
Author

Companion desktop App support: msitarzewski/agency-agents-app#88

@sfowooza

Copy link
Copy Markdown

This PR is awaiting review. Please assign a reviewer or leave a comment.

@msitarzewski msitarzewski mentioned this pull request Oct 19, 2026
Upstream agents can already quote a description. Pi keeps that scalar instead of forcing single quotes.
Trim Pi fields the same way as the app renderer, skip empty tool tokens, and treat Pi filenames as colliding with other agent markdown.
Strip one matching quote pair before splitting, matching the app renderer.
The empty-roster success check still expected 15 tools after Pi joined the set.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants