You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extensions run with full permissions; can override built-in tools; can customize compaction, UI, etc.
Extension Tool
LLM-callable tool registered by extension
Invoked by the model during a turn
Same as extension (tool must be registered by loaded extension)
(same as extension)
Appears in system prompt; can be blocked via tool_call event; supports custom rendering.
Extension Command
User command registered by extension (/cmd)
Invoked by user in editor; bypasses LLM
Same as extension
(same as extension)
Good for interactive workflows. Supports argument completion. Runs before skill/template expansion.
Package-based reuse
Pi packages can bundle extensions, skills, prompts, themes. Package sources are configured in settings.json under "packages" (global or project). Project settings (.pi/settings.json) override global.
Project vs global scope
Global: ~/.pi/agent/...
Project: .pi/...
Project-local settings can be shared with teammates and pull in packages on startup.
CLI flags for resource loading
Flag
Effect
Notes
--no-extensions
Disable extension discovery
Use -e/--extension to load specific extensions even when disabled.
-e, `--extension <path
npm:
git:>`
--no-skills
Disable skill discovery
Use --skill <path> to load specific skills anyway.
--skill <path>
Load skill(s) explicitly
Repeatable. Adds to discovered skills.
--no-prompt-templates
Disable prompt template discovery
Use --prompt-template <path> to load explicit templates.
--prompt-template <path>
Load prompt template(s) explicitly
Repeatable.
--no-themes
Disable theme discovery
Use --theme <path> to load explicit theme(s).
--theme <path>
Load theme explicitly
Repeatable.
--no-tools
Disable built-in tools
Extension tools still available.
--tools <list>
Select built-in tools
e.g., read,bash,edit,write.
LLM vs user exposure (what gets shown to whom)
Resource
Exposed to user (UI)
Exposed to LLM
Notes
Skill
/skill:name command (if enabled) and skill list in header
Skill list (name+description) in system prompt; full SKILL.md only when loaded
Uses progressive disclosure.
Prompt template
/template autocomplete in editor
Expanded into user message when invoked
The LLM sees expanded prompt content.
Extension Tool
Tool call/result UI in chat
Tool schema in system prompt; tool result sent to LLM