process-modeling
Process modeling using BPMN notation and flowchart patterns. Creates process diagrams with activities, gateways, events, swimlanes, and decision points for workflow documentation.
What this skill does
# Process Modeling
## When to Use This Skill
Use this skill when:
- **Process Modeling tasks** - Working on process modeling using bpmn notation and flowchart patterns. creates process diagrams with activities, gateways, events, swimlanes, and decision points for workflow documentation
- **Planning or design** - Need guidance on Process Modeling approaches
- **Best practices** - Want to follow established patterns and standards
## Overview
Create and document business processes using BPMN (Business Process Model and Notation) and flowchart notation. Visualize activities, decisions, events, and participant interactions for process understanding and improvement.
## What is Process Modeling?
**Process modeling** creates visual representations of how work flows through an organization. It documents:
- **Activities**: What work is performed
- **Sequence**: Order of activities
- **Decisions**: Choice points and conditions
- **Participants**: Who performs each step
- **Events**: What triggers and ends the process
## BPMN Core Elements
### Activities (Rectangles)
| Type | Symbol | Description |
|------|--------|-------------|
| **Task** | Rectangle | Atomic work unit |
| **Sub-Process** | Rectangle with + | Contains child process |
| **Call Activity** | Rectangle with thick border | Invokes reusable process |
**Task Types:**
| Type | Description |
|------|-------------|
| User Task | Human interaction required |
| Service Task | Automated system action |
| Script Task | Script/code execution |
| Business Rule Task | Decision table evaluation |
| Send Task | Message sent |
| Receive Task | Message received |
| Manual Task | Physical work without system |
### Events (Circles)
| Position | Symbol | Description |
|----------|--------|-------------|
| **Start** | Thin circle | Process trigger |
| **Intermediate** | Double circle | Mid-process event |
| **End** | Thick circle | Process termination |
**Event Types:**
| Type | Trigger |
|------|---------|
| None | Unspecified start/end |
| Message | Message received/sent |
| Timer | Time-based trigger |
| Error | Error condition |
| Signal | Broadcast signal |
| Terminate | Process termination |
### Gateways (Diamonds)
| Type | Symbol | Description |
|------|--------|-------------|
| **Exclusive (XOR)** | Diamond with X | One path based on condition |
| **Parallel (AND)** | Diamond with + | All paths execute |
| **Inclusive (OR)** | Diamond with O | One or more paths |
| **Event-Based** | Diamond with circle | Wait for events |
### Connectors
| Type | Symbol | Description |
|------|--------|-------------|
| **Sequence Flow** | Solid arrow | Order of activities |
| **Message Flow** | Dashed arrow | Messages between pools |
| **Association** | Dotted line | Artifacts to elements |
### Swimlanes
| Type | Description |
|------|-------------|
| **Pool** | Represents a participant (organization/system) |
| **Lane** | Subdivisions within a pool (roles/departments) |
## Workflow
### Phase 1: Define Scope
#### Step 1: Identify Process Boundaries
```markdown
## Process Definition
**Process Name:** [Name]
**Purpose:** [Why this process exists]
**Scope:**
- **Starts When:** [Trigger event]
- **Ends When:** [Completion criteria]
- **Includes:** [In-scope activities]
- **Excludes:** [Out-of-scope activities]
**Participants:**
| Pool | Lanes (Roles) |
|------|---------------|
| [Org/System] | [Role 1], [Role 2] |
```
#### Step 2: Choose Model Type
| Type | When to Use |
|------|-------------|
| **As-Is** | Documenting current state |
| **To-Be** | Designing future state |
| **High-Level** | Overview, communication |
| **Detailed** | Implementation, automation |
### Phase 2: Model the Process
#### Step 1: Identify Main Path (Happy Path)
1. Start event (trigger)
2. Main sequence of activities
3. End event (completion)
#### Step 2: Add Decision Points
For each decision:
- Type of gateway (XOR/AND/OR)
- Conditions for each path
- Reconvergence point
#### Step 3: Add Exception Paths
- Error handling
- Timeout scenarios
- Escalation paths
#### Step 4: Add Participants
- Assign activities to lanes
- Model inter-participant communication
- Add message flows between pools
### Phase 3: Validate and Document
#### Step 1: Validate Completeness
| Check | Question |
|-------|----------|
| All paths connected | Do all activities have incoming and outgoing flows? |
| No dead ends | Do all paths reach an end event? |
| Gateways balanced | Are split gateways matched with joins? |
| Roles assigned | Is every activity in a lane? |
| Triggers defined | Does every start event have a clear trigger? |
#### Step 2: Add Documentation
```markdown
## Process: [Name]
### Overview
[Brief description of process purpose and flow]
### Triggers
| Event | Description | Frequency |
|-------|-------------|-----------|
| [Trigger] | [What causes it] | [How often] |
### Activities
| # | Activity | Role | System | Duration |
|---|----------|------|--------|----------|
| 1 | [Activity name] | [Role] | [System] | [Time] |
### Decision Points
| # | Decision | Conditions | Paths |
|---|----------|------------|-------|
| 1 | [Decision] | [Criteria] | [Path A], [Path B] |
### Exceptions
| Exception | Handling |
|-----------|----------|
| [Error] | [How handled] |
```
## Output Formats
### Mermaid Flowchart (BPMN-Style)
```mermaid
flowchart TD
Start((Start))
Task1[Receive Order]
Gateway1{Valid Order?}
Task2[Process Payment]
Task3[Reject Order]
Task4[Ship Product]
End1((Complete))
End2((Rejected))
Start --> Task1
Task1 --> Gateway1
Gateway1 -->|Yes| Task2
Gateway1 -->|No| Task3
Task2 --> Task4
Task4 --> End1
Task3 --> End2
```
### Swimlane Diagram
```mermaid
flowchart TD
subgraph Customer
A[Place Order]
G[Receive Product]
end
subgraph Sales
B[Review Order]
C{Approved?}
end
subgraph Warehouse
D[Pick Items]
E[Pack Order]
F[Ship Order]
end
A --> B
B --> C
C -->|Yes| D
C -->|No| A
D --> E
E --> F
F --> G
```
### Narrative Summary
```markdown
## Process: Order Fulfillment
**Version:** 1.0
**Date:** [ISO Date]
**Owner:** [Name]
### Summary
This process handles customer orders from receipt to delivery.
### Flow Description
1. **Start**: Customer places order (online or phone)
2. **Review Order**: Sales validates order details
3. **Decision**: Is order valid?
- Yes: Proceed to fulfillment
- No: Return to customer for correction
4. **Pick Items**: Warehouse locates products
5. **Pack Order**: Items packaged for shipping
6. **Ship Order**: Handed to carrier
7. **End**: Customer receives product
### Metrics
| Metric | Current | Target |
|--------|---------|--------|
| Cycle Time | 3 days | 2 days |
| Error Rate | 5% | 1% |
| Automation | 40% | 70% |
### Improvement Opportunities
1. Automate order validation
2. Parallel picking for multi-item orders
3. Real-time tracking integration
```
### Structured Data (YAML)
```yaml
process_model:
name: "Order Fulfillment"
version: "1.0"
date: "2025-01-15"
type: "as_is" # or "to_be"
owner: "Operations"
boundaries:
trigger: "Customer places order"
end_state: "Customer receives product"
scope:
includes:
- "Order receipt"
- "Payment processing"
- "Fulfillment"
- "Shipping"
excludes:
- "Returns"
- "Customer support"
participants:
- pool: "Company"
lanes:
- name: "Sales"
activities: ["Review Order"]
- name: "Warehouse"
activities: ["Pick Items", "Pack Order", "Ship Order"]
- pool: "Customer"
lanes:
- name: "Buyer"
activities: ["Place Order", "Receive Product"]
elements:
events:
- id: "start_1"
type: "start"
name: "Order Received"
trigger: "message"
- id: "end_1"
type: "end"
name:Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.