mcpField
C
copywriter

copywriter

github.com/daffy0208营销与增长38254 次安装44 周前更新
代码仓库

关于 copywriter

copywriter 是面向产品团队和营销人员的写作技能,用于制作 UX、营销和产品内容。它通过模式与指南帮助撰写清晰、可执行的界面文案和推广内容。

主要功能

  1. 01UX 文案模式与示例
  2. 02营销页面与 CTA 文案
  3. 03产品说明和发布说明
  4. 04邮件与微文案模板
  5. 05品牌语气与风格指南

适用场景

  1. 01撰写按钮、表单和错误提示
  2. 02起草落地页与产品介绍
  3. 03编写欢迎邮件和营销邮件
  4. 04规划新用户引导文案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daffy0208/ai-dev-standards --skill copywriter

安装后在 Claude Code 中输入/copywriter确认已加载。

附带文件manifest.yamlREADME.md

详细介绍

文案撰写技能

我可以帮你为产品、营销和用户体验撰写清晰、有吸引力的文案。

我的工作内容

UX 文案:

  • 按钮标签、表单字段、错误消息
  • 空状态、引导流程
  • 工具提示、帮助文本
  • 确认对话框

营销文案:

  • 落地页、主视觉区域
  • 功能描述
  • 行动号召(CTA)按钮
  • 邮件营销活动

产品内容:

  • 产品描述
  • 功能公告
  • 发行说明
  • 文档

UX 文案模式

按钮标签
// ❌ Bad: Vague, passive
<Button>Submit</Button>
<Button>OK</Button>
<Button>Click Here</Button>

// ✅ Good: Specific, action-oriented
<Button>Create Account</Button>
<Button>Save Changes</Button>
<Button>Start Free Trial</Button>

指南:

  • 使用“动词 + 名词”(如“保存更改”,而非“保存”)
  • 具体明确(如“删除帖子”,而非“删除”)
  • 展示操作结果(如“开始免费试用”,而非“提交”)

错误消息
// ❌ Bad: Technical, blaming user
"Invalid input"
"Error 422: Unprocessable Entity"
"You entered the wrong password"

// ✅ Good: Helpful, actionable
"Please enter a valid email address"
"We couldn't find an account with that email"
"Password must be at least 8 characters"

// Implementation
function PasswordInput() {
  const [error, setError] = useState('')

  const validate = (password: string) => {
    if (password.length < 8) {
      setError('Password must be at least 8 characters')
    } else if (!/[A-Z]/.test(password)) {
      setError('Password must include at least one uppercase letter')
    } else if (!/[0-9]/.test(password)) {
      setError('Password must include at least one number')
    } else {
      setError('')
    }
  }

  return (
    <div>
      <input type="password" onChange={(e) => validate(e.target.value)} />
      {error && <p className="text-red-600">{error}</p>}
    </div>
  )
}

错误消息公式:

  1. 发生了什么
  2. 发生原因(可选)
  3. 如何修复

空状态
// ❌ Bad: Just says it's empty
<EmptyState message="No results" />

// ✅ Good: Explains and guides user
function EmptySearchResults() {
  return (
    <div className="text-center py-12">
      <h3 className="text-lg font-semibold">No results found</h3>
      <p className="mt-2 text-gray-600">
        Try adjusting your search or filters to find what you're looking for
      </p>
      <Button onClick={clearFilters} className="mt-4">
        Clear Filters
      </Button>
    </div>
  )
}

function EmptyInbox() {
  return (
    <div className="text-center py-12">
      <h3 className="text-lg font-semibold">You're all caught up!</h3>
      <p className="mt-2 text-gray-600">
        No new messages. Enjoy your day! 🎉
      </p>
    </div>
  )
}

空状态公式:

  • 标题(说明哪里为空)
  • 解释(说明为何为空)
  • 操作(说明接下来该做什么)

表单标签
// ❌ Bad: Unclear, jargon
<Label>Metadata</Label>
<Label>FTP Credentials</Label>

// ✅ Good: Clear, helpful
<Label>
  Email Address
  <span className="text-gray-500 text-sm ml-2">
    We'll never share your email
  </span>
</Label>

<Label>
  Password
  <span className="text-gray-500 text-sm ml-2">
    Must be at least 8 characters
  </span>
</Label>

标签指南:

  • 使用清晰、日常的语言
  • 为复杂字段添加帮助文本
  • 避免使用技术术语

加载状态
// ❌ Bad: Generic
<Loading message="Loading..." />

