Build with Your AI Coding Agent
Time: about 2 minutes to install.
Conductor Skills teaches your AI coding agent to create, run, monitor, and manage Conductor workflows and agents. Describe what you want in natural language and your agent builds it for you.
Works with Claude Code, Cursor, GitHub Copilot, Gemini CLI, Codex, Windsurf, Cline, Amazon Q, Aider, Roo Code, Amp, and OpenCode.
You can also point any AI assistant directly at these docs: Conductor for AI assistants is the canonical guidance page, /llms.txt is a machine-readable index, and /llms-full.txt is the complete documentation in a single file.
Prerequisite: a Conductor server
Your agent needs a server to talk to. If you don't have one, start a local server first:
You can also use the free hosted Developer Edition. See Connect to Conductor.
Install
One command detects the AI coding agents installed on your machine and installs Conductor Skills for each of them:
To install for a single agent, pass its flag with --agent — for example, Claude Code:
Connect to your server
After installing, tell your agent where your Conductor server is:
Or set the environment variable directly:
What your agent can do
The following are examples you can prompt your coding agent.
| Capability | Prompt | Result |
|---|---|---|
| Create workflows | "Create a workflow that calls the GitHub API and sends a Slack notification" | Agent generates the full workflow definition with HTTP tasks, input expressions, and output parameters |
| Run workflows | "Run my-workflow with input userId 123" | Agent starts the execution and returns the execution ID |
| Monitor executions | "Show me all failed workflows from the last hour" | Agent searches executions by status, time, or correlation ID |
| Debug failures | "What went wrong with execution abc-123?" | Agent retrieves the execution, identifies the failed task, and shows the error |
| Retry and recover | "Retry all failed executions of order-processing" | Agent batch-retries failed executions |
| Manage lifecycle | "Pause execution xyz-456" | Agent pauses, resumes, terminates, or restarts workflows |
| Signal tasks | "Approve the payment wait task in execution abc-123" | Agent signals WAIT or HUMAN tasks to advance the workflow |
| Write workers | "Write a Python worker that validates email addresses" | Agent generates worker code using the appropriate SDK |
| Visualize | "Show me a diagram of the order-processing workflow" | Agent renders a Mermaid diagram of the workflow |
Example walkthrough: Build an order processing system
This example shows how to build a Conductor application using natural language prompts to your coding agent.
Step 1: Create the workflow
Prompt:
Create an order processing workflow with these steps: validate the order, check inventory, charge payment, and fulfill the order. If payment fails, compensate by releasing the inventory hold. Add a HUMAN task before payment so a human can review high-value orders.
Your agent creates the workflow definition:
{
"name": "order_processing",
"description": "Process customer orders with inventory check, payment, and fulfillment",
"version": 1,
"schemaVersion": 2,
"inputParameters": ["orderId", "customerId", "items", "totalAmount"],
"tasks": [
{
"name": "validate_order",
"taskReferenceName": "validate",
"type": "HTTP",
"inputParameters": {
"http_request": {
"uri": "https://api.example.com/orders/${workflow.input.orderId}/validate",
"method": "POST",
"body": { "items": "${workflow.input.items}" }
}
}
},
{
"name": "check_inventory",
"taskReferenceName": "inventory",
"type": "HTTP",
"inputParameters": {
"http_request": {
"uri": "https://api.example.com/inventory/hold",
"method": "POST",
"body": { "items": "${workflow.input.items}" }
}
}
},
{
"name": "review_gate",
"taskReferenceName": "review_gate",
"type": "SWITCH",
"evaluatorType": "graaljs",
"expression": "$.totalAmount > 500 ? 'needs_review' : 'auto_approve'",
"inputParameters": {
"totalAmount": "${workflow.input.totalAmount}"
},
"decisionCases": {
"needs_review": [
{
"name": "human_review",
"taskReferenceName": "review",
"type": "HUMAN",
"inputParameters": {
"orderId": "${workflow.input.orderId}",
"amount": "${workflow.input.totalAmount}"
}
}
]
},
"defaultCase": []
},
{
"name": "charge_payment",
"taskReferenceName": "payment",
"type": "HTTP",
"inputParameters": {
"http_request": {
"uri": "https://api.example.com/payments/charge",
"method": "POST",
"body": {
"customerId": "${workflow.input.customerId}",
"amount": "${workflow.input.totalAmount}",
"holdId": "${inventory.output.response.body.holdId}"
}
}
}
},
{
"name": "fulfill_order",
"taskReferenceName": "fulfillment",
"type": "HTTP",
"inputParameters": {
"http_request": {
"uri": "https://api.example.com/fulfillment/ship",
"method": "POST",
"body": {
"orderId": "${workflow.input.orderId}",
"items": "${workflow.input.items}",
"paymentId": "${payment.output.response.body.paymentId}"
}
}
}
}
],
"failureWorkflow": "order_processing_compensation",
"outputParameters": {
"orderId": "${workflow.input.orderId}",
"paymentId": "${payment.output.response.body.paymentId}",
"trackingNumber": "${fulfillment.output.response.body.trackingNumber}"
}
}
The agent should also register the workflow automatically.
Step 2: Create the compensation workflow
Prompt:
Create the compensation workflow for order_processing. It should release the inventory hold and refund the payment if it was charged.
Your agent creates order_processing_compensation with the reverse operations.
Step 3: Write a custom worker
Prompt:
Write a Python worker that validates orders by checking that all items exist and quantities are positive
Your agent generates the worker code using the Conductor Python SDK:
from conductor.client.worker.worker_task import worker_task
@worker_task(task_definition_name="validate_order")
def validate_order(task):
items = task.input_data.get("items", [])
for item in items:
if not item.get("productId"):
return {"valid": False, "reason": f"Missing productId"}
if item.get("quantity", 0) <= 0:
return {"valid": False, "reason": f"Invalid quantity for {item['productId']}"}
return {"valid": True, "itemCount": len(items)}
Step 4: Run the workflow
Prompt:
Run order_processing with orderId ORD-001, customerId CUST-42, items [{productId: SKU-100, quantity: 2}], totalAmount 750
Output:
Workflow started.
- Execution ID: f8a2b3c4-d5e6-7890-abcd-ef1234567890
- Status: RUNNING
- The order total ($750) exceeds $500, so it's waiting for human review.
Step 5: Approve the review
Prompt:
Output:
Step 6: Monitor and debug
Prompt:
Output:
Found 2 failed executions:
1. exec-abc — Failed at charge_payment (HTTP 402: Insufficient funds)
2. exec-def — Failed at check_inventory (HTTP 409: Item SKU-200 out of stock)
Prompt:
Output:
Step 7: Visualize
Prompt:
Your agent renders:
%%{init: {'look': 'handDrawn', 'theme': 'base', 'themeVariables': {'primaryColor': '#eef2ff', 'primaryBorderColor': '#1e40af', 'primaryTextColor': '#1e293b', 'lineColor': '#1e3a8a', 'edgeLabelBackground': '#ffffff', 'clusterBkg': '#fbfcff', 'clusterBorder': '#2563eb', 'fontFamily': '-apple-system, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif', 'fontSize': '15px'}, 'flowchart': {'nodeSpacing': 50, 'rankSpacing': 58, 'padding': 14, 'htmlLabels': true, 'curve': 'basis'}}}%%
graph LR
A[validate_order] --> B[check_inventory]
B --> C{totalAmount > 500?}
C -->|Yes| D[human_review WAIT]
C -->|No| E[charge_payment]
D --> E
E --> F[fulfill_order]Supported agents
| Agent | Install flag | Global install | Project install |
|---|---|---|---|
| Claude Code | claude |
Native skill | — |
| Codex CLI | codex |
~/.codex/AGENTS.md |
AGENTS.md |
| Gemini CLI | gemini |
~/.gemini/GEMINI.md |
GEMINI.md |
| Cursor | cursor |
~/.cursor/skills/ |
.cursor/rules/ |
| Windsurf | windsurf |
~/.codeium/windsurf/ |
.windsurfrules |
| GitHub Copilot | copilot |
— | .github/copilot-instructions.md |
| Cline | cline |
— | .clinerules |
| Amazon Q | amazonq |
— | .amazonq/rules/ |
| Aider | aider |
~/.conductor-skills/ |
.conductor-skills/ |
| Roo Code | roo |
~/.roo/rules/ |
.roo/rules/ |
| Amp | amp |
~/.config/AGENTS.md |
.amp/instructions.md |
| OpenCode | opencode |
~/.config/opencode/skills/ |
AGENTS.md |
Upgrade
Next steps
Next: build one yourself with Your First Workflow & Worker, or jump ahead to Your First Agent.
- conductor-skills repository — Full documentation, more examples, and source code.
- Agents overview — Build durable AI agent workflows on Conductor.
- Client SDKs — Language SDKs for writing workers and programmatic access.