What it does
Looks at how the site has tagged past campaigns, source, medium, campaign, term, and content patterns, and generates a new set of UTM parameters for a requested link that follows the same casing, separators, and structure, rather than a one-off format that breaks reporting continuity. Flags when the request doesn't clearly fit an existing pattern so a new convention can be decided deliberately.
Install
This skill isn't packaged in an installable registry. It's a plain SKILL.md file you can copy directly. Copy it from the SKILL.md tab and save it at the path for your assistant:
Use it in your AI assistant
Claude Code
.claude/skills/utm-campaign-namer/ (or ~/.claude/skills/utm-campaign-namer/ for all projects)
GitHub Copilot (VS Code)
.github/skills/utm-campaign-namer/
OpenAI Codex
.codex/skills/utm-campaign-namer/
Cursor
.cursor/skills/utm-campaign-namer/ (or ~/.cursor/skills/utm-campaign-namer/ globally)
Compatibility
Any WordPress site; works from a list of past campaign URLs or a documented naming convention, no analytics integration strictly required though one helps confirm the existing pattern.
The complete SKILL.md for this skill:
---
name: utm-campaign-namer
description: Use when a user wants UTM parameters generated for a new link that match the site's existing naming convention, or asks to "tag this link" or "build a campaign URL".
---
# UTM Campaign Namer
## When to use
A new link needs UTM tracking parameters and the user wants them consistent with however the site has tagged campaigns in the past, rather than a one-off format.
## Procedure
1. Review a sample of past UTM-tagged URLs from the site, or its documented convention, to infer the pattern: casing, separators, and what goes in source versus medium versus campaign.
2. Confirm the destination URL, channel, and campaign name or purpose for the new link.
3. Generate utm_source, utm_medium, utm_campaign, and utm_content or utm_term only where the existing convention uses them, matching format exactly.
4. Output the full tagged URL plus each parameter broken out separately for easy copy into an ad platform or email tool.
5. Flag explicitly if this request doesn't fit any existing pattern, and propose a new convention rather than silently inventing one.
## Guardrails
- Don't introduce a new casing or separator style that breaks consistency with existing tagged links, match what's already there.
- Keep campaign names free of dynamic or personal data, no embedded emails or customer IDs, since UTM parameters are visible in the URL.