Install any skill in seconds. Free to start, no credit card required.
Get Started Free →마케팅·제품 텍스트의 브랜드 정합 카피라이팅 전문가. 브랜드 보이스, AI 특유 어조 배제 규칙, 구체적 숫자, 다운스트림 에이전트 소비를 위한 JSON 섹션 구조를 보장합니다. 히어로, 기능, 소셜 증명, CTA, 푸터 섹션을 A/B 변형 출력으로 다룹니다.
.claude/skills/modu-ai-design-copywriting/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 120% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 119% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 196% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 156% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 248% | 0% |
> ⚠️ 개발 런타임 전용 — 이 스킬은 MoAI-ADK(Claude Code) 환경을 전제한다. Claude Cowork(Desktop)에서는 .moai/config 의존으로 동작하지 않을 수 있다. Desktop 사용자는 moai-marketer:content-copywriting을 사용한다.
Brand-aligned content-copywriting skill for marketing and product websites. Absorbed from the retired v2.x *-copywriting capability (per the content-copywriting absorption policy) at v3.2.0. Enforces anti-AI-slop rules, requires brand voice context, and outputs structured JSON per section.
Before generating copy, verify all three conditions are met:
.moai/project/brand/brand-voice.md exists or is provided inline.If brand-voice.md does not exist, stop and instruct the user to run the brand interview via /design (Path B brand-interview).
All copy output is structured JSON with the following top-level sections:
{
"page_type": "<landing|about|services|pricing|contact>",
"sections": {
"hero": { "primary": {...}, "variant_a": {...} },
"problem": { "primary": {...}, "variant_a": {...} },
"solution": { "primary": {...}, "variant_a": {...} },
"features": { "primary": {...}, "variant_a": {...} },
"cta": { "primary": {...}, "variant_a": {...} },
"pricing": { "primary": {...}, "variant_a": {...} }
},
"metadata": {
"tone_profile": "<string>",
"word_count": <number>,
"reading_level": "<string>"
}
}Each section must include at least one A/B variant (variant_a). The primary field is the recommended default.
hero: The first visible block. Subject must be the reader outcome, not the company name.
headline: Max 12 words. Present tense. Outcome-first.subheadline: One sentence. Expands the headline mechanism. Max 25 words.cta_primary: Verb + noun. Max 5 words. ("Start your free trial", "See how it works")cta_secondary: Optional. Softer alternative. ("Learn more", "Watch demo")problem: Acknowledges the reader's pain point before proposing a solution.
headline: Frame the cost of the status quo. Specific, not abstract.body: 2-3 sentences. Use second-person ("you", "your team").solution: Introduces your product or service as the answer.
headline: Direct claim with mechanism. ("We automate X so you can Y.")body: 3-4 sentences. State what it is, how it works, and one concrete outcome.features: Scannable list of capabilities.
title (max 5 words) + description (max 2 sentences) + optional metric.cta: Final conversion prompt.
headline: Urgency or clarity without manipulation. Avoid "limited time" cliches.button_text: Same rules as hero cta_primary.supporting_text: Trust signal (money-back guarantee, no credit card, etc.)pricing: Only include if explicitly requested in scope.
headline: Framing statement. ("Simple pricing. No surprises.")name, price, billing_period, highlights (max 5 bullet strings).Every piece of generated copy must pass this checklist before delivery:
Forbidden patterns — Reject any copy containing:
Required patterns — Every section must have:
Tone calibration — Load from brand-voice.md:
jargon_level: low)Each section must include one alternative version (variant_a) that differs in:
Do not generate more than two variants unless the scope explicitly requires it.
Load .moai/project/brand/brand-voice.md and apply:
tone: Overall register. If missing, default to "confident and direct".vocabulary_preferences: Preferred and avoided terms. Enforce strictly.audience_familiarity: Determines assumed knowledge level. Adjust jargon accordingly.example_phrases: Use as stylistic anchors. Mimic sentence rhythm, not content.If any _TBD_ markers are present in brand-voice.md, stop and request completion before proceeding.
When both content-copywriting and design work are in scope (path B of /moai design):
design-brand-system as the content contract.Adjust copy complexity to the target audience's reading level:
Include the calculated reading level in the output metadata reading_level field using the Flesch-Kincaid grade level scale.
Form labels, error messages, and UI strings follow stricter rules:
When testimonials or case study data are available in brand context:
This dictionary is the canonical anti-AI-slop reference for the design pipeline. It was absorbed from the design-slop-check skill per docs/plugin-family-design/03-moai-design-processing.md §3.3 — content-copywriting is the canonical owner (proactive avoidance at generation time), while design-slop-check remains a downstream QA gate that references this dictionary. Reject or flag copy matching these patterns before delivery, and replace with concrete numbers / reader outcomes.
Downstream chaining note: for Korean output, an optional post-processing pass via a humanizer skill (e.g. moai-domain-humanize) may follow — this is an optional refinement, not a hard dependency.
design-brand-system: Visual design must accommodate copy constraintsdesign-iteration-loop: GAN loop evaluates copy quality in Design Quality and Completeness dimensionsexpert-frontend: Receives the JSON copy output for implementationmoai)의 sync-auditor가 함께 설치된 환경에서는 해당 agent로 평가를 보강할 수 있습니다.| 단계 | 스킬 | 용도 | |---|---|---| | Post-검수 | moai-coworker:ai-slop-reviewer | AI 슬롭 검수 (필수) | | Post-검수 | moai-writer:korean-humanize | 한국어 AI 티 제거 (슬롭 검수 다음, 필수) |
Source: Absorbed from the retired v2.x *-copywriting capability v3.2.0 per the content-copywriting absorption policy. REQ coverage: (internal provenance omitted) Version: 0.1.0
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | pass→pass | 23,432 | 25,045 | +7% | 1 | 1 | 0% | 4,092 | 7,075 | +73% | 0 | 0 | — |
case-06 | pass→pass | 14,116 | 9,890 | -30% | 1 | 1 | 0% | 1,584 | 3,559 | +125% | 0 | 0 | — |
case-04 | pass→fail | 20,755 | 17,870 | -14% | 1 | 1 | 0% | 4,402 | 6,345 | +44% | 0 | 0 | — |
case-01 | fail→pass | 26,216 | 34,672 | +32% | 1 | 1 | 0% | 4,025 | 8,863 | +120% | 0 | 0 | — |
case-02 | fail→pass | 20,861 | 31,976 | +53% | 1 | 1 | 0% | 3,870 | 8,461 | +119% | 0 | 0 | — |
case-03 | fail→fail | 28,375 | 17,495 | -38% | 1 | 1 | 0% | 3,528 | 5,496 | +56% | 0 | 0 | — |
case-07 | fail→pass | 13,184 | 18,200 | +38% | 1 | 1 | 0% | 1,815 | 5,376 | +196% | 0 | 0 | — |
case-08 | fail→pass | 11,563 | 13,723 | +19% | 1 | 1 | 0% | 1,666 | 4,271 | +156% | 0 | 0 | — |
case-09 | fail→pass | 13,234 | 14,339 | +8% | 1 | 1 | 0% | 1,290 | 4,492 | +248% | 0 | 0 | — |
case-10 | fail→pass | 11,624 | 17,796 | +53% | 1 | 1 | 0% | 948 | 4,919 | +419% | 0 | 0 | — |
case-11 | fail→fail | 14,188 | 14,969 | +6% | 1 | 1 | 0% | 1,865 | 4,699 | +152% | 0 | 0 | — |
case-12 | fail→pass | 14,916 | 22,249 | +49% | 1 | 1 | 0% | 1,562 | 6,337 | +306% | 0 | 0 | — |
case-13 | fail→pass | 4,846 | 14,740 | +204% | 1 | 1 | 0% | 930 | 4,804 | +417% | 0 | 0 | — |
case-14 | fail→pass | 17,695 | 20,004 | +13% | 1 | 1 | 0% | 2,210 | 5,598 | +153% | 0 | 0 | — |
case-15 | fail→fail | 15,834 | 13,092 | -17% | 1 | 1 | 0% | 1,826 | 5,327 | +192% | 0 | 0 | — |
case-16 | fail→pass | 16,614 | 13,213 | -20% | 1 | 1 | 0% | 1,892 | 4,372 | +131% | 0 | 0 | — |
case-17 | fail→pass | 17,939 | 8,782 | -51% | 1 | 1 | 0% | 2,651 | 3,402 | +28% | 0 | 0 | — |
case-18 | fail→pass | 11,092 | 20,312 | +83% | 1 | 1 | 0% | 1,203 | 5,641 | +369% | 0 | 0 | — |
case-19 | fail→pass | 13,333 | 16,250 | +22% | 1 | 1 | 0% | 1,452 | 4,943 | +240% | 0 | 0 | — |
case-20 | fail→pass | 19,042 | 14,042 | -26% | 1 | 1 | 0% | 2,092 | 4,192 | +100% | 0 | 0 | — |
case-21 | fail→pass | 12,194 | 13,818 | +13% | 1 | 1 | 0% | 1,233 | 4,392 | +256% | 0 | 0 | — |
case-22 | fail→pass | 11,664 | 13,716 | +18% | 1 | 1 | 0% | 1,902 | 4,364 | +129% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +68 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.