Why Use This
This skill provides specialized capabilities for WellApp-ai's codebase.
Use Cases
- Developing new features in the WellApp-ai repository
- Refactoring existing code to follow WellApp-ai standards
- Understanding and working with WellApp-ai's codebase structure
Install Guide
2 steps - 1
- 2
Install inside Ananke
Click Install Skill, paste the link below, then press Install.
https://github.com/WellApp-ai/Well/tree/main/cursor-rules/skills/bpmn-workflow
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Updated At Jan 18, 2026, 10:57 AM
Skill Stats
SKILL.md 211 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: bpmn-workflow
description: Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
---
# BPMN Workflow Skill
Generate BPMN 2.0 process diagrams from feature specifications, link them to Gherkin scenarios, and compose a system-wide workflow diagram.
## When to Use
- After completing Ask mode (feature exploration) to visualize the flow
- When documenting system processes for stakeholders
- Before Plan mode to ensure all scenarios are captured
- When updating existing features with new scenarios
## Prerequisites
- Feature has been explored in Ask mode with wireframes
- User flows have been identified
- API endpoints (if any) have been specified
## Instructions
### Phase 1: Gather Feature Context
**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:**
- Ask mode wireframes (each screen = potential scenario)
- User flow descriptions
- API endpoints defined (CRUD operations = scenarios)
- Edge cases identified (error states, empty states)
### Phase 2: Generate Gherkin (if needed)
If generating new scenarios, structure them as:
```gherkin
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:**
- Happy path: `Successful [action]`, `[Action] completes`
- Validation: `[Action] with invalid [field]`
- Error: `[Action] when [error condition]`
- Edge: `[Action] with [edge case]`
### Phase 3: Generate BPMN
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"
}
```
### Phase 4: Create Manifest Link
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.
### Phase 5: Compose System Diagram
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"
}
```
## Output Format
After completing all phases, present:
```markdown
## 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 │
└─────────────────┘ └─────────────────┘
```
## BPMN Element Mapping
| Gherkin Concept | BPMN Element |
|-----------------|--------------|
| Scenario | UserTask |
| Given steps | Documentation (preconditions) |
| When steps | Documentation (action) |
| Then steps | Documentation (expected) |
| Feature | Process |
| Background | Subprocess (shared) |
## Storage Structure
```
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
```
## Related Skills
- **problem-framing** - Defines the problem before BPMN generation
- **competitor-scan** - Research how competitors document workflows
- **design-context** - Ensures BPMN aligns with existing patterns
## Troubleshooting
**No MCP server available:**
- Ensure bpmn-mcp is configured in `.cursor/mcp.json`
- Check that `@wellapp/bpmn` package is built
**Invalid BPMN generated:**
- Validate with `validate-bpmn` tool
- Check scenario IDs are unique
- Ensure step keywords are valid (Given/When/Then/And/But)
**Manifest links broken:**
- Re-run `link-gherkin` after updating scenarios
- Ensure scenario IDs match between .feature and manifest