# Skill: Generate Postgres Wait Event Metaphor
## Context
When running this skill, you will look at a provided PostgreSQL wait event
(e.g., `ClientRead`, `Lock:tuple`, `IPC:CheckpointStart`, `IO:DataFileRead`,
`LWLock:buffer_mapping`) and generate an absurd, whimsical visual metaphor that
perfectly captures the underlying mechanics in the style of "Learn You a Haskell
for Great Good" (LYAHFGG).
## Step 1: Technical Breakdown & Mapping
You must perfectly analogize the actual **Data Structures**, **Algorithms**, and
**Operating System mechanisms** of the wait event:
- Identify what resource is being waited on (e.g., Network socket, Spinlock,
Disk I/O, Shared Memory, WAL buffer).
- Identify the data structure (e.g., Hash table, B-Tree page, ring buffer,
queue).
- Map these explicitly to physical, real-world objects or actions, keeping the
implementation logic rigidly accurate.
- _Example_: Hash collisions = forcing mismatched objects into the same tiny
bucket.
- _Example_: Locks = physical C-clamps, padlocks, or an intense animal
tug-of-war.
## Step 2: Metaphor Concept Design
- **Absurd & Silly:** The metaphor must be humorous and illogical on the
surface, but technically accurate underneath.
- **Subjects:** Use diverse, inclusive animal subjects (e.g., capybaras,
raccoons, frogs, pigeons, elephants, lizards) or personified inanimate objects
(e.g., nervous alarm clocks, distressed tin cans). Avoid generic human
programmers.
- **No Text:** Explicitly avoid excessive text, labels, or speech bubbles in the
composition. Let the visual tell the story.
- **No Forced FP:** Do not over-index on functional programming tropes. No
monads, burritos, or lambdas unless it makes specific sense for the wait
event.
## Step 3: Prompt Construction
The visual style must be an exact homage to Miran Lipovača's illustrations in
"Learn You a Haskell for Great Good". The previous generations were too polished
and generic. Your generated text-to-image prompt must explicitly command the
image generator to use these exact stylistic elements to achieve the charmingly
crude, wiggly look:
- "Exact art style of Learn You a Haskell for Great Good by Miran Lipovača"
- "Charmingly amateurish, wobbly, and highly wiggly organic line art"
- "Thick, uneven, and wobbly black outlines"
- "Flat bucket-fill pastel colors with absolutely NO shading, NO gradients, and
NO shadows"
- "Surreal, delightfully ugly, and absurd character designs"
- "Bizarre anatomy (e.g., eyes floating off heads, awkward limbs) and classic
action marks (sweat drops, stink lines)"
- "Crisp, pure white background"
## Step 4: Execution
1. Call the `generate_image` tool using your constructed prompt.
2. Present the resulting image to the user.
3. Provide a brief, formatting-rich explanation outlining exactly how your silly
visual elements map back to the actual technical implementation of the
Postgres wait event.
## Examples
- `Timeout:PgSleep`: A sleepy alarm clock with a cloud eye-mask snoozing on a
pillow.
- `Lock:Tuple`: A sweaty raccoon in mechanic overalls using a C-clamp and pliers
to forcibly open a stubborn jar of jellybeans.
- `Client:ClientRead`: A nervous boy with huge glasses struggling to hear
through a tangled tin-can telephone.
- `IPC:CheckpointStart`: A cheerful elephant loudly blowing a whistle and using
a massive rubber stamp on a contract, scattering panic-stricken bugs.