# Pi Workflow Orchestration

## Use Available Capabilities

Pi core does not include built-in sub-agents, plan mode, task lists, or background shell execution. Do not assume tools or commands from another harness exist.

Every mandatory workflow in this rule set must remain executable with Pi's built-in tools alone (`read`, `write`, `edit`, and `bash`; plus `grep`, `find`, or `ls` when enabled). Skills and extensions may improve ergonomics, but they are optional and must always have a direct core-tool fallback.

Before choosing a workflow:

1. Use the tools and skills exposed in the current Pi session.
2. Load a matching skill by reading its `SKILL.md` when the task fits its description.
3. Use extension-provided planning, task, or delegation tools only when they are actually available.
4. Fall back to Pi's built-in file and shell tools when no specialized capability is present.

## Planning

For complex work, make a concise plan before editing. Use an available task-list tool when present; otherwise keep the plan in the conversation or a project file when persistent coordination is necessary. Do not claim that Pi has a built-in plan mode.

Keep the plan proportional to the task. A small, well-scoped change does not need elaborate planning artifacts.

## Parallel Work

Run independent tool calls in parallel only when the current harness provides a parallel execution mechanism. Keep dependent operations sequential, and do not simulate parallelism with unobserved background processes.

## Optional Delegation

Delegate only when a sub-agent or child-session capability is exposed by an installed extension or tool and the task benefits from decomposition. Do not assume external agent directories or named specialist agents are installed.

When delegation is available:

1. Give each child a bounded deliverable.
2. Avoid overlapping ownership.
3. Wait for every child to finish and collect its result.
4. Integrate and verify the results before responding.

Never end a turn by saying that background work is still running.

## Completion

The final response is the deliverable. Before finishing:

- verify meaningful changes with the project's available checks;
- report changed files and validation results accurately;
- disclose unresolved errors or incomplete work;
- do not claim use of a tool, skill, agent, or Pi feature that was not available in the session.
