@output.ai/cli 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/templates/agent_instructions/AGENTS.md.template +7 -7
- package/dist/templates/agent_instructions/agents/workflow_debugger.md.template +11 -11
- package/dist/templates/agent_instructions/commands/debug_workflow.md.template +13 -13
- package/dist/templates/agent_instructions/commands/plan_workflow.md.template +1 -1
- package/dist/templates/agent_instructions/skills/output-error-direct-io/SKILL.md.template +2 -2
- package/dist/templates/agent_instructions/skills/output-error-http-client/SKILL.md.template +2 -2
- package/dist/templates/agent_instructions/skills/output-error-missing-schemas/SKILL.md.template +2 -2
- package/dist/templates/agent_instructions/skills/output-error-nondeterminism/SKILL.md.template +3 -3
- package/dist/templates/agent_instructions/skills/output-error-try-catch/SKILL.md.template +2 -2
- package/dist/templates/agent_instructions/skills/output-error-zod-import/SKILL.md.template +1 -1
- package/dist/templates/agent_instructions/skills/output-services-check/SKILL.md.template +3 -3
- package/dist/templates/agent_instructions/skills/output-workflow-list/SKILL.md.template +8 -8
- package/dist/templates/agent_instructions/skills/output-workflow-result/SKILL.md.template +33 -33
- package/dist/templates/agent_instructions/skills/output-workflow-run/SKILL.md.template +25 -25
- package/dist/templates/agent_instructions/skills/output-workflow-runs-list/SKILL.md.template +15 -15
- package/dist/templates/agent_instructions/skills/output-workflow-start/SKILL.md.template +35 -35
- package/dist/templates/agent_instructions/skills/output-workflow-status/SKILL.md.template +26 -26
- package/dist/templates/agent_instructions/skills/output-workflow-stop/SKILL.md.template +19 -19
- package/dist/templates/agent_instructions/skills/output-workflow-trace/SKILL.md.template +7 -7
- package/dist/templates/project/README.md.template +1 -1
- package/package.json +1 -1
|
@@ -40,17 +40,17 @@ src/workflows/{name}/
|
|
|
40
40
|
## Commands
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
output dev # Start dev (Temporal:8080, API:3001)
|
|
44
|
-
output workflow list # List workflows
|
|
43
|
+
npx output dev # Start dev (Temporal:8080, API:3001)
|
|
44
|
+
npx output workflow list # List workflows
|
|
45
45
|
|
|
46
46
|
# Sync execution (waits for result)
|
|
47
|
-
output workflow run <name> --input <JSON|JSON_FILE> # Execute and wait
|
|
47
|
+
npx output workflow run <name> --input <JSON|JSON_FILE> # Execute and wait
|
|
48
48
|
|
|
49
49
|
# Async execution
|
|
50
|
-
output workflow start <name> --input <JSON|JSON_FILE> # Start workflow, returns ID
|
|
51
|
-
output workflow status <workflowId> # Check execution status
|
|
52
|
-
output workflow result <workflowId> # Get result when complete
|
|
53
|
-
output workflow stop <workflowId> # Cancel running workflow
|
|
50
|
+
npx output workflow start <name> --input <JSON|JSON_FILE> # Start workflow, returns ID
|
|
51
|
+
npx output workflow status <workflowId> # Check execution status
|
|
52
|
+
npx output workflow result <workflowId> # Get result when complete
|
|
53
|
+
npx output workflow stop <workflowId> # Cancel running workflow
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
## Workflow Pattern
|
|
@@ -30,15 +30,15 @@ For detailed command usage, Claude will automatically invoke the relevant skill.
|
|
|
30
30
|
|
|
31
31
|
| Command | Purpose |
|
|
32
32
|
|---------|---------|
|
|
33
|
-
| `output dev` | Start development services |
|
|
34
|
-
| `output workflow list` | List available workflows |
|
|
35
|
-
| `output workflow runs list` | List execution history |
|
|
36
|
-
| `output workflow run` | Execute synchronously |
|
|
37
|
-
| `output workflow start` | Start asynchronously |
|
|
38
|
-
| `output workflow status` | Check execution status |
|
|
39
|
-
| `output workflow result` | Get execution result |
|
|
40
|
-
| `output workflow stop` | Stop running workflow |
|
|
41
|
-
| `output workflow debug` | Analyze execution trace |
|
|
33
|
+
| `npx output dev` | Start development services |
|
|
34
|
+
| `npx output workflow list` | List available workflows |
|
|
35
|
+
| `npx output workflow runs list` | List execution history |
|
|
36
|
+
| `npx output workflow run` | Execute synchronously |
|
|
37
|
+
| `npx output workflow start` | Start asynchronously |
|
|
38
|
+
| `npx output workflow status` | Check execution status |
|
|
39
|
+
| `npx output workflow result` | Get execution result |
|
|
40
|
+
| `npx output workflow stop` | Stop running workflow |
|
|
41
|
+
| `npx output workflow debug` | Analyze execution trace |
|
|
42
42
|
|
|
43
43
|
## Temporal UI
|
|
44
44
|
|
|
@@ -73,7 +73,7 @@ Match error symptoms to solutions and verify the fix.
|
|
|
73
73
|
**Agent**: Let me help you debug this workflow. First, let's get the execution trace:
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
output workflow debug abc123 --format json
|
|
76
|
+
npx output workflow debug abc123 --format json
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
This will show us exactly where the workflow failed and what error occurred. While I analyze the trace, you can also check the Temporal UI at http://localhost:8080 for a visual timeline of the execution.
|
|
@@ -92,7 +92,7 @@ To:
|
|
|
92
92
|
import { z } from '@output.ai/core';
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
After making this change, run the workflow again with `output workflow run <workflowName>` to verify the fix.
|
|
95
|
+
After making this change, run the workflow again with `npx output workflow run <workflowName>` to verify the fix.
|
|
96
96
|
|
|
97
97
|
---
|
|
98
98
|
*This agent specializes in debugging Output SDK workflows in local development environments.*
|
|
@@ -47,7 +47,7 @@ curl -s http://localhost:8080 > /dev/null && echo "Temporal UI accessible" || ec
|
|
|
47
47
|
RUN: docker compose up -d
|
|
48
48
|
WAIT: for services to start (30-60 seconds)
|
|
49
49
|
IF output_dev_not_running:
|
|
50
|
-
RUN: output dev
|
|
50
|
+
RUN: npx output dev
|
|
51
51
|
WAIT: for services to initialize
|
|
52
52
|
IF all_services_running:
|
|
53
53
|
PROCEED: to step 2
|
|
@@ -69,16 +69,16 @@ Identify the failing workflow execution by listing recent runs. The `output-work
|
|
|
69
69
|
<list_commands>
|
|
70
70
|
```bash
|
|
71
71
|
# List all recent workflow runs
|
|
72
|
-
output workflow runs list
|
|
72
|
+
npx output workflow runs list
|
|
73
73
|
|
|
74
74
|
# Filter by specific workflow type (if known)
|
|
75
|
-
output workflow runs list <workflowName>
|
|
75
|
+
npx output workflow runs list <workflowName>
|
|
76
76
|
|
|
77
77
|
# Get detailed JSON output for analysis
|
|
78
|
-
output workflow runs list --format json
|
|
78
|
+
npx output workflow runs list --format json
|
|
79
79
|
|
|
80
80
|
# Limit results to most recent
|
|
81
|
-
output workflow runs list --limit 10
|
|
81
|
+
npx output workflow runs list --limit 10
|
|
82
82
|
```
|
|
83
83
|
</list_commands>
|
|
84
84
|
|
|
@@ -98,12 +98,12 @@ Look for:
|
|
|
98
98
|
NOTE: workflow ID from output
|
|
99
99
|
PROCEED: to step 3
|
|
100
100
|
IF no_runs_found:
|
|
101
|
-
CHECK: workflow exists with `output workflow list`
|
|
101
|
+
CHECK: workflow exists with `npx output workflow list`
|
|
102
102
|
IF workflow_not_found:
|
|
103
103
|
REPORT: workflow doesn't exist
|
|
104
104
|
SUGGEST: verify workflow name and location
|
|
105
105
|
ELSE:
|
|
106
|
-
SUGGEST: run the workflow with `output workflow run <name>`
|
|
106
|
+
SUGGEST: run the workflow with `npx output workflow run <name>`
|
|
107
107
|
</decision_tree>
|
|
108
108
|
|
|
109
109
|
</step>
|
|
@@ -117,10 +117,10 @@ Retrieve and analyze the execution trace for the identified workflow. The `outpu
|
|
|
117
117
|
<debug_commands>
|
|
118
118
|
```bash
|
|
119
119
|
# Display execution trace (text format)
|
|
120
|
-
output workflow debug <workflowId>
|
|
120
|
+
npx output workflow debug <workflowId>
|
|
121
121
|
|
|
122
122
|
# Display full untruncated trace (JSON format) - recommended for detailed analysis
|
|
123
|
-
output workflow debug <workflowId> --format json
|
|
123
|
+
npx output workflow debug <workflowId> --format json
|
|
124
124
|
```
|
|
125
125
|
</debug_commands>
|
|
126
126
|
|
|
@@ -174,12 +174,12 @@ Based on the trace analysis, identify the error pattern and suggest targeted fix
|
|
|
174
174
|
After applying fix:
|
|
175
175
|
```bash
|
|
176
176
|
# Re-run the workflow to verify
|
|
177
|
-
output workflow run <workflowName> <input>
|
|
177
|
+
npx output workflow run <workflowName> <input>
|
|
178
178
|
|
|
179
179
|
# Or start asynchronously and check result
|
|
180
|
-
output workflow start <workflowName> <input>
|
|
181
|
-
output workflow status <workflowId>
|
|
182
|
-
output workflow result <workflowId>
|
|
180
|
+
npx output workflow start <workflowName> <input>
|
|
181
|
+
npx output workflow status <workflowId>
|
|
182
|
+
npx output workflow result <workflowId>
|
|
183
183
|
```
|
|
184
184
|
</verification>
|
|
185
185
|
|
|
@@ -213,7 +213,7 @@ Design the testing strategy for the workflow.
|
|
|
213
213
|
|
|
214
214
|
Generate the complete plan in markdown format.
|
|
215
215
|
|
|
216
|
-
Note that every implementation should start with running the cli command `output workflow generate --skeleton` to create the workflow directory structure.
|
|
216
|
+
Note that every implementation should start with running the cli command `npx output workflow generate --skeleton` to create the workflow directory structure.
|
|
217
217
|
|
|
218
218
|
<file_template>
|
|
219
219
|
<header>
|
|
@@ -230,8 +230,8 @@ Workflow functions should NOT contain:
|
|
|
230
230
|
|
|
231
231
|
After moving I/O to steps:
|
|
232
232
|
|
|
233
|
-
1. **Run the workflow**: `output workflow run <name> '<input>'`
|
|
234
|
-
2. **Check the trace**: `output workflow debug <id> --format json`
|
|
233
|
+
1. **Run the workflow**: `npx output workflow run <name> '<input>'`
|
|
234
|
+
2. **Check the trace**: `npx output workflow debug <id> --format json`
|
|
235
235
|
3. **Verify steps appear**: Look for your I/O steps in the trace
|
|
236
236
|
4. **Confirm no errors**: No determinism warnings or hangs
|
|
237
237
|
|
|
@@ -287,8 +287,8 @@ grep -rn "got\|node-fetch\|request\|superagent" src/
|
|
|
287
287
|
|
|
288
288
|
After migrating to httpClient:
|
|
289
289
|
|
|
290
|
-
1. **Run the workflow**: `output workflow run <name> '<input>'`
|
|
291
|
-
2. **Check the trace**: `output workflow debug <id> --format json`
|
|
290
|
+
1. **Run the workflow**: `npx output workflow run <name> '<input>'`
|
|
291
|
+
2. **Check the trace**: `npx output workflow debug <id> --format json`
|
|
292
292
|
3. **Verify tracing**: HTTP requests should appear in the step trace
|
|
293
293
|
4. **Test retries**: Simulate failures to verify retry behavior
|
|
294
294
|
|
package/dist/templates/agent_instructions/skills/output-error-missing-schemas/SKILL.md.template
CHANGED
|
@@ -255,8 +255,8 @@ export const logEvent = step({
|
|
|
255
255
|
|
|
256
256
|
After adding schemas:
|
|
257
257
|
|
|
258
|
-
1. **TypeScript check**: `npm run build` should pass without type errors
|
|
259
|
-
2. **Runtime test**: `output workflow run <name> '<input>'` should validate correctly
|
|
258
|
+
1. **TypeScript check**: `npm run output:workflow:build` should pass without type errors
|
|
259
|
+
2. **Runtime test**: `npx output workflow run <name> '<input>'` should validate correctly
|
|
260
260
|
3. **Invalid input test**: Pass invalid data and verify validation errors appear
|
|
261
261
|
|
|
262
262
|
## Related Issues
|
package/dist/templates/agent_instructions/skills/output-error-nondeterminism/SKILL.md.template
CHANGED
|
@@ -216,7 +216,7 @@ Look at your workflow `fn` functions specifically. Non-deterministic code is onl
|
|
|
216
216
|
## Verification Steps
|
|
217
217
|
|
|
218
218
|
1. **Fix the code** using solutions above
|
|
219
|
-
2. **Run the workflow**: `output workflow run <name> '<input>'`
|
|
219
|
+
2. **Run the workflow**: `npx output workflow run <name> '<input>'`
|
|
220
220
|
3. **Run again with same input**: Result should be identical
|
|
221
221
|
4. **Check for errors**: No "non-deterministic" messages
|
|
222
222
|
|
|
@@ -238,10 +238,10 @@ If unsure whether code is causing issues:
|
|
|
238
238
|
|
|
239
239
|
```bash
|
|
240
240
|
# Run the workflow
|
|
241
|
-
output workflow start my-workflow '{"input": "test"}'
|
|
241
|
+
npx output workflow start my-workflow '{"input": "test"}'
|
|
242
242
|
|
|
243
243
|
# Get the workflow ID and run debug to see replay behavior
|
|
244
|
-
output workflow debug <workflowId> --format json
|
|
244
|
+
npx output workflow debug <workflowId> --format json
|
|
245
245
|
```
|
|
246
246
|
|
|
247
247
|
Look for errors or warnings about non-determinism in the trace.
|
|
@@ -216,9 +216,9 @@ Do NOT use FatalError to wrap other errors unless you're certain they shouldn't
|
|
|
216
216
|
|
|
217
217
|
After removing try-catch:
|
|
218
218
|
|
|
219
|
-
1. **Test normal operation**: `output workflow run <name> '<valid-input>'`
|
|
219
|
+
1. **Test normal operation**: `npx output workflow run <name> '<valid-input>'`
|
|
220
220
|
2. **Test failure scenarios**: Use input that causes step failures
|
|
221
|
-
3. **Check retry behavior**: Look for retry attempts in `output workflow debug <id>`
|
|
221
|
+
3. **Check retry behavior**: Look for retry attempts in `npx output workflow debug <id>`
|
|
222
222
|
|
|
223
223
|
## Related Issues
|
|
224
224
|
|
|
@@ -55,7 +55,7 @@ curl -s http://localhost:8080 > /dev/null && echo "Temporal UI accessible" || ec
|
|
|
55
55
|
### If services are not running:
|
|
56
56
|
```bash
|
|
57
57
|
# Start all development services
|
|
58
|
-
output dev
|
|
58
|
+
npx output dev
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Wait 30-60 seconds for all services to initialize, then re-run the checks.
|
|
@@ -80,7 +80,7 @@ IF docker_not_running:
|
|
|
80
80
|
WAIT: for Docker to initialize
|
|
81
81
|
|
|
82
82
|
IF no_output_containers:
|
|
83
|
-
RUN: output dev
|
|
83
|
+
RUN: npx output dev
|
|
84
84
|
WAIT: 30-60 seconds for services
|
|
85
85
|
|
|
86
86
|
IF api_not_responding:
|
|
@@ -105,7 +105,7 @@ docker ps | grep output
|
|
|
105
105
|
# Output: (empty - no containers)
|
|
106
106
|
|
|
107
107
|
# Start services
|
|
108
|
-
output dev
|
|
108
|
+
npx output dev
|
|
109
109
|
|
|
110
110
|
# Wait and verify
|
|
111
111
|
sleep 60
|
|
@@ -23,7 +23,7 @@ This skill helps you discover all available workflows in an Output SDK project.
|
|
|
23
23
|
### List All Workflows
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
output workflow list
|
|
26
|
+
npx output workflow list
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
This command scans the project and displays all available workflows.
|
|
@@ -67,7 +67,7 @@ ls -la src/workflows/<workflowName>/
|
|
|
67
67
|
**Scenario**: Discover available workflows in a project
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
|
-
output workflow list
|
|
70
|
+
npx output workflow list
|
|
71
71
|
|
|
72
72
|
# Example output:
|
|
73
73
|
# Name Description Location
|
|
@@ -81,18 +81,18 @@ output workflow list
|
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
83
|
# Check if "email-sender" workflow exists
|
|
84
|
-
output workflow list | grep email-sender
|
|
84
|
+
npx output workflow list | grep email-sender
|
|
85
85
|
|
|
86
86
|
# If no output, the workflow doesn't exist
|
|
87
87
|
# If found, proceed with running it
|
|
88
|
-
output workflow run email-sender '{"to": "user@example.com"}'
|
|
88
|
+
npx output workflow run email-sender '{"to": "user@example.com"}'
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
**Scenario**: Explore workflow implementation
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
94
|
# List workflows
|
|
95
|
-
output workflow list
|
|
95
|
+
npx output workflow list
|
|
96
96
|
|
|
97
97
|
# Find the location and examine it
|
|
98
98
|
cat src/workflows/simple/workflow.ts
|
|
@@ -112,6 +112,6 @@ cat src/workflows/simple/workflow.ts
|
|
|
112
112
|
|
|
113
113
|
## Related Commands
|
|
114
114
|
|
|
115
|
-
- `output workflow run <name>` - Execute a workflow synchronously
|
|
116
|
-
- `output workflow start <name>` - Start a workflow asynchronously
|
|
117
|
-
- `output workflow runs list` - View execution history
|
|
115
|
+
- `npx output workflow run <name>` - Execute a workflow synchronously
|
|
116
|
+
- `npx output workflow start <name>` - Start a workflow asynchronously
|
|
117
|
+
- `npx output workflow runs list` - View execution history
|
|
@@ -8,7 +8,7 @@ allowed-tools: [Bash]
|
|
|
8
8
|
|
|
9
9
|
## Overview
|
|
10
10
|
|
|
11
|
-
This skill retrieves the result (return value) of a completed workflow execution. Use it after a workflow started with `output workflow start` has completed, or to retrieve results from historical runs.
|
|
11
|
+
This skill retrieves the result (return value) of a completed workflow execution. Use it after a workflow started with `npx output workflow start` has completed, or to retrieve results from historical runs.
|
|
12
12
|
|
|
13
13
|
## When to Use This Skill
|
|
14
14
|
|
|
@@ -22,14 +22,14 @@ This skill retrieves the result (return value) of a completed workflow execution
|
|
|
22
22
|
|
|
23
23
|
- The workflow must have completed (status: COMPLETED)
|
|
24
24
|
- You need the workflow ID
|
|
25
|
-
- For FAILED workflows, use `output workflow debug` instead
|
|
25
|
+
- For FAILED workflows, use `npx output workflow debug` instead
|
|
26
26
|
|
|
27
27
|
## Instructions
|
|
28
28
|
|
|
29
29
|
### Get Result
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
output workflow result <workflowId>
|
|
32
|
+
npx output workflow result <workflowId>
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
The result is the return value of the workflow function, typically JSON.
|
|
@@ -39,10 +39,10 @@ The result is the return value of the workflow function, typically JSON.
|
|
|
39
39
|
Before getting results, verify the workflow completed:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
output workflow status <workflowId>
|
|
42
|
+
npx output workflow status <workflowId>
|
|
43
43
|
# Should show: COMPLETED
|
|
44
44
|
|
|
45
|
-
output workflow result <workflowId>
|
|
45
|
+
npx output workflow result <workflowId>
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
## Understanding Results
|
|
@@ -62,7 +62,7 @@ export default workflow({
|
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
64
|
# Result output
|
|
65
|
-
output workflow result abc123
|
|
65
|
+
npx output workflow result abc123
|
|
66
66
|
# { "processed": true, "count": 42 }
|
|
67
67
|
```
|
|
68
68
|
|
|
@@ -70,13 +70,13 @@ output workflow result abc123
|
|
|
70
70
|
|
|
71
71
|
If you try to get the result of a failed workflow:
|
|
72
72
|
- You'll get an error message
|
|
73
|
-
- Use `output workflow debug` instead to see what went wrong
|
|
73
|
+
- Use `npx output workflow debug` instead to see what went wrong
|
|
74
74
|
|
|
75
75
|
### No Result (void workflows)
|
|
76
76
|
|
|
77
77
|
Some workflows don't return a value:
|
|
78
78
|
```bash
|
|
79
|
-
output workflow result abc123
|
|
79
|
+
npx output workflow result abc123
|
|
80
80
|
# null
|
|
81
81
|
```
|
|
82
82
|
|
|
@@ -86,15 +86,15 @@ output workflow result abc123
|
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
88
|
# Start workflow
|
|
89
|
-
output workflow start calculate '{"values": [1, 2, 3]}'
|
|
89
|
+
npx output workflow start calculate '{"values": [1, 2, 3]}'
|
|
90
90
|
# Output: Workflow ID: calc-abc123
|
|
91
91
|
|
|
92
92
|
# Wait for completion
|
|
93
|
-
output workflow status calc-abc123
|
|
93
|
+
npx output workflow status calc-abc123
|
|
94
94
|
# Status: COMPLETED
|
|
95
95
|
|
|
96
96
|
# Get the result
|
|
97
|
-
output workflow result calc-abc123
|
|
97
|
+
npx output workflow result calc-abc123
|
|
98
98
|
# { "sum": 6, "average": 2 }
|
|
99
99
|
```
|
|
100
100
|
|
|
@@ -102,21 +102,21 @@ output workflow result calc-abc123
|
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
104
|
# Extract specific field
|
|
105
|
-
output workflow result abc123 | jq '.total'
|
|
105
|
+
npx output workflow result abc123 | jq '.total'
|
|
106
106
|
|
|
107
107
|
# Format for display
|
|
108
|
-
output workflow result abc123 | jq '.'
|
|
108
|
+
npx output workflow result abc123 | jq '.'
|
|
109
109
|
|
|
110
110
|
# Save to file
|
|
111
|
-
output workflow result abc123 > result.json
|
|
111
|
+
npx output workflow result abc123 > result.json
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
**Scenario**: Compare results between runs
|
|
115
115
|
|
|
116
116
|
```bash
|
|
117
117
|
# Get results from two runs
|
|
118
|
-
output workflow result run-1-abc > result1.json
|
|
119
|
-
output workflow result run-2-xyz > result2.json
|
|
118
|
+
npx output workflow result run-1-abc > result1.json
|
|
119
|
+
npx output workflow result run-2-xyz > result2.json
|
|
120
120
|
|
|
121
121
|
# Compare
|
|
122
122
|
diff result1.json result2.json
|
|
@@ -128,17 +128,17 @@ diff result1.json result2.json
|
|
|
128
128
|
WORKFLOW_ID="abc123"
|
|
129
129
|
|
|
130
130
|
# Wait for completion
|
|
131
|
-
while [[ $(output workflow status $WORKFLOW_ID) == *"RUNNING"* ]]; do
|
|
131
|
+
while [[ $(npx output workflow status $WORKFLOW_ID) == *"RUNNING"* ]]; do
|
|
132
132
|
sleep 5
|
|
133
133
|
done
|
|
134
134
|
|
|
135
135
|
# Check if completed successfully
|
|
136
|
-
if [[ $(output workflow status $WORKFLOW_ID) == *"COMPLETED"* ]]; then
|
|
137
|
-
RESULT=$(output workflow result $WORKFLOW_ID)
|
|
136
|
+
if [[ $(npx output workflow status $WORKFLOW_ID) == *"COMPLETED"* ]]; then
|
|
137
|
+
RESULT=$(npx output workflow result $WORKFLOW_ID)
|
|
138
138
|
echo "Workflow result: $RESULT"
|
|
139
139
|
else
|
|
140
140
|
echo "Workflow did not complete successfully"
|
|
141
|
-
output workflow debug $WORKFLOW_ID
|
|
141
|
+
npx output workflow debug $WORKFLOW_ID
|
|
142
142
|
fi
|
|
143
143
|
```
|
|
144
144
|
|
|
@@ -146,25 +146,25 @@ fi
|
|
|
146
146
|
|
|
147
147
|
### JSON Objects
|
|
148
148
|
```bash
|
|
149
|
-
output workflow result abc123
|
|
149
|
+
npx output workflow result abc123
|
|
150
150
|
# { "key": "value", "nested": { "data": true } }
|
|
151
151
|
```
|
|
152
152
|
|
|
153
153
|
### Arrays
|
|
154
154
|
```bash
|
|
155
|
-
output workflow result abc123
|
|
155
|
+
npx output workflow result abc123
|
|
156
156
|
# [1, 2, 3, 4, 5]
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
### Primitive Values
|
|
160
160
|
```bash
|
|
161
|
-
output workflow result abc123
|
|
161
|
+
npx output workflow result abc123
|
|
162
162
|
# 42
|
|
163
163
|
|
|
164
|
-
output workflow result abc123
|
|
164
|
+
npx output workflow result abc123
|
|
165
165
|
# "success"
|
|
166
166
|
|
|
167
|
-
output workflow result abc123
|
|
167
|
+
npx output workflow result abc123
|
|
168
168
|
# true
|
|
169
169
|
```
|
|
170
170
|
|
|
@@ -172,20 +172,20 @@ output workflow result abc123
|
|
|
172
172
|
|
|
173
173
|
For large results, redirect to a file:
|
|
174
174
|
```bash
|
|
175
|
-
output workflow result abc123 > large-result.json
|
|
175
|
+
npx output workflow result abc123 > large-result.json
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
## Error Handling
|
|
179
179
|
|
|
180
180
|
### "Workflow not found"
|
|
181
181
|
- Check the workflow ID is correct
|
|
182
|
-
- Use `output workflow runs list` to find valid IDs
|
|
182
|
+
- Use `npx output workflow runs list` to find valid IDs
|
|
183
183
|
|
|
184
184
|
### "Workflow not completed"
|
|
185
|
-
- Check status: `output workflow status <id>`
|
|
185
|
+
- Check status: `npx output workflow status <id>`
|
|
186
186
|
- Wait for COMPLETED status before getting result
|
|
187
187
|
- If RUNNING, wait and try again
|
|
188
|
-
- If FAILED, use `output workflow debug`
|
|
188
|
+
- If FAILED, use `npx output workflow debug`
|
|
189
189
|
|
|
190
190
|
### "No result available"
|
|
191
191
|
- The workflow may return void/undefined
|
|
@@ -193,7 +193,7 @@ output workflow result abc123 > large-result.json
|
|
|
193
193
|
|
|
194
194
|
## Related Commands
|
|
195
195
|
|
|
196
|
-
- `output workflow status <id>` - Check if workflow completed
|
|
197
|
-
- `output workflow debug <id>` - Debug failed workflows
|
|
198
|
-
- `output workflow run <name>` - Run and get result in one step
|
|
199
|
-
- `output workflow runs list` - Find workflow IDs
|
|
196
|
+
- `npx output workflow status <id>` - Check if workflow completed
|
|
197
|
+
- `npx output workflow debug <id>` - Debug failed workflows
|
|
198
|
+
- `npx output workflow run <name>` - Run and get result in one step
|
|
199
|
+
- `npx output workflow runs list` - Find workflow IDs
|
|
@@ -20,7 +20,7 @@ This skill executes a workflow synchronously, meaning the command waits for the
|
|
|
20
20
|
|
|
21
21
|
## When to Use Async Instead
|
|
22
22
|
|
|
23
|
-
Consider using `output workflow start` (async) when:
|
|
23
|
+
Consider using `npx output workflow start` (async) when:
|
|
24
24
|
- The workflow takes a long time (minutes to hours)
|
|
25
25
|
- You need to run multiple workflows in parallel
|
|
26
26
|
- You want to disconnect and check results later
|
|
@@ -31,8 +31,8 @@ Consider using `output workflow start` (async) when:
|
|
|
31
31
|
### Basic Syntax
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
output workflow run <workflowName> --input '<json-input>'
|
|
35
|
-
output workflow run <workflowName> --input <path-to-json-file>
|
|
34
|
+
npx output workflow run <workflowName> --input '<json-input>'
|
|
35
|
+
npx output workflow run <workflowName> --input <path-to-json-file>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
The `--input` flag is required when the workflow expects input data.
|
|
@@ -44,7 +44,7 @@ The `--input` flag is required when the workflow expects input data.
|
|
|
44
44
|
Pass JSON directly on the command line:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
output workflow run example --input '{"question": "who really is ada lovelace?"}'
|
|
47
|
+
npx output workflow run example --input '{"question": "who really is ada lovelace?"}'
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
#### 2. File Path (Recommended)
|
|
@@ -52,7 +52,7 @@ output workflow run example --input '{"question": "who really is ada lovelace?"}
|
|
|
52
52
|
Reference a JSON file containing the input:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
output workflow run simple --input src/simple/scenarios/question_ada_lovelace.json
|
|
55
|
+
npx output workflow run simple --input src/simple/scenarios/question_ada_lovelace.json
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
This is the recommended approach because:
|
|
@@ -96,26 +96,26 @@ src/
|
|
|
96
96
|
|
|
97
97
|
3. Run the workflow referencing the scenario:
|
|
98
98
|
```bash
|
|
99
|
-
output workflow run my_workflow --input src/my_workflow/scenarios/test_user.json
|
|
99
|
+
npx output workflow run my_workflow --input src/my_workflow/scenarios/test_user.json
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
### Input Examples
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
105
|
# Inline JSON - simple object
|
|
106
|
-
output workflow run my-workflow --input '{"userId": "123"}'
|
|
106
|
+
npx output workflow run my-workflow --input '{"userId": "123"}'
|
|
107
107
|
|
|
108
108
|
# Inline JSON - complex nested input
|
|
109
|
-
output workflow run data-pipeline --input '{"source": "api", "options": {"limit": 100}}'
|
|
109
|
+
npx output workflow run data-pipeline --input '{"source": "api", "options": {"limit": 100}}'
|
|
110
110
|
|
|
111
111
|
# File path - reference a scenario file
|
|
112
|
-
output workflow run simple --input src/simple/scenarios/basic.json
|
|
112
|
+
npx output workflow run simple --input src/simple/scenarios/basic.json
|
|
113
113
|
|
|
114
114
|
# File path - relative to current directory
|
|
115
|
-
output workflow run batch-processor --input ./test_inputs/batch1.json
|
|
115
|
+
npx output workflow run batch-processor --input ./test_inputs/batch1.json
|
|
116
116
|
|
|
117
117
|
# No input (only if workflow doesn't require it)
|
|
118
|
-
output workflow run health-check
|
|
118
|
+
npx output workflow run health-check
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
## Understanding the Output
|
|
@@ -129,7 +129,7 @@ The workflow's return value is displayed, typically as JSON.
|
|
|
129
129
|
If the workflow fails, you'll see:
|
|
130
130
|
- Error message
|
|
131
131
|
- The workflow ID (for further debugging)
|
|
132
|
-
- Suggestion to use `output workflow debug` for details
|
|
132
|
+
- Suggestion to use `npx output workflow debug` for details
|
|
133
133
|
|
|
134
134
|
## Examples
|
|
135
135
|
|
|
@@ -140,7 +140,7 @@ If the workflow fails, you'll see:
|
|
|
140
140
|
ls src/simple/scenarios/
|
|
141
141
|
|
|
142
142
|
# Run using a scenario file
|
|
143
|
-
output workflow run simple --input src/simple/scenarios/basic_sum.json
|
|
143
|
+
npx output workflow run simple --input src/simple/scenarios/basic_sum.json
|
|
144
144
|
|
|
145
145
|
# Output:
|
|
146
146
|
# { "sum": 6, "count": 3 }
|
|
@@ -158,20 +158,20 @@ cat > src/my_workflow/scenarios/test_case_1.json << 'EOF'
|
|
|
158
158
|
EOF
|
|
159
159
|
|
|
160
160
|
# Run the workflow
|
|
161
|
-
output workflow run my_workflow --input src/my_workflow/scenarios/test_case_1.json
|
|
161
|
+
npx output workflow run my_workflow --input src/my_workflow/scenarios/test_case_1.json
|
|
162
162
|
```
|
|
163
163
|
|
|
164
164
|
**Scenario**: Quick inline test during development
|
|
165
165
|
|
|
166
166
|
```bash
|
|
167
|
-
output workflow run example --input '{"question": "explain quantum computing"}'
|
|
167
|
+
npx output workflow run example --input '{"question": "explain quantum computing"}'
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
**Scenario**: Re-run a workflow with different input for debugging
|
|
171
171
|
|
|
172
172
|
```bash
|
|
173
173
|
# First attempt with scenario file
|
|
174
|
-
output workflow run process-data --input src/process_data/scenarios/user_abc.json
|
|
174
|
+
npx output workflow run process-data --input src/process_data/scenarios/user_abc.json
|
|
175
175
|
# Error occurs
|
|
176
176
|
|
|
177
177
|
# Create a new scenario to isolate the issue
|
|
@@ -179,17 +179,17 @@ cat > src/process_data/scenarios/debug_minimal.json << 'EOF'
|
|
|
179
179
|
{"id": "test", "debug": true}
|
|
180
180
|
EOF
|
|
181
181
|
|
|
182
|
-
output workflow run process-data --input src/process_data/scenarios/debug_minimal.json
|
|
182
|
+
npx output workflow run process-data --input src/process_data/scenarios/debug_minimal.json
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
**Scenario**: Capture output for further processing
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
188
|
# Save result to a file
|
|
189
|
-
output workflow run generate-report --input src/generate_report/scenarios/jan_2024.json > report.json
|
|
189
|
+
npx output workflow run generate-report --input src/generate_report/scenarios/jan_2024.json > report.json
|
|
190
190
|
|
|
191
191
|
# Pipe to jq for processing
|
|
192
|
-
output workflow run get-users --input src/get_users/scenarios/active.json | jq '.users[].name'
|
|
192
|
+
npx output workflow run get-users --input src/get_users/scenarios/active.json | jq '.users[].name'
|
|
193
193
|
```
|
|
194
194
|
|
|
195
195
|
## Error Handling
|
|
@@ -198,7 +198,7 @@ output workflow run get-users --input src/get_users/scenarios/active.json | jq '
|
|
|
198
198
|
|
|
199
199
|
| Error | Cause | Solution |
|
|
200
200
|
|-------|-------|----------|
|
|
201
|
-
| "Workflow not found" | Workflow name is incorrect | Check with `output workflow list` |
|
|
201
|
+
| "Workflow not found" | Workflow name is incorrect | Check with `npx output workflow list` |
|
|
202
202
|
| "Invalid input" | JSON doesn't match schema | Verify input matches workflow's inputSchema |
|
|
203
203
|
| "Parse error" | Malformed JSON or file not found | Check JSON syntax or file path |
|
|
204
204
|
| "Timeout" | Workflow took too long | Use async execution for long workflows |
|
|
@@ -208,10 +208,10 @@ output workflow run get-users --input src/get_users/scenarios/active.json | jq '
|
|
|
208
208
|
When a workflow fails, the output includes the workflow ID. Use it to get the full trace:
|
|
209
209
|
|
|
210
210
|
```bash
|
|
211
|
-
output workflow run my-workflow --input src/my_workflow/scenarios/test.json
|
|
211
|
+
npx output workflow run my-workflow --input src/my_workflow/scenarios/test.json
|
|
212
212
|
# Output: Workflow failed. ID: abc123xyz
|
|
213
213
|
|
|
214
|
-
output workflow debug abc123xyz --format json
|
|
214
|
+
npx output workflow debug abc123xyz --format json
|
|
215
215
|
```
|
|
216
216
|
|
|
217
217
|
## Input Schema Tips
|
|
@@ -223,6 +223,6 @@ output workflow debug abc123xyz --format json
|
|
|
223
223
|
|
|
224
224
|
## Related Commands
|
|
225
225
|
|
|
226
|
-
- `output workflow start <name> --input` - Start asynchronously
|
|
227
|
-
- `output workflow list` - See available workflows
|
|
228
|
-
- `output workflow debug <id>` - Debug a failed run
|
|
226
|
+
- `npx output workflow start <name> --input` - Start asynchronously
|
|
227
|
+
- `npx output workflow list` - See available workflows
|
|
228
|
+
- `npx output workflow debug <id>` - Debug a failed run
|
package/dist/templates/agent_instructions/skills/output-workflow-runs-list/SKILL.md.template
CHANGED
|
@@ -23,7 +23,7 @@ This skill helps you view the execution history of workflows. Use it to find fai
|
|
|
23
23
|
### List All Recent Runs
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
output workflow runs list
|
|
26
|
+
npx output workflow runs list
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
By default, this shows the 100 most recent workflow executions across all workflow types.
|
|
@@ -38,7 +38,7 @@ By default, this shows the 100 most recent workflow executions across all workfl
|
|
|
38
38
|
### Filter by Workflow Name
|
|
39
39
|
|
|
40
40
|
```bash
|
|
41
|
-
output workflow runs list <workflowName>
|
|
41
|
+
npx output workflow runs list <workflowName>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
This shows only runs for the specified workflow type.
|
|
@@ -46,7 +46,7 @@ This shows only runs for the specified workflow type.
|
|
|
46
46
|
### Get Detailed JSON Output
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
output workflow runs list --format json
|
|
49
|
+
npx output workflow runs list --format json
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
Use JSON format for programmatic analysis or when you need full details.
|
|
@@ -79,42 +79,42 @@ When viewing runs, pay attention to:
|
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
81
|
# List recent runs and look for FAILED status
|
|
82
|
-
output workflow runs list --limit 20
|
|
82
|
+
npx output workflow runs list --limit 20
|
|
83
83
|
|
|
84
84
|
# Or use JSON format with jq to filter
|
|
85
|
-
output workflow runs list --format json | jq '.[] | select(.status == "FAILED")'
|
|
85
|
+
npx output workflow runs list --format json | jq '.[] | select(.status == "FAILED")'
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
**Scenario**: Get workflow ID for debugging
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
91
|
# List runs for a specific workflow
|
|
92
|
-
output workflow runs list my-workflow --limit 5
|
|
92
|
+
npx output workflow runs list my-workflow --limit 5
|
|
93
93
|
|
|
94
94
|
# Note the workflow ID from the output (e.g., "abc123xyz")
|
|
95
95
|
# Then debug it
|
|
96
|
-
output workflow debug abc123xyz --format json
|
|
96
|
+
npx output workflow debug abc123xyz --format json
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
**Scenario**: Review recent activity for a specific workflow
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
102
|
# See the last 10 runs of the data-pipeline workflow
|
|
103
|
-
output workflow runs list data-pipeline --limit 10
|
|
103
|
+
npx output workflow runs list data-pipeline --limit 10
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
**Scenario**: Export run history for analysis
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
109
|
# Get all recent runs as JSON for external analysis
|
|
110
|
-
output workflow runs list --format json > workflow-runs.json
|
|
110
|
+
npx output workflow runs list --format json > workflow-runs.json
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
**Scenario**: Find when failures started
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
116
|
# Look at more history to find patterns
|
|
117
|
-
output workflow runs list --limit 50 --format json | jq 'group_by(.status) | map({status: .[0].status, count: length})'
|
|
117
|
+
npx output workflow runs list --limit 50 --format json | jq 'group_by(.status) | map({status: .[0].status, count: length})'
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
## Identifying Problems
|
|
@@ -129,13 +129,13 @@ output workflow runs list --limit 50 --format json | jq 'group_by(.status) | map
|
|
|
129
129
|
### Next Steps After Finding a Failed Run
|
|
130
130
|
|
|
131
131
|
1. Copy the workflow ID from the run
|
|
132
|
-
2. Get the execution trace: `output workflow debug <workflowId> --format json`
|
|
132
|
+
2. Get the execution trace: `npx output workflow debug <workflowId> --format json`
|
|
133
133
|
3. Analyze the trace to identify the failure
|
|
134
134
|
4. Apply the appropriate fix based on the error pattern
|
|
135
135
|
|
|
136
136
|
## Related Commands
|
|
137
137
|
|
|
138
|
-
- `output workflow debug <id>` - Analyze execution trace
|
|
139
|
-
- `output workflow status <id>` - Check current status
|
|
140
|
-
- `output workflow result <id>` - Get execution result
|
|
141
|
-
- `output workflow list` - List available workflows
|
|
138
|
+
- `npx output workflow debug <id>` - Analyze execution trace
|
|
139
|
+
- `npx output workflow status <id>` - Check current status
|
|
140
|
+
- `npx output workflow result <id>` - Get execution result
|
|
141
|
+
- `npx output workflow list` - List available workflows
|
|
@@ -20,7 +20,7 @@ This skill starts a workflow asynchronously, meaning the command returns immedia
|
|
|
20
20
|
|
|
21
21
|
## When to Use Sync Instead
|
|
22
22
|
|
|
23
|
-
Consider using `output workflow run` (sync) when:
|
|
23
|
+
Consider using `npx output workflow run` (sync) when:
|
|
24
24
|
- Workflow completes quickly (seconds)
|
|
25
25
|
- You need the result immediately in your terminal
|
|
26
26
|
- Simple testing during development
|
|
@@ -31,8 +31,8 @@ Consider using `output workflow run` (sync) when:
|
|
|
31
31
|
### Basic Syntax
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
output workflow start <workflowName> --input '<json-input>'
|
|
35
|
-
output workflow start <workflowName> --input <path-to-json-file>
|
|
34
|
+
npx output workflow start <workflowName> --input '<json-input>'
|
|
35
|
+
npx output workflow start <workflowName> --input <path-to-json-file>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
The `--input` flag is required when the workflow expects input data.
|
|
@@ -44,7 +44,7 @@ The `--input` flag is required when the workflow expects input data.
|
|
|
44
44
|
Pass JSON directly on the command line:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
output workflow start data-migration --input '{"batchSize": 1000}'
|
|
47
|
+
npx output workflow start data-migration --input '{"batchSize": 1000}'
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
#### 2. File Path (Recommended)
|
|
@@ -52,7 +52,7 @@ output workflow start data-migration --input '{"batchSize": 1000}'
|
|
|
52
52
|
Reference a JSON file containing the input:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
output workflow start data-migration --input src/data_migration/scenarios/large_batch.json
|
|
55
|
+
npx output workflow start data-migration --input src/data_migration/scenarios/large_batch.json
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
This is the recommended approach because:
|
|
@@ -63,30 +63,30 @@ This is the recommended approach because:
|
|
|
63
63
|
### Getting the Workflow ID
|
|
64
64
|
|
|
65
65
|
The command outputs the workflow ID which you'll need for:
|
|
66
|
-
- Checking status: `output workflow status <id>`
|
|
67
|
-
- Getting results: `output workflow result <id>`
|
|
68
|
-
- Debugging: `output workflow debug <id>`
|
|
66
|
+
- Checking status: `npx output workflow status <id>`
|
|
67
|
+
- Getting results: `npx output workflow result <id>`
|
|
68
|
+
- Debugging: `npx output workflow debug <id>`
|
|
69
69
|
|
|
70
70
|
## Examples
|
|
71
71
|
|
|
72
72
|
**Scenario**: Start a long-running workflow with scenario file
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
-
output workflow start data-migration --input src/data_migration/scenarios/full_migration.json
|
|
75
|
+
npx output workflow start data-migration --input src/data_migration/scenarios/full_migration.json
|
|
76
76
|
|
|
77
77
|
# Output:
|
|
78
78
|
# Started workflow: data-migration
|
|
79
79
|
# Workflow ID: abc123xyz
|
|
80
|
-
# Use 'output workflow status abc123xyz' to check progress
|
|
80
|
+
# Use 'npx output workflow status abc123xyz' to check progress
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
**Scenario**: Start multiple workflows in parallel using scenario files
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
86
|
# Start several workflows with different scenario files
|
|
87
|
-
output workflow start process-batch --input src/process_batch/scenarios/batch_1.json
|
|
88
|
-
output workflow start process-batch --input src/process_batch/scenarios/batch_2.json
|
|
89
|
-
output workflow start process-batch --input src/process_batch/scenarios/batch_3.json
|
|
87
|
+
npx output workflow start process-batch --input src/process_batch/scenarios/batch_1.json
|
|
88
|
+
npx output workflow start process-batch --input src/process_batch/scenarios/batch_2.json
|
|
89
|
+
npx output workflow start process-batch --input src/process_batch/scenarios/batch_3.json
|
|
90
90
|
|
|
91
91
|
# Note: Save the workflow IDs to check them later
|
|
92
92
|
```
|
|
@@ -105,37 +105,37 @@ cat > src/generate_report/scenarios/annual_2024.json << 'EOF'
|
|
|
105
105
|
EOF
|
|
106
106
|
|
|
107
107
|
# Start the workflow
|
|
108
|
-
output workflow start generate-report --input src/generate_report/scenarios/annual_2024.json
|
|
108
|
+
npx output workflow start generate-report --input src/generate_report/scenarios/annual_2024.json
|
|
109
109
|
# Output: Workflow ID: report-2024-abc
|
|
110
110
|
|
|
111
111
|
# Check status periodically
|
|
112
|
-
output workflow status report-2024-abc
|
|
112
|
+
npx output workflow status report-2024-abc
|
|
113
113
|
# Output: Status: RUNNING
|
|
114
114
|
|
|
115
115
|
# Later, check again
|
|
116
|
-
output workflow status report-2024-abc
|
|
116
|
+
npx output workflow status report-2024-abc
|
|
117
117
|
# Output: Status: COMPLETED
|
|
118
118
|
|
|
119
119
|
# Get the result
|
|
120
|
-
output workflow result report-2024-abc
|
|
120
|
+
npx output workflow result report-2024-abc
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
**Scenario**: Quick inline test for development
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
|
-
output workflow start quick-job --input '{"test": true}'
|
|
126
|
+
npx output workflow start quick-job --input '{"test": true}'
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
**Scenario**: Script for parallel execution
|
|
130
130
|
|
|
131
131
|
```bash
|
|
132
132
|
# Start workflows and capture IDs
|
|
133
|
-
ID1=$(output workflow start job --input src/job/scenarios/type_a.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
|
|
134
|
-
ID2=$(output workflow start job --input src/job/scenarios/type_b.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
|
|
133
|
+
ID1=$(npx output workflow start job --input src/job/scenarios/type_a.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
|
|
134
|
+
ID2=$(npx output workflow start job --input src/job/scenarios/type_b.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
|
|
135
135
|
|
|
136
136
|
# Wait and check results
|
|
137
|
-
output workflow result $ID1
|
|
138
|
-
output workflow result $ID2
|
|
137
|
+
npx output workflow result $ID1
|
|
138
|
+
npx output workflow result $ID2
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
## Following Up After Starting
|
|
@@ -143,7 +143,7 @@ output workflow result $ID2
|
|
|
143
143
|
### Check Status
|
|
144
144
|
|
|
145
145
|
```bash
|
|
146
|
-
output workflow status <workflowId>
|
|
146
|
+
npx output workflow status <workflowId>
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
Status values:
|
|
@@ -155,7 +155,7 @@ Status values:
|
|
|
155
155
|
### Get Result
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
|
-
output workflow result <workflowId>
|
|
158
|
+
npx output workflow result <workflowId>
|
|
159
159
|
```
|
|
160
160
|
|
|
161
161
|
Only works for COMPLETED workflows. For FAILED workflows, use debug.
|
|
@@ -163,13 +163,13 @@ Only works for COMPLETED workflows. For FAILED workflows, use debug.
|
|
|
163
163
|
### Debug If Failed
|
|
164
164
|
|
|
165
165
|
```bash
|
|
166
|
-
output workflow debug <workflowId> --format json
|
|
166
|
+
npx output workflow debug <workflowId> --format json
|
|
167
167
|
```
|
|
168
168
|
|
|
169
169
|
### Stop If Needed
|
|
170
170
|
|
|
171
171
|
```bash
|
|
172
|
-
output workflow stop <workflowId>
|
|
172
|
+
npx output workflow stop <workflowId>
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
## Workflow ID Management
|
|
@@ -178,8 +178,8 @@ When starting multiple workflows, keep track of IDs:
|
|
|
178
178
|
|
|
179
179
|
```bash
|
|
180
180
|
# Log IDs to a file
|
|
181
|
-
output workflow start batch-job --input src/batch_job/scenarios/id_1.json >> workflow-ids.txt
|
|
182
|
-
output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> workflow-ids.txt
|
|
181
|
+
npx output workflow start batch-job --input src/batch_job/scenarios/id_1.json >> workflow-ids.txt
|
|
182
|
+
npx output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> workflow-ids.txt
|
|
183
183
|
|
|
184
184
|
# Or use a naming convention in your workflow that makes IDs predictable
|
|
185
185
|
```
|
|
@@ -188,14 +188,14 @@ output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> wor
|
|
|
188
188
|
|
|
189
189
|
1. **Use scenario files**: Store inputs in `src/<workflow>/scenarios/` for reproducibility
|
|
190
190
|
2. **Save the workflow ID**: Always note the ID for later reference
|
|
191
|
-
3. **Monitor long workflows**: Use `output workflow status` to check progress
|
|
191
|
+
3. **Monitor long workflows**: Use `npx output workflow status` to check progress
|
|
192
192
|
4. **Handle failures**: Check status before getting results
|
|
193
|
-
5. **Clean up**: Stop any stuck workflows with `output workflow stop`
|
|
193
|
+
5. **Clean up**: Stop any stuck workflows with `npx output workflow stop`
|
|
194
194
|
|
|
195
195
|
## Related Commands
|
|
196
196
|
|
|
197
|
-
- `output workflow run <name> --input` - Execute synchronously
|
|
198
|
-
- `output workflow status <id>` - Check execution status
|
|
199
|
-
- `output workflow result <id>` - Get execution result
|
|
200
|
-
- `output workflow stop <id>` - Stop a running workflow
|
|
201
|
-
- `output workflow debug <id>` - Debug a workflow execution
|
|
197
|
+
- `npx output workflow run <name> --input` - Execute synchronously
|
|
198
|
+
- `npx output workflow status <id>` - Check execution status
|
|
199
|
+
- `npx output workflow result <id>` - Get execution result
|
|
200
|
+
- `npx output workflow stop <id>` - Stop a running workflow
|
|
201
|
+
- `npx output workflow debug <id>` - Debug a workflow execution
|
|
@@ -20,27 +20,27 @@ This skill checks the current execution status of a workflow. Use it to monitor
|
|
|
20
20
|
|
|
21
21
|
## When to Use Other Commands
|
|
22
22
|
|
|
23
|
-
- **Getting results**: Use `output workflow result` after confirming COMPLETED status
|
|
24
|
-
- **Debugging failures**: Use `output workflow debug` for FAILED workflows
|
|
25
|
-
- **Execution history**: Use `output workflow runs list` for multiple runs
|
|
23
|
+
- **Getting results**: Use `npx output workflow result` after confirming COMPLETED status
|
|
24
|
+
- **Debugging failures**: Use `npx output workflow debug` for FAILED workflows
|
|
25
|
+
- **Execution history**: Use `npx output workflow runs list` for multiple runs
|
|
26
26
|
|
|
27
27
|
## Instructions
|
|
28
28
|
|
|
29
29
|
### Check Status
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
output workflow status <workflowId>
|
|
32
|
+
npx output workflow status <workflowId>
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
Replace `<workflowId>` with the ID from `output workflow start` or `output workflow runs list`.
|
|
35
|
+
Replace `<workflowId>` with the ID from `npx output workflow start` or `npx output workflow runs list`.
|
|
36
36
|
|
|
37
37
|
## Understanding Status Values
|
|
38
38
|
|
|
39
39
|
| Status | Meaning | Next Action |
|
|
40
40
|
|--------|---------|-------------|
|
|
41
41
|
| RUNNING | Workflow is currently executing | Wait and check again |
|
|
42
|
-
| COMPLETED | Workflow finished successfully | Get result with `output workflow result` |
|
|
43
|
-
| FAILED | Workflow encountered an error | Debug with `output workflow debug` |
|
|
42
|
+
| COMPLETED | Workflow finished successfully | Get result with `npx output workflow result` |
|
|
43
|
+
| FAILED | Workflow encountered an error | Debug with `npx output workflow debug` |
|
|
44
44
|
| TERMINATED | Workflow was manually stopped | Review if expected, restart if needed |
|
|
45
45
|
| TIMED_OUT | Workflow exceeded time limit | Check for long operations, adjust timeout |
|
|
46
46
|
|
|
@@ -50,16 +50,16 @@ Replace `<workflowId>` with the ID from `output workflow start` or `output workf
|
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
# Start a workflow
|
|
53
|
-
output workflow start data-sync '{"source": "external"}'
|
|
53
|
+
npx output workflow start data-sync '{"source": "external"}'
|
|
54
54
|
# Output: Workflow ID: sync-abc123
|
|
55
55
|
|
|
56
56
|
# Check status
|
|
57
|
-
output workflow status sync-abc123
|
|
57
|
+
npx output workflow status sync-abc123
|
|
58
58
|
# Output: Status: RUNNING
|
|
59
59
|
|
|
60
60
|
# Wait and check again
|
|
61
61
|
sleep 30
|
|
62
|
-
output workflow status sync-abc123
|
|
62
|
+
npx output workflow status sync-abc123
|
|
63
63
|
# Output: Status: COMPLETED
|
|
64
64
|
```
|
|
65
65
|
|
|
@@ -69,16 +69,16 @@ output workflow status sync-abc123
|
|
|
69
69
|
WORKFLOW_ID="abc123xyz"
|
|
70
70
|
|
|
71
71
|
while true; do
|
|
72
|
-
STATUS=$(output workflow status $WORKFLOW_ID)
|
|
72
|
+
STATUS=$(npx output workflow status $WORKFLOW_ID)
|
|
73
73
|
echo "Current status: $STATUS"
|
|
74
74
|
|
|
75
75
|
if [[ "$STATUS" == *"COMPLETED"* ]]; then
|
|
76
76
|
echo "Workflow completed!"
|
|
77
|
-
output workflow result $WORKFLOW_ID
|
|
77
|
+
npx output workflow result $WORKFLOW_ID
|
|
78
78
|
break
|
|
79
79
|
elif [[ "$STATUS" == *"FAILED"* ]]; then
|
|
80
80
|
echo "Workflow failed!"
|
|
81
|
-
output workflow debug $WORKFLOW_ID --format json
|
|
81
|
+
npx output workflow debug $WORKFLOW_ID --format json
|
|
82
82
|
break
|
|
83
83
|
fi
|
|
84
84
|
|
|
@@ -90,13 +90,13 @@ done
|
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
92
|
# Verify status first
|
|
93
|
-
output workflow status my-workflow-123
|
|
93
|
+
npx output workflow status my-workflow-123
|
|
94
94
|
|
|
95
95
|
# If COMPLETED, get result
|
|
96
|
-
output workflow result my-workflow-123
|
|
96
|
+
npx output workflow result my-workflow-123
|
|
97
97
|
|
|
98
98
|
# If FAILED, debug instead
|
|
99
|
-
output workflow debug my-workflow-123 --format json
|
|
99
|
+
npx output workflow debug my-workflow-123 --format json
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
**Scenario**: Batch status check
|
|
@@ -104,7 +104,7 @@ output workflow debug my-workflow-123 --format json
|
|
|
104
104
|
```bash
|
|
105
105
|
# Check multiple workflows
|
|
106
106
|
for id in abc123 def456 ghi789; do
|
|
107
|
-
echo "Workflow $id: $(output workflow status $id)"
|
|
107
|
+
echo "Workflow $id: $(npx output workflow status $id)"
|
|
108
108
|
done
|
|
109
109
|
```
|
|
110
110
|
|
|
@@ -131,21 +131,21 @@ The status command returns information including:
|
|
|
131
131
|
### "Workflow not found"
|
|
132
132
|
- The workflow ID may be incorrect
|
|
133
133
|
- The workflow may have been deleted from history
|
|
134
|
-
- Check `output workflow runs list` to find the correct ID
|
|
134
|
+
- Check `npx output workflow runs list` to find the correct ID
|
|
135
135
|
|
|
136
136
|
### Status stays RUNNING too long
|
|
137
|
-
1. Check if the workflow is stuck: `output workflow debug <id>`
|
|
137
|
+
1. Check if the workflow is stuck: `npx output workflow debug <id>`
|
|
138
138
|
2. Look for infinite loops or waiting operations
|
|
139
|
-
3. Consider stopping: `output workflow stop <id>`
|
|
139
|
+
3. Consider stopping: `npx output workflow stop <id>`
|
|
140
140
|
|
|
141
141
|
### Unexpected TERMINATED status
|
|
142
142
|
- Someone may have manually stopped the workflow
|
|
143
|
-
- Check with `output workflow debug` for context
|
|
144
|
-
- Restart if needed: `output workflow start`
|
|
143
|
+
- Check with `npx output workflow debug` for context
|
|
144
|
+
- Restart if needed: `npx output workflow start`
|
|
145
145
|
|
|
146
146
|
## Related Commands
|
|
147
147
|
|
|
148
|
-
- `output workflow result <id>` - Get execution result (after COMPLETED)
|
|
149
|
-
- `output workflow debug <id>` - Debug execution (after FAILED)
|
|
150
|
-
- `output workflow stop <id>` - Stop a running workflow
|
|
151
|
-
- `output workflow runs list` - View execution history
|
|
148
|
+
- `npx output workflow result <id>` - Get execution result (after COMPLETED)
|
|
149
|
+
- `npx output workflow debug <id>` - Debug execution (after FAILED)
|
|
150
|
+
- `npx output workflow stop <id>` - Stop a running workflow
|
|
151
|
+
- `npx output workflow runs list` - View execution history
|
|
@@ -22,7 +22,7 @@ This skill stops a running workflow execution. The workflow will be marked as TE
|
|
|
22
22
|
|
|
23
23
|
- If the workflow is about to complete (let it finish)
|
|
24
24
|
- If you're unsure whether stopping is safe
|
|
25
|
-
- For debugging (use `output workflow debug` instead)
|
|
25
|
+
- For debugging (use `npx output workflow debug` instead)
|
|
26
26
|
- If the workflow has side effects that may leave data in an inconsistent state
|
|
27
27
|
|
|
28
28
|
## Instructions
|
|
@@ -30,7 +30,7 @@ This skill stops a running workflow execution. The workflow will be marked as TE
|
|
|
30
30
|
### Stop a Workflow
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
output workflow stop <workflowId>
|
|
33
|
+
npx output workflow stop <workflowId>
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### Safety Considerations
|
|
@@ -48,15 +48,15 @@ Before stopping, consider:
|
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
# Check status - workflow has been running too long
|
|
51
|
-
output workflow status abc123xyz
|
|
51
|
+
npx output workflow status abc123xyz
|
|
52
52
|
# Status: RUNNING (for 2 hours)
|
|
53
53
|
|
|
54
54
|
# Decide to stop it
|
|
55
|
-
output workflow stop abc123xyz
|
|
55
|
+
npx output workflow stop abc123xyz
|
|
56
56
|
# Workflow abc123xyz has been stopped
|
|
57
57
|
|
|
58
58
|
# Verify it's terminated
|
|
59
|
-
output workflow status abc123xyz
|
|
59
|
+
npx output workflow status abc123xyz
|
|
60
60
|
# Status: TERMINATED
|
|
61
61
|
```
|
|
62
62
|
|
|
@@ -64,26 +64,26 @@ output workflow status abc123xyz
|
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
66
|
# Realized input was wrong immediately after starting
|
|
67
|
-
output workflow start expensive-job '{"wrong": "input"}'
|
|
67
|
+
npx output workflow start expensive-job '{"wrong": "input"}'
|
|
68
68
|
# Workflow ID: job-abc123
|
|
69
69
|
|
|
70
70
|
# Stop before it processes too much
|
|
71
|
-
output workflow stop job-abc123
|
|
71
|
+
npx output workflow stop job-abc123
|
|
72
72
|
|
|
73
73
|
# Start again with correct input
|
|
74
|
-
output workflow start expensive-job '{"correct": "input"}'
|
|
74
|
+
npx output workflow start expensive-job '{"correct": "input"}'
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
**Scenario**: Stop multiple workflows
|
|
78
78
|
|
|
79
79
|
```bash
|
|
80
80
|
# Get list of running workflows
|
|
81
|
-
output workflow runs list --format json | jq '.[] | select(.status == "RUNNING") | .workflowId'
|
|
81
|
+
npx output workflow runs list --format json | jq '.[] | select(.status == "RUNNING") | .workflowId'
|
|
82
82
|
|
|
83
83
|
# Stop each one (carefully review first!)
|
|
84
84
|
for id in abc123 def456; do
|
|
85
85
|
echo "Stopping $id"
|
|
86
|
-
output workflow stop $id
|
|
86
|
+
npx output workflow stop $id
|
|
87
87
|
done
|
|
88
88
|
```
|
|
89
89
|
|
|
@@ -92,14 +92,14 @@ done
|
|
|
92
92
|
### Check the State
|
|
93
93
|
|
|
94
94
|
```bash
|
|
95
|
-
output workflow status <workflowId>
|
|
95
|
+
npx output workflow status <workflowId>
|
|
96
96
|
# Status: TERMINATED
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
### Review What Happened
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
|
-
output workflow debug <workflowId> --format json
|
|
102
|
+
npx output workflow debug <workflowId> --format json
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
This shows:
|
|
@@ -118,7 +118,7 @@ If the workflow made partial changes:
|
|
|
118
118
|
|
|
119
119
|
```bash
|
|
120
120
|
# Start a fresh execution
|
|
121
|
-
output workflow start <workflowName> '<input>'
|
|
121
|
+
npx output workflow start <workflowName> '<input>'
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## What Happens When You Stop
|
|
@@ -133,7 +133,7 @@ output workflow start <workflowName> '<input>'
|
|
|
133
133
|
|
|
134
134
|
### "Workflow not found"
|
|
135
135
|
- Check the workflow ID is correct
|
|
136
|
-
- Use `output workflow runs list` to find valid IDs
|
|
136
|
+
- Use `npx output workflow runs list` to find valid IDs
|
|
137
137
|
|
|
138
138
|
### "Workflow already completed"
|
|
139
139
|
- The workflow finished before the stop command
|
|
@@ -151,14 +151,14 @@ output workflow start <workflowName> '<input>'
|
|
|
151
151
|
## Best Practices
|
|
152
152
|
|
|
153
153
|
1. **Always check status first**: Confirm the workflow is actually RUNNING
|
|
154
|
-
2. **Review before stopping**: Use `output workflow debug` to understand state
|
|
154
|
+
2. **Review before stopping**: Use `npx output workflow debug` to understand state
|
|
155
155
|
3. **Document why**: Note why you stopped the workflow for future reference
|
|
156
156
|
4. **Plan for cleanup**: Know what side effects may need manual handling
|
|
157
157
|
5. **Consider alternatives**: Sometimes waiting is better than stopping
|
|
158
158
|
|
|
159
159
|
## Related Commands
|
|
160
160
|
|
|
161
|
-
- `output workflow status <id>` - Check current status
|
|
162
|
-
- `output workflow debug <id>` - Review execution details
|
|
163
|
-
- `output workflow start <name>` - Start a new execution
|
|
164
|
-
- `output workflow runs list` - View execution history
|
|
161
|
+
- `npx output workflow status <id>` - Check current status
|
|
162
|
+
- `npx output workflow debug <id>` - Review execution details
|
|
163
|
+
- `npx output workflow start <name>` - Start a new execution
|
|
164
|
+
- `npx output workflow runs list` - View execution history
|
|
@@ -25,12 +25,12 @@ This skill provides guidance on retrieving and analyzing workflow execution trac
|
|
|
25
25
|
|
|
26
26
|
**Basic trace (text format, may be truncated):**
|
|
27
27
|
```bash
|
|
28
|
-
output workflow debug <workflowId>
|
|
28
|
+
npx output workflow debug <workflowId>
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
**Full trace (JSON format, recommended for detailed analysis):**
|
|
32
32
|
```bash
|
|
33
|
-
output workflow debug <workflowId> --format json
|
|
33
|
+
npx output workflow debug <workflowId> --format json
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
**Tip**: Always use `--format json` when you need complete trace data. The text format truncates long values which can hide important debugging information.
|
|
@@ -96,10 +96,10 @@ When examining JSON traces, focus on these fields:
|
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
98
|
# Get the workflow ID from runs list
|
|
99
|
-
output workflow runs list --limit 5 --format json
|
|
99
|
+
npx output workflow runs list --limit 5 --format json
|
|
100
100
|
|
|
101
101
|
# Get detailed trace
|
|
102
|
-
output workflow debug abc123xyz --format json
|
|
102
|
+
npx output workflow debug abc123xyz --format json
|
|
103
103
|
|
|
104
104
|
# Look for the failing step in the output
|
|
105
105
|
# Example output structure:
|
|
@@ -116,13 +116,13 @@ output workflow debug abc123xyz --format json
|
|
|
116
116
|
**Scenario**: Investigate retry behavior
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
output workflow debug abc123xyz --format json | jq '.steps[] | select(.attempts > 1)'
|
|
119
|
+
npx output workflow debug abc123xyz --format json | jq '.steps[] | select(.attempts > 1)'
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
**Scenario**: Check inputs to a specific step
|
|
123
123
|
|
|
124
124
|
```bash
|
|
125
|
-
output workflow debug abc123xyz --format json | jq '.steps[] | select(.name == "processData") | .input'
|
|
125
|
+
npx output workflow debug abc123xyz --format json | jq '.steps[] | select(.name == "processData") | .input'
|
|
126
126
|
```
|
|
127
127
|
|
|
128
128
|
## Next Steps After Analysis
|
|
@@ -130,5 +130,5 @@ output workflow debug abc123xyz --format json | jq '.steps[] | select(.name == "
|
|
|
130
130
|
1. Match the error to common patterns (see error skills)
|
|
131
131
|
2. Consult the `workflow-quality` subagent for best practices
|
|
132
132
|
3. Make code fixes based on identified issues
|
|
133
|
-
4. Re-run the workflow: `output workflow run <workflowName> <input>`
|
|
133
|
+
4. Re-run the workflow: `npx output workflow run <workflowName> <input>`
|
|
134
134
|
5. Verify the fix with a new trace
|
|
@@ -49,7 +49,7 @@ npx output workflow run simple --input '{"question": "who really is ada lovelace
|
|
|
49
49
|
|
|
50
50
|
### 5. Stop Services
|
|
51
51
|
|
|
52
|
-
Press `Ctrl+C` in the terminal running `
|
|
52
|
+
Press `Ctrl+C` in the terminal running `npm run dev` to stop all services gracefully.
|
|
53
53
|
|
|
54
54
|
### 6. View Logs
|
|
55
55
|
|