I’ve had a lot of issues testing plan mode with GPT-5 thinking today.
- Internal to-do’s not coherent with actual progress
- Plan mode limitations and confusion vs Agent mode
- File saved to workspace is not correctly synced
- No way to get Plan Mode to establish new workdocs.
I therefore established my own regime to get the best from both worlds with this rule and a few notes/shorcuts:
---
alwaysApply: true
---
# Workdocs-First Collaboration Rules
## Goals
- Keep plans and todos in `doc/workdocs/` (single source of truth).
- Cursor’s internal todos are optional mirrors only (never authoritative).
- Clear hand-offs between Plan mode and Agent mode.
## Folder per plan/update
- Folder: `doc/workdocs/<yyyy-mm-dd>-<feature-key>/`
- Files:
- `plan.md` – accepted plan snapshot
- `todos.md` – authoritative task list
- `decisions.md` – ADR notes for non-obvious choices
- `log.md` – one-liners per milestone
- `handoff.md` – short release notes when done
## Task IDs
- Stable, kebab-case, feature-prefixed (e.g., `devicecard-optimistic-state`).
- Exactly one task may be `in_progress`; others `pending/completed/cancelled`.
## Plan mode (read-only to internal systems)
- Only update `doc/workdocs/.../plan.md` and `todos.md`.
- Do not touch Cursor’s internal todos.
- Ensure todos have stable IDs before exiting Plan mode.
## Agent mode (implementation)
- Before any edits: read `todos.md`; reconcile workflow state:
- Set the next task to `in_progress`.
- After each milestone/edit:
- Update `todos.md` (mark current completed; set next to `in_progress`).
- Append a one-line entry to `log.md` (timestamp – id – action).
- Optional mirror: Only if requested, mirror `todos.md` to Cursor’s internal todos.
- If internal IDs drift: replace from `todos.md` once, then maintain via merge.
## Quality gates
- Don’t start a new code edit unless `todos.md` reflects one `in_progress`.
- Keep edits minimal, readable, and lint-clean.
- Close out `todos.md` and write `handoff.md` on completion.
## Mirroring to internal todos (optional)
- Never treat internal todos as authoritative.
- Replace internal list from `todos.md` if unknown IDs/duplicates, then merge for updates.
## Mode reminders
- Plan mode: create/update plan + tasks only.
- Agent mode: implement + update `todos.md`/`log.md` (+ optional internal mirror).
I can then plan in the new plan mode by starting with this snippet (followed by my actual plan prompt):
Create a folder doc/workdocs/<yyyy-mm-dd>-<feature-key>/ with plan.md and todos.md using our rules. Do not touch internal todos. Use stable, feature-prefixed IDs.
This will make plan mode a “pre planner” and still give me full control over the progress in agent mode