Docs

Testing

Run agents locally, test subagents in isolation, and debug issues before publishing.

Running Locally#

Use the rush CLI to run agents during development. Point it at your agent directory with a test prompt and iterate on the output.

# Run with a test prompt
rush run ./my-agent --prompt "What is quantum computing?" --non-interactive

# Run with verbose output (see tool calls, token usage)
rush run ./my-agent --prompt "test" --verbose --stream-events

# Run an installed agent
rush run my-agent --prompt "test"
ActionCommand
Build agentrush build agents/my-agent
Test locally (relative)rush run ./agents/my-agent --prompt "test" --non-interactive
Test locally (absolute)rush run /path/to/agent --prompt "test" --non-interactive
Test installedrush run my-agent --prompt "test"
Test subagentrush run ./agents/my-agent --sub name --prompt "test"
Publishrush publish agents/my-agent

Path Resolution#

rush run accepts multiple path formats depending on where your agent lives:

FormatExampleResolution
./agents/my-agentRelative with ./ prefixFilesystem only
/Users/you/agents/my-agentAbsolute pathFilesystem only
my-agentSimple nameRegistry / installed first
prix/researcherDeveloper-prefixedRegistry

Use ./ or absolute paths for local development. Use simple names for installed agents.

Testing Subagents#

Use the --sub flag to test specialist subagents in isolation without running the full orchestrator:

# Test a subagent without running the orchestrator
rush run ./agents/rabbit-hole --sub academic-researcher \
  --prompt "Research papers on AI alignment"

# Works with installed agents too
rush run rabbit-hole --sub academic-researcher --prompt "Research X"

Key points:

  • --sub loads the main agent for context, then executes only the specified subagent
  • --prompt is required when using --sub
  • Shows available subagents if you use a nonexistent name

Test each subagent individually before testing the full orchestrator. This isolates issues and saves time.

Debugging#

Verbose Mode

--verbose shows tool calls, model responses, and token usage. --stream-events shows the real-time event stream. Combine both for maximum visibility:

rush run ./my-agent --prompt "test" --verbose --stream-events --non-interactive

Common Issues

IssueCauseFix
Unknown UI componentui_components uses wrong formatMust be a map, not a list. Use ui_components: { email_card: {} } not - email_card
No valid agent profile foundYAML parsing errorCheck for ui_components as list instead of map
Unknown toolTool not declaredAdd to tools list in agent.yaml
Build quality check failedPrompt has rigid rulesUse mindset-over-rules approach
Agent asks too many questionsPrompt is too passiveAdd proactivity to identity section
Subagent not foundWrong nameUse --sub nonexistent to see available subagents

Build Validation

rush build validates your agent before publishing. It catches:

  • Missing required fields
  • Unknown tool names
  • Missing CHANGELOG.md entry for current version
  • Prompt quality (LLM-powered review)

Never use --skip-quality, --skip-lock, or --force with rush build. These flags skip important checks.

Development Workflow#

Recommended workflow for iterating on agents:

  1. Edit agent.yaml / prompt.yaml
  2. Test with rush run ./my-agent --prompt "test task" --non-interactive
  3. Check output, iterate on prompt
  4. Run rush build agents/my-agent to validate
  5. When satisfied, rush publish agents/my-agent

Make sure rush --version resolves before you start — see the Installation guide if it's missing.

Testing | Prix Docs