fun-angle

fun-angle is a skill for Claude Code from kalyvask/winning-writing. It costs 102 tokens per session (1,471 once invoked), scanned A, original, MIT.

A writing aid for finding an unexpected, dry, or self-aware angle in a professional email, including a memorable subject line or sign-off.

In plain words
What is it for?
Use it to make outreach emails more distinctive, develop subject lines, and add human-sounding humor to otherwise formal drafts.
Why use it?
Professional messages can be correct but forgettable. It helps add warmth or restrained humor without turning the message into a joke.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: positional $N argument.

Part of the winning-writing plugin — 32 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/kalyvask/winning-writing/fun-angle
Any agent
npx skills add kalyvask/winning-writing --skill fun-angle
Clone the repo
git clone --depth 1 https://github.com/kalyvask/winning-writing

Made for: Claude Code.

Or install winning-writing, the plugin that ships this one along with the rest of its 32 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for fun-angle

README.md
[![agentmods](https://agentmods.dev/badge/skills/kalyvask/winning-writing/fun-angle.svg)](https://agentmods.dev/skills/kalyvask/winning-writing/fun-angle)
Your own site
<a href="https://agentmods.dev/skills/kalyvask/winning-writing/fun-angle"><img src="https://agentmods.dev/badge/skills/kalyvask/winning-writing/fun-angle.svg" alt="Measured on agentmods" height="20"></a>
Per session 102 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,471 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00102 $0.01471
Opus 5 $0.00051 $0.00736
Sonnet 5 $0.00020 $0.00294
Haiku 4.5 $0.00010 $0.00147

Measured 5d ago against content hash e37e455095ab, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

fun-angle scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

side-panel-coach/rules/skills/fun-angle/SKILL.md · 136 lines

How it starts

The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Fun angle

Source: points/core-rules.md rule 9 (warmth and humor), points/cold-email-rules.md rule 3 (subject lines), points/examples-and-critiques.md (the model letters that worked).

Why this exists

Kramon's class rule: "Humor is non-negotiable. If you think there's too much humor, drop the course."

The emails that get answered have one moment that makes the recipient smile. Not a joke — a moment. A line, an image, a self-aware aside, a subject line that's slightly weird.

This skill exists because most people are scared to be funny in professional writing, so they default to safe. Safe gets deleted.

What works

1. Self-deprecation that doesn't beg for sympathy

"I spent last weekend reading your Substack instead of my OB pre-reads, and I'm not sure that was the wrong trade.""I open Google Docs and stare at it like it owes me money.""Collecting degrees like infinity stones."

What works: the joke is at the writer's expense, but it's confident — not "poor me," more "yes, I see it too."

"I know I'm probably wasting your time but...""Sorry to bother you, I'm just a humble student..." This is begging. Cut.

2. Specific, slightly absurd detail

✅ A specific shared object from your history with the recipient (a gift, a year, a place you both know), referenced concretely enough that the reader has to remember the moment. ✅ A specific sensory detail from your own past — what you wore, what was wrong with what you wore, what you held, what someone said — concrete enough to be unfakeable. ✅ A specific physical scene with a place name, a time, and one company-of-one detail (alone, with a friend, training, watching).

What works: the detail is so specific it must be true. Specificity is funny on its own.

3. The unexpected juxtaposition

The shape: an old identity + a current identity, in a five-to-eight word phrase, where the two don't usually co-occur in the same person.

  • "[Unusual prior career] turned [current credential]." The reader pauses on the gap between the two. That pause is your foot in the door.
  • "[Current credential] who [unexpected current activity]." Best when the activity is one a normal person would never combine with the credential.
  • "Ex [elite endeavor that takes years]." The "ex" carries the story without explanation.

Read the full file on GitHub · 136 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 136 lines · 102 tokens per session scan A e37e455095ab

Subscribe to this mod's changes

fun-angle is a skill published in the GitHub repository kalyvask/winning-writing (13 stars, last pushed 4d ago), licensed MIT. It adds 102 tokens to every session and 1,471 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

domain

When you want to brainstorm and check available .com domains for a new project — brand naming, aftermarket pricing (HugeDomains / Afternic / Sedo / Dan), USPTO trademark screening, and social handle availability. Built on Laura Roeder's "work backwards from availability, not from a name you fell in love with"…

coreyhaines31/makerskills · 232 tokens

company-brain

Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so Claude can answer questions on your team's behalf. Team-scope sibling to second-brain (which is personal-scope). Seven modes — capture (drop something into the right structured dir), compile (process into wiki…

coreyhaines31/makerskills · 322 tokens

slide-deck

When you want to draft, update, convert, or export a slide deck for a React/Next.js slide system (${SLIDEDECKREPO:-$HOME/code/your-slide-deck-site}/src/app/slides/). Writes TypeScript Slide[] arrays using your primitives (Eyebrow, Heading, Accent, Body, BulletList, Divider, TwoCol, GradientText), 12 cycling brand…

coreyhaines31/makerskills · 259 tokens

service-desk

Runs the IT service desk — intake, triage, prioritization, escalation, knowledge, and the metrics that improve service rather than distort it. Use this to set up or fix a service desk, design ticket priority and escalation, reduce repeat contacts, structure a knowledge base, or work out why a desk hitting its targets…

cbrock84/headcount · 73 tokens

session-cleanup

Identify stale and empty Claude Code sessions in the Agent Monitor and explain the cleanup endpoint (POST /api/settings/cleanup), always showing the exact list of what WOULD be removed before anything is deleted. Cleanup permanently deletes data, so this skill previews first and requires explicit user confirmation.…

hoangsonww/Claude-Code-Agent-Monitor · 67 tokens

session-search

Find Claude Code sessions tracked by the Agent Monitor by project (cwd), model, status, or date, then rank the matches by cost or recency. Pulls the session list and the distinct cwd / facet values so filters use real values rather than guesses. Use when locating a session — "find my EstateWise sessions", "which Opus…

hoangsonww/Claude-Code-Agent-Monitor · 86 tokens