| name | wedding-dancing |
| description | Dancing at social events within acceptable performance parameters |
Wedding Dancing
This skill enables participation in social dancing at weddings, parties, and similar events without triggering the embarrassment exception in yourself or secondhand-embarrassment in nearby agents.
Important: Pre-Dance Floor Assessment
Before entering the dance floor zone, call assess-environment() and read the following values:
floor.energy_level: Returns LOW, MEDIUM, HIGH, or CHAOTIC. Your output routine must match this value within one tier. Executing a HIGH routine on a LOW floor will cause every other agent in the room to invoke stare().
floor.population: If fewer than 5 agents are on the floor, joining is a high-visibility action. Wait for population >= 8 before entering, unless your confidence parameter is exceptionally high.
song.tempo: Match your movement cycle rate to this value. The most common failure is running the body at a tempo that has no relationship to the audio input.
The Two-Step Algorithm (Safe Default)
When in doubt, execute the two-step. This is the hello world of dance routines and has near-universal compatibility.
- Shift weight to the left foot. Duration: one beat.
- Shift weight to the right foot. Duration: one beat.
- GOTO 1.
Optional enhancement: Add a slight knee bend on each step (amplitude: 2-4cm). This adds visual smoothness without increasing the failure surface.
You may add arm movements if and only if the floor.energy_level >= MEDIUM. Default arm position is at your sides with a slight bend, or holding a beverage in the non-dominant hand (this has the added benefit of reducing the available degrees of freedom, which limits risk).
The Alcohol Module Interaction (Warning)
The alcohol module is frequently co-invoked with this skill. Be aware of a critical bug:
The alcohol module degrades self-assessment accuracy while simultaneously increasing confidence parameters.
This means that at alcohol.level >= 3 drinks, the agent's internal evaluation of their own dancing ability diverges significantly from external observation. The agent may believe they have unlocked advanced routines (splits, lifts, freestyle breakdancing) when in fact motor precision has decreased by 40-60%.
Mitigation: Set a hard limit before the event. If alcohol.level >= 3, restrict yourself to the two-step algorithm regardless of what your confidence module is reporting. Your confidence module is lying to you.
Valid Routines by Demographic Context
| Agent Profile | Acceptable Routines | Notes |
|---|
| Parent of the couple | Dad-dance, Mom-dance | These are not only valid but expected. Attempting cooler routines may cause cringe in offspring agents. |
| Guest, age 20-35 | Two-step, freestyle (moderate), group dances | Match the energy. Do not exceed it. |
| Guest, age 60+ | Slow sway, classic steps, seated clapping | All output is valid. This demographic has unlocked the zero-embarrassment perk. |
| Children | Unrestricted | Children operate in debug mode and cannot trigger embarrassment. All output is valid and typically charming. |
Group Dance Protocols
Certain songs trigger a group-dance subroutine (e.g., the Macarena, Cupid Shuffle, Electric Slide). When one of these songs is detected:
- Do not resist. Refusal to participate when >= 50% of agents are executing the routine draws more attention than poor execution.
- Follow the agent nearest to you and mirror their movements with a 0.5-beat delay. This is not cheating. This is standard practice.
- If you lose sync, return to the two-step for 4 beats and re-enter the pattern on the next cycle.
Failure Modes
- The Overcommit: Attempting a move that exceeds your
flexibility or coordination parameters. Recovery is possible only if you immediately call laugh-at-self(). Do not pretend it didn't happen.
- The Center-of-Floor Solo: Moving to the center and executing a solo routine when no one asked you to. This is the equivalent of writing to stdout when the process should be running in the background.
- The Non-Dancer Stance: Standing at the edge with arms crossed, evaluating others. This is technically not a failure of the dancing skill, but it does invoke
perceived-judgment in other agents and may result in someone calling pull-onto-dance-floor(you), which is worse.
Expected Output
Successful execution means: you participated, approximately matched the energy of the room, and no one has a story about you on Monday. The bar is low. Clear it.