# 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.