A CLI tool that uses an LLM to intelligently assign meeting roles (conducting, prayers, and spiritual thoughts) for LDS church meetings, ensuring fair distribution and avoiding repetition.
- Automatically generates meeting assignments using smart LLM-based suggestions
- Supports different meeting types (bishopric meetings, ward council meetings)
- Prevents repetitive assignments and ensures fair distribution
- Respects special rules for conducting assignments
- Uses configurable rosters of names
- llm CLI tool (
brew install llmon macOS) - A configuration file with rosters (see Configuration section)
Save the whopray script anywhere on your path and make it executable (chmod +x whopray).
whopray [--help] [--bishopric] [--ward] [--roster NAMES] path-to-meeting-notes-h, --help: Show help message-b, --bishopric: Use names from the bishopric roster in config-w, --ward: Use names from the ward roster in config-r, --roster: Use names from a custom roster provided via STDIN
Using bishopric roster:
whopray --bishopric path/to/meeting-notesUsing ward roster:
whopray --ward path/to/meeting-notesUsing a custom roster:
cat path/to/roster-file | whopray --roster path/to/meeting-notesCreate a config file at ~/.config/whopray/config with your rosters:
[bishopric]
Name 1
Name 2
Name 3
Name 4
[ward]
Relief Society
Elders Quorum
Ward Mission
Primary
Young Women
Sunday School
A roster file is simply a text file with one name per line. You can create custom rosters for different meetings or purposes.
The tool expects meeting notes to start with four assignments:
- Conducting: [Assignment]
- Opening prayer: [Assignment]
- Spiritual thought: [Assignment]
- Closing prayer: [Assignment]
These assignments will be used to avoid repeating recent assignments when generating new ones.
- Each assignment must be filled
- Names can only be used once per meeting
- No repeated assignments for the same person in consecutive meetings
- Assignments are balanced fairly across all available names
- Special rules apply for the "Conducting" assignment based on meeting type