PLANs from individual TODO tasks + transferring plans

Feature request for product/service

Cursor CLI

Describe the request

Feature Goals

  • Enable creating detailed plans from individual TODO tasks with automatic status synchronization.
  • Support transferring plans and task statuses between chats and external AI assistants (Codex, Cline, Gemini Code Assist, etc.).

User Stories

  • As a user, I want to decompose a complex TODO task into a detailed plan and have the original task automatically marked as complete/superseded when subtasks are done.
  • As a user, when context window fills up, I want to export my incomplete plan and import it into a new chat or different AI assistant without losing progress.

Requirements

FEAT-1: Plan from Task with Status Sync

  • FEAT-1.1: Add “Create Plan from Task” action in TODO context menu.
  • FEAT-1.2: New plan receives derived_from_todo_id and parent_plan_id (if applicable).
  • FEAT-1.3: Creation wizard offers choice:
    • a) “Replace original task” → mark as superseded by <plan_id>
    • b) “Link without replacement” → keep both active
  • FEAT-1.4: When child plan subtasks complete → automatically update parent task status to done or superseded.
  • FEAT-1.5: Display relationship graph in plan card: original task ↔ child plan ↔ subtasks; clickable navigation.

FEAT-2: Cross-Chat and Cross-Tool Portability

  • FEAT-2.1: Export plan/statuses to open portable format:
    • Primary: plan.bundle.json (JSON, UTF-8, no BOM)
    • Alternative: plan.bundle.yaml (YAML 1.2)
  • FEAT-2.2: Bundle contents: plan metadata, TODO list with fields (todo_id, text, status, tags[], scope, source_path?, links[]), relationships (parent_plan_id, derived_from_todo_id[]), progress, timestamps.
  • FEAT-2.3: Import from bundle into new chat:
    • Restore plan, TODOs, and relationships
    • Assign new session_id (chat)
    • Preserve original plan_id/todo_id as origin_* for traceability
  • FEAT-2.4: Matching on import: by todo_id (if matches) or hash of normalized text; merge statuses by priority (see BUG-2.2).
  • FEAT-2.5: External compatibility: format is self-contained, documented, no proprietary Cursor extensions required; suitable for Codex/Cline/Gemini/etc.
  • FEAT-2.6: Support external plan references: store external_refs[] (URL/URN, tool name, schema version).

UX for Features

  • UX-FEAT-1: Task context menu: “Create Plan from Task” with 2-step wizard (link/replacement → confirm decomposition).
  • UX-FEAT-2: Original task card displays badge (superseded or linked) with link to child plan after decomposition.
  • UX-FEAT-3: Export/import accessible from plan header and TODO list (bulk export of incomplete tasks).

Acceptance Criteria

  • AC-FEAT-1: “Create Plan from Task” creates new plan with correct links; original task status changes per user choice (done/superseded); completing subtasks updates parent status automatically.
  • AC-FEAT-2: Export/import bundle preserves all identifiers, statuses, and links; after import in new chat or external tool, plan and TODOs are ready to continue without manual edits.

Non-Functional Requirements (Both Parts)

  • NFR-1: Backward compatibility — old plans without new fields read as independent, without history.
  • NFR-2: Performance — opening history (50+ plans) ≤ 500 ms; search/filter ≤ 300 ms.
  • NFR-3: Storage — retention policy configurable by count/age per session (default: 100 versions/90 days).
  • NFR-4: Portability — bundle validates against JSON Schema (documented), no binary data, max 2 MB default.

Risks

  • R-1: False hash matches in merge → mitigate with user confirmation and decision log with rollback.
  • R-2: History overflow → mitigate with retention policy and “Clear Old Versions” action.
  • R-3: Format incompatibility with external assistants → mitigate with public JSON Schema and example converters.

Open Questions

  • Session boundaries → chat.
  • session_id format: chat name + timestamp.

Operating System (if it applies)

Windows 10/11