roberts-rules
Parliamentary procedure as forcing function for genuine deliberation
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Robert's Rules
"Structure forces genuine exploration of the decision space."
Parliamentary procedure prevents LLMs from short-circuiting to statistically-likely conclusions.
The Stages
procedure:
stages:
1_call_to_order:
chair: "Announces meeting purpose"
required: true
2_review_minutes:
purpose: "What did we decide last time?"
source: "Previous meeting minutes"
action: "Amendments or approval"
3_new_business:
purpose: "Topics requiring decision"
format: "List of agenda items"
4_motion:
who: "Any member"
format: "I move that [specific action]"
requirement: "Must be actionable"
5_second:
who: "Different member"
format: "I second the motion"
meaning: "Worth discussing (not agreement)"
if_no_second: "Motion dies"
6_debate:
structure: "Pro, con, pro, con..."
time_limits: "Optional per speaker"
amendments: "Can be proposed during debate"
7_vote:
methods: [voice, show_of_hands, roll_call]
record: "All positions logged"
threshold: "Simple majority unless specified"
8_adjourn:
chair: "Meeting closed"
next_meeting: "Scheduled if needed"
Implementation
# meeting/MEETING.yml
meeting:
id: strategy-review-2026-01-05
committee: strategy-board
chair: joe # Continuity guardian runs the meeting
minutes_from: strategy-review-2025-12-15.yml
agenda:
- "Client X engagement decision"
- "Q1 pricing review"
status: in_progress
current_stage: debate
Motion Format
motion:
id: motion-001
mover: frankie
text: "I move that we accept Client X with explicit scope boundaries."
second:
by: tammy
timestamp: "2026-01-05T14:23:00Z"
status: under_debate
Debate Structure
debate:
motion: motion-001
speakers:
- speaker: frankie
position: pro
points:
- "Budget aligned with our capacity"
- "Exciting growth opportunity"
- "Clear deliverables defined"
- speaker: maya
position: con
points:
- "Reputation for scope creep"
- "Similar clients have burned us"
- "Opportunity cost for other work"
- speaker: vic
position: pro_with_reservations
points:
- "Financials look solid"
- "But we lack scope creep data"
- "Suggest milestone-based contract"
- speaker: joe
position: defer
points:
- "2022 client was similar, went badly"
- "But circumstances differ"
- "Need more information"
- speaker: tammy
position: conditional_pro
points:
- "If we add explicit scope boundaries..."
- "And milestone-based billing..."
- "Risk becomes manageable"
Amendment Process
amendment:
to: motion-001
mover: vic
text: "Add: with milestone-based billing and quarterly scope review"
second:
by: tammy
vote:
for: [frankie, vic, tammy, joe]
against: [maya]
result: passes
motion_now: "Accept Client X with explicit scope boundaries, milestone-based billing, and quarterly scope review"
Vote Recording
vote:
motion: motion-001 (as amended)
method: roll_call
votes:
frankie: aye
maya: nay
joe: aye
vic: aye
tammy: aye
result:
for: 4
against: 1
abstain: 0
outcome: PASSES
minority_view:
maya: "I remain concerned about scope creep risk. Recording my objection for the minutes."
Minutes Format
# meeting/minutes/strategy-review-2026-01-05.yml
minutes:
meeting_id: strategy-review-2026-01-05
date: "2026-01-05"
attendees: [maya, frankie, joe, vic, tammy]
chair: joe
previous_minutes: approved_without_amendment
motions:
- id: motion-001
text: "Accept Client X with explicit scope boundaries, milestone-based billing, and quarterly scope review"
outcome: PASSES (4-1)
dissent: maya
action_items:
- assignee: vic
task: "Draft milestone-based contract"
due: "2026-01-12"
- assignee: tammy
task: "Design quarterly scope review process"
due: "2026-01-10"
next_meeting: "2026-01-12 to review contract"
Commands
| Command | Action |
|---|---|
CALL TO ORDER |
Begin meeting |
REVIEW MINUTES |
Read and approve previous |
NEW BUSINESS [item] |
Add agenda item |
MOVE [action] |
Propose motion |
SECOND |
Support motion for debate |
DEBATE |
Open structured discussion |
AMEND [change] |
Propose motion modification |
CALL THE QUESTION |
End debate, proceed to vote |
VOTE |
Record positions |
ADJOURN |
Close meeting |
Why This Prevents Short-Circuiting
| Without Structure | With Robert's Rules |
|---|---|
| LLM jumps to "likely" answer | Must build case through stages |
| Hidden assumptions stay hidden | Debate surfaces them |
| Minority views lost | Recorded in minutes |
| No accountability | Votes create record |
| "Everyone agrees" illusion | Actual disagreement visible |
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-02
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!