explain-business-process

Identifies business workflows with actors, steps, preconditions, and outcomes. Translates method chains into natural language business processes like "When customer places order, system validates inventory..."

59 stars

Best use case

explain-business-process is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Identifies business workflows with actors, steps, preconditions, and outcomes. Translates method chains into natural language business processes like "When customer places order, system validates inventory..."

Teams using explain-business-process should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/explain-business-process/SKILL.md --create-dirs "https://raw.githubusercontent.com/dykyi-roman/awesome-claude-code/main/skills/explain-business-process/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/explain-business-process/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How explain-business-process Compares

Feature / Agentexplain-business-processStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Identifies business workflows with actors, steps, preconditions, and outcomes. Translates method chains into natural language business processes like "When customer places order, system validates inventory..."

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Business Process Explainer

## Overview

Identifies and documents business processes implemented in code. Translates technical method chains, event flows, and service orchestrations into natural language descriptions with actors, steps, preconditions, and outcomes.

## Process Detection

### Use Case / Command Handler Analysis

```bash
# Find use cases and command handlers (primary business operations)
Grep: "class.*UseCase|class.*Handler" --glob "**/Application/**/*.php"
Grep: "function (execute|handle|__invoke)" --glob "**/Application/**/*.php"

# Read the handler to trace the full process
# Each handler method = one business process
```

### Service Orchestration

```bash
# Application services that orchestrate domain operations
Grep: "class.*Service" --glob "**/Application/**/*.php"
Grep: "function (create|update|delete|process|execute|handle)" --glob "**/Application/**/*.php"

# Domain services with business logic
Grep: "class.*Service" --glob "**/Domain/**/*.php"
```

### Event-Driven Processes

```bash
# Events that trigger subsequent processes
Grep: "class.*Event" --glob "**/Domain/**/*.php"
Grep: "dispatch|publish|raise|record" --glob "**/*.php"

# Event handlers (reaction to events)
Grep: "#\\[AsMessageHandler\\]|implements.*Handler" --glob "**/*.php"
Grep: "function.*handle.*Event" --glob "**/*.php"
```

## Analysis Process

### Step 1: Identify the Process

For each Use Case / Command Handler:

1. **Read the handler** — understand the sequence of operations
2. **Identify the actor** — who initiates this process (User, Admin, System, Scheduler)
3. **Identify preconditions** — what must be true before the process starts
4. **Trace the steps** — follow method calls through the layers
5. **Identify outcomes** — what changes after the process completes
6. **Find side effects** — events dispatched, notifications sent, logs written

### Step 2: Trace Method Chains

```
Handler::handle(Command)
  → Repository::find(id)           // Load data
  → Entity::performAction(args)    // Domain logic
  → Repository::save(entity)       // Persist changes
  → EventBus::dispatch(event)      // Side effects
```

Translate to:

> "When **[actor]** performs **[action]**, the system **[step 1]**, then **[step 2]**, and finally **[step 3]**."

### Step 3: Map to Business Language

| Technical Term | Business Term |
|---------------|---------------|
| `CreateOrderHandler` | "Place an order" |
| `Repository::find()` | "Look up the [entity]" |
| `Entity::validate()` | "Verify that [conditions]" |
| `Repository::save()` | "Record the [entity]" |
| `EventBus::dispatch()` | "Notify relevant parties" |
| `throw InvalidArgumentException` | "Reject if [condition]" |
| `Transaction::begin/commit` | "Ensure all-or-nothing" |

## Process Documentation Template

For each identified process:

```markdown
### Process: [Business Name]

**Trigger:** [What starts this process]
**Actor:** [Who initiates — Customer, Admin, System, Scheduler]
**Preconditions:**
- [What must be true before starting]
- [Required state/permissions]

**Steps:**
1. **[Actor]** [initiates action] (e.g., "submits order form")
2. **System** [validates/checks] (e.g., "validates order data")
3. **System** [performs domain logic] (e.g., "calculates total with discounts")
4. **System** [persists changes] (e.g., "saves the new order")
5. **System** [triggers side effects] (e.g., "sends confirmation email")

**Outcomes:**
- **Success:** [What happens on success]
- **Failure:** [What happens on failure — specific error scenarios]

**Side Effects:**
- [Events dispatched]
- [Notifications sent]
- [External systems called]

**Business Rules Applied:**
- [Rule references from extract-business-rules]
```

## Output Format

