Coordinate MeowFlow staged agent work through the mfl CLI.
Hard Rules
- Do not use chat history as the source of truth for thread state. Discover and
update MeowFlow state with
mfl before acting.
- If a slash command arrives in the middle of an existing Paseo agent chat, this
chat is coordinator-mode unless
mfl agent update-self confirms it is already
the requested MeowFlow stage agent for the current thread.
- In coordinator-mode, do not perform plan/code/review/execute/validate work
locally. Launch the requested stage with
mfl run --stage <stage> ..., report
the returned ids, and stop.
- If
mfl agent update-self cannot classify this session as a MeowFlow stage
agent, stay in coordinator-mode and use mfl run for the requested stage.
Command Contract
- Syntax:
/meow-flow [--provider <provider>] [content] or
/mfl [--provider <provider>] [content].
- Continuation syntax:
/mfl plan [--provider <provider>],
/mfl code [--provider <provider>],
/mfl review [--provider <provider>],
/mfl execute [--provider <provider>],
/mfl validate [--provider <provider>], /mfl commit, /mfl archive,
and /mfl delete.
- The current thread state, worktree occupation, agents, request body, and
handoffs come from
mfl, not from chat history alone.
- Thread names set with
mfl thread set name must be kebab-case matching
^[a-z0-9]+(-[a-z0-9]+)*$.
- Agent names from
mfl run are <Stage>: <request summary> until the thread
has a name, then <Stage>: <thread-name> (<agent-sequence>). If a stage
agent changes the thread name, update the current idle or running Paseo agent
with paseo agent update <agent-id> --name "<Stage>: <thread-name> (<sequence>)".
Startup
If running inside a Paseo agent, run mfl agent update-self.
Run mfl status.
If status is repository-root, tell the user to create a linked worktree
with mfl worktree new and stop.
If status is idle and the user provided request content, launch the first
plan agent. When the entry command includes --provider <provider>, pass it
to mfl run; otherwise rely on mfl run provider resolution:
mfl run --stage plan "<content>"
mfl run --stage plan --provider <provider> "<content>"
If status is occupied, report the thread name or id and latest agent id,
then:
- For
/mfl plan, /mfl code, /mfl review, /mfl execute, or
/mfl validate, launch the matching stage with mfl run.
- For
/meow-flow, /mfl, or /meow-plan with request content and no
explicit continuation stage, launch a plan stage in the current thread
with mfl run --stage plan ....
- If there is no request content or the user asks for a different thread,
ask how they want to proceed before launching anything.
When mfl run returns agent-id: <id> and next-seq: <seq>, include both in
your response. Also include thread-id and worktree when mfl run prints
them, then direct the user to continue in the new agent chat.
Session Mode
After startup, decide whether this chat is a coordinator or a stage agent:
Coordinator-mode: any normal Paseo agent chat, any mfl agent update-self
failure, or any chat that is not confirmed as the requested stage. Launch with
mfl run --stage <stage> ... and do not perform the stage work locally.
Stage-agent mode: mfl agent update-self confirms this session belongs to
the current thread and requested stage. Before acting, read:
mfl status
mfl thread status <id> --no-color
mfl handoff get -n 5
Stage Dispatch
For staged continuation commands, run the matching stage through mfl run in
the current thread worktree. Pass --provider <provider> when the user
included it; otherwise rely on mfl run provider resolution:
mfl run --stage plan "<optional-content>"
mfl run --stage code "<optional-content>"
mfl run --stage review "<optional-content>"
mfl run --stage execute "<optional-content>"
mfl run --stage validate "<optional-content>"
mfl run --stage code --provider <provider> "<optional-content>"
The launched stage agent reads mfl thread status <id> --no-color and recent
handoffs before acting. The coordinator stops after reporting the launched
agent details.
Handoffs
Stage agents should read recent handoffs with:
mfl handoff get -n 5
mfl handoff get --since <seq>
Before finishing, agents that produce planning, implementation, review,
execution, or validation results append a compact handoff:
mfl handoff append --stage plan "planned X; proposal Y; next code"
mfl handoff append --stage code "implemented X; tests Y passed"
mfl handoff append --stage review "approved; checked A and B"
mfl handoff append --stage execute "generated script X; output at Y"
mfl handoff append --stage validate "validated X with command Y"
Keep handoffs short and concrete. They are coordination state for later agents.
Continuation Actions
/mfl commit: read new handoffs, inspect the current diff, commit with a
suitable repository title, and push when a remote tracking branch is
configured.
/mfl archive: follow the same behavior as /meow-archive.
/mfl delete: follow the same behavior as /meow-archive delete; do not
revert code changes.
Output
For launches, report:
- the stage launched
thread-id
worktree
provider
agent-id
next-seq
- the next chat or command the user should use
1---2name: meow-flow3description: Use when the user starts an interactive-mode request with `/meow-flow` or `/mfl`; coordinate staged MeowFlow agents through mfl thread state, thread updates, mfl-run stage launches, and handoffs.4---56Coordinate MeowFlow staged agent work through the `mfl` CLI.78## Hard Rules910- Do not use chat history as the source of truth for thread state. Discover and11 update MeowFlow state with `mfl` before acting.12- If a slash command arrives in the middle of an existing Paseo agent chat, this13 chat is coordinator-mode unless `mfl agent update-self` confirms it is already14 the requested MeowFlow stage agent for the current thread.15- In coordinator-mode, do not perform plan/code/review/execute/validate work16 locally. Launch the requested stage with `mfl run --stage <stage> ...`, report17 the returned ids, and stop.18- If `mfl agent update-self` cannot classify this session as a MeowFlow stage19 agent, stay in coordinator-mode and use `mfl run` for the requested stage.2021## Command Contract2223- Syntax: `/meow-flow [--provider <provider>] [content]` or24 `/mfl [--provider <provider>] [content]`.25- Continuation syntax: `/mfl plan [--provider <provider>]`,26 `/mfl code [--provider <provider>]`,27 `/mfl review [--provider <provider>]`,28 `/mfl execute [--provider <provider>]`,29 `/mfl validate [--provider <provider>]`, `/mfl commit`, `/mfl archive`,30 and `/mfl delete`.31- The current thread state, worktree occupation, agents, request body, and32 handoffs come from `mfl`, not from chat history alone.33- Thread names set with `mfl thread set name` must be kebab-case matching34 `^[a-z0-9]+(-[a-z0-9]+)*$`.35- Agent names from `mfl run` are `<Stage>: <request summary>` until the thread36 has a name, then `<Stage>: <thread-name> (<agent-sequence>)`. If a stage37 agent changes the thread name, update the current idle or running Paseo agent38 with `paseo agent update <agent-id> --name "<Stage>: <thread-name> (<sequence>)"`.3940## Startup41421. If running inside a Paseo agent, run `mfl agent update-self`.432. Run `mfl status`.443. If status is `repository-root`, tell the user to create a linked worktree45 with `mfl worktree new` and stop.464. If status is `idle` and the user provided request content, launch the first47 plan agent. When the entry command includes `--provider <provider>`, pass it48 to `mfl run`; otherwise rely on `mfl run` provider resolution:4950 ```bash51 mfl run --stage plan "<content>"52 mfl run --stage plan --provider <provider> "<content>"53 ```54555. If status is `occupied`, report the thread name or id and latest agent id,56 then:57 - For `/mfl plan`, `/mfl code`, `/mfl review`, `/mfl execute`, or58 `/mfl validate`, launch the matching stage with `mfl run`.59 - For `/meow-flow`, `/mfl`, or `/meow-plan` with request content and no60 explicit continuation stage, launch a plan stage in the current thread61 with `mfl run --stage plan ...`.62 - If there is no request content or the user asks for a different thread,63 ask how they want to proceed before launching anything.6465When `mfl run` returns `agent-id: <id>` and `next-seq: <seq>`, include both in66your response. Also include `thread-id` and `worktree` when `mfl run` prints67them, then direct the user to continue in the new agent chat.6869## Session Mode7071After startup, decide whether this chat is a coordinator or a stage agent:7273- Coordinator-mode: any normal Paseo agent chat, any `mfl agent update-self`74 failure, or any chat that is not confirmed as the requested stage. Launch with75 `mfl run --stage <stage> ...` and do not perform the stage work locally.76- Stage-agent mode: `mfl agent update-self` confirms this session belongs to77 the current thread and requested stage. Before acting, read:7879 ```bash80 mfl status81 mfl thread status <id> --no-color82 mfl handoff get -n 583 ```8485## Stage Dispatch8687For staged continuation commands, run the matching stage through `mfl run` in88the current thread worktree. Pass `--provider <provider>` when the user89included it; otherwise rely on `mfl run` provider resolution:9091```bash92mfl run --stage plan "<optional-content>"93mfl run --stage code "<optional-content>"94mfl run --stage review "<optional-content>"95mfl run --stage execute "<optional-content>"96mfl run --stage validate "<optional-content>"9798mfl run --stage code --provider <provider> "<optional-content>"99```100101The launched stage agent reads `mfl thread status <id> --no-color` and recent102handoffs before acting. The coordinator stops after reporting the launched103agent details.104105## Handoffs106107Stage agents should read recent handoffs with:108109```bash110mfl handoff get -n 5111mfl handoff get --since <seq>112```113114Before finishing, agents that produce planning, implementation, review,115execution, or validation results append a compact handoff:116117```bash118mfl handoff append --stage plan "planned X; proposal Y; next code"119mfl handoff append --stage code "implemented X; tests Y passed"120mfl handoff append --stage review "approved; checked A and B"121mfl handoff append --stage execute "generated script X; output at Y"122mfl handoff append --stage validate "validated X with command Y"123```124125Keep handoffs short and concrete. They are coordination state for later agents.126127## Continuation Actions128129- `/mfl commit`: read new handoffs, inspect the current diff, commit with a130 suitable repository title, and push when a remote tracking branch is131 configured.132- `/mfl archive`: follow the same behavior as `/meow-archive`.133- `/mfl delete`: follow the same behavior as `/meow-archive delete`; do not134 revert code changes.135136## Output137138For launches, report:139140- the stage launched141- `thread-id`142- `worktree`143- `provider`144- `agent-id`145- `next-seq`146- the next chat or command the user should use