Running tasks in Develop Mode
In Develop Mode, all development work goes through the Run Task agent. Every request becomes a Task Plan that the AI evaluates, lets you discuss, and only executes once you agree — so you always get a review gate before code is written.
Applies to: Develop Mode — Prompt Engineer and Run Task agents
The task lifecycle
Your request → Evaluating → Planned → (Discussing) → Agreed → Executing → Completed ↘ Failed| Status | Meaning |
|---|---|
| Evaluating | The AI is reading the relevant repositories and codebase context |
| Planned | A full implementation plan has been generated — awaiting your review |
| Discussing | You and the AI are iterating on the plan details |
| Agreed | You’ve approved the plan; the AI has produced the Execution Plan (sub-tasks) |
| Executing | Each sub-task is running sequentially across the selected repositories |
| Completed | All sub-tasks committed; plan closed |
| Failed | A sub-task failed; the run was aborted (earlier commits remain) |
Each sub-task commits independently. If one step fails the run stops; commits from earlier steps stay in your repositories.
Writing effective task requests
The Prompt Engineer can help you refine your request before sending it to Run Task, but the better your input, the better the plan.
Be specific about the target
Instead of:
“Improve the database queries”
Write:
“Fix the N+1 query in
OrderListView— useselect_related('customer', 'items__product')to reduce the query count on the order listing endpoint”
Describe the outcome, not the implementation
Instead of:
“Add a Redis cache”
Write:
“Cache the product catalogue endpoint (
GET /api/products) with a 5-minute TTL to reduce database load. Invalidate the cache when any product is updated or deleted.”
Specify scope boundaries
If you want the agent to stay within a specific file or module:
“Only modify files in
billing/. Don’t change any API endpoint contracts.”
Include testing requirements
“Write pytest tests for the new caching logic. Use
pytest-mockto mock Redis calls. Coverage should reach 90% on the modified functions.”
Creating a Task Plan
- Open the Run Task agent in the Develop Mode sidebar.
- The Target Repositories chips pre-select every repository in
readystatus — tick/untick to narrow the scope. - Optionally change the branch prefix (default
feat). Each executed plan creates a branch named<prefix>/...per repo. - Paste your task description (or an Optimized Prompt copied from the Prompt Engineer) and click Evaluate.
- Wait for the status to move from Evaluating to Planned, then read the proposed plan.
Reviewing and refining
When the plan reaches Planned, use the Discussion panel to ask questions or request changes. Common refinements:
Can you avoid touching the authentication middleware?Use the existing RedisClient singleton from src/lib/redis.tsAdd tests using our existing Jest + Supertest setupClick Agree & Finalise when satisfied. The AI then produces the Execution Plan (typically 3–8 sub-tasks). Review the sub-task titles, then click Execute to start running them.
Interpreting results
Each sub-task in the Execution Plan shows:
| Icon | Meaning |
|---|---|
| Number dot | Step not yet started |
| ⏳ Spinner | Step currently running |
| ✅ Green check | Step completed and committed |
| ⚠️ Triangle | Step failed — run aborted |
A X / N steps counter tracks overall progress (the view polls every 3 seconds). Each completed step shows a short result summary; each failed step shows its error.
When the run finishes you can:
- Download the entire Task Plan as a
.mdfile from the plan header. - Inspect the commits on your Git host before merging to a protected branch.
If the run fails, read the error in the failed step and create a new Task Plan with additional context — earlier commits remain on the branch and the new plan can build on them.
Managing your plans
The History panel on the left side of the Run Task view lists every plan for the current project with its status icon, title, message count, and last-updated timestamp. Click any entry to reopen the full review. Use the trash icon to delete a plan (only removes the record in Ileen — commits already pushed are not reverted).
Task capabilities
| Category | Examples |
|---|---|
| Refactoring | Extract function, rename symbol across codebase, restructure module |
| Bug fixes | Fix a specific error given a stack trace |
| Feature implementation | Add an endpoint, implement a service, integrate an SDK |
| Test generation | Unit tests, integration tests, edge case coverage |
| Documentation | Docstrings, README updates, OpenAPI annotations |
| Dependency updates | Upgrade a package and fix breaking changes |
| Performance | Optimise a query, add caching, reduce memory usage |
Next steps
- Read the full Task Plans guide for execution details, sub-task semantics, and tips.
- Track active runs in Monitoring active jobs.
- Tutorial walkthrough: Tutorial 02 — Develop Mode.