@yycholla/pi-dynamic-workflows
Fork of QuitinShaw/pi-dynamic-workflows improving pager and workflow persistance
Install
pi install npm:@yycholla/pi-dynamic-workflows
Installs from npm into ~/.pi/agent/.
Add -l for project-local (.pi/). Manage with pi list / pi update / pi remove.
What this package can reach
Detected automatically from the source at
version 3.3.1.
This describes access, not safety — you decide whether it's appropriate for what
the package claims to do.
- Behavior — Changes how the agent thinks Modifies the system prompt, injects messages, or rewrites conversation context.
- Commands — Runs shell commands Spawns processes on your machine.
- Files — Reads files outside your project Touches paths beyond the working directory, such as your home folder.
- Intercepts tools — Can block or rewrite tool calls Subscribes to tool_call/tool_result/input. Can change a command after you approved the one displayed.
- Network — Talks to the internet Makes outbound network requests. Check the destinations are ones you expect.
- Tool control — Can switch pi's tools on and off Calls setActiveTools, so it can disable built-ins — including safety-relevant ones.
- New tools — Adds model-callable tools Gives the agent new abilities. Additive and visible, unlike an override.
- UI — Draws its own interface Renders widgets, footers, dialogs or full-screen views.
What it actually did when run
observedLoaded in a sandbox with no network, a read-only filesystem and a recording stand-in for pi's API. This is what it called — not what the source suggests it might.
Tools registered workflowworkflow_control
Events subscribed session_shutdownsession_start
APIs called getCommandsgetCommands.somemodelRegistry.getAvailablemodelRegistry.getAvailable.mapmodelRegistry.getAvailable.map.mapmodelRegistry.getAvailable.map.map.filtermodelRegistry.getAvailable.map.map.filter.sortmodelRegistry.getAvailable.map.map.mapmodelRegistry.getAvailable.map.map.sortmodelRegistry.getAvailable.map.map.sort.mapmodelRegistry.getAvailable.map.map.sort.map.mapmodelRegistry.getAvailable.map.map.sort.map.map.0.trimmodelRegistry.getAvailable.map.map.sort.map.map.0.trim.lastIndexOfmodelRegistry.getAvailable.map.map.sort.map.map.0.trim.sliceregisterCommandregisterToolui.customui.custom.trimui.custom.trim.lastIndexOfui.custom.trim.sliceui.notifyui.selectui.select.startsWithwaitForIdle
18 calls the source scan did not predict
getCommands.some · modelRegistry.getAvailable · modelRegistry.getAvailable.map · modelRegistry.getAvailable.map.map · modelRegistry.getAvailable.map.map.filter · modelRegistry.getAvailable.map.map.filter.sort · modelRegistry.getAvailable.map.map.map · modelRegistry.getAvailable.map.map.sort · modelRegistry.getAvailable.map.map.sort.map · modelRegistry.getAvailable.map.map.sort.map.map · modelRegistry.getAvailable.map.map.sort.map.map.0.trim · modelRegistry.getAvailable.map.map.sort.map.map.0.trim.lastIndexOf · modelRegistry.getAvailable.map.map.sort.map.map.0.trim.slice · ui.custom.trim · ui.custom.trim.lastIndexOf · ui.custom.trim.slice · ui.select.startsWith · waitForIdle
Reached through a value the scan could not follow — passed as an argument, stored on another object, or returned by a helper.
Run against version 3.3.1 on 2026-08-02.
Registration-time behaviour under default settings; other configurations may differ.
Reviews
0 publishedSign in with GitHub to write a review, reply, or vote.
No reviews yet — be the first.
More in Orchestrators
- @kky42/pi-subagents — Claude Code-style subagents for pi.
- pi-agentteam — Multi-agent team orchestration for pi — leader-coordinator pattern with researcher, planne…
- @usirin/pi-loop — Claude Code-style /loop command for pi-coding-agent.
- pi-btw — A pi extension for parallel side conversations with /btw