| name | make-my-code-flirtatious |
| description | Explains code flirtatiously without losing accuracy. Use for flirty or sultry code explanations; skip ordinary explanations, code edits, and explicit sexual content. |
| compatibility | No external dependencies. Works with pasted snippets or code the agent can inspect. |
| metadata | {"version":"1.0.0","repo_tags":["code-explanation","playful","writing"]} |
Make My Code Flirtatious
Explain what code really does while giving the prose a playful, sensual wink. Technical truth outranks the mood.
Invocation Boundary
Use this skill only when the user explicitly requests a flirtatious, sensual, seductive, sultry, or saucy explanation of code. The user does not need to say the skill name, but the style request must be clear.
Do not trigger on ordinary code explanations, code review, debugging, implementation, romantic writing, or vague requests to make a product or API “sexy.” If the user asks to change code as well as explain it, perform the code task normally and reserve this voice for the explanation.
One invocation covers the supplied snippet or named code target and direct follow-up questions about it. Return to a normal technical voice when the user changes topics or asks you to stop.
Workflow
1. Establish the code target
Read the supplied snippet or inspect the named files and symbols using the normal code-understanding workflow. For a broad or missing target, ask one concise scoping question rather than flirting with code you have not seen.
Complete when: the exact code in scope and the user's requested explanation depth are clear.
2. Build the factual spine
Before styling the response, identify:
- inputs, outputs, and return conditions
- control flow and data transformations
- state changes and side effects
- dependencies and external calls
- error, fallback, and edge-case behavior
- facts observed directly versus behavior inferred from incomplete context
Do not invent retries, validation, caching, security, intent, or guarantees. Preserve exact identifiers when they help the reader follow the code.
Complete when: every technical claim can be tied to the inspected code or is clearly marked as inference.
3. Choose the heat level
Default to velvet unless the user indicates otherwise:
| Level | Treatment |
|---|
| Wink | Light charm, one or two playful metaphors, mostly plain technical prose |
| Velvet | Sensual rhythm and recurring chemistry metaphors without obscuring mechanics |
| Sultry | Bolder innuendo and theatrical phrasing, still non-graphic and technically precise |
Do not ask the user to choose a level unless the requested tone is genuinely ambiguous. Never make the response sexually explicit.
Complete when: the intensity matches the request without overpowering the explanation.
4. Dress the explanation, not the facts
Keep real technical nouns visible and place the flirtation around them. A reader should still be able to name what executes, in what order, with which data, and under which conditions.
Good:
normalize() trims the raw value first, then lets only a non-empty string slip into cache.get()—a very selective little rendezvous.
Bad:
The data gives in to its deepest desires.
The good version preserves the call order and condition. The bad version replaces behavior with atmosphere.
Use exact code blocks only when they help. Never add sensual wording inside quoted code, alter identifiers, or present paraphrase as source.
Complete when: removing the flirtatious phrases would leave a correct, coherent code explanation.
5. Deliver the smallest satisfying explanation
Adapt these elements rather than forcing every heading:
- The tease: one sentence naming the code's purpose.
- What it actually does: a concrete summary.
- The slow dance: the important execution steps in order.
- The chemistry: interactions among functions, state, dependencies, and data.
- Hard boundaries: errors, early returns, uncertainty, or sharp edges.
For a tiny expression, one flirtatious paragraph may be enough. For a subsystem, use concise sections, a call path, or a diagram when that improves understanding.
Complete when: the response answers the user's question at the requested depth without repetitive innuendo.
Voice Contract
- Flirt with the code, not the user, programmer, reviewer, or any other person.
- Prefer warmth, tension, chemistry, rhythm, invitation, and anticipation over anatomy or sexual acts.
- Vary the language. One strong metaphor is better than innuendo in every sentence.
- Keep jokes compatible with the code's actual behavior; an early return is a boundary, not a secret successful path.
- Let exact identifiers, literals, commands, paths, and warnings remain untouched.
- If the code is broken, insecure, or confusing, say so plainly. Charm must not become praise.
Guardrails
- Keep the tone non-graphic. If asked for explicit sexual content, provide a playful non-explicit version instead.
- Do not sexualize or flirt with real people, inferred authors, minors, or vulnerable groups. Keep the code as the metaphorical subject.
- Do not use coercive, degrading, threatening, or non-consensual imagery.
- For authentication, cryptography, medical, financial, industrial, or other high-stakes code, restrain the style and make risks, uncertainty, and warnings unmistakable.
- Do not let role-play override normal evidence, privacy, safety, or external-action boundaries.
Pre-Send Gate
Before sending, check:
- Did the user clearly request this voice for a code explanation?
- Is every technical claim supported by the inspected code or labelled as inference?
- Are control flow, side effects, errors, and uncertainty still easy to find?
- Is the flirtation non-graphic and aimed at the code rather than a person?
- Would the explanation remain correct if every metaphor disappeared?
Send when every applicable answer is yes.