pi-maestri-live

Validate the foxctl Pi extension through Maestri tool-call tests.

3|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/joshka0/foxctl --skill pi-maestri-live
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pi-maestri-live
Source: https://github.com/joshka0/foxctl/tree/main/configs/skills-pack/pi-maestri-live
Command: npx skills add https://github.com/joshka0/foxctl --skill pi-maestri-live

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It enables a fast, reliable edit–reload–test loop for the tracked foxctl Pi extension while you interact with Pi inside a live Maestri shell.

Core Features & Use Cases

  • Maestri-driven iterative testing: Reloads extension code in the active Maestri shell and exercises foxctl tools via maestri ask without repeatedly restarting the whole environment.
  • Workspace-scoped extension workflow: Keeps a Pi project symlink pointed at the tracked foxctl TypeScript source so changes are reflected immediately in the Pi session.
  • Tool-call verification loops: Provides prompts that constrain Pi to specific foxctl tool calls (read-only smoke checks, repoindex checks, and tool-run evidence loading) to validate behavior and tool availability.
  • Operational safety notes for tool allowlists and tool choice: Clarifies how /reload affects keybindings and prompts but not the original tool allowlist, and warns when to restart Pi to expand tool access.
  • Use Case: When you modify integrations/pi/foxctl.ts, you can typecheck, reload in Maestri, then run a structured prompt that forces Pi to call gather_context and summarize workspace/room/inbox results.

Quick Start

Use maestri list to find the active shell name, then run maestri ask "Shell #6" "/reload" after editing the extension.

Frequently Asked Questions about pi-maestri-live

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I live-test a Pi extension in a Maestri shell?

To live-test a Pi extension in a Maestri shell, activate the shell, wire environment variables and foxctl URLs, then use `maestri ask` to reload the extension code and run structured tool-call verification prompts.

How does the extension reload cycle work with foxctl in Maestri?

The extension reload cycle works by keeping a Pi project symlink pointed at the tracked foxctl TypeScript source. After editing, you typecheck and run `/reload` in Maestri to reflect changes immediately without restarting the entire environment.

What does a tool-call verification loop do for foxctl extensions?

A tool-call verification loop constrains Pi to specific foxctl tool calls, such as read-only smoke checks and repoindex checks. It validates behavior and tool availability by forcing Pi to call gather_context and summarize workspace results.

Does reloading a Pi extension in Maestri update the tool allowlist?

Reloading a Pi extension in Maestri does not update the original tool allowlist. The `/reload` command affects keybindings and prompts, requiring a full Pi restart to expand tool access and update the allowlist.

Why do I need to restart Pi when expanding foxctl tool access?

You need to restart Pi to expand foxctl tool access because the `/reload` command only refreshes keybindings and prompts. A full restart is required to apply changes to the original tool allowlist and support new tool calls.

Can I run read-only smoke checks on foxctl tools without a full restart?

Yes, you can run read-only smoke checks on foxctl tools without a full restart. The Maestri-driven workflow supports reload-only cycles that exercise JSON-driven tool calls for deterministic verification of existing tool availability.