| name | workflow-ops |
| description | Create, test, and debug workflows and dispatches. Use when creating workflows, checking dispatch history, validating prompt templates, enabling/disabling workflows, or debugging task source polling. |
Workflow Operations
Operational skill for managing workflows and task dispatching.
Creating Workflows
agent orchestrator create-workflow \
--name issue-worker \
--agent-name worker \
--source-type github_issues \
--owner geoffjay \
--repo agentd \
--labels agent \
--state open \
--poll-interval 60 \
--prompt-template 'Work on issue #{{source_id}}: {{title}}\n\n{{body}}'
agent orchestrator create-workflow \
--name pr-reviewer \
--agent-name reviewer \
--source-type github_pull_requests \
--owner geoffjay \
--repo agentd \
--labels review \
--state open \
--poll-interval 120
agent orchestrator create-workflow \
--name safe-worker \
--agent-name worker \
--source-type github_issues \
--owner geoffjay \
--repo agentd \
--tool-policy '{"type": "AllowList", "tools": ["Read", "Grep", "Glob"]}'
Managing Workflows
agent orchestrator list-workflows
agent orchestrator get-workflow <workflow-id>
agent orchestrator update-workflow <workflow-id> --enabled true
agent orchestrator update-workflow <workflow-id> --enabled false
agent orchestrator delete-workflow <workflow-id>
Dispatch History
agent orchestrator workflow-history <workflow-id>
agent orchestrator workflow-history <workflow-id> --json
Dispatch statuses: dispatched, completed, failed
Validating Prompt Templates
agent orchestrator validate-template '{{source_id}} - {{title}}: {{body}}'
Available template variables:
{{source_id}} — GitHub issue/PR number
{{title}} — Issue/PR title
{{body}} — Issue/PR body text
{{url}} — GitHub URL
{{labels}} — Comma-separated label list
Troubleshooting
Workflow not dispatching tasks
- Check workflow is enabled:
agent orchestrator get-workflow <id>
- Verify the referenced agent is Running:
agent orchestrator list-agents --status running
- Check GitHub source has matching items:
gh issue list --repo geoffjay/agentd --label agent --state open
gh pr list --repo geoffjay/agentd --label review --state open
- Check dispatch history for duplicates — same source_id won't be dispatched twice
- Check orchestrator logs:
RUST_LOG=agentd_orchestrator::scheduler=debug
Dispatch stuck in "dispatched" state
- The agent may still be working — check with
agent orchestrator stream <agent-id>
- If the agent has disconnected, the dispatch won't complete
- Check the agent's tmux session:
agent orchestrator attach <agent-id>
Wrong prompt sent to agent
- Validate the template:
agent orchestrator validate-template '...'
- Check dispatch history to see the actual prompt sent
- Verify the GitHub issue/PR has the expected content
Declarative Workflow Templates
Workflows can be defined as YAML files in .agentd/workflows/:
name: issue-worker
agent: worker
source:
type: github_issues
owner: geoffjay
repo: agentd
labels:
- agent
state: open
poll_interval: 60
enabled: true
prompt_template: |
Work on issue #{{source_id}}: {{title}}
{{body}}
Apply with: agent apply .agentd/workflows/issue-worker.yml