Dapr Workflow Skills
This repository contains skill definitions that can be used with Claude Code to build Dapr Workflow applications.
- Text-spec skills:
create-workflow-dotnet,create-workflow-aspire,create-workflow-python— describe the workflow in natural language and scaffold a runnable project. - Diagram-input skill:
create-workflow-from-diagram— provide a workflow diagram (PNG / JPG / JPEG / GIF / WebP) or a BPMN 2.0 XML file; the skill extracts structure and generates code for Go, Python, .NET, Java, or JavaScript. - Review skills:
review-workflow-determinism,review-workflow-activity,review-workflow-management— audit an existing project.
Prerequisites
- Claude Code
- Docker or Podman
- Dapr CLI (version 1.18+)
For .NET skills
For Python skills
How to use this
These skills are distributed as a Claude Code plugin from diagrid-labs/dapr-skills.
-
Start Claude Code in the directory where you want the generated project to be created.
-
Add this repo as a plugin marketplace and install the
dapr-skillsplugin:/plugin marketplace add diagrid-labs/dapr-skills /plugin install dapr-skills@diagrid-labsAlternatively, run
/pluginand use the interactive UI to browse and install the plugin. -
OPTIONAL: Run a
check-prereq-<language>skill to verify your environment (e.g., "check prerequisites for .NET", "check prerequisites for Aspire", or "check prerequisites for Python"). Follow the instructions if the prerequisites are not met. -
Run a
create-workflow-<language>skill to scaffold the project (see the prompt examples below). -
Depending on your access permissions, you may need to approve the usage of some tools during project generation.
-
Inspect the
README.mdfile in the new folder after the project is created.
To update or remove the plugin later, use /plugin and select the corresponding action.
Available skills
Invoke a skill by asking Claude Code in natural language — the example phrases below trigger each skill.
Prerequisite checks
| Skill | Example prompt |
|---|---|
check-prereq-dotnet |
"check prerequisites for .NET" |
check-prereq-aspire |
"check prerequisites for Aspire" |
check-prereq-python |
"check prerequisites for Python" |
Create a workflow
| Skill | Example prompt |
|---|---|
create-workflow-dotnet |
"create a workflow in .NET named ..." |
create-workflow-aspire |
"create a workflow with Aspire named ..." |
create-workflow-python |
"create a workflow in Python named ..." |
create-workflow-from-diagram |
"create a Dapr workflow in <language> from this diagram" (attach a PNG/JPG/GIF/WebP image or a .bpmn file; supported output languages: Go, Python, .NET, Java, JavaScript) |
Review an existing workflow
| Skill | Example prompt |
|---|---|
review-workflow-determinism |
"review workflow for determinism" |
review-workflow-activity |
"review workflow activities" |
review-workflow-management |
"review workflow management endpoints" |
Prompt examples
Example 1: .NET Aspire Onboarding process
Create a Dapr workflow app in .NET with Aspire named EmployeeOnboarding. The workflow automates the onboarding process of a new employee. The first activity is employee registration, which creates a new employeeId in a data store. Then 4 activities are called in parallel:
- AddEmployeeToInternalCommsTool
- AddEmployeeToBenefitsProgram
- UpdateOrgChart
- SendWelcomePackage
The input for the workflow contains the following fields:
- First name
- Last name
- Address
- Department
The input records for the 4 parallel activities include the employeeId. The workflow output should include the employeeId.
Example 2: .NET StarTrek Enterprise Diagnostics
Create a .NET Workflow application named EnterpriseDiagnostics that performs a diagnostics scan for the spaceship Enterprise from Star Trek. The diagnostics start with parallel activities for analyzing the hull, analyzing the warp core, ship security protocols, and weapon systems. Once all these analyses are done, data is combined and a call is made that returns recommendations and priorities. The final activity should be a notification to the bridge with the results.
The input for the workflow contains the following fields:
- Ship name
- Date of diagnostics request
- Name of the engineer who requested the diagnostic
Use mock inputs and outputs for the activities.
Example 3: Python Order Processing
Create a Dapr workflow app in Python named order_processing. The workflow processes an order. The first activity validates the order. Then 2 activities run in parallel:
- ReserveInventory
- ProcessPayment
Once both complete, a final activity sends an order confirmation.
The input for the workflow contains the following fields:
- Order ID
- Customer name
- Items (list)
- Total amount
Example 4: Python StarTrek Enterprise Diagnostics
Create a Python Workflow application named enterprise_diagnostics that performs a diagnostics scan for the spaceship Enterprise from Star Trek. The diagnostics start with parallel activities for analyzing the hull, analyzing the warp core, ship security protocols, and weapon systems. Once all these analyses are done, data is combined and a call is made that returns recommendations and priorities. The final activity should be a notification to the bridge with the results.
The input for the workflow contains the following fields:
- Ship name
- Date of diagnostics request
- Name of the engineer who requested the diagnostic
Example 5: Generate a Dapr workflow from a diagram
Drop a workflow diagram or BPMN file into the chat and ask Claude Code to scaffold a Dapr workflow app from it:
Create a Dapr workflow in Python from this diagram. (attach
skills/create-workflow-from-diagram/examples/pizza-order.png)
Scaffold a Go Dapr workflow from this BPMN file. (attach
skills/create-workflow-from-diagram/examples/order-process.bpmn)
The skill extracts the workflow structure into an intermediate representation, validates it, and writes a runnable project in the chosen language. See skills/create-workflow-from-diagram/REFERENCE.md for the IR format and per-language notes.
No comments yet
Be the first to share your take.