1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
#+TITLE: Workflow Index
#+AUTHOR: Craig Jennings & Claude
#+DATE: 2026-04-25
* Purpose
Single-source catalog of every workflow in this directory, with the trigger phrases that should invoke it. Read this file before =ls=-ing the workflows directory — it tells you which file handles which phrase, so you don't have to read each workflow's "When to Use" section to route correctly.
* Drift Check
This index must list every =.org= file in =.ai/workflows/= except this one. Startup verifies the index matches the directory and flags drift (missing entries or stale entries pointing at deleted files).
* Catalog
** Session lifecycle
- =startup.org= — runs automatically at session start. No manual trigger.
- =first-session.org= — initialize =.ai/= for a brand-new project.
- Triggers: "this is a new project", "let's set this project up". Auto-runs if =.ai/sessions/= is empty.
- =wrap-it-up.org= — end-of-session: write summary, archive, commit, push.
- Triggers: "wrap it up", "that's a wrap", "let's call it a wrap"
- =retrospective.org= — post-mortem after a tough session.
- Triggers: "let's do a retrospective", "retrospective time"
** Tasks and planning
- =task-review.org= — list all open tasks (list mode) or pick the next task (next mode).
- Triggers: "what's next", "what should I work on", "list open tasks", "show me all tasks", "what's on my plate", "task review", "show me my tasks", "I need a recommendation"
- =daily-prep.org= — prep brief for the next workday. Two modes: full-prep (default) or standup-only.
- Full-prep triggers: "let's prep for tomorrow", "daily prep"
- Standup-only triggers: "what's my standup report", "let's do the daily standup report", "give me the standup brief"
- =triage-intake.org= — on-demand triage: scan every inbox source (DeepSat Gmail, personal Gmail, cmail/Proton, Slack, Linear, GitHub PRs, both calendars, recent =todo.org= edits), surface what's moved, run the Linear Dev-Review sweep, mark *all* unread INBOX email across the three accounts and every touched Slack conversation as read. Lighter scope than =daily-prep.org='s triage section. Projects that want it called from =wrap-it-up.org= (or elsewhere) can opt in via a =.ai/project-workflows/<name>.org= extension.
- Triggers: "do a triage intake", "triage intake", "what's moved?", "what's new?", "check for movement"
- =journal-entry.org= — capture a daily journal entry.
- Triggers: "let's do a journal entry", "create a journal entry"
- =clean-todo.org= — tidy =todo.org=: hygiene pass + =--archive-done=, then summarize. Wrap-up does this automatically; this is the manual entry point.
- Triggers: "clean up todo.org", "clean-todo", "tidy the todo file", "archive the done items in todo.org", "run the todo cleanup"
** Calendar
- =add-calendar-event.org= — create a calendar event.
- Triggers: "create an event", "add appointment", "schedule a meeting", "add to my calendar", "calendar event for..."
- =read-calendar-events.org= — read / summarize calendar.
- Triggers: "what's on my calendar", "show me appointments", "summarize my schedule", "what do I have today", "calendar for this week", "any meetings tomorrow"
- =edit-calendar-event.org= — modify an existing event.
- Triggers: "edit the meeting", "change my appointment", "reschedule", "update the event", "move my appointment"
- =delete-calendar-event.org= — cancel / remove an event.
- Triggers: "delete the meeting", "cancel my appointment", "remove the event", "clear my calendar for..."
** Email
- =sync-email.org= — pull and index new mail.
- Triggers: "sync email", "sync mail", "pull new mail", "check for new email"
- =find-email.org= — search local maildir for emails.
- Triggers: "find email about [topic]", "search for emails from [person]", "do I have an email about [subject]?", "look for [shipping/receipt/confirmation] email"
- =summarize-emails.org= — filter noise, summarize what matters.
- Triggers: "summarize my emails", "what emails do I have", "anything important in my inbox", "email summary", "any unread emails", "any starred emails", "emails from [person]", "emails also sent to [person]"
- =extract-email.org= — extract content / attachments from an inbox EML.
- Triggers: "extract the email", "get the attachment from [email]", "pull the info from [email]", "process the email in inbox"
- =send-email.org= — compose and send an email.
- Triggers: "send an email", "email workflow", "email [person] about [topic]", "send [file] to [person]"
- =email-assembly.org= — gather documents into an email package.
- Triggers: "assemble an email", "email assembly workflow", "gather documents for an email", "I need to send [person] some documents"
** Tools and meta
- =process-meeting-transcript.org= — record → transcript → labeled archive.
- Triggers: "process the transcript", "process the recording". Auto: new files in =~/sync/recordings/=.
- =page-me.org= — set a timed notification.
- Triggers: anything containing the word "page" used as a verb ("page me", "page me in 10 minutes", "page me at 3pm")
- =status-check.org= — proactive long-running-job updates.
- Triggers: "keep me posted on this", "provide status checks on this job", "let me know when it's done", "monitor this for me". Auto: any job estimated 10+ min.
- =create-workflow.org= — define a new workflow.
- Triggers: "let's create/define/design a workflow for [activity]", or unmatched workflow request after this index returns no hit.
- =cross-agent-comms.org= — protocol for cross-project agent coordination via =inbox/from-agents/= (file-based IPC, GPG-signed, supports cross-machine over Tailscale). Auto: when =cross-agent-watch= detects a new inbound message, or when an agent decides to initiate a cross-project conversation. Operational scripts (=cross-agent-send=, =-recv=, =-watch=, =-status=, =-discover=, =-halt=, =-resume=) and their READMEs live at =.ai/scripts/cross-agent-comms/=.
* Living Document
Add a row when a new workflow lands in =.ai/workflows/=. Remove the row when a workflow is deleted. Update triggers when a workflow's "When to Use" section changes. The startup drift check is the safety net — it catches forgotten updates but doesn't substitute for keeping this file current.
|