đź“–Get Things Done with Emacs

url
https://www.labri.fr/perso/nrougier/GTD/index.html
#+FILETAGS: inbox

to filter-out tags in agenda view

(setq org-agenda-hide-tags-regexp ".")

Here I can change category width

(setq org-agenda-prefix-format
      '((agenda . " %i %-12:c-12t% s")
        (todo   . " %i %-12:c")
        (tags   . " %i %-12:c")
        (search . " %i %-12:c")))
* Birthdays
%%(org-anniversary 1976 6  1) Emacs is %d years old
%%(org-anniversary 1953 3 16) Richard Stallman is %d years old

Thanks to Erik Anderson, we can also add a hook that will log when we activate a task by creating an “ACTIVATED” property the first time the task enters the NEXT state:

(defun log-todo-next-creation-date (&rest ignore)
  "Log NEXT creation time in the property drawer under the key 'ACTIVATED'"
  (when (and (string= (org-get-todo-state) "NEXT")
             (not (org-entry-get nil "ACTIVATED")))
    (org-entry-put nil "ACTIVATED" (format-time-string "[%Y-%m-%d]"))))
(add-hook 'org-after-todo-state-change-hook #'log-todo-next-creation-date)

Interesting setup for Agenda: (timegrid for today, all NEXT tasks, deadlines, inbox, tasks completed today)

(setq org-agenda-custom-commands
      '(("g" "Get Things Done (GTD)"
         ((agenda ""
                  ((org-agenda-skip-function
                    '(org-agenda-skip-entry-if 'deadline))
                   (org-deadline-warning-days 0)))
          (todo "NEXT"
                ((org-agenda-skip-function
                  '(org-agenda-skip-entry-if 'deadline))
                 (org-agenda-prefix-format "  %i %-12:c [%e] ")
                 (org-agenda-overriding-header "\nTasks\n")))
          (agenda nil
                  ((org-agenda-entry-types '(:deadline))
                   (org-agenda-format-date "")
                   (org-deadline-warning-days 7)
                   (org-agenda-skip-function
                    '(org-agenda-skip-entry-if 'notregexp "\\* NEXT"))
                   (org-agenda-overriding-header "\nDeadlines")))
          (tags-todo "inbox"
                     ((org-agenda-prefix-format "  -12t% s")
                      (org-agenda-overriding-header "\nInbox\n")))
          (tags "CLOSED>=\"<today>\""
                ((org-agenda-overriding-header "\nCompleted today\n")))))))