Copy Pass
Strips generic AI phrasing from landing-page copy against a fixed checklist and keeps every fact.
One command, any agent
mkdir -p ~/.claude/skills && curl -fsSL https://tailkits.com/skills/tailkits-copy-pass.tar.gz | tar -xz -C ~/.claude/skillsInstalls into ~/.claude/skills. For one project only, use .claude/skills instead. Then start a new Claude Code session and ask. Claude Code skills docs
mkdir -p ~/.agents/skills && curl -fsSL https://tailkits.com/skills/tailkits-copy-pass.tar.gz | tar -xz -C ~/.agents/skillsInstalls into ~/.agents/skills. For one project only, use .agents/skills instead. Codex reads skills from ~/.agents/skills. Start a new session and ask. Codex skills docs
mkdir -p ~/.gemini/skills && curl -fsSL https://tailkits.com/skills/tailkits-copy-pass.tar.gz | tar -xz -C ~/.gemini/skillsInstalls into ~/.gemini/skills. For one project only, use .gemini/skills instead. Project skills load only in a trusted folder. Start a new session and ask. Gemini CLI skills docs
mkdir -p ~/.cursor/skills && curl -fsSL https://tailkits.com/skills/tailkits-copy-pass.tar.gz | tar -xz -C ~/.cursor/skillsInstalls into ~/.cursor/skills. For one project only, use .cursor/skills instead. Cursor also reads ~/.claude/skills, so one install can serve both. Cursor skills docs
mkdir -p ~/.config/opencode/skills && curl -fsSL https://tailkits.com/skills/tailkits-copy-pass.tar.gz | tar -xz -C ~/.config/opencode/skillsInstalls into ~/.config/opencode/skills. For one project only, use .opencode/skills instead. OpenCode also reads ~/.claude/skills and ~/.agents/skills. OpenCode skills docs
mkdir -p ~/.grok/skills && curl -fsSL https://tailkits.com/skills/tailkits-copy-pass.tar.gz | tar -xz -C ~/.grok/skillsInstalls into ~/.grok/skills. For one project only, use .grok/skills instead. Grok also picks up skills installed for Claude Code. Grok skills docs
Prefer to read it first? Download tailkits-copy-pass.tar.gz and open it.
Example requests
- Make the home page copy less generic
- Tighten the hero and the CTAs
- Check our landing page for AI clichés
What the agent reads
- name
tailkits-copy-pass- description
- Tightens landing-page copy against a fixed checklist, removing generic AI phrases, em dashes, filler intensifiers and vague claims, making CTAs specific and headlines short, while keeping every product fact. Use when the user asks to improve, tighten, edit, humanize or "de-AI" landing page copy, headlines or CTAs, or says the site sounds generic or generated.
- compatibility
- Needs Node 18 or later for scripts/copy-check.mjs (no dependencies). No MCP needed. With the free Tailkits MCP (https://tailkits.com/mcp), launch_audit_page can re-check title, description and the CTA above the fold afterwards.
Tailkits copy pass
One editing pass that makes landing-page copy specific and plain, measured against a deterministic checklist rather than taste.
The MCP (optional, free, no account)
This skill runs without it. After the pass, launch_audit_page re-checks the title and meta description lengths and that a CTA is visible in the first section. Install with:
claude mcp add --transport http tailkits https://tailkits.com/mcp
(Other agents: https://tailkits.com/mcp.)
Workflow
<skill-dir> is the folder that contains this SKILL.md.
1. Find the copy
Locate the page files the user means (for example app/page.tsx, src/pages/index.astro, index.html, or a content folder of .md files). Copy can live in components and data files; follow the imports.
2. Run the checker
node <skill-dir>/scripts/copy-check.mjs src/pages/index.astro src/components/landing
It reports rules 1 to 6 of references/checklist.md with file:line: generic phrases from references/banned-phrases.txt, em dashes, exclamation marks, intensifiers, weak CTA labels and long headlines. Add --json for machine-readable output.
3. Edit
Fix each finding in the source, then read the page once top to bottom for rules 7 to 12 (specific claims, one reader, what it is in the first screen, one action, no rhythm triplets, keep the pitch).
Rules for every edit:
- Keep every fact: product names, prices, limits, numbers, integrations, guarantees.
- Never invent a number, customer, quote or result. Where a claim needs one, leave
TODO(number)and list it for the user. - Shorter wins when meaning is equal. Do not add new sections or claims.
- Keep the voice the brand already has (formal or casual); remove only the generic parts.
- One CTA label for the main action, used everywhere.
4. Re-run and report
Run the checker again until it reports 0 findings or only findings you chose to keep (say why). Report a table of changes (file:line, before, after, rule) and the list of claims that need a real number or name from the user.
Example
Before: “Unlock seamless collaboration with our cutting-edge platform. Get started!”
After: “Edit the same doc with your whole team, live. Start free trial”
Rules applied: 1 (unlock, seamless, cutting-edge), 3 (exclamation), 5 (weak CTA), 7 (what it does, concretely).
Pair it with
- DESIGN.md ExtractorYour repo or live site, written down as a lint-clean DESIGN.md, then exported as a Tailwind or shadcn theme.
- Landing Page BuilderA brief in, a landing page out, built from real Tailwind sections restyled with your DESIGN.md.
- Launch AuditFinds what makes a launch look broken, fixes it in your code, then plans launch day.
- OG Image GeneratorA 1200x630 share image in your brand colours and fonts, rendered to PNG, with the meta tags set.