```markdown
## Business Processes

### Overview

| # | Process | Actor | Trigger | Domain |
|---|---------|-------|---------|--------|
| 1 | Place Order | Customer | Submit order form | Order |
| 2 | Process Payment | System | Order confirmed | Payment |
| 3 | Ship Order | Warehouse | Payment received | Shipping |
| 4 | Cancel Order | Customer/Admin | User request | Order |

### Process 1: Place Order

**Trigger:** Customer submits order through API or web form
**Actor:** Customer (authenticated)

**Preconditions:**
- Customer is authenticated
- Shopping cart is not empty
- All items are in stock

**Steps:**
1. **Customer** submits order with items and delivery address
2. **System** validates order data (items exist, quantities available)
3. **System** checks customer's eligibility (account active, no blocks)
4. **System** calculates total price including taxes and shipping
5. **System** applies available discounts (loyalty, promotional)
6. **System** reserves inventory for ordered items
7. **System** creates the order record with "pending" status
8. **System** initiates payment process

**Outcomes:**
- **Success:** Order created with status "pending", confirmation sent
- **Failure (validation):** Error returned with specific field errors
- **Failure (stock):** "Items out of stock" with affected items listed
- **Failure (payment):** Order created but marked "payment_failed"

**Side Effects:**
- OrderCreated event → triggers confirmation email
- OrderCreated event → triggers inventory reservation
- OrderCreated event → triggers analytics tracking

**Business Rules:**
- INV-1: Order amount must be positive
- INV-2: Order must have at least one item
- POL-1: Free shipping for orders over $100

### Process Interaction Map

```
[Place Order] ──triggers──→ [Process Payment]
                               │
                    success ←──┘──→ failure
                       │              │
                       v              v
               [Ship Order]    [Cancel Order]
                    │
                    v
             [Deliver Order]
```
```

## Process Complexity Indicators

| Indicator | Simple | Medium | Complex |
|-----------|--------|--------|---------|
| Steps | 1-3 | 4-7 | 8+ |
| Actors | 1 | 2 | 3+ |
| Branches | 0-1 | 2-3 | 4+ |
| Side effects | 0-1 | 2-3 | 4+ |
| Domain events | 0 | 1-2 | 3+ |

## Integration

This skill is used by:
- `business-logic-analyst` — documents all business processes
- `extract-business-rules` — references rules in processes
- `trace-request-lifecycle` — technical trace for each process

Related Skills

extract-business-rules

59
from dykyi-roman/awesome-claude-code

Extracts validation rules, guards, business constraints, authorization rules, and invariants from domain code. Maps technical implementations to business terminology for non-technical stakeholders.

explain-output-template

59
from dykyi-roman/awesome-claude-code

Output format templates for all 5 explanation modes — quick (compact), deep (full analysis with diagrams), onboarding (project guide), business (non-technical), qa (interactive Q&A).

check-batch-processing

59
from dykyi-roman/awesome-claude-code

Analyzes PHP code for batch processing issues. Detects single-item vs bulk operations, missing batch inserts, individual API calls in loops, transaction overhead.

yii-knowledge

59
from dykyi-roman/awesome-claude-code

Yii framework knowledge base. Provides Yii3 modular architecture, DDD integration, PSR-7/PSR-15 compliance, persistence, DI, security (RBAC, auth), event system (PSR-14), queue/jobs, infrastructure components (cache, rate limiter, HTTP client), testing, and antipatterns for Yii PHP projects.

troubleshooting-template

59
from dykyi-roman/awesome-claude-code

Generates troubleshooting guides and FAQ sections for PHP projects. Creates problem-solution documentation.

trace-request-lifecycle

59
from dykyi-roman/awesome-claude-code

Traces full request lifecycle from Router through Middleware, Controller, UseCase, Repository to Response. Documents HTTP methods, routes, middleware stack, response codes, and error handling paths.

trace-data-transformation

59
from dykyi-roman/awesome-claude-code

Maps data transformation chains — Request DTO to Command to Entity to Response DTO. Identifies mappers, serializers, type conversions, and data loss points across layer boundaries.

testing-knowledge

59
from dykyi-roman/awesome-claude-code

Testing knowledge base for PHP 8.4 projects. Provides testing pyramid, AAA pattern, naming conventions, isolation principles, DDD testing guidelines, and PHPUnit patterns.

task-progress-knowledge

59
from dykyi-roman/awesome-claude-code

TaskCreate pattern guidelines for progress tracking in coordinator agents

symfony-knowledge

59
from dykyi-roman/awesome-claude-code

Symfony framework knowledge base. Provides architecture, DDD integration, persistence, DI, security, messenger, workflow, events, infrastructure components, testing, and antipatterns for Symfony PHP projects.

suggest-testability-improvements

59
from dykyi-roman/awesome-claude-code

Suggests testability improvements for PHP code. Provides DI refactoring suggestions, mock opportunities, interface extraction, testing strategy recommendations.

suggest-simplification

59
from dykyi-roman/awesome-claude-code

Suggests code simplification opportunities. Identifies extract method candidates, complex expressions, redundant code, refactoring opportunities.