// ✅ Good: Specific, reassuring
function LoadingStates() {
  return (
    <>
      <Loading message="Creating your account..." />
      <Loading message="Processing payment..." />
      <Loading message="Uploading image (2/5)..." />
      <Loading message="This might take a minute..." />
    </>
  )
}

成功消息
// ❌ Bad: Just confirms action
<Toast message="Saved" />

// ✅ Good: Confirms and suggests next step
function SuccessMessages() {
  return (
    <>
      <Toast
        message="Post published!"
        action={
          <Button onClick={viewPost}>View Post</Button>
        }
      />

      <Toast
        message="Payment successful. Receipt sent to your email."
      />

      <Toast
        message="Profile updated. Changes are now live."
      />
    </>
  )
}

落地页文案

主视觉区域
// components/Hero.tsx

export function Hero() {
  return (
    <section className="text-center py-20">
      {/* Headline: Clear value proposition */}
      <h1 className="text-5xl font-bold">
        Deploy your app in seconds, not hours
      </h1>

      {/* Subheadline: Expand on headline */}
      <p className="mt-6 text-xl text-gray-600 max-w-2xl mx-auto">
        Skip the complex setup. Push your code and we'll handle the deployment,
        scaling, and monitoring automatically.
      </p>

      {/* CTA: Primary action */}
      <div className="mt-10 flex gap-4 justify-center">
        <Button size="lg">
          Start Free Trial
        </Button>
        <Button size="lg" variant="outline">
          Watch Demo (2 min)
        </Button>
      </div>

      {/* Social proof */}
      <p className="mt-8 text-sm text-gray-500">
        Trusted by 50,000+ developers at companies like Airbnb, Netflix, and Shopify
      </p>
    </section>
  )
}

主视觉文案公式:

  1. 标题:主要优势(而非你提供什么)
  2. 副标题:说明工作原理或适用对象
  3. CTA:主要操作
  4. 社会认同:建立可信度

示例:

❌ Bad:
"Cloud Deployment Platform"
"We provide deployment services"

✅ Good:
"Deploy with confidence"
"Ship faster with zero-config deploys"
"From code to production in 30 seconds"

功能描述
// components/Features.tsx

const features = [
  {
    title: 'Lightning-Fast Deploys',
    description: 'Push your code and see it live in under 30 seconds. No waiting, no config files.',
    icon: '⚡'
  },
  {
    title: 'Auto-Scaling',
    description: 'Handle any traffic spike without lifting a finger. We scale from zero to millions seamlessly.',
    icon: '📈'
  },
  {
    title: 'Zero Downtime',
    description: 'Deploy updates without taking your site offline. Your users won't even notice.',
    icon: '🛡️'
  }
]

export function Features() {
  return (
    <section className="py-20">
      <h2 className="text-3xl font-bold text-center">
        Everything you need to ship fast
      </h2>

      <div className="mt-12 grid md:grid-cols-3 gap-8">
        {features.map((feature) => (
          <div key={feature.title}>
            <div className="text-4xl mb-4">{feature.icon}</div>
            <h3 className="text-xl font-semibold">{feature.title}</h3>
            <p className="mt-2 text-gray-600">{feature.description}</p>
          </div>
        ))}
      </div>
    </section>
  )
}

功能文案指南:

  • 聚焦优势,而非功能本身
  • 使用主动语态
  • 具体明确(数字、时间范围)
  • 便于快速浏览

行动号召(CTA)
// Different CTA styles

// ❌ Generic
<Button>Sign Up</Button>
<Button>Learn More</Button>

// ✅ Value-focused
<Button>Start Free Trial</Button>
<Button>Get Started Free</Button>
<Button>Try it Free for 14 Days</Button>

// ✅ Urgency
<Button>Claim Your Spot</Button>
<Button>Join 10,000 Developers</Button>

// ✅ Low commitment
<Button>Browse Templates</Button>
<Button>See How It Works</Button>

CTA 文案公式:

  • 以动词开头
  • 突出优势
  • 消除顾虑(如“免费”“无需信用卡”等)

邮件文案撰写

欢迎邮件
// Email template (React Email)
import { Button, Html, Heading, Text } from '@react-email/components'

