Wikifreedia
All versions

Tasks as addressable events with status tracking and target/attachment support.

Task Event (kind 37060)

Purpose: Defines a task with description, targets, and attachments. These events can be used for todos, project management, git issues, etc.

Required Tags

  • ["d", "task-unique-id"] (deterministic id)

  • ["title", "Task Title"]

Optional Tags

  • ["e", "<event_id>"] (one for each normal event target)

  • ["a", "<kind>:<pubkey>:<d-identifier>"] (one for each addressable event target)

  • ["attachment", "<event_id>"] (one for each attachment)

  • ["p", "<pubkey>", "<role>"] (one for each person with role)

  • ["due", "<unix_timestamp>"]

  • ["t", "<tag>"] (one for each category tag)

Content

The content field contains the task description in NosciiDoc (Nostrified AsciiDoc) format.

Person Roles

The p tag supports the following roles:

  • assignee: Person assigned to complete the task

  • reviewer: Person responsible for reviewing the task

  • client: Person who requested the task

  • (empty): Person mentioned or CC’d in the task

Target Events

Tasks can target any Nostr event using either ["e", "<event_id>"] for normal events or ["a", "<kind>:<pubkey>:<d-identifier>"] for addressable (replaceable) events. Addressable events are the most common target as they are editable and can have tasks set to them more easily.

Attachments (attachment tag)

Tasks can have multiple file or event attachments:

  • blossom files

  • Any other Nostr event

Example

{
  "kind": 37060,
  "tags": [
    ["d", "implement-user-auth"],
    ["title", "Implement User Authentication"],
    ["e", "event-id-123"],
    ["a", "30617:repo-owner-pubkey:repo-identifier"],
    ["e", "collab-doc-event-id-456"],
    ["attachment", "design-spec-event-id-789"],
    ["attachment", "wireframe-event-id-abc"],
    ["p", "b3e392b11f5d4f28321cedd09303a748acfd0487aea5a7450b3481c60b6e4f87", "assignee"],
    ["p", "a1b2c3d4e5f6789012345678901234567890123456789012345678901234567890", "reviewer"],
    ["due", "1703980800"],
    ["t", "frontend"],
    ["t", "urgent"]
  ],
  "content": "= User Authentication Implementation\n\n== Requirements\n\n* Login/logout functionality\n* Password reset\n* OAuth integration\n\n== References\n\nSee nostr:nevent1qqs... for API documentation.\n\nContact nostr:npub1... for backend coordination."
}

Status Tracking

Tasks can have their status tracked using nip-status events. By default, only status events from the following sources are considered authoritative: - The author of the task - The author of any of the targeted events (e tag) - Any person mentioned in the p tags