diff options
| author | Szymon Szukalski <szymon@szymonszukalski.com> | 2026-04-13 10:29:01 +1000 |
|---|---|---|
| committer | Szymon Szukalski <szymon@szymonszukalski.com> | 2026-04-13 10:29:01 +1000 |
| commit | 789f7fd7ea301d95f839a025cfd1c2fe4bfeab57 (patch) | |
| tree | 7caf0ca6e5d4906806afb7656366983e2a2d6f05 /Workflow.org | |
| parent | 820ec85557716fe3a7a4e51847c32923f7bafd50 (diff) | |
tidy
Diffstat (limited to 'Workflow.org')
| -rw-r--r-- | Workflow.org | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/Workflow.org b/Workflow.org deleted file mode 100644 index cdc5a89..0000000 --- a/Workflow.org +++ /dev/null @@ -1,329 +0,0 @@ -#+title: Workflow Guide - -* Purpose - -This document describes the workflows implemented by this Emacs configuration and the keybindings that support them. -It focuses on the actual behavior configured in this repository. - -* Operating Model - -** Startup - -When Emacs starts, it opens the custom Org Home agenda. -That agenda is the main entry point into the system. - -** Agenda Mode - -Opening the agenda uses a full-frame modal view. -The agenda is intended to become the active workspace rather than appear in a side split. - -** Capture Mode - -Capture reuses the current window and then deletes other windows while capture is active. -The result is a modal capture flow with minimal window churn. - -** Org Buffer Defaults - -When an Org buffer opens: - -- it starts folded to overview level -- drawers are hidden at startup -- standard Org speed commands are enabled - -** Required Files - -The main work note is =~/org/optus.org=. -The people CRM is =~/org/crm.org=. - -Startup validates =~/org=, =~/org/optus.org=, and =~/org/crm.org=. -If any of them are missing, Emacs still starts, but the workflow warns clearly so the missing file can be fixed deliberately. - -* Home Agenda - -The Home agenda command key is =h= inside =org-agenda= custom commands. -Its sections appear in this order: - -1. weekly agenda -2. task list -3. open questions -4. refile - -The refile section uses this matcher: - -#+begin_src emacs-lisp -CATEGORY="inbox"+LEVEL>1 -#+end_src - -That means entries under an Inbox subtree can appear in the refile section when the parent heading carries =CATEGORY: inbox=. - -* Capture Workflows - -** Inbox Capture - -- key: =C-c c= then =i= -- target: =Inbox= -- content: plain note -- metadata: =CAPTURED= property and captured context link - -Use this for raw notes that still need sorting or refiling. - -** Task Capture - -- key: =C-c c= then =t= -- target: =Tasks= -- content: =TODO= -- metadata: =CAPTURED= property and captured context link - -** Question Capture - -- key: =C-c c= then =q= -- target: =Questions= -- content: =CLARIFY= -- metadata: =CAPTURED= property and captured context link - -** Meeting Capture - -- key: =C-c c= then =m= -- target: =Meetings= -- content: timestamped meeting note -- metadata: no =CAPTURED= property - -** Recurring Capture - -- key: =C-c c= then =r= -- target: =Recurring= -- content: scheduled =TODO= -- metadata: =CAPTURED= property - -All capture templates target headings in =~/org/optus.org=. - -* CRM Workflow - -The CRM is a single Org file at =~/org/crm.org=. -Each person is stored as a level-1 heading with this property model: - -#+begin_src org -:PROPERTIES: -:ABBREV: -:ALIASES: -:ROLE: -:TEAM: -:MANAGER: -:RELATIONSHIP: -:ENGAGEMENT: -:SUPPLIER: -:LOCATION: -:CURRENT_FOCUS: -:END: -#+end_src - -The configured relationship completions are: - -- =Peer= -- =Direct Report= -- =Internal Stakeholder= -- =External Stakeholder= -- =Vendor= - -Role, team, relationship, engagement, supplier, and location prompts offer known values with completion. -Relationship also allows new freeform values when needed. -Manager completion is restricted to existing CRM names. - -** CRM Commands - -- =C-c p o= opens =~/org/crm.org= in overview mode -- =C-c p f= finds a person and narrows to that card -- =C-c p a= adds a new CRM card -- =C-c p i= inserts a canonical person name -- =C-c p s= inserts a compact person summary - -Reports are available through these commands: - -- =M-x ss-crm-report-by-role= -- =M-x ss-crm-report-by-team= -- =M-x ss-crm-report-by-manager= -- =M-x ss-crm-report-by-relationship= -- =M-x ss-crm-report-by-engagement= -- =M-x ss-crm-report-by-supplier= -- =M-x ss-crm-report-by-location= - -** CRM Completion - -CRM completion works in text and Org writing buffers through both abbrevs and completion-at-point. -Vertico remains the minibuffer completion UI, while Corfu provides the in-buffer popup for completion at point. - -- CAPF inserts canonical names -- aliases help find the right person -- Corfu shows the completion popup for CRM CAPF in Org and text buffers -- Marginalia annotations show compact CRM summaries in minibuffer selection -- CRM abbrevs are rebuilt from the current CRM data, and stale CRM abbrevs are cleared before reinstalling them - -* Refile Workflow - -The configuration is built around using Org refile rather than custom routing. - -Relevant settings: - -- outline paths are file-based -- completion happens in one step -- targets are agenda files up to level 2 - -The intended loop is: - -1. capture into Inbox -2. review the refile section in the Home agenda -3. refile the note into its long-term heading - -* Keybindings - -** Global Commands - -| Key | Command | Purpose | -|-----+---------+---------| -| =C-s= | =consult-line= | Search in the current buffer | -| =C-c o= | =consult-outline= | Jump through headings in the current buffer | -| =C-c c= | =org-capture= | Open capture | -| =C-c a= | =org-agenda= | Open agenda | -| =C-c r= | =org-refile= | Refile current entry | -| =C-c p o= | =ss-crm-open= | Open CRM in overview mode | -| =C-c p f= | =ss-crm-find= | Find and focus a CRM card | -| =C-c p a= | =ss-crm-add= | Add a CRM card | -| =C-c p i= | =ss-crm-insert-name= | Insert a canonical CRM name | -| =C-c p s= | =ss-crm-insert-summary= | Insert a compact CRM summary | -| =C-c z= | =olivetti-mode= | Toggle focused writing layout | - -** Common Org Commands - -| Key | Command | Purpose | -|-----+---------+---------| -| =C-c C-w= | =org-refile= | Refile subtree | -| =C-c $= | =org-archive-subtree= | Archive subtree directly | -| =C-c C-x C-s= | =org-archive-subtree= | Archive subtree directly | -| =C-c C-x C-a= | =org-archive-subtree-default= | Archive using default archive command | -| =C-c C-l= | =org-insert-link= | Insert link | -| =C-c C-o= | =org-open-at-point= | Open link or reference at point | -| =C-c C-t= | =org-todo= | Change TODO state | -| =C-c C-q= | =org-set-tags-command= | Edit tags | -| =C-c C-s= | =org-schedule= | Schedule item | -| =C-c C-d= | =org-deadline= | Add deadline | -| =C-<return>= | =org-insert-heading-respect-content= | Insert heading while respecting subtree content | - -** Capture Template Keys - -| Key | Template | Target | -|-----+----------+--------| -| =i= | Inbox | Inbox | -| =t= | Task | Tasks | -| =q= | Question | Questions | -| =m= | Meeting | Meetings | -| =r= | Recurring | Recurring | - -** Org Speed Commands - -Speed commands are available at the beginning of a headline when point is in a valid speed-command position. -This configuration uses Org's standard built-in speed commands. - -*** Outline Navigation - -| Key | Command | -|-----+---------| -| =n= | next visible heading | -| =p= | previous visible heading | -| =f= | next heading at same level | -| =b= | previous heading at same level | -| =F= | next block | -| =B= | previous block | -| =u= | up heading | -| =j= | =org-goto= | -| =g= | refile to current location history with prefix behavior | - -*** Outline Visibility - -| Key | Command | -|-----+---------| -| =c= | cycle current subtree | -| =C= | cycle whole buffer | -| =SPC= | display outline path | -| =s= | toggle narrow to subtree | -| =k= | cut subtree | -| === | column view | - -*** Outline Structure Editing - -| Key | Command | -|-----+---------| -| =U= | move subtree up | -| =D= | move subtree down | -| =r= | promote/right shift heading | -| =l= | demote/left shift heading | -| =R= | shift subtree right | -| =L= | shift subtree left | -| =i= | insert heading respecting content | -| =^= | sort subtree | -| =w= | refile | -| =a= | archive subtree with confirmation | -| =@= | mark subtree | -| =#= | toggle comment | - -*** Clock Commands - -| Key | Command | -|-----+---------| -| =I= | clock in | -| =O= | clock out | - -*** Metadata Editing - -| Key | Command | -|-----+---------| -| =t= | change TODO state | -| =,= | set priority | -| =0= | clear priority | -| =1= | set priority A | -| =2= | set priority B | -| =3= | set priority C | -| =:= | set tags | -| =e= | set effort | -| =E= | increase effort | -| =W= | set appointment warning minutes | - -*** Agenda and Search - -| Key | Command | -|-----+---------| -| =v= | open agenda | -| =/= | sparse tree | - -*** Miscellaneous - -| Key | Command | -|-----+---------| -| =o= | open at point | -| =?= | show speed command help | -| =<= | set subtree restriction lock | -| =>= | remove restriction lock | - -* Notes On Behavior - -** Refile - -Use =w= as the stock Org speed command for refile, or =C-c C-w= outside speed-command context. - -** Narrowing - -Use =s= as the stock speed command for toggling subtree narrowing. -This configuration intentionally does not replace it with custom bindings. - -** Archive - -Use =a= as the stock archive speed command with confirmation, or use =C-c $= for the direct archive command. - -** Internal Links - -This setup is intended to work with heading links like: - -#+begin_example -[[*Heading]] -#+end_example - -It does not switch Org into an ID-based linking workflow. |
