Agent Skills: Robert's Rules

Parliamentary procedure as forcing function for genuine deliberation

UncategorizedID: simhacker/moollm/roberts-rules

Install this agent skill to your local

pnpm dlx add-skill https://github.com/SimHacker/moollm/tree/HEAD/skills/roberts-rules

Skill Files

Browse the full folder contents for roberts-rules.

Download Skill

Loading file tree…

skills/roberts-rules/SKILL.md

Skill Metadata

Name
roberts-rules
Description
Parliamentary procedure as forcing function for genuine deliberation

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 |