audit_copy
Analyze sales copy for Gumroad and landing pages to provide scoring and actionable feedback on power words and CTAs.
Instructions
Audit sales copy for Gumroad/Landing pages and give a score.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| copy | Yes | The sales copy text |
Implementation Reference
- src/index.ts:109-129 (handler)Handler for the 'audit_copy' tool. It processes the input copy, checks for power words, length, and presence of call-to-action phrases, computes a score out of 100, generates suggestions, and returns the results.if (name === "audit_copy") { const copy = String(args?.copy || ""); const powerWords = ["free", "guarantee", "proven", "secret", "easy", "instant", "limited", "exclusive", "bonus", "you", "new", "results"]; const lowerCopy = copy.toLowerCase(); const foundPowerWords = powerWords.filter(w => lowerCopy.includes(w)); let score = 50; score += foundPowerWords.length * 5; const suggestions = []; if (foundPowerWords.length < 3) suggestions.push("Add more power words like 'Free', 'Guarantee', 'Proven'."); if (copy.length < 100) { score -= 10; suggestions.push("Copy is too short. Elaborate on benefits."); } if (!lowerCopy.includes("call to action") && !lowerCopy.includes("buy") && !lowerCopy.includes("click")) { suggestions.push("Make sure you have a clear Call to Action (CTA)."); } score = Math.min(100, Math.max(0, score)); return { content: [{ type: "text", text: JSON.stringify({ score, foundPowerWords, suggestions }, null, 2) }], }; }
- src/index.ts:45-55 (registration)Registration of the 'audit_copy' tool in the TOOLS array, including name, description, and input schema. Used by the ListTools handler.{ name: "audit_copy", description: "Audit sales copy for Gumroad/Landing pages and give a score.", inputSchema: { type: "object", properties: { copy: { type: "string", description: "The sales copy text" }, }, required: ["copy"], }, },
- src/index.ts:48-54 (schema)Input schema definition for the 'audit_copy' tool, specifying the expected 'copy' parameter.inputSchema: { type: "object", properties: { copy: { type: "string", description: "The sales copy text" }, }, required: ["copy"], },