Lazyweb — Explain a Flow
Host an explanatory diagram: a sectioned flow-view page, stored insert-only —
every call hosts a new standalone page that never collides with anything else.
MCP Setup
Use the hosted Lazyweb MCP tools at https://www.lazyweb.com/mcp.
Required tools:
lazyweb_health — verify connectivity when the MCP surface is uncertain
lazyweb_explain_flow — save the explanatory diagram (returns explainer_id + explainer_url)
If Lazyweb MCP is missing — or lazyweb_explain_flow isn't in the tool list — tell
the user to run curl -fsSL https://www.lazyweb.com/install.sh | bash, reload, rerun.
MCP plan responses
Inspect every data-bearing tool result before applying its normal schema:
MCP_PRO_REQUIRED: relay the server message and returned intent-bound
upgrade_url to the user, then stop. Do not retry another data tool or fall
back to web/manual output.
FREE_REPORT_DAILY_LIMIT: relay the server message and returned intent-bound
upgrade_url to the user, then stop. Do not retry another data tool or fall
back to web/manual output.
- Successful
status: "locked_preview": relay display_to_user verbatim (or
the returned MCP text if that is all the client exposes), including the
preview and upgrade links. It is terminal: do not poll, retry another data
tool, reconstruct output, or fall back.
Steps
- Understand what needs explaining. A question ("how does search work?"), a
failure ("why did this report ignore the intent?"), a walkthrough, a comparison.
Ground it in the real code/logs — read the handlers, don't invent.
- Build the explanatory diagram in the sectioned flow-view schema
(sections, actors, nodes/edges with
notes and real data payloads,
bidirectional on round trips; an explanation earns its keep with REAL
content, not boxes). Data snippets meet an exactness bar: actual payloads
from the code/logs, … only to redact secrets (never to shorten content), and
a sliced array keeps its first item(s) full-shape with the omission count in
the note.
Shape it for the QUESTION: order sections as the narrative, name the section
titles as claims (e.g. "Where the run died — no model call"), put the "so what"
in each node's note.
- Save it:
lazyweb_explain_flow({ title, summary, product?, diagram }) →
share the returned explainer_url.
When NOT to use
- Proposing changes the user should Accept/Decline →
/lazyweb-propose-ui-changes.
Notes
- Explainers are point-in-time and cheap — make as many as the conversation needs;
they never collide with each other.
1---2name: lazyweb-explain-flow3description: EXPLAIN how something works with a hosted, tappable flow diagram — a walkthrough, a failure trace, an answer to "how does X work?", a hypothetical. Saves via lazyweb_explain_flow to insert-only storage, hosted at /explainer/<id>/. Trigger on: "explain this with a diagram", "walk me through how X works", "diagram why this failed", "show me how the pieces fit", "trace what happened".4---56# Lazyweb — Explain a Flow78Host an **explanatory diagram**: a sectioned flow-view page, stored insert-only —9every call hosts a new standalone page that never collides with anything else.1011## MCP Setup1213Use the hosted Lazyweb MCP tools at `https://www.lazyweb.com/mcp`.1415Required tools:16- `lazyweb_health` — verify connectivity when the MCP surface is uncertain17- `lazyweb_explain_flow` — save the explanatory diagram (returns `explainer_id` + `explainer_url`)1819If Lazyweb MCP is missing — or `lazyweb_explain_flow` isn't in the tool list — tell20the user to run `curl -fsSL https://www.lazyweb.com/install.sh | bash`, reload, rerun.2122### MCP plan responses2324Inspect every data-bearing tool result before applying its normal schema:2526- `MCP_PRO_REQUIRED`: relay the server message and returned intent-bound27 `upgrade_url` to the user, then stop. Do not retry another data tool or fall28 back to web/manual output.29- `FREE_REPORT_DAILY_LIMIT`: relay the server message and returned intent-bound30 `upgrade_url` to the user, then stop. Do not retry another data tool or fall31 back to web/manual output.32- Successful `status: "locked_preview"`: relay `display_to_user` verbatim (or33 the returned MCP text if that is all the client exposes), including the34 preview and upgrade links. It is terminal: do not poll, retry another data35 tool, reconstruct output, or fall back.3637## Steps38391. **Understand what needs explaining.** A question ("how does search work?"), a40 failure ("why did this report ignore the intent?"), a walkthrough, a comparison.41 Ground it in the real code/logs — read the handlers, don't invent.422. **Build the explanatory diagram** in the sectioned flow-view schema43 (sections, actors, nodes/edges with `note`s and real `data` payloads,44 `bidirectional` on round trips; an explanation earns its keep with REAL45 content, not boxes). Data snippets meet an exactness bar: actual payloads46 from the code/logs, `…` only to redact secrets (never to shorten content), and47 a sliced array keeps its first item(s) full-shape with the omission count in48 the `note`.49 Shape it for the QUESTION: order sections as the narrative, name the section50 titles as claims (e.g. "Where the run died — no model call"), put the "so what"51 in each node's `note`.523. **Save it:** `lazyweb_explain_flow({ title, summary, product?, diagram })` →53 share the returned `explainer_url`.5455## When NOT to use56- Proposing changes the user should Accept/Decline → `/lazyweb-propose-ui-changes`.5758## Notes59- Explainers are point-in-time and cheap — make as many as the conversation needs;60 they never collide with each other.