How it works

How it works

What happens between typing "move the milestone" and the plan changing — the assistant reads the plan, proposes the write, shows you the cascade, and only then applies it. Every step, with undo.

shadow-planner's chat assistant isn't a chatbot bolted onto a Gantt chart. It reads and writes the same plan you see, through a fixed set of tools, and every risky write pauses for your approval. Here is one request end to end: moving a milestone.

Moving a milestone by chat in four steps: you ask, the model plans read and write tool calls, you approve the cascade, and you get the answer with every knock-on effect Moving a milestone by chat in four steps: you ask, the model plans read and write tool calls, you approve the cascade, and you get the answer with every knock-on effect

Step 1 — You ask

"Move @Go-live to June 19. What breaks if we do that?"

Type @ to pick the exact milestone, person or project from an autocomplete, so the assistant works on the entity you meant rather than a name it guessed. Dates can be as loose as you like — "two weeks later", "end of June", "19.06." all resolve against your scenario's calendar.

The chat is scoped to the active scenario. Whatever you ask, it only ever touches that one plan.

Step 2 — The model plans

The assistant cannot edit the database freely. It works through tools, and it chooses them in a fixed rhythm: look first, change second, check last.

  1. list_tasks — a read: fetch the milestone and everything that depends on it.
  2. update_task — a write: set the milestone to the new date.
  3. get_schedule_health — a read: what is overdue or at risk afterwards?

Every tool call shows up in the transcript as it happens, tagged READ or WRITE, so database changes are never invisible. Finish-to-start links are data, not guesswork: the cascade is computed by the same engine that handles a drag on the Gantt.

Step 3 — You see the cascade

Simple creates and updates apply directly. But when a change would ripple — shifting successors, stretching a parent epic, pushing past the project end — the assistant stops and shows an approval card:

  • Milestone: ◆ Go-live
  • Date: 05.06.2026 → 19.06.2026
  • Cascade: 3 successors shift
  • Epic: Rollout grows +10 days

Approve applies the change and its knock-on effects as one operation. Cancel applies nothing — not even the original date change. There is no halfway state.

The same pause happens for deletes (with a count of what goes with them) and bulk changes (with the exact list of affected items).

Step 4 — You get the answer

The reply isn't "done". It's what moved, and what that means:

  • Training and Handover shift forward, keeping their workday counts.
  • Handover now ends three days after the project's end date.
  • Ben hits 118 % load in week 25.
  • A suggestion: extend the project to 03.07.?

Not happy? Undo with one click in the Gantt toolbar, or just say "put it back". AI changes sit on the same undo stack as your own, and one undo reverts the whole cascade at once.

What gets checked

The chat enforces the same rules the Gantt enforces when you drag a bar:

  • Dependencies — a successor starts on the first working day after its predecessor and keeps its workday count. Weekends and public holidays are skipped.
  • Epic dates — a parent epic or project auto-extends so it always encloses its children, and tells you when it did.
  • Project end — anything pushed past the project's end date is flagged, not silently allowed.
  • Load — resource utilisation is recalculated, so an overbooked week surfaces in the answer.

Milestones sit on a single day. Moving one only ever pushes what is linked to it, never the rest of the plan.

Everything is on the record

Every write — yours, the chat assistant's, the planning agent's — lands in the audit log with who, what, when, and for AI actions why: the tool used, an excerpt of your prompt and of the model's reasoning. Approvals are cross-referenced on the entries they authorised.

Where the model runs

All of this works with a local model via Ollama — the default, and nothing leaves your machine. If you want a stronger model for complex requests, plug in your own Anthropic, OpenAI or OpenRouter key. Only the conversation goes to the provider; your database never does. Details in Connect an AI provider.

Read on

Try it

Free to start. €4,99 once to go unlimited.

Install from the Microsoft Store or Snap Store, or download for macOS. No account, no subscription, your data stays on your machine.

Get in touch

Have a question about shadow-planner? Drop a message — we'll get back to you by email.