Task Plans in Develop Mode
Task Plans are Ileen’s structured approach to complex development work in Develop Mode. Instead of jumping straight to code generation, the AI evaluates your request, proposes a plan, lets you discuss it, and only executes once you agree. This prevents wasted cycles and keeps you in control.
Overview of the Task Plan lifecycle
New Plan → Evaluating → Planned → Discussing → Agreed → Executing → Completed ↘ Failed| Status | What’s happening |
|---|---|
| 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; ready to execute |
| Executing | The AI is running sequential implementation steps across repositories |
| Completed | All changes committed; plan closed |
| Failed | An error occurred during execution; see the error banner |
Creating a new Task Plan
- In the Develop Mode sidebar, click + New next to “Task Plans”.
- Type a clear description of what you want to build or fix.
Example: “Add a rate-limiter middleware to the Express API that uses Redis, with per-user and per-endpoint limits.” - Click Create — the plan enters Evaluating status.
During evaluation the AI reads the full codebase of every connected repository to understand the existing structure before proposing anything.
Reading the generated plan
Once the status changes to Planned, a collapsible Plan section appears. Click it to expand the full implementation plan rendered as Markdown.
The plan typically contains:
- Scope — which files and repositories are affected
- Steps — numbered implementation steps
- Risks / caveats — anything that might need your attention first
- Out of scope — what is intentionally excluded
Discussing and refining
Use the Discussion panel to ask follow-up questions or request changes:
- Type a message and press Enter to send (use Shift + Enter for a new line).
- The AI responds inline — the conversation is preserved across sessions.
- Discussion is only available while the plan is in Planned or Discussing status.
Common discussion prompts:
Can you avoid touching the authentication middleware?Use the existing RedisClient singleton from src/lib/redis.tsAdd tests using our existing Jest + Supertest setupOnce the AI has incorporated your feedback, a Final Task Definition section appears (auto-expands) showing the agreed scope.
Downloading a Task Plan
Once a plan has been generated (or after execution completes), a Download button appears in the plan header. Clicking it saves the entire Task Plan as a .md file named after the task description (e.g. task-plan-add-rate-limiter-middleware-to.md).
The downloaded file includes every section that exists at that point:
| Section | Included when |
|---|---|
| Task | Always |
| Plan | Plan has been generated |
| Discussion | At least one message exchanged |
| Final Task Definition | Agent and user reached agreement |
| Execution Result | Task completed successfully |
| Execution Error | Task failed |
This is useful for attaching the plan to a PR, archiving decisions, or sharing the scope with teammates who don’t have Ileen access.
Approving the plan
Click Approve when you’re satisfied with the plan. The status changes to Agreed.
Executing
Click Execute when the plan is in Agreed status. The AI begins implementing the plan step by step.
Execution Plan (sub-tasks)
During the Agree phase the AI decomposes the task into a sequence of focused sub-tasks — typically 3–8 steps, each covering a single logical change (e.g. “Add Redis client singleton”, “Implement rate-limiter middleware”, “Wire middleware into Express app”, “Add integration tests”).
Once execution starts, the Execution Plan panel becomes visible in the review view:
| 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 in real time (the view polls every 3 seconds).
Each completed step shows a short result summary below its title. Each failed step shows the error message.
Abort on failure
If any step fails the entire run stops immediately — subsequent steps are not attempted because they would build on a broken or partial base. The session moves to Failed and the error is surfaced inline.
Code committed by steps that succeeded before the failure remains in your repositories.
What each step receives
Every step runs with full context:
- The project architecture and technology stack (same context used during evaluation).
- A cumulative summary of all previously completed steps — so the agent knows exactly what has already been committed and builds on top of it without re-doing work.
- Only the repositories relevant to that specific step (specified by the AI during the agree phase).
Changes are committed directly to your connected repositories using the configured credentials.
Managing multiple Task Plans
The Task Plans sidebar lists all plans for the current project:
- Each entry shows: status icon, title (first 60 characters), message count, and last-updated time.
- Click any plan to open its full TaskPlanReview view.
- To delete a plan: click the trash icon → confirm with the inline Delete / Cancel buttons.
Tips for effective Task Plans
Be specific about boundaries. Tell the AI which files or modules are off-limits: “Don’t touch the Stripe integration.”
Reference existing patterns. Point the AI to code it should follow: “Match the pattern in src/middleware/auth.ts.”
Break large features into multiple plans. A plan covering 3–5 files executes faster and is easier to review than a plan touching 20 files.
Use Discussion before Approve. The Approve → Execute path is one-way per plan. Use the discussion to iron out all ambiguities first.
Review the Execution Plan before hitting Execute. After clicking Agree & Finalise, the AI generates a step-by-step execution plan visible in the review panel. Check that the number of steps and their titles make sense — if not, you can still refine via Discussion before clicking Execute.
Steps are sequential and atomic. Each step commits independently. If a step fails the run stops, but commits from earlier steps remain. You can inspect what was completed, fix issues manually, and create a new plan for the remainder.