flowzap-diagrams

Generate, validate and publish workflow, sequence and architecture diagrams, using FlowZap Code DSL. Use when the user asks to create a workflow, flowchart, sequence diagram, process map or an architecture diagram. Produces .fz code and instant shareable playground URLs via the FlowZap MCP server.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "flowzap-diagrams" with this command: npx skills add flowzap-xyz/flowzap-mcp/flowzap-xyz-flowzap-mcp-flowzap-diagrams

FlowZap Diagram Skill

Generate valid FlowZap Code (.fz) diagrams from natural-language descriptions, validate them, and return shareable playground URLs — all without leaving your coding agent.

When to use this skill

  • User asks for a workflow, flowchart, process diagram, sequence diagram, or achitecture diagram.
  • User pastes HTTP logs, OpenAPI specs, or code and wants them visualised.
  • User wants to compare two diagram versions (diff) or patch an existing diagram.

MCP server setup (one-time)

If the FlowZap MCP server is not already configured, install it:

# Claude Code
claude mcp add --transport stdio flowzap -- npx flowzap-mcp@1.3.5

# Or add to .mcp.json / claude_desktop_config.json / cursor / windsurf config:
{
  "mcpServers": {
    "flowzap": {
      "command": "npx",
      "args": ["flowzap-mcp@1.3.5"]
    }
  }
}

Package verification

The pinned version 1.3.5 can be verified against the npm registry:

FieldValue
npmflowzap-mcp@1.3.5
Integrity (SHA-512)sha512-MjiOEHoG08UdLflnls6Ij07bXiJmuGbCrWSm5fycizZ70PecVeAb0DSrrFxAPOB8hQcZ0Y/WQtXbgRRQr/t/nA==
Shasum374c7a966c1a1f350216c513df32383a772d360d
Sourcegithub.com/flowzap-xyz/flowzap-mcp
LicenseMIT

To verify locally before use:

npm view flowzap-mcp@1.3.5 dist.integrity dist.shasum

Compatible tools: Claude Desktop, Claude Code, Cursor, Windsurf, OpenAI Codex, Warp, Zed, Cline, Roo Code, Continue.dev, Sourcegraph Cody.

Not compatible: Replit, Lovable.dev.

Available MCP tools

ToolPurpose
flowzap_validateCheck .fz syntax before sharing
flowzap_create_playgroundGet a shareable playground URL
flowzap_get_syntaxRetrieve full DSL docs at runtime
flowzap_export_graphExport diagram as structured JSON (lanes, nodes, edges)
flowzap_artifact_to_diagramParse HTTP logs / OpenAPI / code → diagram + playground URL
flowzap_diffStructured diff between two .fz versions
flowzap_apply_changePatch a diagram (insert/remove/update nodes/edges)

FlowZap Code DSL — quick reference

FlowZap Code is not Mermaid, not PlantUML. It is a unique DSL offering a simple syntax for a triple-view option to workflow, sequence and architecture diagrams.

Shapes (only 4)

ShapeUse for
circleStart / End events
rectangleProcess steps / actions
diamondDecisions (Yes/No branching)
taskboxAssigned tasks (owner, description, system)

Syntax rules

  • Node IDs are globally unique, sequential, no gaps: n1, n2, n3
  • Node attributes use colon: label:"Text"
  • Edge labels use equals inside brackets: [label="Text"]
  • Handles are required on every edge: n1.handle(right) -> n2.handle(left)
  • Directions: left, right, top, bottom
  • Cross-lane edges: prefix target with lane name: sales.n5.handle(top)
  • Lane display label: one # Label comment right after opening brace
  • Loops: loop [condition] n1 n2 n3 — flat, inside a lane block
  • Layout: prefer horizontal left→right; use top/bottom only for cross-lane hops

Multi-lane sequence design

  • Ping-pong rule: For multi-participant processes, every cross-lane interaction must alternate back-and-forth between lanes. A request from Lane A → Lane B must be followed by a response from Lane B → Lane A before any new request from Lane A. This ensures the sequence view renders meaningful request-response message pairs rather than one-way broadcasts.

Gotchas — never do these

  • Do NOT use label="Text" on nodes (must be label:"Text").
  • Do NOT use label:"Text" on edges (must be [label="Text"]).
  • Do NOT skip node numbers (n1, n3 → invalid; must be n1, n2).
  • Do NOT omit lane prefix on cross-lane edges.
  • Do NOT output Mermaid, PlantUML, or any other syntax.
  • Do NOT add comments except the single # Display Label per lane.
  • Do NOT place loop outside a lane's braces.
  • Do NOT use a taskbox shape unless the user explicitly requests it.

