com um clique
bpmn-workflow
// Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
// Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
Iterate until success or limit, composing existing skills with Jidoka integration
Review code changes against hard rules and conventions
Research best-in-class products using Browser MCP and WebSearch
Audit Value Delivery compliance after PR push
Systematic debugging with MCP integration, auto-invoke from qa-commit, Phase 7 Harden
Capture patine (decision wisdom) at Gates when KO or challenge occurs
| name | bpmn-workflow |
| description | Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios |
Generate BPMN 2.0 process diagrams from feature specifications, link them to Gherkin scenarios, and compose a system-wide workflow diagram.
Step 1.1: Check for existing .feature files
Glob docs/bpmn/features/**/*.feature
If found, parse existing scenarios:
CallMcpTool:
server: "bpmn-mcp"
toolName: "read-feature"
arguments: { "featurePath": "docs/bpmn/features/{feature-id}/{feature-id}.feature" }
Step 1.2: If no .feature file exists, generate scenarios from:
If generating new scenarios, structure them as:
Feature: [Feature Name]
As a [user type]
I want to [action]
So that [benefit]
Scenario: [Happy path name]
Given [precondition]
When [action]
Then [expected result]
Scenario: [Error case name]
Given [precondition]
When [invalid action]
Then [error handling]
Scenario naming conventions:
Successful [action], [Action] completes[Action] with invalid [field][Action] when [error condition][Action] with [edge case]Call the generate-bpmn MCP tool:
CallMcpTool:
server: "bpmn-mcp"
toolName: "generate-bpmn"
arguments: {
"featureId": "{feature-id}",
"featureName": "{Feature Name}",
"scenarios": [
{
"id": "{scenario-id}",
"name": "{Scenario Name}",
"steps": [
{ "keyword": "Given", "text": "{step text}" },
{ "keyword": "When", "text": "{step text}" },
{ "keyword": "Then", "text": "{step text}" }
]
}
],
"outputPath": "docs/bpmn/features/{feature-id}/{feature-id}.bpmn"
}
Link BPMN elements to Gherkin scenarios:
CallMcpTool:
server: "bpmn-mcp"
toolName: "link-gherkin"
arguments: {
"featureId": "{feature-id}",
"featureName": "{Feature Name}",
"bpmnFile": "docs/bpmn/features/{feature-id}/{feature-id}.bpmn",
"featureFile": "docs/bpmn/features/{feature-id}/{feature-id}.feature"
}
This creates docs/bpmn/features/{feature-id}/manifest.json with traceability links.
Update the master system diagram:
CallMcpTool:
server: "bpmn-mcp"
toolName: "compose-system"
arguments: {
"systemName": "Well Platform",
"featuresDir": "docs/bpmn/features",
"outputPath": "docs/bpmn/system.bpmn"
}
After completing all phases, present:
## BPMN Workflow Generated
### Files Created/Updated
| File | Status | Description |
|------|--------|-------------|
| `docs/bpmn/features/{id}/{id}.feature` | Created/Updated | [N] scenarios |
| `docs/bpmn/features/{id}/{id}.bpmn` | Created | Process diagram |
| `docs/bpmn/features/{id}/manifest.json` | Created | [N] links |
| `docs/bpmn/system.bpmn` | Updated | Added {Feature Name} pool |
### Scenarios Mapped
| Scenario | BPMN Element | Steps |
|----------|--------------|-------|
| [Name] | Task_{id} | [N] |
### System Diagram
[ASCII representation of system pools]
┌─────────────────┐ ┌─────────────────┐
│ Auth │────▶│ Workspaces │
│ • Login │ │ • Create │
│ • Register │ │ • Switch │
└─────────────────┘ └─────────────────┘
| Gherkin Concept | BPMN Element |
|---|---|
| Scenario | UserTask |
| Given steps | Documentation (preconditions) |
| When steps | Documentation (action) |
| Then steps | Documentation (expected) |
| Feature | Process |
| Background | Subprocess (shared) |
docs/bpmn/
├── README.md # Documentation
├── system.bpmn # Master system diagram
└── features/
└── {feature-id}/
├── {feature-id}.bpmn # Feature process diagram
├── {feature-id}.feature # Gherkin scenarios
└── manifest.json # BPMN ↔ Gherkin links
No MCP server available:
.cursor/mcp.json@wellapp/bpmn package is builtInvalid BPMN generated:
validate-bpmn toolManifest links broken:
link-gherkin after updating scenarios