     (next-line)
     (move-end-of-line nil)))
 
-(defun import-pivotal-tasks ()
+(defun standup-todo-mark-as-done ()
+  (interactive)
+  (progn
+    (move-beginning-of-line nil)
+    (kill-visual-line 1)
+    (search-backward "Done")
+    (search-forward "\n\n")
+    (previous-line)
+    (yank)
+    (previous-line)))
+
+(defun standup-todo-fold-except-top ()
+  (interactive)
+  ;; Move to top header and collapse everything.
+  (beginning-of-buffer)
+  (markdown-cycle)
+  ;; Unfold the next level of headers and move down.
+  (markdown-cycle)
+  (next-line 2)
+  ;; Unfold the next level of headers and move down.
+  (markdown-cycle)
+  (next-line 2)
+  ;; Unfold the last level of headers.
+  (markdown-cycle)
+  ;; Move to the end of the TODO line within this section.
+  (search-forward "TODO:"))
+
+(defun standup-pivotal-import-tasks ()
   (interactive)
   (save-excursion
     (progn

(defun add-todo-section ()
  "Create a new TODO entry."
  (interactive)
  (let ((beg (progn (search-backward "###")
                    (search-forward "blocker")

               (concat
                "/bin/bash --login $HOME/bin/pi | "
                "/usr/local/bin/jq -r '.stories.stories[].name' | "
                "sed 's,^,- [sec] ,'")))
      (set-mark-command nil)
      (search-backward "TODO")
      (delete-duplicate-lines (region-beginning) (region-end))
      (deactivate-mark))))

(defun standup-pivotal-create-or-update-task (action)
  (interactive)
  (save-excursion
    (progn
