autonomous-loop
Iterate until success or limit, composing existing skills with Jidoka integration
Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
$ npx -y skills add WellApp-ai/Well --skill bpmn-workflow --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bpmn-workflowContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
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:**
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:**
**Invalid BPMN generated:**
**Manifest links broken:**
Iterate until success or limit, composing existing skills with Jidoka integration
Research best-in-class products using Browser MCP and WebSearch
Systematic debugging with MCP integration, auto-invoke from qa-commit, Phase 7 Harden
Capture patine (decision wisdom) at Gates when KO or challenge occurs