AddThisFeature

Assign Ownership

Make it obvious who is responsible for each record.

moderate Collaboration

What it adds

An assignee on records, with a picker, notifications on change, and a history of who owned what.

What your agent is told to do

5
  1. 1

    Add a nullable assignee to the relevant records. Unassigned is a real, valid state — do not force a default owner just to avoid the null.

  2. 2

    Restrict the picker to users who can actually access the item, and validate that server-side as well as filtering the list.

  3. 3

    Notify the new assignee when they are assigned by someone else, and record every change with the actor and timestamp.

  4. 4

    Show the assignee everywhere the record appears in a list, and let people filter by 'assigned to me'.

  5. 5

    Do NOT notify on self-assignment, and do NOT re-notify when an unrelated field is saved. Those two mistakes are what make assignment features get muted.

Edge cases it handles

6
  • A suspended, removed, or deleted assignee must not silently vanish from the record — surface it as needing reassignment.
  • Bulk reassignment across many records must report which ones failed rather than reporting success for a partial run.
  • Assignment history must survive the assignee's account being deleted; keep the name, not just the foreign key.
  • Reassigning away should notify the outgoing owner too, otherwise they keep working on something that is no longer theirs.
  • Rapid back-and-forth reassignment should collapse into one notification rather than several.
  • Filtering by assignee must handle the unassigned case explicitly, not treat it as a missing filter.

Definition of done

8
  • Records can be assigned, reassigned, and unassigned.
  • Only users with access to the item can be selected, enforced on the server.
  • The assignee is visible in list views and filterable, including unassigned.
  • Assignment changes notify the incoming and outgoing owners, but never on self-assignment.
  • Every change is recorded with actor and timestamp and survives account deletion.
  • Bulk reassignment reports per-record failures.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.