export function WelcomeEmail({ name }: { name: string }) {
  return (
    <Html>
      <Heading>Welcome to TechStart, {name}! 👋</Heading>

      <Text>
        Thanks for signing up! We're excited to help you deploy faster.
      </Text>

      <Text>
        Here's what to do next:
      </Text>

      <ul>
        <li>Connect your Git repository</li>
        <li>Deploy your first project (takes 2 minutes)</li>
        <li>Invite your team members</li>
      </ul>

      <Button href="https://app.techstart.com/deploy">
        Deploy Your First Project
      </Button>

      <Text>
        Need help? Reply to this email or check our{' '}
        <a href="https://docs.techstart.com">docs</a>.
      </Text>

      <Text>
        Happy deploying!<br />
        The TechStart Team
      </Text>
    </Html>
  )
}
事务性邮件
export function PaymentSuccessEmail({ orderNumber, total }: {
  orderNumber: string
  total: string
}) {
  return (
    <Html>
      <Heading>Payment Successful</Heading>

      <Text>
        We've received your payment of {total}.
      </Text>

      <Text>
        <strong>Order Number:</strong> {orderNumber}<br />
        <strong>Receipt:</strong> Sent to your email
      </Text>

      <Button href={`https://app.techstart.com/orders/${orderNumber}`}>
        View Order Details
      </Button>

      <Text>
        Questions? Contact [email protected]
      </Text>
    </Html>
  )
}

微文案示例

工具提示
// ❌ Bad: Repeats label
<Tooltip content="Click to delete">
  <Button>Delete</Button>
</Tooltip>

// ✅ Good: Adds helpful context
<Tooltip content="This action cannot be undone">
  <Button>Delete</Button>
</Tooltip>

<Tooltip content="Visible to all team members">
  <Toggle>Public</Toggle>
</Tooltip>
确认对话框
// ❌ Bad: Scary, unclear
<Dialog
  title="Warning"
  message="Are you sure?"
  confirmButton="Yes"
/>

// ✅ Good: Clear, specific
<Dialog
  title="Delete this post?"
  message="This post will be permanently deleted. You can't undo this action."
  confirmButton="Delete Post"
  cancelButton="Cancel"
  variant="destructive"
/>
占位文本
// ❌ Bad: Generic
<Input placeholder="Enter value" />

// ✅ Good: Helpful example
<Input placeholder="e.g., [email protected]" />
<Input placeholder="e.g., My Awesome Project" />
<TextArea placeholder="Tell us what happened..." />

品牌声音与语气指南

品牌声音(一致)
## TechStart Voice

**Professional but friendly**

- We're experts, but we don't talk down to you
- Use "we" and "you" (not "I" or "users")

**Clear and concise**

- Short sentences
- Simple words
- No jargon (unless necessary)

**Helpful and supportive**

- Anticipate questions
- Provide context
- Offer next steps
语气(随情境变化)
// Tone: Excited (product launch)
"We're thrilled to announce auto-scaling! 🎉"

// Tone: Reassuring (error message)
'Something went wrong, but your data is safe. Please try again.'

// Tone: Urgent (security alert)
'Action required: Suspicious login detected on your account'

// Tone: Casual (success message)
'All set! Your changes are live.'

// Tone: Professional (legal)
'By using this service, you agree to our Terms of Service.'

文案撰写检查清单

发布前:

  • 清楚吗?(12 岁的孩子能看懂吗?)
  • 简洁吗?(删去不必要的词语)
  • 具体吗?(使用数字、示例)
  • 有行动指引吗?(用户应该做什么?)
  • 一致吗?(符合品牌声音)
  • 易于访问吗?(便于屏幕阅读器使用)
  • 便于浏览吗?(使用标题、项目符号和短段落)

文案撰写资源

有力词语

紧迫感: 现在、今天、有限、即将结束、赶快、快速
价值: 免费、节省、奖励、额外、加值
信任: 保证、经证实、认证、官方、安全
轻松: 轻松、简单、快捷、不费力、即时

标题公式
"How to [achieve goal] without [pain point]"
→ "How to deploy faster without complex configs"

"[Number] ways to [achieve benefit]"
→ "5 ways to ship code with confidence"

"Get [desired outcome] in [timeframe]"
→ "Get to production in 30 seconds"

"The [adjective] guide to [topic]"
→ "The complete guide to zero-downtime deploys"

何时使用我

非常适合:

  • 撰写 UX 文案(按钮、错误提示、表单)
  • 创建落地页
  • 撰写产品描述
  • 起草邮件营销活动
  • 构建引导流程

我可以帮你:

  • 撰写清晰、可执行的文案
  • 保持品牌声音一致
  • 提高转化率
  • 改善用户体验
  • 创建一致的信息传达

我会创作的内容

✏️ UX Copy (buttons, errors, labels)
📄 Landing Page Copy
📧 Email Templates
💬 Microcopy (tooltips, placeholders)
📚 Product Descriptions
🎯 CTAs that Convert

让我们一起创作能与用户产生共鸣的文案!

评论

支持 Markdown