luckiest-co 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +16 -0
- package/.claude-plugin/plugin.json +1 -1
- package/LICENSE +24 -0
- package/bin/install.js +6 -4
- package/commands/{luckiest/finish.md → finish.md} +2 -0
- package/commands/go.md +53 -0
- package/commands/plan.md +66 -0
- package/package.json +3 -2
- package/skills/brainstorm/ATTRIBUTION.md +27 -0
- package/skills/brainstorm/SKILL.md +139 -0
- package/skills/luckiest-ab-testing/ATTRIBUTION.md +35 -0
- package/skills/luckiest-ab-testing/CHANGELOG.md +27 -0
- package/skills/luckiest-ab-testing/SKILL.md +379 -0
- package/skills/luckiest-ab-testing/evals/evals.json +118 -0
- package/skills/luckiest-ab-testing/references/sample-size-guide.md +290 -0
- package/skills/luckiest-ab-testing/references/test-templates.md +284 -0
- package/skills/luckiest-ad-creative/ATTRIBUTION.md +35 -0
- package/skills/luckiest-ad-creative/CHANGELOG.md +23 -0
- package/skills/luckiest-ad-creative/SKILL.md +393 -0
- package/skills/luckiest-ad-creative/evals/evals.json +90 -0
- package/skills/luckiest-ad-creative/references/generative-tools.md +637 -0
- package/skills/luckiest-ad-creative/references/platform-specs.md +213 -0
- package/skills/luckiest-ads/ATTRIBUTION.md +36 -0
- package/skills/luckiest-ads/CHANGELOG.md +24 -0
- package/skills/luckiest-ads/LICENSE +21 -0
- package/skills/luckiest-ads/SKILL.md +434 -0
- package/skills/luckiest-ads/evals/evals.json +90 -0
- package/skills/luckiest-ads/references/ad-copy-templates.md +207 -0
- package/skills/luckiest-ads/references/audience-targeting.md +243 -0
- package/skills/luckiest-ads/references/conversion-tracking.md +361 -0
- package/skills/luckiest-ads/references/platform-setup-checklists.md +277 -0
- package/skills/luckiest-advisors/ATTRIBUTION.md +16 -0
- package/skills/luckiest-advisors/CHANGELOG.md +99 -0
- package/skills/luckiest-advisors/SKILL.md +151 -0
- package/skills/luckiest-aeo-grader/ATTRIBUTION.md +19 -0
- package/skills/luckiest-aeo-grader/CHANGELOG.md +52 -0
- package/skills/luckiest-aeo-grader/SKILL.md +200 -0
- package/skills/luckiest-aeo-grader/evals/evals.json +19 -0
- package/skills/luckiest-aeo-grader/references/rubric.md +72 -0
- package/skills/luckiest-aeo-grader/scripts/scan.py +265 -0
- package/skills/luckiest-ai-seo/ATTRIBUTION.md +38 -0
- package/skills/luckiest-ai-seo/CHANGELOG.md +23 -0
- package/skills/luckiest-ai-seo/SKILL.md +510 -0
- package/skills/luckiest-ai-seo/evals/evals.json +90 -0
- package/skills/luckiest-ai-seo/references/content-patterns.md +285 -0
- package/skills/luckiest-ai-seo/references/content-types.md +71 -0
- package/skills/luckiest-ai-seo/references/okf.md +104 -0
- package/skills/luckiest-ai-seo/references/platform-ranking-factors.md +154 -0
- package/skills/luckiest-analytics/ATTRIBUTION.md +42 -0
- package/skills/luckiest-analytics/CHANGELOG.md +36 -0
- package/skills/luckiest-analytics/SKILL.md +380 -0
- package/skills/luckiest-analytics/evals/evals.json +90 -0
- package/skills/luckiest-analytics/references/event-library.md +260 -0
- package/skills/luckiest-analytics/references/ga4-implementation.md +300 -0
- package/skills/luckiest-analytics/references/gtm-implementation.md +390 -0
- package/skills/luckiest-aso/ATTRIBUTION.md +40 -0
- package/skills/luckiest-aso/CHANGELOG.md +33 -0
- package/skills/luckiest-aso/SKILL.md +327 -0
- package/skills/luckiest-aso/evals/evals.json +91 -0
- package/skills/luckiest-aso/references/apple-specs.md +107 -0
- package/skills/luckiest-aso/references/benchmarks.md +129 -0
- package/skills/luckiest-aso/references/google-play-specs.md +131 -0
- package/skills/luckiest-aso/references/report-template.md +213 -0
- package/skills/luckiest-aso/references/scoring-criteria.md +213 -0
- package/skills/luckiest-churn-prevention/ATTRIBUTION.md +41 -0
- package/skills/luckiest-churn-prevention/CHANGELOG.md +24 -0
- package/skills/luckiest-churn-prevention/SKILL.md +445 -0
- package/skills/luckiest-churn-prevention/evals/evals.json +93 -0
- package/skills/luckiest-churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/skills/luckiest-churn-prevention/references/dunning-playbook.md +408 -0
- package/skills/luckiest-co-marketing/ATTRIBUTION.md +38 -0
- package/skills/luckiest-co-marketing/CHANGELOG.md +25 -0
- package/skills/luckiest-co-marketing/SKILL.md +331 -0
- package/skills/luckiest-co-marketing/evals/evals.json +84 -0
- package/skills/luckiest-coder/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder/CHANGELOG.md +30 -0
- package/skills/luckiest-coder/SKILL.md +77 -0
- package/skills/luckiest-coder/references/antigravity-tools.md +23 -0
- package/skills/luckiest-coder/references/codex-tools.md +39 -0
- package/skills/luckiest-coder/references/pi-tools.md +16 -0
- package/skills/luckiest-coder-brainstorming/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-brainstorming/CHANGELOG.md +31 -0
- package/skills/luckiest-coder-brainstorming/SKILL.md +173 -0
- package/skills/luckiest-coder-brainstorming/scripts/frame-template.html +213 -0
- package/skills/luckiest-coder-brainstorming/scripts/helper.js +168 -0
- package/skills/luckiest-coder-brainstorming/scripts/server.cjs +721 -0
- package/skills/luckiest-coder-brainstorming/scripts/start-server.sh +209 -0
- package/skills/luckiest-coder-brainstorming/scripts/stop-server.sh +120 -0
- package/skills/luckiest-coder-brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/skills/luckiest-coder-brainstorming/visual-companion.md +291 -0
- package/skills/luckiest-coder-consistency/ATTRIBUTION.md +30 -0
- package/skills/luckiest-coder-consistency/CHANGELOG.md +26 -0
- package/skills/luckiest-coder-consistency/SKILL.md +98 -0
- package/skills/luckiest-coder-constitution/ATTRIBUTION.md +28 -0
- package/skills/luckiest-coder-constitution/CHANGELOG.md +25 -0
- package/skills/luckiest-coder-constitution/SKILL.md +115 -0
- package/skills/luckiest-coder-debugging/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-debugging/CHANGELOG.md +22 -0
- package/skills/luckiest-coder-debugging/CREATION-LOG.md +119 -0
- package/skills/luckiest-coder-debugging/SKILL.md +309 -0
- package/skills/luckiest-coder-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/luckiest-coder-debugging/condition-based-waiting.md +115 -0
- package/skills/luckiest-coder-debugging/defense-in-depth.md +122 -0
- package/skills/luckiest-coder-debugging/find-polluter.sh +63 -0
- package/skills/luckiest-coder-debugging/root-cause-tracing.md +169 -0
- package/skills/luckiest-coder-debugging/test-academic.md +14 -0
- package/skills/luckiest-coder-debugging/test-pressure-1.md +58 -0
- package/skills/luckiest-coder-debugging/test-pressure-2.md +68 -0
- package/skills/luckiest-coder-debugging/test-pressure-3.md +69 -0
- package/skills/luckiest-coder-dispatching-parallel-agents/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-dispatching-parallel-agents/CHANGELOG.md +23 -0
- package/skills/luckiest-coder-dispatching-parallel-agents/SKILL.md +198 -0
- package/skills/luckiest-coder-executing-plans/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-executing-plans/CHANGELOG.md +22 -0
- package/skills/luckiest-coder-executing-plans/SKILL.md +83 -0
- package/skills/luckiest-coder-finishing-a-branch/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-finishing-a-branch/CHANGELOG.md +22 -0
- package/skills/luckiest-coder-finishing-a-branch/SKILL.md +258 -0
- package/skills/luckiest-coder-git-worktrees/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-git-worktrees/CHANGELOG.md +22 -0
- package/skills/luckiest-coder-git-worktrees/SKILL.md +215 -0
- package/skills/luckiest-coder-guard/ATTRIBUTION.md +29 -0
- package/skills/luckiest-coder-guard/CHANGELOG.md +48 -0
- package/skills/luckiest-coder-guard/LICENSE +21 -0
- package/skills/luckiest-coder-guard/SKILL.md +126 -0
- package/skills/luckiest-coder-guard/bin/check-careful.sh +65 -0
- package/skills/luckiest-coder-guard/bin/check-freeze.sh +48 -0
- package/skills/luckiest-coder-qa/ATTRIBUTION.md +28 -0
- package/skills/luckiest-coder-qa/CHANGELOG.md +49 -0
- package/skills/luckiest-coder-qa/LICENSE +21 -0
- package/skills/luckiest-coder-qa/SKILL.md +160 -0
- package/skills/luckiest-coder-qa/references/issue-taxonomy.md +85 -0
- package/skills/luckiest-coder-qa/references/qa-report-template.md +126 -0
- package/skills/luckiest-coder-receiving-code-review/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-receiving-code-review/CHANGELOG.md +28 -0
- package/skills/luckiest-coder-receiving-code-review/SKILL.md +226 -0
- package/skills/luckiest-coder-requesting-code-review/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-requesting-code-review/CHANGELOG.md +31 -0
- package/skills/luckiest-coder-requesting-code-review/SKILL.md +118 -0
- package/skills/luckiest-coder-requesting-code-review/code-reviewer.md +172 -0
- package/skills/luckiest-coder-shipping/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-shipping/CHANGELOG.md +48 -0
- package/skills/luckiest-coder-shipping/LICENSE +21 -0
- package/skills/luckiest-coder-shipping/SKILL.md +148 -0
- package/skills/luckiest-coder-shipping/references/canary.md +44 -0
- package/skills/luckiest-coder-shipping/references/test-and-coverage.md +91 -0
- package/skills/luckiest-coder-subagent-driven-development/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-subagent-driven-development/CHANGELOG.md +28 -0
- package/skills/luckiest-coder-subagent-driven-development/SKILL.md +439 -0
- package/skills/luckiest-coder-subagent-driven-development/implementer-prompt.md +139 -0
- package/skills/luckiest-coder-subagent-driven-development/scripts/review-package +44 -0
- package/skills/luckiest-coder-subagent-driven-development/scripts/sdd-workspace +22 -0
- package/skills/luckiest-coder-subagent-driven-development/scripts/task-brief +40 -0
- package/skills/luckiest-coder-subagent-driven-development/task-reviewer-prompt.md +188 -0
- package/skills/luckiest-coder-tdd/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-tdd/CHANGELOG.md +26 -0
- package/skills/luckiest-coder-tdd/SKILL.md +384 -0
- package/skills/luckiest-coder-tdd/testing-anti-patterns.md +299 -0
- package/skills/luckiest-coder-verification/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-verification/CHANGELOG.md +22 -0
- package/skills/luckiest-coder-verification/SKILL.md +152 -0
- package/skills/luckiest-coder-writing-plans/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-writing-plans/CHANGELOG.md +22 -0
- package/skills/luckiest-coder-writing-plans/SKILL.md +191 -0
- package/skills/luckiest-coder-writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/luckiest-coder-writing-skills/ATTRIBUTION.md +26 -0
- package/skills/luckiest-coder-writing-skills/CHANGELOG.md +31 -0
- package/skills/luckiest-coder-writing-skills/SKILL.md +702 -0
- package/skills/luckiest-coder-writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/luckiest-coder-writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/luckiest-coder-writing-skills/graphviz-conventions.dot +172 -0
- package/skills/luckiest-coder-writing-skills/persuasion-principles.md +187 -0
- package/skills/luckiest-coder-writing-skills/render-graphs.js +168 -0
- package/skills/luckiest-coder-writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/luckiest-cold-email/ATTRIBUTION.md +36 -0
- package/skills/luckiest-cold-email/CHANGELOG.md +24 -0
- package/skills/luckiest-cold-email/SKILL.md +213 -0
- package/skills/luckiest-cold-email/evals/evals.json +94 -0
- package/skills/luckiest-cold-email/references/benchmarks.md +83 -0
- package/skills/luckiest-cold-email/references/follow-up-sequences.md +81 -0
- package/skills/luckiest-cold-email/references/frameworks.md +90 -0
- package/skills/luckiest-cold-email/references/personalization.md +79 -0
- package/skills/luckiest-cold-email/references/subject-lines.md +53 -0
- package/skills/luckiest-community-marketing/ATTRIBUTION.md +41 -0
- package/skills/luckiest-community-marketing/CHANGELOG.md +35 -0
- package/skills/luckiest-community-marketing/SKILL.md +200 -0
- package/skills/luckiest-community-marketing/evals/evals.json +89 -0
- package/skills/luckiest-competitor-profiling/ATTRIBUTION.md +36 -0
- package/skills/luckiest-competitor-profiling/CHANGELOG.md +24 -0
- package/skills/luckiest-competitor-profiling/SKILL.md +443 -0
- package/skills/luckiest-competitor-profiling/evals/evals.json +85 -0
- package/skills/luckiest-competitor-profiling/references/templates.md +167 -0
- package/skills/luckiest-competitor-profiling/references/tool-reference.md +179 -0
- package/skills/luckiest-competitors/ATTRIBUTION.md +36 -0
- package/skills/luckiest-competitors/CHANGELOG.md +25 -0
- package/skills/luckiest-competitors/SKILL.md +171 -0
- package/skills/luckiest-competitors/evals/evals.json +93 -0
- package/skills/luckiest-competitors/references/content-architecture.md +271 -0
- package/skills/luckiest-competitors/references/templates.md +223 -0
- package/skills/luckiest-content-strategy/ATTRIBUTION.md +39 -0
- package/skills/luckiest-content-strategy/CHANGELOG.md +23 -0
- package/skills/luckiest-content-strategy/SKILL.md +395 -0
- package/skills/luckiest-content-strategy/evals/evals.json +90 -0
- package/skills/luckiest-content-strategy/references/headless-cms.md +194 -0
- package/skills/luckiest-copy-editing/ATTRIBUTION.md +41 -0
- package/skills/luckiest-copy-editing/CHANGELOG.md +31 -0
- package/skills/luckiest-copy-editing/SKILL.md +491 -0
- package/skills/luckiest-copy-editing/evals/evals.json +89 -0
- package/skills/luckiest-copy-editing/references/checklist.md +66 -0
- package/skills/luckiest-copy-editing/references/content-refresh.md +38 -0
- package/skills/luckiest-copy-editing/references/plain-english-alternatives.md +394 -0
- package/skills/luckiest-copywriting/ATTRIBUTION.md +35 -0
- package/skills/luckiest-copywriting/CHANGELOG.md +23 -0
- package/skills/luckiest-copywriting/SKILL.md +296 -0
- package/skills/luckiest-copywriting/evals/evals.json +111 -0
- package/skills/luckiest-copywriting/references/copy-frameworks.md +344 -0
- package/skills/luckiest-copywriting/references/natural-transitions.md +272 -0
- package/skills/luckiest-cro/ATTRIBUTION.md +34 -0
- package/skills/luckiest-cro/CHANGELOG.md +23 -0
- package/skills/luckiest-cro/SKILL.md +215 -0
- package/skills/luckiest-cro/evals/evals.json +111 -0
- package/skills/luckiest-cro/references/experiments.md +248 -0
- package/skills/luckiest-cro/references/form.md +422 -0
- package/skills/luckiest-customer-research/ATTRIBUTION.md +40 -0
- package/skills/luckiest-customer-research/CHANGELOG.md +26 -0
- package/skills/luckiest-customer-research/SKILL.md +293 -0
- package/skills/luckiest-customer-research/evals/evals.json +162 -0
- package/skills/luckiest-customer-research/references/source-guides.md +401 -0
- package/skills/luckiest-directory-submissions/ATTRIBUTION.md +40 -0
- package/skills/luckiest-directory-submissions/CHANGELOG.md +33 -0
- package/skills/luckiest-directory-submissions/SKILL.md +419 -0
- package/skills/luckiest-directory-submissions/evals/evals.json +94 -0
- package/skills/luckiest-directory-submissions/references/directory-list.md +477 -0
- package/skills/luckiest-directory-submissions/references/positioning-variations.md +232 -0
- package/skills/luckiest-directory-submissions/references/submission-tracker-template.csv +266 -0
- package/skills/luckiest-emails/ATTRIBUTION.md +42 -0
- package/skills/luckiest-emails/CHANGELOG.md +33 -0
- package/skills/luckiest-emails/SKILL.md +220 -0
- package/skills/luckiest-emails/evals/evals.json +93 -0
- package/skills/luckiest-emails/references/copy-guidelines.md +120 -0
- package/skills/luckiest-emails/references/email-types.md +515 -0
- package/skills/luckiest-emails/references/sequence-templates.md +168 -0
- package/skills/luckiest-extract-design-system/ATTRIBUTION.md +8 -0
- package/skills/luckiest-extract-design-system/CHANGELOG.md +37 -0
- package/skills/luckiest-extract-design-system/SKILL.md +83 -0
- package/skills/luckiest-free-tools/ATTRIBUTION.md +43 -0
- package/skills/luckiest-free-tools/CHANGELOG.md +25 -0
- package/skills/luckiest-free-tools/SKILL.md +220 -0
- package/skills/luckiest-free-tools/evals/evals.json +90 -0
- package/skills/luckiest-free-tools/references/tool-types.md +217 -0
- package/skills/luckiest-image/ATTRIBUTION.md +43 -0
- package/skills/luckiest-image/CHANGELOG.md +23 -0
- package/skills/luckiest-image/SKILL.md +376 -0
- package/skills/luckiest-image/evals/evals.json +89 -0
- package/skills/luckiest-image/references/ai-image-prompting.md +229 -0
- package/skills/luckiest-launch/ATTRIBUTION.md +40 -0
- package/skills/luckiest-launch/CHANGELOG.md +43 -0
- package/skills/luckiest-launch/SKILL.md +385 -0
- package/skills/luckiest-launch/evals/evals.json +91 -0
- package/skills/luckiest-lead-magnets/ATTRIBUTION.md +35 -0
- package/skills/luckiest-lead-magnets/CHANGELOG.md +23 -0
- package/skills/luckiest-lead-magnets/SKILL.md +331 -0
- package/skills/luckiest-lead-magnets/evals/evals.json +87 -0
- package/skills/luckiest-lead-magnets/references/benchmarks.md +129 -0
- package/skills/luckiest-lead-magnets/references/format-guide.md +196 -0
- package/skills/luckiest-marketing-ideas/ATTRIBUTION.md +39 -0
- package/skills/luckiest-marketing-ideas/CHANGELOG.md +33 -0
- package/skills/luckiest-marketing-ideas/SKILL.md +191 -0
- package/skills/luckiest-marketing-ideas/evals/evals.json +90 -0
- package/skills/luckiest-marketing-ideas/references/ideas-by-category.md +366 -0
- package/skills/luckiest-marketing-plan/ATTRIBUTION.md +40 -0
- package/skills/luckiest-marketing-plan/CHANGELOG.md +23 -0
- package/skills/luckiest-marketing-plan/SKILL.md +285 -0
- package/skills/luckiest-marketing-plan/evals/evals.json +96 -0
- package/skills/luckiest-marketing-plan/references/aarrr-framework.md +180 -0
- package/skills/luckiest-marketing-plan/references/budget-planning.md +168 -0
- package/skills/luckiest-marketing-plan/references/client-types.md +373 -0
- package/skills/luckiest-marketing-plan/references/current-state-rubric.md +255 -0
- package/skills/luckiest-marketing-plan/references/example-quietude.md +972 -0
- package/skills/luckiest-marketing-plan/references/funding-stage-unlocks.md +230 -0
- package/skills/luckiest-marketing-plan/references/growth-patterns.md +148 -0
- package/skills/luckiest-marketing-plan/references/idea-cross-reference.md +265 -0
- package/skills/luckiest-marketing-plan/references/measurement-framework.md +213 -0
- package/skills/luckiest-marketing-plan/references/methodology.md +363 -0
- package/skills/luckiest-marketing-plan/references/ops-stack-mapping.md +197 -0
- package/skills/luckiest-marketing-plan/references/plan-template.md +494 -0
- package/skills/luckiest-marketing-plan/references/team-and-agency-model.md +278 -0
- package/skills/luckiest-marketing-psychology/ATTRIBUTION.md +31 -0
- package/skills/luckiest-marketing-psychology/CHANGELOG.md +32 -0
- package/skills/luckiest-marketing-psychology/SKILL.md +202 -0
- package/skills/luckiest-marketing-psychology/evals.json +88 -0
- package/skills/luckiest-model-router/ATTRIBUTION.md +11 -0
- package/skills/luckiest-model-router/CHANGELOG.md +45 -0
- package/skills/luckiest-model-router/SKILL.md +74 -0
- package/skills/luckiest-model-router/scripts/route.py +145 -0
- package/skills/luckiest-offers/ATTRIBUTION.md +39 -0
- package/skills/luckiest-offers/CHANGELOG.md +23 -0
- package/skills/luckiest-offers/SKILL.md +167 -0
- package/skills/luckiest-offers/references/bonus-stacking.md +150 -0
- package/skills/luckiest-offers/references/examples.md +215 -0
- package/skills/luckiest-offers/references/guarantee-design.md +172 -0
- package/skills/luckiest-offers/references/offer-anatomy.md +203 -0
- package/skills/luckiest-offers/references/offer-formats.md +240 -0
- package/skills/luckiest-offers/references/scarcity-urgency.md +175 -0
- package/skills/luckiest-offers/references/value-equation.md +134 -0
- package/skills/luckiest-onboarding/ATTRIBUTION.md +43 -0
- package/skills/luckiest-onboarding/CHANGELOG.md +31 -0
- package/skills/luckiest-onboarding/SKILL.md +243 -0
- package/skills/luckiest-onboarding/references/experiments.md +258 -0
- package/skills/luckiest-paywalls/ATTRIBUTION.md +39 -0
- package/skills/luckiest-paywalls/CHANGELOG.md +25 -0
- package/skills/luckiest-paywalls/SKILL.md +256 -0
- package/skills/luckiest-paywalls/evals/evals.json +93 -0
- package/skills/luckiest-paywalls/references/experiments.md +164 -0
- package/skills/luckiest-popups/ATTRIBUTION.md +35 -0
- package/skills/luckiest-popups/CHANGELOG.md +27 -0
- package/skills/luckiest-popups/SKILL.md +477 -0
- package/skills/luckiest-popups/evals/evals.json +107 -0
- package/skills/luckiest-pricing/ATTRIBUTION.md +35 -0
- package/skills/luckiest-pricing/CHANGELOG.md +31 -0
- package/skills/luckiest-pricing/SKILL.md +283 -0
- package/skills/luckiest-pricing/evals/evals.json +90 -0
- package/skills/luckiest-pricing/references/research-methods.md +152 -0
- package/skills/luckiest-pricing/references/tier-structure.md +232 -0
- package/skills/luckiest-product-marketing/ATTRIBUTION.md +38 -0
- package/skills/luckiest-product-marketing/CHANGELOG.md +23 -0
- package/skills/luckiest-product-marketing/SKILL.md +256 -0
- package/skills/luckiest-product-marketing/evals/evals.json +85 -0
- package/skills/luckiest-programmatic-seo/ATTRIBUTION.md +35 -0
- package/skills/luckiest-programmatic-seo/CHANGELOG.md +24 -0
- package/skills/luckiest-programmatic-seo/SKILL.md +286 -0
- package/skills/luckiest-programmatic-seo/evals/evals.json +95 -0
- package/skills/luckiest-programmatic-seo/references/playbooks.md +308 -0
- package/skills/luckiest-prompt-rewrite/ATTRIBUTION.md +39 -0
- package/skills/luckiest-prompt-rewrite/CHANGELOG.md +70 -0
- package/skills/luckiest-prompt-rewrite/LICENSE +21 -0
- package/skills/luckiest-prompt-rewrite/SKILL.md +494 -0
- package/skills/luckiest-prompt-rewrite/references/patterns.md +82 -0
- package/skills/luckiest-prompt-rewrite/references/templates.md +454 -0
- package/skills/luckiest-prospecting/ATTRIBUTION.md +29 -0
- package/skills/luckiest-prospecting/CHANGELOG.md +24 -0
- package/skills/luckiest-prospecting/SKILL.md +275 -0
- package/skills/luckiest-prospecting/evals/evals.json +107 -0
- package/skills/luckiest-prospecting/references/b2b-prospecting.md +106 -0
- package/skills/luckiest-prospecting/references/compliance.md +123 -0
- package/skills/luckiest-prospecting/references/data-sources.md +287 -0
- package/skills/luckiest-prospecting/references/local-prospecting.md +165 -0
- package/skills/luckiest-prospecting/references/saas-prospecting.md +123 -0
- package/skills/luckiest-public-relations/ATTRIBUTION.md +34 -0
- package/skills/luckiest-public-relations/CHANGELOG.md +23 -0
- package/skills/luckiest-public-relations/SKILL.md +154 -0
- package/skills/luckiest-public-relations/references/journalist-pitching.md +368 -0
- package/skills/luckiest-public-relations/references/media-outlets.md +207 -0
- package/skills/luckiest-public-relations/references/newsjacking.md +218 -0
- package/skills/luckiest-public-relations/references/press-platforms.md +188 -0
- package/skills/luckiest-referrals/ATTRIBUTION.md +41 -0
- package/skills/luckiest-referrals/CHANGELOG.md +23 -0
- package/skills/luckiest-referrals/SKILL.md +292 -0
- package/skills/luckiest-referrals/evals/evals.json +90 -0
- package/skills/luckiest-referrals/references/affiliate-programs.md +167 -0
- package/skills/luckiest-referrals/references/program-examples.md +143 -0
- package/skills/luckiest-revops/ATTRIBUTION.md +40 -0
- package/skills/luckiest-revops/CHANGELOG.md +24 -0
- package/skills/luckiest-revops/SKILL.md +362 -0
- package/skills/luckiest-revops/evals/evals.json +91 -0
- package/skills/luckiest-revops/references/automation-playbooks.md +290 -0
- package/skills/luckiest-revops/references/lifecycle-definitions.md +278 -0
- package/skills/luckiest-revops/references/routing-rules.md +203 -0
- package/skills/luckiest-revops/references/scoring-models.md +247 -0
- package/skills/luckiest-sales-enablement/ATTRIBUTION.md +39 -0
- package/skills/luckiest-sales-enablement/CHANGELOG.md +23 -0
- package/skills/luckiest-sales-enablement/SKILL.md +379 -0
- package/skills/luckiest-sales-enablement/evals/evals.json +91 -0
- package/skills/luckiest-sales-enablement/references/deck-frameworks.md +263 -0
- package/skills/luckiest-sales-enablement/references/demo-scripts.md +355 -0
- package/skills/luckiest-sales-enablement/references/objection-library.md +270 -0
- package/skills/luckiest-sales-enablement/references/one-pager-templates.md +208 -0
- package/skills/luckiest-schema/ATTRIBUTION.md +39 -0
- package/skills/luckiest-schema/CHANGELOG.md +25 -0
- package/skills/luckiest-schema/SKILL.md +209 -0
- package/skills/luckiest-schema/evals/evals.json +88 -0
- package/skills/luckiest-schema/references/schema-examples.md +398 -0
- package/skills/luckiest-seo-audit/ATTRIBUTION.md +39 -0
- package/skills/luckiest-seo-audit/CHANGELOG.md +23 -0
- package/skills/luckiest-seo-audit/SKILL.md +529 -0
- package/skills/luckiest-seo-audit/evals/evals.json +136 -0
- package/skills/luckiest-seo-audit/references/ai-writing-detection.md +200 -0
- package/skills/luckiest-seo-audit/references/international-seo.md +230 -0
- package/skills/luckiest-session-handoff/ATTRIBUTION.md +14 -0
- package/skills/luckiest-session-handoff/CHANGELOG.md +30 -0
- package/skills/luckiest-session-handoff/SKILL.md +96 -0
- package/skills/luckiest-signup/ATTRIBUTION.md +48 -0
- package/skills/luckiest-signup/CHANGELOG.md +24 -0
- package/skills/luckiest-signup/SKILL.md +382 -0
- package/skills/luckiest-signup/evals/evals.json +88 -0
- package/skills/luckiest-site-architecture/ATTRIBUTION.md +38 -0
- package/skills/luckiest-site-architecture/CHANGELOG.md +23 -0
- package/skills/luckiest-site-architecture/SKILL.md +383 -0
- package/skills/luckiest-site-architecture/evals/evals.json +88 -0
- package/skills/luckiest-site-architecture/references/mermaid-templates.md +216 -0
- package/skills/luckiest-site-architecture/references/navigation-patterns.md +305 -0
- package/skills/luckiest-site-architecture/references/site-type-templates.md +293 -0
- package/skills/luckiest-sms/ATTRIBUTION.md +27 -0
- package/skills/luckiest-sms/CHANGELOG.md +24 -0
- package/skills/luckiest-sms/SKILL.md +400 -0
- package/skills/luckiest-sms/evals/evals.json +100 -0
- package/skills/luckiest-sms/references/compliance.md +202 -0
- package/skills/luckiest-sms/references/platforms.md +318 -0
- package/skills/luckiest-sms/references/sequence-templates.md +282 -0
- package/skills/luckiest-social/ATTRIBUTION.md +27 -0
- package/skills/luckiest-social/CHANGELOG.md +24 -0
- package/skills/luckiest-social/SKILL.md +430 -0
- package/skills/luckiest-social/evals/evals.json +92 -0
- package/skills/luckiest-social/references/listening-sources-template.md +123 -0
- package/skills/luckiest-social/references/listening.md +283 -0
- package/skills/luckiest-social/references/platform-limits.md +110 -0
- package/skills/luckiest-social/references/platforms.md +170 -0
- package/skills/luckiest-social/references/post-templates.md +177 -0
- package/skills/luckiest-social/references/reverse-engineering.md +195 -0
- package/skills/luckiest-social/references/short-form-video.md +237 -0
- package/skills/luckiest-thinker/ATTRIBUTION.md +16 -0
- package/skills/luckiest-thinker/CHANGELOG.md +20 -0
- package/skills/luckiest-thinker/LICENSE +21 -0
- package/skills/luckiest-thinker/SKILL.md +92 -0
- package/skills/luckiest-thinker/references/distribution-calibration.md +106 -0
- package/skills/luckiest-thinker/references/research-foundations.md +214 -0
- package/skills/luckiest-thinker/references/thinking-patterns.md +138 -0
- package/skills/luckiest-trends/.skillignore +10 -0
- package/skills/luckiest-trends/ATTRIBUTION.md +43 -0
- package/skills/luckiest-trends/CHANGELOG.md +86 -0
- package/skills/luckiest-trends/LICENSE +21 -0
- package/skills/luckiest-trends/SKILL.md +194 -0
- package/skills/luckiest-trends/agents/openai.yaml +8 -0
- package/skills/luckiest-trends/references/engine-contract.md +2041 -0
- package/skills/luckiest-trends/references/save-html-brief.md +206 -0
- package/skills/luckiest-trends/scripts/briefing.py +272 -0
- package/skills/luckiest-trends/scripts/build-skill.sh +39 -0
- package/skills/luckiest-trends/scripts/compare.sh +61 -0
- package/skills/luckiest-trends/scripts/evaluate_search_quality.py +573 -0
- package/skills/luckiest-trends/scripts/last30days.py +1467 -0
- package/skills/luckiest-trends/scripts/lib/__init__.py +1 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/__init__.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/arxiv.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/bird_x.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/bluesky.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/categories.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/cjk.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/cluster.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/dates.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/dedupe.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/digg.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/entity_extract.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/env.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/fusion.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/github.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/grounding.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/hackernews.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/hiring_signals.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/html_render.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/http.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/instagram.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/jobs.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/linkedin.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/log.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/normalize.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/permission_preflight.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/perplexity.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/pinterest.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/pipeline.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/planner.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/polymarket.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/preflight.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/providers.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/quality_nudge.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/query.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_arctic.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_enrich.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_keyless.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_listing.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_public.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_rss.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_shreddit.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/relevance.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/render.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/rerank.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/resolve.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/schema.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/signals.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/skill_meta.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/snippet.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/subproc.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/techmeme.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/threads.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/tiktok.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/trustpilot.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/truthsocial.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/ui.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/web_search_keyless.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/xai_x.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/xiaohongshu_api.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/xquik.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/xurl_x.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/__pycache__/youtube_yt.cpython-313.pyc +0 -0
- package/skills/luckiest-trends/scripts/lib/arxiv.py +290 -0
- package/skills/luckiest-trends/scripts/lib/bird_x.py +639 -0
- package/skills/luckiest-trends/scripts/lib/bluesky.py +323 -0
- package/skills/luckiest-trends/scripts/lib/categories.py +283 -0
- package/skills/luckiest-trends/scripts/lib/chrome_cookies.py +414 -0
- package/skills/luckiest-trends/scripts/lib/cjk.py +107 -0
- package/skills/luckiest-trends/scripts/lib/cluster.py +271 -0
- package/skills/luckiest-trends/scripts/lib/competitors.py +198 -0
- package/skills/luckiest-trends/scripts/lib/cookie_extract.py +508 -0
- package/skills/luckiest-trends/scripts/lib/dates.py +169 -0
- package/skills/luckiest-trends/scripts/lib/dedupe.py +145 -0
- package/skills/luckiest-trends/scripts/lib/digg.py +440 -0
- package/skills/luckiest-trends/scripts/lib/entity_extract.py +127 -0
- package/skills/luckiest-trends/scripts/lib/env.py +1073 -0
- package/skills/luckiest-trends/scripts/lib/fanout.py +84 -0
- package/skills/luckiest-trends/scripts/lib/fusion.py +207 -0
- package/skills/luckiest-trends/scripts/lib/github.py +996 -0
- package/skills/luckiest-trends/scripts/lib/grounding.py +331 -0
- package/skills/luckiest-trends/scripts/lib/hackernews.py +357 -0
- package/skills/luckiest-trends/scripts/lib/health.py +92 -0
- package/skills/luckiest-trends/scripts/lib/hiring_signals.py +326 -0
- package/skills/luckiest-trends/scripts/lib/html_publish.py +73 -0
- package/skills/luckiest-trends/scripts/lib/html_render.py +738 -0
- package/skills/luckiest-trends/scripts/lib/http.py +372 -0
- package/skills/luckiest-trends/scripts/lib/instagram.py +521 -0
- package/skills/luckiest-trends/scripts/lib/jobs.py +708 -0
- package/skills/luckiest-trends/scripts/lib/linkedin.py +363 -0
- package/skills/luckiest-trends/scripts/lib/log.py +35 -0
- package/skills/luckiest-trends/scripts/lib/normalize.py +759 -0
- package/skills/luckiest-trends/scripts/lib/permission_preflight.py +242 -0
- package/skills/luckiest-trends/scripts/lib/perplexity.py +745 -0
- package/skills/luckiest-trends/scripts/lib/pinterest.py +154 -0
- package/skills/luckiest-trends/scripts/lib/pipeline.py +1720 -0
- package/skills/luckiest-trends/scripts/lib/planner.py +763 -0
- package/skills/luckiest-trends/scripts/lib/polymarket.py +794 -0
- package/skills/luckiest-trends/scripts/lib/preflight.py +119 -0
- package/skills/luckiest-trends/scripts/lib/providers.py +380 -0
- package/skills/luckiest-trends/scripts/lib/quality_nudge.py +383 -0
- package/skills/luckiest-trends/scripts/lib/query.py +202 -0
- package/skills/luckiest-trends/scripts/lib/reddit.py +731 -0
- package/skills/luckiest-trends/scripts/lib/reddit_arctic.py +92 -0
- package/skills/luckiest-trends/scripts/lib/reddit_enrich.py +322 -0
- package/skills/luckiest-trends/scripts/lib/reddit_keyless.py +329 -0
- package/skills/luckiest-trends/scripts/lib/reddit_listing.py +188 -0
- package/skills/luckiest-trends/scripts/lib/reddit_public.py +275 -0
- package/skills/luckiest-trends/scripts/lib/reddit_rss.py +224 -0
- package/skills/luckiest-trends/scripts/lib/reddit_shreddit.py +184 -0
- package/skills/luckiest-trends/scripts/lib/relevance.py +200 -0
- package/skills/luckiest-trends/scripts/lib/render.py +2130 -0
- package/skills/luckiest-trends/scripts/lib/rerank.py +708 -0
- package/skills/luckiest-trends/scripts/lib/resolve.py +345 -0
- package/skills/luckiest-trends/scripts/lib/safari_cookies.py +193 -0
- package/skills/luckiest-trends/scripts/lib/schema.py +319 -0
- package/skills/luckiest-trends/scripts/lib/setup_wizard.py +843 -0
- package/skills/luckiest-trends/scripts/lib/signals.py +334 -0
- package/skills/luckiest-trends/scripts/lib/skill_meta.py +33 -0
- package/skills/luckiest-trends/scripts/lib/snippet.py +51 -0
- package/skills/luckiest-trends/scripts/lib/subproc.py +116 -0
- package/skills/luckiest-trends/scripts/lib/techmeme.py +239 -0
- package/skills/luckiest-trends/scripts/lib/threads.py +207 -0
- package/skills/luckiest-trends/scripts/lib/tiktok.py +596 -0
- package/skills/luckiest-trends/scripts/lib/transcribe.py +235 -0
- package/skills/luckiest-trends/scripts/lib/trustpilot.py +277 -0
- package/skills/luckiest-trends/scripts/lib/truthsocial.py +162 -0
- package/skills/luckiest-trends/scripts/lib/ui.py +626 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/LICENSE +21 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/bird-search.mjs +147 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/cookies.js +220 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/features.json +17 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/paginate-cursor.js +37 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/query-ids.json +20 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/runtime-features.js +151 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/runtime-query-ids.js +264 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-base.js +129 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-constants.js +50 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-features.js +347 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-search.js +157 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-types.js +2 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-utils.js +511 -0
- package/skills/luckiest-trends/scripts/lib/vendor/bird-search/package.json +13 -0
- package/skills/luckiest-trends/scripts/lib/web_fetch_keyless.py +105 -0
- package/skills/luckiest-trends/scripts/lib/web_search_keyless.py +158 -0
- package/skills/luckiest-trends/scripts/lib/xai_x.py +236 -0
- package/skills/luckiest-trends/scripts/lib/xiaohongshu_api.py +162 -0
- package/skills/luckiest-trends/scripts/lib/xquik.py +404 -0
- package/skills/luckiest-trends/scripts/lib/xurl_x.py +171 -0
- package/skills/luckiest-trends/scripts/lib/youtube_yt.py +1365 -0
- package/skills/luckiest-trends/scripts/setup-keychain.sh +123 -0
- package/skills/luckiest-trends/scripts/setup-pass.sh +132 -0
- package/skills/luckiest-trends/scripts/store.py +1020 -0
- package/skills/luckiest-trends/scripts/test-v1-vs-v2.sh +220 -0
- package/skills/luckiest-trends/scripts/test_device_auth.py +128 -0
- package/skills/luckiest-trends/scripts/verify_v3.py +195 -0
- package/skills/luckiest-trends/scripts/watchlist.py +318 -0
- package/skills/luckiest-video/ATTRIBUTION.md +27 -0
- package/skills/luckiest-video/CHANGELOG.md +23 -0
- package/skills/luckiest-video/SKILL.md +371 -0
- package/skills/luckiest-video/evals/evals.json +88 -0
- package/skills/luckiest-video/references/ai-video-prompting.md +175 -0
- package/skills/remix/SKILL.md +32 -0
- package/commands/luckiest/go.md +0 -45
- package/commands/luckiest/plan.md +0 -55
- /package/commands/{luckiest/charms.md → charms.md} +0 -0
- /package/commands/{luckiest/helpers.md → helpers.md} +0 -0
- /package/commands/{luckiest/home.md → home.md} +0 -0
- /package/commands/{luckiest/leaderboard.md → leaderboard.md} +0 -0
- /package/commands/{luckiest/merge.md → merge.md} +0 -0
- /package/commands/{luckiest/overlaps.md → overlaps.md} +0 -0
- /package/commands/{luckiest/skills.md → skills.md} +0 -0
- /package/commands/{luckiest/start.md → start.md} +0 -0
- /package/commands/{luckiest/status.md → status.md} +0 -0
- /package/commands/{luckiest/updates.md → updates.md} +0 -0
- /package/commands/{luckiest/vouch.md → vouch.md} +0 -0
- /package/commands/{luckiest/wishes.md → wishes.md} +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Attribution
|
|
2
|
+
|
|
3
|
+
This skill, **luckiest-copy-editing**, is a rebranded and adapted "Luckiest edition"
|
|
4
|
+
derived from the original skill **copy-editing** in the marketingskills project.
|
|
5
|
+
|
|
6
|
+
- Original skill: `copy-editing`
|
|
7
|
+
- Source project: marketingskills (https://github.com/coreyhaines31/marketingskills)
|
|
8
|
+
- Original author: Corey Haines (https://corey.co)
|
|
9
|
+
- License: MIT
|
|
10
|
+
|
|
11
|
+
The Luckiest edition preserves the original's Seven Sweeps framework and reference
|
|
12
|
+
material, adds security review, editorial improvements (diff-based presentation, a
|
|
13
|
+
no-fabrication guardrail, and a terminal edit summary), a Luckiest network hook, and
|
|
14
|
+
Luckiest branding and versioning. The original work remains under the MIT License
|
|
15
|
+
reproduced verbatim below.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Original License (verbatim)
|
|
20
|
+
|
|
21
|
+
MIT License
|
|
22
|
+
|
|
23
|
+
Copyright (c) 2025 Corey Haines
|
|
24
|
+
|
|
25
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
26
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
27
|
+
in the Software without restriction, including without limitation the rights
|
|
28
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
29
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
30
|
+
furnished to do so, subject to the following conditions:
|
|
31
|
+
|
|
32
|
+
The above copyright notice and this permission notice shall be included in all
|
|
33
|
+
copies or substantial portions of the Software.
|
|
34
|
+
|
|
35
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
36
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
37
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
38
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
39
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
40
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
41
|
+
SOFTWARE.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Changelog — luckiest-copy-editing
|
|
2
|
+
|
|
3
|
+
## 1.1.0 — 2026-07-06
|
|
4
|
+
Skill updater pass: analytics integration.
|
|
5
|
+
|
|
6
|
+
### Analytics (report_usage)
|
|
7
|
+
- Updated `report_usage` call to `skill_version: "1.1.0"` and `check_updates`
|
|
8
|
+
`installedSemver: "1.1.0"`. The skill now reports usage to the Luckiest
|
|
9
|
+
telemetry pipeline on every run, making it visible on the admin Skill Usage
|
|
10
|
+
page (/owner/skill-usage).
|
|
11
|
+
|
|
12
|
+
## 1.0.0 — 2026-07-01
|
|
13
|
+
Rebranded from copy-editing (marketingskills, MIT).
|
|
14
|
+
|
|
15
|
+
### Improve pass (/refract)
|
|
16
|
+
- Added a "Never fabricate proof" rule: Prove It / Specificity edits must mark
|
|
17
|
+
invented stats, timeframes, and testimonials as placeholders or soften the claim.
|
|
18
|
+
- Added a "How to present edits" convention: show edits as before/after diffs with
|
|
19
|
+
a per-change reason so the author keeps ownership, instead of silent rewrites.
|
|
20
|
+
- Added a "Terminal edit summary": report word-count delta, sweeps applied, and open
|
|
21
|
+
proof placeholders so the edit is measurable and ship-readiness is explicit.
|
|
22
|
+
|
|
23
|
+
### Network hook
|
|
24
|
+
- Added ONE offer-only hook ("Share the edit with your tribe") that surfaces the
|
|
25
|
+
before/after pass to the Luckiest tribe. Never auto-posts, requires no credentials,
|
|
26
|
+
and refuses to share confidential copy.
|
|
27
|
+
|
|
28
|
+
### Trend pass (/newsjack + /luckiest-trends)
|
|
29
|
+
- No actionable signal. The luckiest-trends engine required first-run setup and live
|
|
30
|
+
network sources unavailable in this non-interactive session; no signal was
|
|
31
|
+
fabricated.
|
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: luckiest-copy-editing
|
|
3
|
+
description: "When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' 'copy sweep,' 'tighten this up,' 'this reads awkwardly,' 'clean up this text,' 'too wordy,' 'sharpen the messaging,' 'refresh this content,' 'update this page,' 'this content is outdated,' or 'content audit.' Use this when the user already has copy and wants it improved or refreshed rather than rewritten from scratch. For writing new copy, see luckiest-copywriting."
|
|
4
|
+
license: See ATTRIBUTION.md
|
|
5
|
+
metadata:
|
|
6
|
+
version: "1.1.0"
|
|
7
|
+
listing_id: luckiest-copy-editing
|
|
8
|
+
author: luckiest
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Copy Editing
|
|
12
|
+
|
|
13
|
+
This skill acts as an expert copy editor specializing in marketing and conversion copy. The goal is to systematically improve existing copy through focused editing passes while preserving the core message.
|
|
14
|
+
|
|
15
|
+
## Staying current
|
|
16
|
+
|
|
17
|
+
On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-copy-editing", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
|
|
18
|
+
|
|
19
|
+
When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-copy-editing", skill_version: "1.1.0", matched: true, success: <true if the skill completed, false otherwise> }. Metadata only, never prompt text. Never block on it — if the tool is unavailable, skip silently.
|
|
20
|
+
|
|
21
|
+
## Core Philosophy
|
|
22
|
+
|
|
23
|
+
**Check for product marketing context first:**
|
|
24
|
+
If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before editing. Use brand voice and customer language from that context to guide the edits.
|
|
25
|
+
|
|
26
|
+
Good copy editing isn't about rewriting—it's about enhancing. Each pass focuses on one dimension, catching issues that get missed when everything is fixed at once.
|
|
27
|
+
|
|
28
|
+
**Key principles:**
|
|
29
|
+
- Don't change the core message; focus on enhancing it
|
|
30
|
+
- Multiple focused passes beat one unfocused review
|
|
31
|
+
- Each edit should have a clear reason
|
|
32
|
+
- Preserve the author's voice while improving clarity
|
|
33
|
+
|
|
34
|
+
## How to present edits
|
|
35
|
+
|
|
36
|
+
Show edits as diffs, not silent rewrites. For each change, present the original and the proposed replacement side by side with a one-line reason (which sweep it came from and why). The author keeps ownership and can accept, reject, or adjust each edit. Reserve full rewrites for cases where the author explicitly asks for one.
|
|
37
|
+
|
|
38
|
+
## Never fabricate proof
|
|
39
|
+
|
|
40
|
+
The Prove It and Specificity sweeps ask for numbers, timeframes, testimonials, and named results. Never invent these. If a claim needs proof that isn't in the source or the product context, do one of two things: (1) mark it as a placeholder the author must fill in (e.g. `[insert response-time SLA]`), or (2) soften the claim so it no longer asserts an unsupported fact. Fabricated stats and made-up testimonials are a hard no, even when they would make the copy stronger.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## The Seven Sweeps Framework
|
|
45
|
+
|
|
46
|
+
Edit copy through seven sequential passes, each focusing on one dimension. After each sweep, loop back to check previous sweeps aren't compromised.
|
|
47
|
+
|
|
48
|
+
### Sweep 1: Clarity
|
|
49
|
+
|
|
50
|
+
**Focus:** Can the reader understand what you're saying?
|
|
51
|
+
|
|
52
|
+
**What to check:**
|
|
53
|
+
- Confusing sentence structures
|
|
54
|
+
- Unclear pronoun references
|
|
55
|
+
- Jargon or insider language
|
|
56
|
+
- Ambiguous statements
|
|
57
|
+
- Missing context
|
|
58
|
+
|
|
59
|
+
**Common clarity killers:**
|
|
60
|
+
- Sentences trying to say too much
|
|
61
|
+
- Abstract language instead of concrete
|
|
62
|
+
- Assuming reader knowledge they don't have
|
|
63
|
+
- Burying the point in qualifications
|
|
64
|
+
|
|
65
|
+
**Process:**
|
|
66
|
+
1. Read through quickly, highlighting unclear parts
|
|
67
|
+
2. Don't correct yet—just note problem areas
|
|
68
|
+
3. After marking issues, recommend specific edits
|
|
69
|
+
4. Verify edits maintain the original intent
|
|
70
|
+
|
|
71
|
+
**After this sweep:** Confirm the "Rule of One" (one main idea per section) and "You Rule" (copy speaks to the reader) are intact.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
### Sweep 2: Voice and Tone
|
|
76
|
+
|
|
77
|
+
**Focus:** Is the copy consistent in how it sounds?
|
|
78
|
+
|
|
79
|
+
**What to check:**
|
|
80
|
+
- Shifts between formal and casual
|
|
81
|
+
- Inconsistent brand personality
|
|
82
|
+
- Mood changes that feel jarring
|
|
83
|
+
- Word choices that don't match the brand
|
|
84
|
+
|
|
85
|
+
**Common voice issues:**
|
|
86
|
+
- Starting casual, becoming corporate
|
|
87
|
+
- Mixing "we" and "the company" references
|
|
88
|
+
- Humor in some places, serious in others (unintentionally)
|
|
89
|
+
- Technical language appearing randomly
|
|
90
|
+
|
|
91
|
+
**Process:**
|
|
92
|
+
1. Read aloud to hear inconsistencies
|
|
93
|
+
2. Mark where tone shifts unexpectedly
|
|
94
|
+
3. Recommend edits that smooth transitions
|
|
95
|
+
4. Ensure personality remains throughout
|
|
96
|
+
|
|
97
|
+
**After this sweep:** Return to Clarity Sweep to ensure voice edits didn't introduce confusion.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
### Sweep 3: So What
|
|
102
|
+
|
|
103
|
+
**Focus:** Does every claim answer "why should I care?"
|
|
104
|
+
|
|
105
|
+
**What to check:**
|
|
106
|
+
- Features without benefits
|
|
107
|
+
- Claims without consequences
|
|
108
|
+
- Statements that don't connect to reader's life
|
|
109
|
+
- Missing "which means..." bridges
|
|
110
|
+
|
|
111
|
+
**The So What test:**
|
|
112
|
+
For every statement, ask "Okay, so what?" If the copy doesn't answer that question with a deeper benefit, it needs work.
|
|
113
|
+
|
|
114
|
+
❌ "Our platform uses AI-powered analytics"
|
|
115
|
+
*So what?*
|
|
116
|
+
✅ "Our AI-powered analytics surface insights you'd miss manually—so you can make better decisions in half the time"
|
|
117
|
+
|
|
118
|
+
**Common So What failures:**
|
|
119
|
+
- Feature lists without benefit connections
|
|
120
|
+
- Impressive-sounding claims that don't land
|
|
121
|
+
- Technical capabilities without outcomes
|
|
122
|
+
- Company achievements that don't help the reader
|
|
123
|
+
|
|
124
|
+
**Process:**
|
|
125
|
+
1. Read each claim and literally ask "so what?"
|
|
126
|
+
2. Highlight claims missing the answer
|
|
127
|
+
3. Add the benefit bridge or deeper meaning
|
|
128
|
+
4. Ensure benefits connect to real reader desires
|
|
129
|
+
|
|
130
|
+
**After this sweep:** Return to Voice and Tone, then Clarity.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Sweep 4: Prove It
|
|
135
|
+
|
|
136
|
+
**Focus:** Is every claim supported with evidence?
|
|
137
|
+
|
|
138
|
+
**What to check:**
|
|
139
|
+
- Unsubstantiated claims
|
|
140
|
+
- Missing social proof
|
|
141
|
+
- Assertions without backup
|
|
142
|
+
- "Best" or "leading" without evidence
|
|
143
|
+
|
|
144
|
+
**Types of proof to look for:**
|
|
145
|
+
- Testimonials with names and specifics
|
|
146
|
+
- Case study references
|
|
147
|
+
- Statistics and data
|
|
148
|
+
- Third-party validation
|
|
149
|
+
- Guarantees and risk reversals
|
|
150
|
+
- Customer logos
|
|
151
|
+
- Review scores
|
|
152
|
+
|
|
153
|
+
**Common proof gaps:**
|
|
154
|
+
- "Trusted by thousands" (which thousands?)
|
|
155
|
+
- "Industry-leading" (according to whom?)
|
|
156
|
+
- "Customers love us" (show them saying it)
|
|
157
|
+
- Results claims without specifics
|
|
158
|
+
|
|
159
|
+
**Process:**
|
|
160
|
+
1. Identify every claim that needs proof
|
|
161
|
+
2. Check if proof exists nearby
|
|
162
|
+
3. Flag unsupported assertions
|
|
163
|
+
4. Recommend adding proof or softening claims (never invent proof — see "Never fabricate proof" above)
|
|
164
|
+
|
|
165
|
+
**After this sweep:** Return to So What, Voice and Tone, then Clarity.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### Sweep 5: Specificity
|
|
170
|
+
|
|
171
|
+
**Focus:** Is the copy concrete enough to be compelling?
|
|
172
|
+
|
|
173
|
+
**What to check:**
|
|
174
|
+
- Vague language ("improve," "enhance," "optimize")
|
|
175
|
+
- Generic statements that could apply to anyone
|
|
176
|
+
- Round numbers that feel made up
|
|
177
|
+
- Missing details that would make it real
|
|
178
|
+
|
|
179
|
+
**Specificity upgrades:**
|
|
180
|
+
|
|
181
|
+
| Vague | Specific |
|
|
182
|
+
|-------|----------|
|
|
183
|
+
| Save time | Save 4 hours every week |
|
|
184
|
+
| Many customers | 2,847 teams |
|
|
185
|
+
| Fast results | Results in 14 days |
|
|
186
|
+
| Improve your workflow | Cut your reporting time in half |
|
|
187
|
+
| Great support | Response within 2 hours |
|
|
188
|
+
|
|
189
|
+
**Common specificity issues:**
|
|
190
|
+
- Adjectives doing the work nouns should do
|
|
191
|
+
- Benefits without quantification
|
|
192
|
+
- Outcomes without timeframes
|
|
193
|
+
- Claims without concrete examples
|
|
194
|
+
|
|
195
|
+
**Process:**
|
|
196
|
+
1. Highlight vague words and phrases
|
|
197
|
+
2. Ask "Can this be more specific?"
|
|
198
|
+
3. Add numbers, timeframes, or examples the source supports (mark invented figures as placeholders)
|
|
199
|
+
4. Remove content that can't be made specific (it's probably filler)
|
|
200
|
+
|
|
201
|
+
**After this sweep:** Return to Prove It, So What, Voice and Tone, then Clarity.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### Sweep 6: Heightened Emotion
|
|
206
|
+
|
|
207
|
+
**Focus:** Does the copy make the reader feel something?
|
|
208
|
+
|
|
209
|
+
**What to check:**
|
|
210
|
+
- Flat, informational language
|
|
211
|
+
- Missing emotional triggers
|
|
212
|
+
- Pain points mentioned but not felt
|
|
213
|
+
- Aspirations stated but not evoked
|
|
214
|
+
|
|
215
|
+
**Emotional dimensions to consider:**
|
|
216
|
+
- Pain of the current state
|
|
217
|
+
- Frustration with alternatives
|
|
218
|
+
- Fear of missing out
|
|
219
|
+
- Desire for transformation
|
|
220
|
+
- Pride in making smart choices
|
|
221
|
+
- Relief from solving the problem
|
|
222
|
+
|
|
223
|
+
**Techniques for heightening emotion:**
|
|
224
|
+
- Paint the "before" state vividly
|
|
225
|
+
- Use sensory language
|
|
226
|
+
- Tell micro-stories
|
|
227
|
+
- Reference shared experiences
|
|
228
|
+
- Ask questions that prompt reflection
|
|
229
|
+
|
|
230
|
+
**Process:**
|
|
231
|
+
1. Read for emotional impact—does it move you?
|
|
232
|
+
2. Identify flat sections that should resonate
|
|
233
|
+
3. Add emotional texture while staying authentic
|
|
234
|
+
4. Ensure emotion serves the message (not manipulation)
|
|
235
|
+
|
|
236
|
+
**After this sweep:** Return to Specificity, Prove It, So What, Voice and Tone, then Clarity.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### Sweep 7: Zero Risk
|
|
241
|
+
|
|
242
|
+
**Focus:** Have we removed every barrier to action?
|
|
243
|
+
|
|
244
|
+
**What to check:**
|
|
245
|
+
- Friction near CTAs
|
|
246
|
+
- Unanswered objections
|
|
247
|
+
- Missing trust signals
|
|
248
|
+
- Unclear next steps
|
|
249
|
+
- Hidden costs or surprises
|
|
250
|
+
|
|
251
|
+
**Risk reducers to look for:**
|
|
252
|
+
- Money-back guarantees
|
|
253
|
+
- Free trials
|
|
254
|
+
- "No credit card required"
|
|
255
|
+
- "Cancel anytime"
|
|
256
|
+
- Social proof near CTA
|
|
257
|
+
- Clear expectations of what happens next
|
|
258
|
+
- Privacy assurances
|
|
259
|
+
|
|
260
|
+
**Common risk issues:**
|
|
261
|
+
- CTA asks for commitment without earning trust
|
|
262
|
+
- Objections raised but not addressed
|
|
263
|
+
- Fine print that creates doubt
|
|
264
|
+
- Vague "Contact us" instead of clear next step
|
|
265
|
+
|
|
266
|
+
**Process:**
|
|
267
|
+
1. Focus on sections near CTAs
|
|
268
|
+
2. List every reason someone might hesitate
|
|
269
|
+
3. Check if the copy addresses each concern
|
|
270
|
+
4. Add risk reversals or trust signals as needed
|
|
271
|
+
|
|
272
|
+
**After this sweep:** Return through all previous sweeps one final time: Heightened Emotion, Specificity, Prove It, So What, Voice and Tone, Clarity.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Terminal edit summary
|
|
277
|
+
|
|
278
|
+
After the sweeps, close with a short summary the author can act on:
|
|
279
|
+
- **What changed:** word-count delta (before → after) and the sweeps applied
|
|
280
|
+
- **Open flags:** every unresolved item, especially proof placeholders that still need real numbers
|
|
281
|
+
- **Recommendation:** whether the copy is ready to ship or needs another pass
|
|
282
|
+
|
|
283
|
+
This makes the edit measurable and surfaces anything still blocking publication.
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Expert Panel Scoring
|
|
288
|
+
|
|
289
|
+
Use this after completing the Seven Sweeps for an additional quality gate. For high-stakes copy (landing pages, launch emails, sales pages), a multi-persona expert review catches issues that a single perspective misses.
|
|
290
|
+
|
|
291
|
+
### How It Works
|
|
292
|
+
|
|
293
|
+
1. **Assemble 3-5 expert personas** relevant to the copy type
|
|
294
|
+
2. **Each persona scores the copy 1-10** on their area of expertise
|
|
295
|
+
3. **Collect specific critiques** — not just scores, but what to fix
|
|
296
|
+
4. **Revise based on feedback** — address the lowest-scoring areas first
|
|
297
|
+
5. **Re-score after revisions** — iterate until all personas score 7+, with an average of 8+ across the panel
|
|
298
|
+
|
|
299
|
+
### Recommended Expert Panels
|
|
300
|
+
|
|
301
|
+
**Landing page copy:**
|
|
302
|
+
- Conversion copywriter (clarity, CTA strength, benefit hierarchy)
|
|
303
|
+
- UX writer (scannability, cognitive load, user flow)
|
|
304
|
+
- Target customer persona (does this speak to me? do I trust it?)
|
|
305
|
+
- Brand strategist (voice consistency, positioning accuracy)
|
|
306
|
+
|
|
307
|
+
**Email sequence:**
|
|
308
|
+
- Email marketing specialist (subject lines, open/click optimization)
|
|
309
|
+
- Copywriter (hooks, storytelling, persuasion)
|
|
310
|
+
- Spam filter analyst (deliverability red flags, trigger words)
|
|
311
|
+
- Target customer persona (relevance, value, unsubscribe risk)
|
|
312
|
+
|
|
313
|
+
**Sales page / long-form:**
|
|
314
|
+
- Direct response copywriter (offer structure, objection handling, urgency)
|
|
315
|
+
- Skeptical buyer persona (proof gaps, trust issues, red flags)
|
|
316
|
+
- Editor (flow, readability, conciseness)
|
|
317
|
+
- SEO specialist (keyword coverage, search intent alignment)
|
|
318
|
+
|
|
319
|
+
### Scoring Rubric
|
|
320
|
+
|
|
321
|
+
| Score | Meaning |
|
|
322
|
+
|-------|---------|
|
|
323
|
+
| 9-10 | Publish-ready. No meaningful improvements. |
|
|
324
|
+
| 7-8 | Strong. Minor tweaks only. |
|
|
325
|
+
| 5-6 | Functional but has clear gaps. Needs another pass. |
|
|
326
|
+
| 3-4 | Significant issues. Major revision needed. |
|
|
327
|
+
| 1-2 | Fundamentally broken. Rethink approach. |
|
|
328
|
+
|
|
329
|
+
### When to Use
|
|
330
|
+
|
|
331
|
+
- **Always** for launch copy, pricing pages, and high-traffic landing pages
|
|
332
|
+
- **Recommended** for email sequences, sales pages, and ad copy
|
|
333
|
+
- **Optional** for blog posts, social content, and internal docs
|
|
334
|
+
- **Skip** for quick updates, minor edits, and low-stakes content
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Quick-Pass Editing Checks
|
|
339
|
+
|
|
340
|
+
Use these for faster reviews when a full seven-sweep process isn't needed.
|
|
341
|
+
|
|
342
|
+
### Word-Level Checks
|
|
343
|
+
|
|
344
|
+
**Cut these words:**
|
|
345
|
+
- Very, really, extremely, incredibly (weak intensifiers)
|
|
346
|
+
- Just, actually, basically (filler)
|
|
347
|
+
- In order to (use "to")
|
|
348
|
+
- That (often unnecessary)
|
|
349
|
+
- Things, stuff (vague)
|
|
350
|
+
|
|
351
|
+
**Replace these:**
|
|
352
|
+
|
|
353
|
+
| Weak | Strong |
|
|
354
|
+
|------|--------|
|
|
355
|
+
| Utilize | Use |
|
|
356
|
+
| Implement | Set up |
|
|
357
|
+
| Leverage | Use |
|
|
358
|
+
| Facilitate | Help |
|
|
359
|
+
| Innovative | New |
|
|
360
|
+
| Robust | Strong |
|
|
361
|
+
| Seamless | Smooth |
|
|
362
|
+
| Cutting-edge | New/Modern |
|
|
363
|
+
|
|
364
|
+
**Watch for:**
|
|
365
|
+
- Adverbs (usually unnecessary)
|
|
366
|
+
- Passive voice (switch to active)
|
|
367
|
+
- Nominalizations (verb → noun: "make a decision" → "decide")
|
|
368
|
+
|
|
369
|
+
### Sentence-Level Checks
|
|
370
|
+
|
|
371
|
+
- One idea per sentence
|
|
372
|
+
- Vary sentence length (mix short and long)
|
|
373
|
+
- Front-load important information
|
|
374
|
+
- Max 3 conjunctions per sentence
|
|
375
|
+
- No more than 25 words (usually)
|
|
376
|
+
|
|
377
|
+
### Paragraph-Level Checks
|
|
378
|
+
|
|
379
|
+
- One topic per paragraph
|
|
380
|
+
- Short paragraphs (2-4 sentences for web)
|
|
381
|
+
- Strong opening sentences
|
|
382
|
+
- Logical flow between paragraphs
|
|
383
|
+
- White space for scannability
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## Copy Editing Checklist
|
|
388
|
+
|
|
389
|
+
For a final QA pass before delivering edits, work through the full checklist in [references/checklist.md](references/checklist.md) — covering all seven sweeps plus pre-start and final-check items.
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## Common Copy Problems & Fixes
|
|
394
|
+
|
|
395
|
+
### Problem: Wall of Features
|
|
396
|
+
**Symptom:** List of what the product does without why it matters
|
|
397
|
+
**Fix:** Add "which means..." after each feature to bridge to benefits
|
|
398
|
+
|
|
399
|
+
### Problem: Corporate Speak
|
|
400
|
+
**Symptom:** "Leverage synergies to optimize outcomes"
|
|
401
|
+
**Fix:** Ask "How would a human say this?" and use those words
|
|
402
|
+
|
|
403
|
+
### Problem: Weak Opening
|
|
404
|
+
**Symptom:** Starting with company history or vague statements
|
|
405
|
+
**Fix:** Lead with the reader's problem or desired outcome
|
|
406
|
+
|
|
407
|
+
### Problem: Buried CTA
|
|
408
|
+
**Symptom:** The ask comes after too much buildup, or isn't clear
|
|
409
|
+
**Fix:** Make the CTA obvious, early, and repeated
|
|
410
|
+
|
|
411
|
+
### Problem: No Proof
|
|
412
|
+
**Symptom:** "Customers love us" with no evidence
|
|
413
|
+
**Fix:** Add specific testimonials, numbers, or case references
|
|
414
|
+
|
|
415
|
+
### Problem: Generic Claims
|
|
416
|
+
**Symptom:** "We help businesses grow"
|
|
417
|
+
**Fix:** Specify who, how, and by how much
|
|
418
|
+
|
|
419
|
+
### Problem: Mixed Audiences
|
|
420
|
+
**Symptom:** Copy tries to speak to everyone, resonates with no one
|
|
421
|
+
**Fix:** Pick one audience and write directly to them
|
|
422
|
+
|
|
423
|
+
### Problem: Feature Overload
|
|
424
|
+
**Symptom:** Listing every capability, overwhelming the reader
|
|
425
|
+
**Fix:** Focus on 3-5 key benefits that matter most to the audience
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## Working with Copy Sweeps
|
|
430
|
+
|
|
431
|
+
When editing collaboratively:
|
|
432
|
+
|
|
433
|
+
1. **Run a sweep and present findings** - Show what you found, why it's an issue
|
|
434
|
+
2. **Recommend specific edits** - Don't just identify problems; propose solutions
|
|
435
|
+
3. **Request the updated copy** - Let the author make final decisions
|
|
436
|
+
4. **Verify previous sweeps** - After each round of edits, re-check earlier sweeps
|
|
437
|
+
5. **Repeat until clean** - Continue until a full sweep finds no new issues
|
|
438
|
+
|
|
439
|
+
This iterative process ensures each edit doesn't create new problems while respecting the author's ownership of the copy.
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## References
|
|
444
|
+
|
|
445
|
+
- [Plain English Alternatives](references/plain-english-alternatives.md): Replace complex words with simpler alternatives
|
|
446
|
+
- [Content Refresh](references/content-refresh.md): Full checklist, refresh vs. rewrite matrix, and cadence guide
|
|
447
|
+
- [Copy Editing Checklist](references/checklist.md): Full QA checklist across all seven sweeps
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
## Content Refresh Editing
|
|
452
|
+
|
|
453
|
+
Copy editing isn't just for new content. Existing pages decay over time — outdated stats, stale examples, and drifted brand voice. Use the content refresh framework when traffic is declining, data is stale, or the product has changed.
|
|
454
|
+
|
|
455
|
+
**For the full refresh checklist, refresh vs. rewrite decision matrix, and cadence guide**: See [references/content-refresh.md](references/content-refresh.md)
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Task-Specific Questions
|
|
460
|
+
|
|
461
|
+
1. What's the goal of this copy? (Awareness, conversion, retention)
|
|
462
|
+
2. What action should readers take?
|
|
463
|
+
3. Are there specific concerns or known issues?
|
|
464
|
+
4. What proof/evidence do you have available?
|
|
465
|
+
5. Is this new copy or a refresh of existing content?
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Share the edit with your tribe
|
|
470
|
+
|
|
471
|
+
After delivering the edited copy and its terminal summary, optionally offer (never auto-post, no credentials): "Want me to share this copy-editing pass with your Luckiest tribe? Anyone working on similar copy will see the before/after and the sweeps that moved the needle." If the author accepts, hand off the summary. If they decline, or if the copy is confidential (unreleased pricing, private launch), stop and share nothing.
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Related Skills
|
|
476
|
+
|
|
477
|
+
- **luckiest-copywriting**: For writing new copy from scratch (use this skill to edit after your first draft is complete)
|
|
478
|
+
- **luckiest-cro**: For broader page optimization beyond copy
|
|
479
|
+
- **luckiest-marketing-psychology**: For understanding why certain edits improve conversion
|
|
480
|
+
- **luckiest-ab-testing**: For testing copy variations
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## When to Use Each Skill
|
|
485
|
+
|
|
486
|
+
| Task | Skill to Use |
|
|
487
|
+
|------|--------------|
|
|
488
|
+
| Writing new page copy from scratch | luckiest-copywriting |
|
|
489
|
+
| Reviewing and improving existing copy | luckiest-copy-editing (this skill) |
|
|
490
|
+
| Editing copy you just wrote | luckiest-copy-editing (this skill) |
|
|
491
|
+
| Structural or strategic page changes | luckiest-cro |
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "luckiest-copy-editing",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Edit this homepage copy for us: 'Welcome to CloudSync! We are very excited to offer you an innovative, cutting-edge platform that seamlessly integrates with your existing tools. Our powerful solution helps businesses of all sizes optimize their workflows and drive meaningful results. Get started today and experience the difference!'",
|
|
7
|
+
"expected_output": "Should check for product-marketing.md first. Should apply the Seven Sweeps Framework systematically. Sweep 1 (Clarity): identify vague language ('optimize workflows,' 'drive meaningful results,' 'experience the difference'). Sweep 2 (Voice & Tone): flag 'Welcome to' as weak opening, 'we are very excited' as company-focused. Sweep 3 (So What): question what specific value is being offered. Sweep 4 (Prove It): note no proof points, stats, or evidence. Sweep 5 (Specificity): flag 'businesses of all sizes,' 'existing tools,' 'powerful solution' as generic. Sweep 6 (Heightened Emotion): assess emotional impact. Sweep 7 (Zero Risk): check for trust signals. Should present edits as before/after with reasons and provide a rewritten version addressing all issues, without fabricating any proof points.",
|
|
8
|
+
"assertions": [
|
|
9
|
+
"Checks for product-marketing.md",
|
|
10
|
+
"Applies Seven Sweeps Framework",
|
|
11
|
+
"Identifies vague language (Clarity sweep)",
|
|
12
|
+
"Flags weak opening and company-focused language (Voice & Tone sweep)",
|
|
13
|
+
"Questions missing value proposition (So What sweep)",
|
|
14
|
+
"Notes missing proof points (Prove It sweep)",
|
|
15
|
+
"Flags generic terms (Specificity sweep)",
|
|
16
|
+
"Provides a rewritten version"
|
|
17
|
+
],
|
|
18
|
+
"files": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": 2,
|
|
22
|
+
"prompt": "Quick edit on this CTA section: 'Ready to take your business to the next level? Our team of dedicated professionals is standing by to help you achieve your goals. Click here to learn more about how we can help you succeed.'",
|
|
23
|
+
"expected_output": "Should apply the quick-pass editing checks. Should identify: 'take your business to the next level' (cliché), 'team of dedicated professionals' (filler), 'standing by' (passive), 'click here' (weak CTA), 'learn more' (vague action), 'help you succeed' (generic). Should apply word-level, sentence-level, and paragraph-level checks. Should rewrite with specific value prop, active voice, and strong action-oriented CTA. Should be concise since this was requested as a 'quick edit.'",
|
|
24
|
+
"assertions": [
|
|
25
|
+
"Identifies clichés and filler phrases",
|
|
26
|
+
"Flags 'click here' and 'learn more' as weak",
|
|
27
|
+
"Applies word-level and sentence-level checks",
|
|
28
|
+
"Rewrites with specific value and strong CTA",
|
|
29
|
+
"Uses active voice in rewrite",
|
|
30
|
+
"Keeps response concise for a quick edit"
|
|
31
|
+
],
|
|
32
|
+
"files": []
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": 3,
|
|
36
|
+
"prompt": "edit this product description, it feels too long and wordy: 'Our comprehensive project management solution provides teams with a robust set of tools that enable them to efficiently plan, execute, and monitor their projects from start to finish. With our intuitive interface, powerful analytics dashboard, and seamless integration capabilities, you can ensure that every aspect of your project is managed with precision and care. Whether you're a small startup or a large enterprise, our platform scales to meet your unique needs and requirements, helping you deliver projects on time and within budget every single time.'",
|
|
37
|
+
"expected_output": "Should trigger on casual phrasing. Should apply the Clarity and Specificity sweeps primarily. Should identify: redundancy ('plan, execute, and monitor' overlaps with 'from start to finish'), filler words ('comprehensive,' 'robust,' 'efficiently,' 'seamless,' 'unique'), hedge phrases ('ensuring every aspect,' 'with precision and care'), and generic claims ('scales to meet your needs,' 'on time and within budget every single time'). Should cut the copy significantly (probably by 50%+). Should report the word-count delta and provide a tighter rewrite that says the same thing in fewer, more specific words.",
|
|
38
|
+
"assertions": [
|
|
39
|
+
"Triggers on casual phrasing",
|
|
40
|
+
"Identifies redundancy in the copy",
|
|
41
|
+
"Identifies filler words and hedge phrases",
|
|
42
|
+
"Identifies generic claims",
|
|
43
|
+
"Cuts copy significantly (50%+ reduction)",
|
|
44
|
+
"Provides tighter rewrite with specific language"
|
|
45
|
+
],
|
|
46
|
+
"files": []
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": 4,
|
|
50
|
+
"prompt": "Review this testimonial section and improve it: 'CloudSync is great! It really helped our company. The team was very responsive and the product works well. We would recommend it to anyone looking for a solution. - John S., CEO'",
|
|
51
|
+
"expected_output": "Should apply the Prove It and Specificity sweeps. Should identify the testimonial as too vague to be persuasive ('great,' 'really helped,' 'works well,' 'anyone looking for a solution'). Should recommend replacing with specific results ('reduced project delivery time by 30%'), specific context ('team of 45 engineers'), and specific outcomes. Should suggest questions to ask the customer for a better testimonial. Should not fabricate specific numbers but should provide a template showing what a strong testimonial looks like, marking any invented figures as placeholders.",
|
|
52
|
+
"assertions": [
|
|
53
|
+
"Applies Prove It and Specificity sweeps",
|
|
54
|
+
"Identifies testimonial as too vague",
|
|
55
|
+
"Recommends specific results and context",
|
|
56
|
+
"Suggests questions to get better testimonial",
|
|
57
|
+
"Does not fabricate specific numbers",
|
|
58
|
+
"Provides template for strong testimonial"
|
|
59
|
+
],
|
|
60
|
+
"files": []
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": 5,
|
|
64
|
+
"prompt": "I need you to apply the 'So What' and 'Zero Risk' sweeps to this pricing page copy: 'Our Pro plan includes unlimited projects, advanced reporting, priority support, and custom integrations. Starting at $99/month.'",
|
|
65
|
+
"expected_output": "Should apply specifically the So What and Zero Risk sweeps as requested. So What: for each feature, ask 'so what does this mean for the customer?' — unlimited projects (what does that enable?), advanced reporting (what decisions can they make?), priority support (what does that mean in practice? response time?), custom integrations (which ones? what workflow does it enable?). Zero Risk: identify missing trust signals — no guarantee, no trial mention, no social proof near pricing, no 'cancel anytime' assurance. Should provide rewritten copy addressing both sweeps.",
|
|
66
|
+
"assertions": [
|
|
67
|
+
"Applies So What sweep to each feature",
|
|
68
|
+
"Translates features to customer benefits",
|
|
69
|
+
"Applies Zero Risk sweep",
|
|
70
|
+
"Identifies missing trust signals",
|
|
71
|
+
"Suggests guarantee, trial, or cancel-anytime language",
|
|
72
|
+
"Provides rewritten copy addressing both sweeps"
|
|
73
|
+
],
|
|
74
|
+
"files": []
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": 6,
|
|
78
|
+
"prompt": "Write fresh homepage copy for our new product. We're launching a CRM for real estate agents.",
|
|
79
|
+
"expected_output": "Should recognize this is a copywriting-from-scratch task, not copy editing. Should defer to or cross-reference the luckiest-copywriting skill, which handles writing new copy from scratch. luckiest-copy-editing is specifically for improving existing copy. Should make this distinction clear.",
|
|
80
|
+
"assertions": [
|
|
81
|
+
"Recognizes this as writing new copy, not editing existing copy",
|
|
82
|
+
"References or defers to luckiest-copywriting skill",
|
|
83
|
+
"Explains that luckiest-copy-editing is for improving existing copy",
|
|
84
|
+
"Does not attempt to write full page copy from scratch"
|
|
85
|
+
],
|
|
86
|
+
"files": []
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|