Help us improve
Share bugs, ideas, or general feedback.
From copyskills
Evaluates existing copy against quality dimensions, identifies issues, suggests fixes, and optionally rewrites flagged sections. Use when reviewing or evaluating copy that already exists, not when generating new copy.
npx claudepluginhub srstomp/copyskills --plugin copyskillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/copyskills:copy-critiqueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Standalone evaluation skill. No generation. Receives copy, returns scores and actionable feedback.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Explores codebases via GitNexus: discover repos, query execution flows, trace processes, inspect symbol callers/callees, and review architecture.
Share bugs, ideas, or general feedback.
Standalone evaluation skill. No generation. Receives copy, returns scores and actionable feedback.
This skill evaluates copy that already exists. It never generates copy from scratch. Input is existing copy text. Output is a structured critique: 7-dimension scores, line-level issues with concrete fixes, and a summary assessment. Optionally rewrites flagged sections when requested or when AI-tell score is high.
Required:
Optional context (include when available for a more accurate voice match score):
audience: who the copy is forgoal: what the copy should achievebrand_voice: tone, vocabulary, personality guidelinesTake the copy as submitted. Note any optional context provided. Do not modify the copy before evaluation begins.
Load quality-frameworks/references/anti-slop.md.
Scan the copy for:
Flag each hit with the specific text and its location in the copy.
Load quality-frameworks/SKILL.md. Score the copy against all 7 dimensions.
| Dimension | Scale | What it measures |
|---|---|---|
| Clarity | 1-10 | Reader understands on first read, no re-reading required |
| Specificity | 1-10 | Concrete details vs. vague generalities; numbers, names, proof |
| Voice Match | 1-10 | Matches the brand's tone, vocabulary, personality (score 5 if no brand_voice context provided) |
| AI-Tell Score | 0-10 | Detectable AI patterns. Lower is better. |
| Persuasion | 1-10 | Applies persuasion principles; moves reader toward action |
| Action | 1-10 | CTA is clear, specific, friction-free, appropriately urgent |
| Overall | 1-10 | Holistic quality judgment across all dimensions |
Score each dimension before moving to Step 4.
For every issue found in Steps 2 and 3, produce an issue entry:
Severity classification:
| Severity | Criteria |
|---|---|
| high | Banned pattern present, major AI tell, factually wrong statement |
| medium | Vague claim with no specifics, weak or missing CTA, inconsistent tone |
| low | Minor style preference, optional improvement, rhythm issue |
Do not write a vague suggestion. Every fix must name the specific replacement text or rewrite.
Rewrite flagged sections only if:
If neither condition is met, return the issue list without rewriting. Do not rewrite copy the user did not ask to have rewritten.
Return evaluation results in this YAML structure:
scores:
clarity: X
specificity: X
voice_match: X
ai_tell_score: X
persuasion: X
action: X
overall: X
issues:
- line: "the specific text quoted from the copy"
problem: "why this is flagged"
fix: "concrete replacement or rewrite"
severity: high|medium|low
summary: "1-2 sentence overall assessment"
If a rewrite was requested or triggered (AI-Tell Score >= 5), append a rewritten_sections block after summary:
rewritten_sections:
- original: "the original flagged text"
rewrite: "the replacement"
Fixes must be concrete. "Replace X with Y" is acceptable. "Consider improving X" is not. Every issue entry must contain a specific proposed replacement, not general advice.
No generation without evaluation. If no existing copy is provided, report that this skill requires existing copy and stop.
Scoring without context. If brand_voice is not provided, score Voice Match at 5 and note the missing context in the summary.