output-build-workflow
Implement an Output SDK workflow from a plan document. Use when the user asks to build, implement, or code a workflow from an…
Re-run an Output SDK workflow from after a specific completed step, creating a new run that replays up to that point and re-executes subsequent steps. Use when iterating on a later step's prompt or logic without re-running the entire workflow, or when recovering from a failure
Claude Code
$ npx -y skills add growthxai/output --skill output-workflow-reset --agent claude-code
Codex
$ npx skills add growthxai/output --skill output-workflow-reset -a codex -y
Cursor
$ npx skills add growthxai/output --skill output-workflow-reset -a cursor -y
Gemini CLI
$ npx skills add growthxai/output --skill output-workflow-reset -a gemini-cli -y
GitHub Copilot
$ npx skills add growthxai/output --skill output-workflow-reset -a github-copilot -y
OpenCode
$ npx skills add growthxai/output --skill output-workflow-reset -a opencode -y
Windsurf
$ npx skills add growthxai/output --skill output-workflow-reset -a windsurf -y
name: output-workflow-reset description: Re-run an Output SDK workflow from after a specific completed step, creating a new run that replays up to that point and re-executes subsequent steps. Use when iterating on a later step's prompt or logic without re-running the entire workflow, or when recovering from a failure that only affects steps after a known-good point. allowed-tools: [Bash]
This skill resets a workflow to re-run from after a specific completed step. The current run is terminated and a new run is created that replays the workflow up to the given step (reusing its recorded output), then re-executes every step after it.
Use this to avoid re-running expensive early steps (like LLM calls or slow HTTP requests) when you only need to iterate on a later step.
npx output workflow reset <workflowId> --step <stepName> npx output workflow reset <workflowId> --step <stepName> --reason "<why>"
| Flag | Short | Required | Description | |------|-------|----------|-------------| | `--step` | `-s` | yes | Name of the completed step to reset after | | `--reason` | `-r` | no | Free-text reason, recorded in Temporal history for auditability |
The `workflowId` argument is required. The step name is the step function name as it appears in the trace (e.g. `fetchArticle`, `consolidateCompetitors`).
Step names come from the workflow's execution trace:
npx output workflow debug <workflowId> --json
Look for step entries with `status: "completed"`. The step name is the one you pass to `--step`.
On success the CLI prints the original `workflowId` and a **new** `runId` — the new run created by the reset. The pre-reset run is terminated.
Workflow reset successfully Workflow ID: lead_enrichment-a1b2c3d4 New Run ID: 8f3e2a91-... Reset after step: consolidateCompetitors Reason: retrying with updated prompt
Use the new `runId` (via the pinned `workflow runs list`) to inspect the new execution. The `workflowId` is unchanged, so `workflow status` / `workflow result` will target the latest run by default.
**Scenario**: Rerun after fixing a downstream prompt
# The workflow failed at `generateBlogPost`, but `consolidateCompetitors` # (the step before it) completed successfully. npx output workflow debug lead_enrichment-a1b2c3d4 --json # ... confirms consolidateCompetitors completed # Edit src/workflows/lead_enrichment/prompts/generate_blog_post@v1.prompt # Then rerun from after the last good step — skipping the expensive # competitor consolidation LLM call. npx output workflow reset lead_enrichment-a1b2c3d4 \ --step consolidateCompetitors \ --reason "Retry with updated blog-post prompt"
**Scenario**: Iterate on a late step without re-paying upstream costs
# Workflow completed, but step output is wrong. Rerun just the last step. npx output workflow reset blog_evaluator-xyz789 --step analyze_claims # Check the new run's result npx output workflow result blog_evaluator-xyz789
**Scenario**: Record an audit reason
npx output workflow reset wf-12345 \ --step fetchCompanyData \ --reason "Source API returned stale data; rerunning after cache invalidation"
**Scenario**: Capture the new run ID for follow-up
# Grab the new runId from the reset output, then watch it npx output workflow reset lead_enrichment-a1b2c3d4 --step lookupCompany npx output workflow status lead_enrichment-a1b2c3d4 npx output workflow result lead_enrichment-a1b2c3d4
| Error | Cause | Solution | |-------|-------|----------| | `404` Workflow or step not found | Wrong `workflowId` or `--step` name | Check with `npx output workflow runs list` and `workflow debug <id>` | | `409` Step has not completed | Target step is still running or never ran | Wait for the step to complete, or pick an earlier completed step | | API returned invalid response | Transport failure | Check services with `docker ps | grep output` and `curl http://localhost:3001/health` |
1. **Start from `workflow debug`** — confirm which steps completed before picking a reset point 2. **Reset to the step whose output you want to keep** — reset runs everything *after* `<stepName>`; the step itself is not re-executed 3. **Record a `--reason`** — it shows up in Temporal history and helps teammates (and future you) understand why the run forked 4. **Prefer reset over full rerun for expensive workflows** — if early steps make multi-dollar LLM calls, reset saves real money 5. **Verify side effects first** — if an early step writes to an external system, the replay won't re-write, which is usually what you want but occasionally isn't
The open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code — describe what you want, Claude builds it, with all the best practices already in place. One framework.
Implement an Output SDK workflow from a plan document. Use when the user asks to build, implement, or code a workflow from an…
View, edit, and set encrypted credentials in an Output.ai project. Use when adding secrets, updating API keys, verifying…
Wire encrypted credentials to environment variables using the credential: convention. Use when setting up LLM provider keys…
Initialize encrypted credentials for an Output.ai project. Use when setting up credentials for the first time, adding…
Debug Output SDK workflow issues. Use when user reports a workflow failing, erroring, hanging, producing wrong results, or asks…
Use the Agent class for multi-step tool loops, conversation history, streaming progress, and reusable LLM agents. Use when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.