Tasks Cheatsheet


  • 2013-07-29
  • Reference Card for my task management system
  • #alfred
  • #tasks

Task Management

  • Tasks are stored as plain text files
  • Tasks are managed with TaskPaper, Alfred, Vim, Scripts
  • Tasks are (often) estimated and measured with pomodoro technique
  • One pom(odoro) is a time interval of 25 min
  • Optimized for fuzzy matching (CamelCase) and readability (Minus-Seperator)
  • A multi-monitor-setup or a big screen (27”) is handy

Folder Structure

Tasks
  |__ _Inbox                # special files
  |__ Archive               # finished files
  |__ Current               # active files (plans, lists, cycles)
  |__ Download              # imported files from other systems
  |__ Stalled               # passive files (plans, lists, cycles)
  |__ Templates             # template files

Category Token

CAT Description
PIM Management
EDU Education
BIZ Business
ORG Organizations
DEV Software Development
FIT Fitness
VIP Life
ART Art
  • Management Area comprehends PIM.
  • Work Area comprehends EDU, BIZ, ORG, DEV.
  • Life Area comprehends FIT, VIP, ART.

File Conventions

 _TASK-Name.taskaper           # special files

 CAT-Plan-Name.taskpaper       # (big) projects
 CAT-List-Name.taskpaper       # lists
 CAT-Cycle-Name.taskpaper      # cycles

 CAT-Template-Name.taskpaper   # templates
  • plans have a fixed time frame
  • lists have simple actions of an activity field
  • cycles are routines/chorus/policies/behaviors/patterns/strategies
  • templates are file patterns for taskpaper types

Special Files

 _TASK-Inbox.taskpaper      # task inbox   

 _TASK-Day.taskaper         # day board = task breakdown 
 _TASK-Week.taskpaper       # week board
 _TASK-Year.taskpaper       # year board = global outline

 _TASK-Cycle.taskpaper      # cycle board
 _TASK-Event.taskpaper      # event board

 _TASK-Grocery.taskpaper    # grocery list
  • global board is the longterm outline plan of active and passive projects
  • task breakdown is the current/daily task outline for software development
  • week board is the weekly plan with simple tasks & time slots for projects
  • event board is the yearly outline for planned events

Alfred Actions

Command Description
= ... Add new grocery item
== Open grocery list
_ ... Add new breakdown task
__ Open day board = task breakdown
- ... Add new task to task inbox
-• Open task file (file group)
-- Open task inbox
-w Open week board
-y Open year board
-e Open event board
-c Open cycle board
-s Open Task Scrum @daily
-z Open Task Zero @daily
-p Open Task Planning @weekly
-r Open Task Retrospective @monthly
-0 Open all files in Management Area
-1 Open all files in Work Area
-2 Open all files in Life Area
-- ... Search all files
-0 ... Search files in Management Area
-1 ... Search files in Work Area
-2 ... Search files in Life Area

Special Actions

  Task Scrum @daily
Goal Rate yesterday tasks and estimate today tasks
Time 9:00 daily (10 min)
Alfred – Open weekly task board
  Task Zero @daily
Goal File inbox tasks to according plans and lists
Time 19:00 daily (10 min)
Alfred – Open task inbox
  – Open current & stalled folder (all files)
  Task Planning @weekly
Goal Review plans & lists and schedule upcoming week
Time sunday afternoon (1-2 poms)
Alfred – Open week task board
  – Open current folder
  Task Retrospective @monthly
Goal Review passed month and clean up to Archive
Time last day of month (2-3 poms)
Alfred – Open all active files
  – Open all cycles

Context Tags

  Filing
@project(Name) move task inside a file
@plan(Name) move task to backlog of plan file
@list(Name) move task to backlog of list file
@cycle(Name) move task to backlog of cycle file
  • Filing is especially used for processing the task inbox.
  • Via script: automatically move a task to backlog of a list.
  Outline
@star important task
@next(1) next action
@next(2-5) following actions
@prio(1) highest priority
@prio(2-5) following priorities
  • Outline tags are mainly used to structure projects.
  • @next is used to create a strict oder of the next five tasks inside a project.
  • @prio is used for creating a loosely order in the project backlog.
  • via Script: tasks can rearranged in descending priority (1-5) inside the project backlog.
  Dates
@done(YYYY-MM-DD) done date
@due(YYYY-MM-DD) due date
@overdue due before today
@today due today
@soon in upcoming 3 days
  • Date tags are used for deadlines.
  • Via script: @overdue, @today, @next are added based on due date.
  • Via Script: if @today was added manually a due date will be added.
  Locations
@loc(uni) university
@loc(home) home (office)
@loc(work) work place
@loc(city) city
  • Locations are a good way to filter mixed task lists.
  Requirements
@req(mac) macbook
@req(win) thinkpad
@req(unix) server
@req(phone) phone
@req(ipad) ipad
@req(web) web
  • Requirements are not really needed.

Scripts

  • clean up global inbox
    • grep “@list(Name)” to local backlog
    • grep “@plan(Name)” to local backlog
    • grep “@cycle(Name)” to local backlog
  • archive done tasks to local archive
  • clean up local archive to monthly archive
  • increment due date
  • decrement due date
  • increment next
  • decrement next
  • increment prio
  • decrement prio
  • star task
  • cycle loc
  • cycle req

Shell

cd ~/Dropbox/Plain/Tasks/       # change to tasks folders
grep -hr '@today' .             # -h --no-filename, -r --recursive (all subdirs)

# dropbox with task paper files in /Plain/Tasks and /Github/Softwareprojekt/
cd ~/Dropbox/                      
grep -r '@today' *.taskpaper    # lists all today tasks with list name