About utm-link-generator
A marketing skill that generates governed UTM links and maintains a registry to keep campaign naming consistent. It validates parameters, checks duplicates, and creates platform-specific or bulk variants.
Key features
- 01Validate and normalize UTM parameters
- 02Maintain a canonical link registry
- 03Detect duplicates and naming conflicts
- 04Generate platform-specific variants
- 05Bulk generation and campaign reports
Use cases
- 01Create tracked links for marketing campaigns
- 02Prepare channel-specific links for social and email
- 03Generate A/B test or multi-channel variants
- 04Audit registry entries and summarize campaigns
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ onewave-ai/ claude-skills --skill utm-link-generatorAfter installing, type/utm-link-generatorin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/bulk-and-registry-ops.mdnaming-conventions.mdplatform-variants.mdregistry-schema.mdDetails
From the project READMEUTM Link Generator
Generate UTM-tagged links under a single naming-governance system: a utm-registry.json that enforces canonical conventions, prevents duplicates and naming drift, and outputs platform-ready links for LinkedIn, email, social, and ads.
Contents
references/naming-conventions.md-- enforced rules, UTM parameter reference, canonical source/medium lists, campaign naming pattern.references/platform-variants.md-- per-platform link templates (LinkedIn, email, social, paid ads).references/registry-schema.md-- utm-registry.json structure plus validation-report and output-summary templates.references/bulk-and-registry-ops.md-- bulk generation, registry commands (audit/add/report/export), error handling, integrations, best practices.
Capabilities
- Generate UTM-tagged URLs with validated, consistent parameters.
- Maintain
utm-registry.jsontracking all links and enforcing conventions. - Prevent duplicates -- warn when a similar link already exists.
- Format platform-specific variants (LinkedIn, email, social, ads).
- Bulk-generate variants for A/B testing or multi-channel campaigns.
- Validate -- reject malformed URLs, empty parameters, and convention violations.
- Report -- generate campaign tracking summaries from the registry.
Workflow
- Accept input. Collect destination URL, source, medium, campaign (all required) plus optional term, content, and target platforms. Extract these from a natural-language brief when not given explicitly.
- Validate and normalize. Lowercase, replace spaces with hyphens, strip non-
[a-z0-9-]characters, auto-correct known aliases, reject unknown source/medium values (suggest closest match), validate URL form, enforce the 50-character limit. Report corrections using the template inreferences/registry-schema.md. Full rules inreferences/naming-conventions.md. - Check registry for duplicates. Read
utm-registry.json(create if missing). Return existing link on exact duplicates, allow-with-warning on near duplicates, block on naming conflicts (same campaign, different casing/hyphenation). - Generate links. Build
{base_url}?utm_source=&utm_medium=&utm_campaign=[&utm_term=][&utm_content=][&utm_id=]. Append with&if the base URL already has query params, URL-encode values, and preserve existing query params and fragment. - Generate platform variants. Produce optimized links per requested platform using
references/platform-variants.md. - Update registry. Append all generated links to
utm-registry.jsonper the schema inreferences/registry-schema.md, refreshing stats and timestamps. - Output summary. Present a copy-paste-ready summary using the template in
references/registry-schema.md.
For bulk runs, registry commands (audit, add source/medium, campaign report, CSV export), error handling, and integration notes, see references/bulk-and-registry-ops.md.