Pi extension compatibility
KeenKind supports part of the Pi extension ecosystem to help migrate existing tools and Skills. The compatibility layer reuses tool capabilities rather than reproducing Pi’s full interface or session system.
Supported capabilities
Jump to Supported capabilities- Standard
SKILL.mdfiles. - TypeScript/JavaScript tool registration.
- JSON Schema or TypeBox-style tool parameters.
- Tool execution, progress, and cancellation.
- Common startup, shutdown, and tool lifecycle events.
- Non-interactive subprocess calls.
Unsupported capabilities
Jump to Unsupported capabilities- Pi terminal UI and custom rendering.
- Keyboard shortcuts, themes, and interactive commands.
- Custom model providers and model switching.
- Taking over KeenKind chats, permissions, or settings.
- Extensions requiring persistent terminal interaction.
Unsupported features appear in compatibility diagnostics rather than being simulated as successful.
Migration steps
Jump to Migration steps- Import or enable the extension in Settings > Extensions > Plugins.
- Review compatibility diagnostics in its details.
- Check registered tool names, descriptions, and parameters.
- Test read-only calls in Ask for approval mode.
- Verify results, errors, cancellation, and restart.
- Rewrite Pi UI-dependent parts as KeenKind Skills or native plugins.
Compatibility recommendations
Jump to Compatibility recommendations- Put core logic in ordinary tool functions without terminal UI dependencies.
- Use serializable arguments and results.
- Avoid global mutable state.
- Handle cancellation and exceptions explicitly.
- Avoid changing the user environment during module loading.
- Prefer native KeenKind plugins for new projects.
Pi extensions execute third-party code. Review sources, dependencies, and permissions before migration and verify in an isolated test project.