mcpField
P
processon-diagram-generator

processon-diagram-generator

github.com/full-stack-skillsDocuments270 installsUpdated 4w ago
Repository

About processon-diagram-generator

A skill that turns an evidence-backed diagram specification into editable ProcessOn DSL and, when requested, a rendered image. It is intended for users who need hosted editable output, with separate skills recommended for Mermaid, PlantUML, or mind-map-only tasks.

Key features

  1. 01Extracts diagram structure from requests or sources
  2. 02Generates editable ProcessOn DSL
  3. 03Optional image rendering
  4. 04No-render mode for DSL-only output
  5. 05Retries selected transient request failures

Use cases

  1. 01Creating an editable ProcessOn workflow diagram
  2. 02Producing DSL without a rendered image
  3. 03Turning inspected source material into a diagram

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/full-stack-skills/document-skills --skill processon-diagram-generator

After installing, type/processon-diagram-generatorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
scripts/
check_update.py
processon_api_client.py
tests/
test_processon_api_client.py
version/
coze-version.json
github-version.json

Details

From the project README

ProcessOn Diagram Generator

Convert an evidence-backed diagram specification into editable DSL and, when requested, a rendered image.

Routing

  • Use this skill only when ProcessOn or hosted editable output is requested.
  • Use the mermaid skill for ordinary Markdown-native diagrams. Install with: npx skills add full-stack-skills/document-skills --skill mermaid.
  • Use the plantuml skill for strict UML, C4, or .puml output. Install with: npx skills add full-stack-skills/document-skills --skill plantuml.
  • Use the processon-mindmap skill when only a ProcessOn-ready mind-map outline is needed. Install with: npx skills add full-stack-skills/document-skills --skill processon-mindmap.

Configuration

Required:

export PROCESSON_API_KEY="<your-processon-api-key>"

Obtain a key at https://smart.processon.com/user. Never print, persist, or include the key in prompts or output.

Optional configuration:

VariablePurpose
PROCESSON_DSL_API_URLOverride the DSL API URL
PROCESSON_RENDER_API_URLOverride the image-render API URL
PROCESSON_MODELOverride the remote model
PROCESSON_UIDOverride the request UID
PROCESSON_CONNECT_TIMEOUTRequest timeout in seconds
PROCESSON_MAX_RETRIESRetries for timeout, 429, and 5xx failures

Do not perform a remote update check on every invocation. Check the bundled version files only when the user asks about updates or maintenance.

Run an explicit update check only on request:

python3 scripts/check_update.py

Workflow

  1. Extract nodes, relationships, decisions, participants, states, and labels from the request or inspected source.
  2. Resolve missing relationships with source inspection; ask only when ambiguity materially changes the diagram.
  3. Build a concise prompt that preserves the user's language and requests a readable layout with minimal crossings.
  4. Run the bundled client:
python3 scripts/processon_api_client.py \
  --title "登录流程" \
  "生成登录、鉴权、数据查询和令牌签发流程图"
  1. Use --no-render when only editable DSL is needed.
  2. Deliver the complete DSL and edit URL even if image rendering fails.

Output contract

The final response must include:

  • complete DSL without truncation;
  • the edit URL https://smart.processon.com/editor;
  • rendered image URL or saved path when rendering succeeds;
  • a clear rendering failure reason when it fails;
  • assumptions made while reconstructing the diagram.

Use ordinary Markdown links or local image previews when supported by the host. Do not impose raw-URL-only formatting unless the user requests it.

Reliability rules

  • Retry only timeouts, connection failures, HTTP 429, and HTTP 5xx.
  • Use bounded exponential backoff.
  • Do not retry authentication or other deterministic 4xx failures.
  • Keep DSL delivery independent from image rendering success.
  • Save images beneath the requested project or explicit output directory; never use a machine-specific hard-coded path.
  • Reject empty or malformed API responses with a diagnostic that does not expose credentials.

Validation

Before completion, confirm the DSL is non-empty, the diagram type is known or explicitly generic, the edit URL is present, and any local output path exists. Run the offline unit tests after changing the client:

python3 -m unittest discover -s tests -p 'test_*.py'

Comments

Markdown supported