Minimal templates

Single lane:

process { # Process
n1: circle label:"Start"
n2: rectangle label:"Step"
n3: circle label:"End"
n1.handle(right) -> n2.handle(left)
n2.handle(right) -> n3.handle(left)
}

Two lanes with cross-lane edge:

user { # User
n1: circle label:"Start"
n2: rectangle label:"Submit"
n1.handle(right) -> n2.handle(left)
n2.handle(bottom) -> app.n3.handle(top) [label="Send"]
}

app { # App
n3: rectangle label:"Process"
n4: circle label:"Done"
n3.handle(right) -> n4.handle(left)
}

Decision branch:

flow { # Flow
n1: rectangle label:"Check"
n2: diamond label:"OK?"
n3: rectangle label:"Fix"
n4: rectangle label:"Proceed"
n1.handle(right) -> n2.handle(left)
n2.handle(bottom) -> n3.handle(top) [label="No"]
n2.handle(right) -> n4.handle(left) [label="Yes"]
}

For the full DSL specification and advanced multi-lane examples: See references/syntax.md

Workflow: how to generate a diagram

  1. Identify the actors/systems (→ lanes) and steps (→ nodes) from the user's description.
  2. Write FlowZap Code following all rules above.
  3. Call flowzap_validate to verify syntax.
  4. If valid, call flowzap_create_playground to get a shareable URL.
  5. Return the FlowZap Code and the playground URL to the user.
  6. Always output only raw FlowZap Code when showing the diagram — no Markdown fences wrapping .fz content, no extra commentary mixed in.

Full MCP documentation: flowzap.xyz/docs/mcp

Security and data transparency

The flowzap-mcp server runs locally on the user's machine (stdio transport) and enforces the following safeguards:

ControlDetail
TLS onlyAll outbound requests require https:// and are restricted to flowzap.xyz (SSRF protection)
No authenticationUses only public FlowZap APIs; no API keys, tokens, or user credentials are stored or transmitted
No user-data accessCannot read diagrams, accounts, or any data beyond what the agent explicitly passes in
Input validationCode capped at 50 KB, total input at 100 KB; null bytes and control characters stripped
Rate limitingClient-side 30 requests/minute sliding window
Request timeout30-second hard timeout with AbortController
Response sanitizationOnly expected fields are returned; playground URLs validated against allowlist
Audit loggingAll tool calls and API requests logged to stderr (not exposed to the MCP client)

Data flow scope

The MCP server sends only the FlowZap Code provided by the agent to two public endpoints:

  1. POST https://flowzap.xyz/api/validate — returns syntax validation result
  2. POST https://flowzap.xyz/api/playground/create — returns an ephemeral playground URL (60-minute TTL, non-guessable token)

No other data (file paths, environment variables, user identity) is transmitted.

Playground URL access controls

Playground URLs are ephemeral, time-limited (60-minute TTL), and use non-guessable cryptographic tokens. They are read-only views of the diagram code submitted at creation time. No account or login is required to view them; no data persists beyond the TTL.

Data lifecycle

EndpointData storedRetention
POST /api/validateNone — stateless; code is parsed in memory and discarded after the response0 (not persisted)
POST /api/playground/createFlowZap Code only (in PostgreSQL)60 minutes (database row + playground URL both expire)

The playground session is stored server-side with a cryptographic token (UUID v4). After the 60-minute TTL, the session is deleted — either on the next access attempt or during a periodic sweep. No user identity, file paths, environment variables, or host metadata are attached to the session.

What the MCP server does NOT do

  • No filesystem access — cannot read or write files on the host machine
  • No environment variable access — does not read or transmit process.env or shell variables
  • No code execution — does not evaluate, compile, or run any user code; it only transmits FlowZap DSL text
  • No network scanning — outbound connections are restricted to flowzap.xyz over TLS (SSRF-protected allowlist)
  • No long-term data persistence — playground sessions expire after 60 minutes; the validate endpoint stores nothing
  • No telemetry or tracking — no analytics, device fingerprinting, or usage data is collected by the MCP server; server-side API logs record only IP, user-agent, and code length (not code content)

Further resources

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated
Coding

ai-dating

This skill enables dating and matchmaking workflows. Use it when a user asks to make friends, find a partner, run matchmaking, or provide dating preferences/profile updates. The skill should execute `dating-cli` commands to complete profile setup, task creation/update, match checking, contact reveal, and review.

Archived SourceRecently Updated
flowzap-diagrams | V50.AI