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,167 @@
|
|
|
1
|
+
# Profile Templates
|
|
2
|
+
|
|
3
|
+
Ready-to-use templates for competitor profile sections and the summary document.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
- Quick Scan Template
|
|
7
|
+
- Summary Comparison Table
|
|
8
|
+
- Positioning Map
|
|
9
|
+
- Competitive SWOT
|
|
10
|
+
- Profile Update Changelog
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Quick Scan Template
|
|
15
|
+
|
|
16
|
+
Abbreviated profile for when speed matters more than depth.
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
# [Competitor Name] — Quick Profile
|
|
20
|
+
|
|
21
|
+
**URL**: [website]
|
|
22
|
+
**Generated**: [date]
|
|
23
|
+
|
|
24
|
+
## At a Glance
|
|
25
|
+
|
|
26
|
+
| Metric | Value |
|
|
27
|
+
|--------|-------|
|
|
28
|
+
| Tagline | [from homepage] |
|
|
29
|
+
| Target audience | [inferred from copy] |
|
|
30
|
+
| Pricing starts at | [lowest paid tier] |
|
|
31
|
+
| Free tier/trial | [yes/no + details] |
|
|
32
|
+
| Domain rank | [from DataForSEO] |
|
|
33
|
+
| Est. organic traffic | [monthly] |
|
|
34
|
+
| Organic keywords (top 10) | [count] |
|
|
35
|
+
| Referring domains | [count] |
|
|
36
|
+
|
|
37
|
+
## Positioning
|
|
38
|
+
|
|
39
|
+
**Headline**: "[exact homepage headline]"
|
|
40
|
+
**Subheadline**: "[exact subheadline]"
|
|
41
|
+
**Positioning angle**: [1-2 sentence summary of how they position]
|
|
42
|
+
|
|
43
|
+
## Pricing Summary
|
|
44
|
+
|
|
45
|
+
| Tier | Price | Notable Inclusions |
|
|
46
|
+
|------|-------|-------------------|
|
|
47
|
+
| [tier] | [price] | [key items] |
|
|
48
|
+
| [tier] | [price] | [key items] |
|
|
49
|
+
|
|
50
|
+
## Key Takeaway
|
|
51
|
+
|
|
52
|
+
[2-3 sentences: what makes this competitor notable, where they're strong, where they're weak]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Summary Comparison Table
|
|
58
|
+
|
|
59
|
+
Use after profiling all competitors to create a side-by-side view.
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
# Competitive Landscape Summary
|
|
63
|
+
|
|
64
|
+
**Generated**: [date]
|
|
65
|
+
**Your product**: [name]
|
|
66
|
+
**Competitors profiled**: [count]
|
|
67
|
+
|
|
68
|
+
## Side-by-Side Comparison
|
|
69
|
+
|
|
70
|
+
| Dimension | [Your Product] | [Competitor 1] | [Competitor 2] | [Competitor 3] |
|
|
71
|
+
|-----------|---------------|----------------|----------------|----------------|
|
|
72
|
+
| **Tagline** | [yours] | [theirs] | [theirs] | [theirs] |
|
|
73
|
+
| **Target audience** | [yours] | [theirs] | [theirs] | [theirs] |
|
|
74
|
+
| **Positioning** | [angle] | [angle] | [angle] | [angle] |
|
|
75
|
+
| **Starting price** | $[X]/mo | $[X]/mo | $[X]/mo | $[X]/mo |
|
|
76
|
+
| **Free tier** | [yes/no] | [yes/no] | [yes/no] | [yes/no] |
|
|
77
|
+
| **Domain rank** | [score] | [score] | [score] | [score] |
|
|
78
|
+
| **Est. organic traffic** | [number] | [number] | [number] | [number] |
|
|
79
|
+
| **Referring domains** | [count] | [count] | [count] | [count] |
|
|
80
|
+
| **G2 rating** | [score] | [score] | [score] | [score] |
|
|
81
|
+
| **Key strength** | [one-liner] | [one-liner] | [one-liner] | [one-liner] |
|
|
82
|
+
| **Key weakness** | [one-liner] | [one-liner] | [one-liner] | [one-liner] |
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Positioning Map
|
|
88
|
+
|
|
89
|
+
Visual representation of where competitors sit along two key dimensions. Choose the two axes most relevant to your market.
|
|
90
|
+
|
|
91
|
+
### Common Axis Pairs
|
|
92
|
+
|
|
93
|
+
| Market Type | X-Axis | Y-Axis |
|
|
94
|
+
|-------------|--------|--------|
|
|
95
|
+
| SaaS tools | Simple → Complex | Cheap → Expensive |
|
|
96
|
+
| Developer tools | Low-code → Code-first | Individual → Team |
|
|
97
|
+
| B2B platforms | SMB-focused → Enterprise-focused | Point solution → Platform |
|
|
98
|
+
| Content tools | Template-driven → Custom | Self-serve → Managed |
|
|
99
|
+
|
|
100
|
+
### Format
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
## Positioning Map
|
|
104
|
+
|
|
105
|
+
**Axes**: [X-axis label] vs. [Y-axis label]
|
|
106
|
+
|
|
107
|
+
[Y-axis high label]
|
|
108
|
+
│
|
|
109
|
+
│
|
|
110
|
+
[Competitor A] │ [Competitor B]
|
|
111
|
+
│
|
|
112
|
+
───────────────────────┼───────────────────────
|
|
113
|
+
[X-axis low] │ [X-axis high]
|
|
114
|
+
│
|
|
115
|
+
[Your Product] │ [Competitor C]
|
|
116
|
+
│
|
|
117
|
+
[Y-axis low label]
|
|
118
|
+
|
|
119
|
+
### Interpretation
|
|
120
|
+
- [1-2 sentences about what the map reveals]
|
|
121
|
+
- [where the whitespace / opportunity is]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Competitive SWOT
|
|
127
|
+
|
|
128
|
+
Per-competitor SWOT relative to your product.
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
## SWOT: [Competitor] vs. [Your Product]
|
|
132
|
+
|
|
133
|
+
### Strengths (theirs vs. ours)
|
|
134
|
+
- [Where they genuinely outperform us — be honest]
|
|
135
|
+
|
|
136
|
+
### Weaknesses (theirs vs. ours)
|
|
137
|
+
- [Where they fall short compared to us — with evidence]
|
|
138
|
+
|
|
139
|
+
### Opportunities (for us)
|
|
140
|
+
- [Gaps in their offering we can exploit]
|
|
141
|
+
- [Segments they're ignoring]
|
|
142
|
+
- [Messaging angles they're missing]
|
|
143
|
+
|
|
144
|
+
### Threats (from them)
|
|
145
|
+
- [Areas where they're improving fast]
|
|
146
|
+
- [Features they're building that overlap with us]
|
|
147
|
+
- [Market moves that could shift perception]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Profile Update Changelog
|
|
153
|
+
|
|
154
|
+
Append to the bottom of any profile when updating it.
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Change Log
|
|
160
|
+
|
|
161
|
+
| Date | What Changed | Source |
|
|
162
|
+
|------|-------------|--------|
|
|
163
|
+
| [date] | Pricing increased from $X to $Y | Pricing page re-scrape |
|
|
164
|
+
| [date] | Launched [feature] | Changelog scrape |
|
|
165
|
+
| [date] | Domain rank changed from X to Y | DataForSEO re-pull |
|
|
166
|
+
| [date] | Added [integration] | Integrations page re-scrape |
|
|
167
|
+
```
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# MCP Tool Reference for Competitor Profiling
|
|
2
|
+
|
|
3
|
+
Quick reference for the Firecrawl and DataForSEO MCP tools used in competitor profiling.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
- Firecrawl Tools (site scraping)
|
|
7
|
+
- DataForSEO Tools (SEO & market data)
|
|
8
|
+
- Recommended Execution Order
|
|
9
|
+
- Error Handling
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Firecrawl Tools
|
|
14
|
+
|
|
15
|
+
### firecrawl_map
|
|
16
|
+
**Purpose**: Discover all URLs on a competitor's site to identify key pages.
|
|
17
|
+
**When to use**: First step for every competitor — before scraping individual pages.
|
|
18
|
+
**Key output**: List of URLs with their page types/paths.
|
|
19
|
+
**Tip**: Look for paths containing `/pricing`, `/features`, `/about`, `/customers`, `/integrations`, `/blog`, `/changelog`.
|
|
20
|
+
|
|
21
|
+
### firecrawl_scrape
|
|
22
|
+
**Purpose**: Extract content from a single page as clean markdown.
|
|
23
|
+
**When to use**: After mapping, scrape each key page individually.
|
|
24
|
+
**Key output**: Page content in markdown format — headlines, body text, structured data.
|
|
25
|
+
**Tip**: Scrape homepage first — it reveals positioning, audience, and social proof in one shot.
|
|
26
|
+
|
|
27
|
+
### firecrawl_search
|
|
28
|
+
**Purpose**: Search the web for specific content about a competitor.
|
|
29
|
+
**When to use**: Finding review pages, press coverage, or competitor mentions not on their own site.
|
|
30
|
+
**Example queries**:
|
|
31
|
+
- `"[Competitor Name]" site:g2.com`
|
|
32
|
+
- `"[Competitor Name]" review`
|
|
33
|
+
- `"[Competitor Name]" funding OR raised`
|
|
34
|
+
|
|
35
|
+
### firecrawl_crawl
|
|
36
|
+
**Purpose**: Crawl multiple pages from a site in one operation.
|
|
37
|
+
**When to use**: Deep profiles where you want to analyze many pages (e.g., all feature pages, all blog posts). More expensive — use selectively.
|
|
38
|
+
**Tip**: Set page limits to avoid crawling entire sites. Target specific URL patterns.
|
|
39
|
+
|
|
40
|
+
### firecrawl_extract
|
|
41
|
+
**Purpose**: Extract structured data from a page using a schema.
|
|
42
|
+
**When to use**: When you need specific data points in a consistent format (e.g., pricing tier details, feature lists).
|
|
43
|
+
**Tip**: Define a clear schema for what you want extracted — more reliable than parsing raw markdown.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## DataForSEO MCP Tools
|
|
48
|
+
|
|
49
|
+
### Domain-Level Intelligence
|
|
50
|
+
|
|
51
|
+
#### backlinks_summary
|
|
52
|
+
**Purpose**: Get domain authority, total backlinks, referring domains, spam score.
|
|
53
|
+
**Input**: Target domain (e.g., `competitor.com`)
|
|
54
|
+
**Key metrics**: `domain_rank`, `total_backlinks`, `referring_domains`, `backlinks_spam_score`
|
|
55
|
+
|
|
56
|
+
#### backlinks_referring_domains
|
|
57
|
+
**Purpose**: List top referring domains — shows where their link equity comes from.
|
|
58
|
+
**Input**: Target domain + limit
|
|
59
|
+
**Key metrics**: Per-domain: `rank`, `backlinks`, `domain` name
|
|
60
|
+
|
|
61
|
+
#### dataforseo_labs_google_domain_rank_overview
|
|
62
|
+
**Purpose**: Organic search overview — traffic, keywords, traffic value.
|
|
63
|
+
**Input**: Target domain
|
|
64
|
+
**Key metrics**: `organic_count` (keywords), `organic_traffic` (estimated monthly), `organic_cost` (traffic value in $)
|
|
65
|
+
|
|
66
|
+
#### dataforseo_labs_google_ranked_keywords
|
|
67
|
+
**Purpose**: What keywords a domain ranks for, with positions.
|
|
68
|
+
**Input**: Target domain
|
|
69
|
+
**Key metrics**: Per-keyword: `keyword`, `position`, `search_volume`, `url` (ranking page)
|
|
70
|
+
**Tip**: Sort by traffic to find their highest-value keywords.
|
|
71
|
+
|
|
72
|
+
#### dataforseo_labs_google_keywords_for_site
|
|
73
|
+
**Purpose**: Keywords relevant to a domain — broader than ranked keywords, includes opportunities.
|
|
74
|
+
**Input**: Target domain
|
|
75
|
+
**Key metrics**: `keyword`, `search_volume`, `competition`, `cpc`
|
|
76
|
+
|
|
77
|
+
### Competitive Analysis
|
|
78
|
+
|
|
79
|
+
#### dataforseo_labs_google_competitors_domain
|
|
80
|
+
**Purpose**: Find a domain's closest organic competitors by keyword overlap.
|
|
81
|
+
**Input**: Target domain
|
|
82
|
+
**Key metrics**: `domain`, `avg_position`, `intersections` (shared keywords), `full_domain_rank`
|
|
83
|
+
**Tip**: May reveal competitors the user hasn't considered.
|
|
84
|
+
|
|
85
|
+
#### dataforseo_labs_google_domain_intersection
|
|
86
|
+
**Purpose**: Find keywords where two domains both rank — shows direct competition.
|
|
87
|
+
**Input**: Two target domains
|
|
88
|
+
**Key metrics**: `keyword`, position for each domain, `search_volume`
|
|
89
|
+
**Tip**: Use this to compare the user's domain vs. each competitor.
|
|
90
|
+
|
|
91
|
+
#### dataforseo_labs_google_relevant_pages
|
|
92
|
+
**Purpose**: Find a domain's most important pages by organic traffic.
|
|
93
|
+
**Input**: Target domain
|
|
94
|
+
**Key metrics**: `page`, `metrics` (traffic, keywords per page)
|
|
95
|
+
**Tip**: Reveals their content strategy — which pages drive the most value.
|
|
96
|
+
|
|
97
|
+
### Technology Detection
|
|
98
|
+
|
|
99
|
+
#### domain_analytics_technologies_domain_technologies
|
|
100
|
+
**Purpose**: Detect the technology stack a domain uses.
|
|
101
|
+
**Input**: Target domain
|
|
102
|
+
**Key metrics**: Technologies grouped by category (CMS, analytics, marketing, payments, etc.)
|
|
103
|
+
|
|
104
|
+
### Backlink Deep Dive
|
|
105
|
+
|
|
106
|
+
#### backlinks_backlinks
|
|
107
|
+
**Purpose**: List individual backlinks to a domain.
|
|
108
|
+
**Input**: Target domain + limit
|
|
109
|
+
**Key metrics**: `url_from`, `url_to`, `anchor`, `domain_from_rank`, `is_new`
|
|
110
|
+
|
|
111
|
+
#### backlinks_bulk_ranks
|
|
112
|
+
**Purpose**: Compare domain ranks across multiple domains at once.
|
|
113
|
+
**Input**: Array of target domains
|
|
114
|
+
**Key metrics**: `domain_rank` per domain
|
|
115
|
+
**Tip**: Use this for the summary comparison table.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Recommended Execution Order
|
|
120
|
+
|
|
121
|
+
### Quick Scan (per competitor)
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
1. firecrawl_map → get site URLs
|
|
125
|
+
2. In parallel:
|
|
126
|
+
a. firecrawl_scrape → homepage
|
|
127
|
+
b. firecrawl_scrape → pricing page
|
|
128
|
+
c. dataforseo_labs_google_domain_rank_overview → organic metrics
|
|
129
|
+
d. backlinks_summary → domain authority
|
|
130
|
+
3. Synthesize into abbreviated profile
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Deep Profile (per competitor)
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
1. firecrawl_map → get site URLs
|
|
137
|
+
2. In parallel (batch 1 — scraping):
|
|
138
|
+
a. firecrawl_scrape → homepage
|
|
139
|
+
b. firecrawl_scrape → pricing page
|
|
140
|
+
c. firecrawl_scrape → features page(s)
|
|
141
|
+
d. firecrawl_scrape → about page
|
|
142
|
+
e. firecrawl_scrape → customers/case studies page
|
|
143
|
+
f. firecrawl_scrape → integrations page
|
|
144
|
+
3. In parallel (batch 2 — SEO data):
|
|
145
|
+
a. dataforseo_labs_google_domain_rank_overview
|
|
146
|
+
b. dataforseo_labs_google_ranked_keywords
|
|
147
|
+
c. backlinks_summary
|
|
148
|
+
d. backlinks_referring_domains
|
|
149
|
+
e. dataforseo_labs_google_relevant_pages
|
|
150
|
+
f. dataforseo_labs_google_competitors_domain
|
|
151
|
+
4. In parallel (batch 3 — optional extras):
|
|
152
|
+
a. domain_analytics_technologies_domain_technologies
|
|
153
|
+
b. firecrawl_search → G2/Capterra reviews
|
|
154
|
+
c. dataforseo_labs_google_domain_intersection (vs. user's domain)
|
|
155
|
+
5. Synthesize into full profile
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Multi-Competitor (3+ competitors)
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
1. Map all competitor sites in parallel
|
|
162
|
+
2. Scrape all homepages in parallel, then pricing pages in parallel
|
|
163
|
+
3. Pull domain_rank_overview for all in parallel
|
|
164
|
+
4. Pull backlinks_bulk_ranks for all at once
|
|
165
|
+
5. Build profiles in sequence (synthesis requires focus)
|
|
166
|
+
6. Build summary comparison last
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Error Handling
|
|
172
|
+
|
|
173
|
+
| Issue | Action |
|
|
174
|
+
|-------|--------|
|
|
175
|
+
| Firecrawl scrape returns empty/blocked | Try with `firecrawl_browser_create` for JS-heavy sites |
|
|
176
|
+
| Pricing page not found in map | Search for `/pricing`, `/plans`, `/packages` — some sites use different paths |
|
|
177
|
+
| DataForSEO returns no data for domain | Domain may be too new or too small — note "insufficient data" in profile |
|
|
178
|
+
| Rate limits hit | Space out requests; prioritize highest-value data first |
|
|
179
|
+
| Review page scraping blocked | Use `firecrawl_search` to find cached or alternative review sources |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Attribution
|
|
2
|
+
|
|
3
|
+
This skill, **luckiest-competitors**, is a rebranded and hardened "Luckiest edition" derived from an open-source skill.
|
|
4
|
+
|
|
5
|
+
- **Original skill**: `competitors`
|
|
6
|
+
- **Project**: marketingskills (https://github.com/coreyhaines31/marketingskills)
|
|
7
|
+
- **Author**: Corey Haines (https://corey.co)
|
|
8
|
+
- **License**: MIT
|
|
9
|
+
|
|
10
|
+
The original copyright is preserved in full below. This Luckiest edition adds security hardening, best-practice restructuring, AEO guidance, sourcing guardrails, a Luckiest-network share hook, and update-check versioning. It does not modify the original skill.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Original LICENSE (verbatim)
|
|
15
|
+
|
|
16
|
+
MIT License
|
|
17
|
+
|
|
18
|
+
Copyright (c) 2025 Corey Haines
|
|
19
|
+
|
|
20
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
21
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
22
|
+
in the Software without restriction, including without limitation the rights
|
|
23
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
24
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
25
|
+
furnished to do so, subject to the following conditions:
|
|
26
|
+
|
|
27
|
+
The above copyright notice and this permission notice shall be included in all
|
|
28
|
+
copies or substantial portions of the Software.
|
|
29
|
+
|
|
30
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
31
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
32
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
33
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
34
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
35
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
36
|
+
SOFTWARE.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Changelog — luckiest-competitors
|
|
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 competitors (marketingskills, MIT).
|
|
14
|
+
|
|
15
|
+
### Improve pass (/refract)
|
|
16
|
+
- Added AI answer-engine (AEO) optimization section and a "best alternative to X" trigger phrase — comparison queries are increasingly answered by ChatGPT, Perplexity, and AI Overviews; pages must be extractable and citable.
|
|
17
|
+
- Added a Sourcing & Accuracy guardrail: competitor claims must trace to verifiable, dated sources; no fabricated weaknesses or review quotes.
|
|
18
|
+
- Made freshness an explicit default: "Last updated" date and dated pricing on every page (stale comparison pages erode trust and create liability).
|
|
19
|
+
- Dropped as novelty-for-novelty: interactive comparison widgets, automated sentiment scoring (out of scope for a copy skill).
|
|
20
|
+
|
|
21
|
+
### Network hook
|
|
22
|
+
- Share-with-tribe (offer only): after producing a competitor data file or page set, offer once to share the teardown with the user's Luckiest tribe. Never auto-posts, never transmits credentials or private product data.
|
|
23
|
+
|
|
24
|
+
### Trend pass (/newsjack + /luckiest-trends)
|
|
25
|
+
- No actionable dated signal. The newsjack CLI was unavailable in this environment; the AI-answer-engine shift is a durable trend rather than a dated news event and was folded into the Improve pass instead of fabricating a citation.
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: luckiest-competitors
|
|
3
|
+
description: "Creates competitor comparison and alternative pages for SEO, AI answer engines, and sales enablement. Use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'best alternative to X,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Handles content that positions a product against competitors across four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see luckiest-sales-enablement."
|
|
4
|
+
license: See ATTRIBUTION.md
|
|
5
|
+
metadata:
|
|
6
|
+
version: "1.1.0"
|
|
7
|
+
listing_id: luckiest-competitors
|
|
8
|
+
author: luckiest
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Competitor & Alternative Pages
|
|
12
|
+
|
|
13
|
+
This skill builds competitor comparison and alternative pages that rank for competitive search terms, get cited by AI answer engines, provide genuine value to evaluators, and position the product effectively.
|
|
14
|
+
|
|
15
|
+
## Staying current
|
|
16
|
+
|
|
17
|
+
On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-competitors", 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-competitors", 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
|
+
## Initial Assessment
|
|
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 asking questions. Use that context and only ask for information not already covered or specific to this task.
|
|
25
|
+
|
|
26
|
+
Before creating competitor pages, understand:
|
|
27
|
+
|
|
28
|
+
1. **The Product** — core value proposition, key differentiators, ideal customer profile, pricing model, strengths and honest weaknesses.
|
|
29
|
+
2. **Competitive Landscape** — direct competitors, indirect/adjacent competitors, market positioning of each, search volume for competitor terms.
|
|
30
|
+
3. **Goals** — SEO traffic capture, AI answer-engine citations, sales enablement, conversion from competitor users, brand positioning.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Core Principles
|
|
35
|
+
|
|
36
|
+
### 1. Honesty Builds Trust
|
|
37
|
+
- Acknowledge competitor strengths and be accurate about your own limitations.
|
|
38
|
+
- Do not misrepresent competitor features. Readers are comparing — they will verify claims.
|
|
39
|
+
|
|
40
|
+
### 2. Sourcing & Accuracy Guardrail
|
|
41
|
+
- Every claim about a competitor's pricing, features, or weaknesses must trace to a verifiable source (their site, docs, or dated reviews). Do not invent competitor weaknesses or fabricate review quotes.
|
|
42
|
+
- When citing review themes (G2, Capterra, TrustRadius), attribute them as review themes and note when the data was gathered. Pricing and feature claims go stale — date them.
|
|
43
|
+
|
|
44
|
+
### 3. Depth Over Surface
|
|
45
|
+
- Go beyond feature checklists. Explain *why* differences matter, include use cases and scenarios, show rather than tell.
|
|
46
|
+
|
|
47
|
+
### 4. Help Them Decide
|
|
48
|
+
- Different tools fit different needs. Be clear about who you are best for and who the competitor is best for. Reduce evaluation friction.
|
|
49
|
+
|
|
50
|
+
### 5. Modular Content Architecture
|
|
51
|
+
- Centralize competitor data so updates propagate to all pages. Maintain a single source of truth per competitor.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Page Formats
|
|
56
|
+
|
|
57
|
+
### Format 1: [Competitor] Alternative (Singular)
|
|
58
|
+
**Search intent**: actively looking to switch from a specific competitor.
|
|
59
|
+
**URL pattern**: `/alternatives/[competitor]` or `/[competitor]-alternative`
|
|
60
|
+
**Target keywords**: "[Competitor] alternative", "alternative to [Competitor]", "switch from [Competitor]"
|
|
61
|
+
**Structure**: 1) why people look for alternatives (validate pain) 2) you as the alternative (quick positioning) 3) detailed comparison (features, service, pricing) 4) who should switch (and who shouldn't) 5) migration path 6) social proof from switchers 7) CTA.
|
|
62
|
+
|
|
63
|
+
### Format 2: [Competitor] Alternatives (Plural)
|
|
64
|
+
**Search intent**: researching options, earlier in journey.
|
|
65
|
+
**URL pattern**: `/alternatives/[competitor]-alternatives`
|
|
66
|
+
**Target keywords**: "[Competitor] alternatives", "best [Competitor] alternatives", "tools like [Competitor]"
|
|
67
|
+
**Structure**: 1) why people look for alternatives 2) what to look for (criteria framework) 3) list of alternatives (you first, but include real options) 4) comparison table 5) detailed breakdown of each 6) recommendation by use case 7) CTA.
|
|
68
|
+
**Important**: Include 4-7 real alternatives. Being genuinely helpful builds trust and ranks better.
|
|
69
|
+
|
|
70
|
+
### Format 3: You vs [Competitor]
|
|
71
|
+
**Search intent**: directly comparing you to a specific competitor.
|
|
72
|
+
**URL pattern**: `/vs/[competitor]` or `/compare/[you]-vs-[competitor]`
|
|
73
|
+
**Target keywords**: "[You] vs [Competitor]", "[Competitor] vs [You]"
|
|
74
|
+
**Structure**: 1) TL;DR (2-3 sentences) 2) at-a-glance comparison table 3) detailed comparison by category (Features, Pricing, Support, Ease of use, Integrations) 4) who [You] is best for 5) who [Competitor] is best for (be honest) 6) what customers say (switchers) 7) migration support 8) CTA.
|
|
75
|
+
|
|
76
|
+
### Format 4: [Competitor A] vs [Competitor B]
|
|
77
|
+
**Search intent**: comparing two competitors (not you directly).
|
|
78
|
+
**URL pattern**: `/compare/[competitor-a]-vs-[competitor-b]`
|
|
79
|
+
**Structure**: 1) overview of both 2) comparison by category 3) who each is best for 4) the third option (introduce yourself) 5) comparison table (all three) 6) CTA.
|
|
80
|
+
**Why this works**: captures competitor search traffic and positions you as knowledgeable.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Essential Sections
|
|
85
|
+
|
|
86
|
+
- **TL;DR Summary**: open every page with key differences in 2-3 sentences for scanners.
|
|
87
|
+
- **Paragraph Comparisons**: for each dimension, write a paragraph explaining the differences and when each matters — not just tables.
|
|
88
|
+
- **Feature Comparison**: describe how each handles it, list strengths and limitations, give a bottom-line recommendation.
|
|
89
|
+
- **Pricing Comparison**: tier-by-tier, what's included, hidden costs, total cost for a sample team size. Date the pricing.
|
|
90
|
+
- **Who It's For**: be explicit about the ideal customer for each option.
|
|
91
|
+
- **Migration Section**: what transfers, what needs reconfiguration, support offered, quotes from switchers.
|
|
92
|
+
|
|
93
|
+
**For detailed section templates**, load [references/templates.md](references/templates.md).
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## AI Answer-Engine (AEO) Optimization
|
|
98
|
+
|
|
99
|
+
Comparison and "best alternative" queries are increasingly answered by ChatGPT, Perplexity, Google AI Overviews, and Claude. To be extractable and citable:
|
|
100
|
+
- Put a direct, self-contained answer near the top (the TL;DR doubles as the extractable snippet).
|
|
101
|
+
- Use clean comparison tables and clear category headings so engines can lift structured facts.
|
|
102
|
+
- State concrete, sourced numbers (pricing, limits) rather than vague superlatives.
|
|
103
|
+
- Consider FAQ schema for questions like "What is the best alternative to [Competitor]?" (see luckiest-schema).
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Content Architecture
|
|
108
|
+
|
|
109
|
+
Create a single source of truth per competitor: positioning, target audience, pricing (all tiers), feature ratings, strengths and weaknesses, best-for / not-ideal-for, common complaints (from dated reviews), and migration notes.
|
|
110
|
+
|
|
111
|
+
**For data structure and examples**, load [references/content-architecture.md](references/content-architecture.md).
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Research Process
|
|
116
|
+
|
|
117
|
+
For each competitor, gather:
|
|
118
|
+
1. **Product research** — sign up, use it, document features/UX/limitations.
|
|
119
|
+
2. **Pricing research** — current pricing, what's included, hidden costs.
|
|
120
|
+
3. **Review mining** — G2, Capterra, TrustRadius for recurring praise/complaint themes (attribute and date them).
|
|
121
|
+
4. **Customer feedback** — talk to customers who switched, both directions.
|
|
122
|
+
5. **Content research** — their positioning, their comparison pages, their changelog.
|
|
123
|
+
|
|
124
|
+
**Ongoing updates**: quarterly verify pricing and check major feature changes; refresh when a customer flags a competitor change; do a full annual refresh. Show a "Last updated" date on each page — a stale comparison page erodes trust and can be a legal liability.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## SEO Considerations
|
|
129
|
+
|
|
130
|
+
| Format | Primary Keywords |
|
|
131
|
+
|--------|-----------------|
|
|
132
|
+
| Alternative (singular) | [Competitor] alternative, alternative to [Competitor] |
|
|
133
|
+
| Alternatives (plural) | [Competitor] alternatives, best [Competitor] alternatives |
|
|
134
|
+
| You vs Competitor | [You] vs [Competitor], [Competitor] vs [You] |
|
|
135
|
+
| Competitor vs Competitor | [A] vs [B], [B] vs [A] |
|
|
136
|
+
|
|
137
|
+
- **Internal linking**: link between related comparison pages; link from feature pages to relevant comparisons; create a hub page linking to all competitor content.
|
|
138
|
+
- **Schema markup**: consider FAQ schema for common "best alternative to [Competitor]" questions.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Output Format
|
|
143
|
+
|
|
144
|
+
- **Competitor Data File**: complete competitor profile in YAML for reuse across pages.
|
|
145
|
+
- **Page Content**: per page — URL, meta tags, full page copy by section, comparison tables, CTAs.
|
|
146
|
+
- **Page Set Plan**: recommended pages in priority order based on search volume.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Task-Specific Questions
|
|
151
|
+
|
|
152
|
+
1. What are common reasons people switch to you?
|
|
153
|
+
2. Do you have customer quotes about switching?
|
|
154
|
+
3. What's your pricing vs. competitors?
|
|
155
|
+
4. Do you offer migration support?
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Share with your tribe (offer, never automatic)
|
|
160
|
+
|
|
161
|
+
After producing a competitor data file or comparison page set, offer once: "Want to share this competitor teardown with your Luckiest tribe?" A well-researched teardown helps others targeting the same competitors build on your work. Only act if the user says yes. Never auto-post, and never transmit credentials or private product data.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Related Skills
|
|
166
|
+
|
|
167
|
+
- **luckiest-programmatic-seo**: building competitor pages at scale
|
|
168
|
+
- **luckiest-copywriting**: writing compelling comparison copy
|
|
169
|
+
- **luckiest-seo-audit**: optimizing competitor pages
|
|
170
|
+
- **luckiest-schema**: FAQ and comparison schema
|
|
171
|
+
- **luckiest-sales-enablement**: internal sales collateral, decks, and objection docs
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "luckiest-competitors",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Create a 'Best Asana Alternatives' page for our project management tool. We compete mainly on price (we're $8/user vs their $24/user) and simplicity (they've become bloated). Target audience is small teams (5-20 people).",
|
|
7
|
+
"expected_output": "Should check for product-marketing.md first. Should identify this as the plural alternatives format ([Competitor] Alternatives). Should include the essential sections: TL;DR comparison, brief paragraphs on each alternative (including the user's product positioned first or prominently), feature comparison table, pricing comparison, who each alternative is best for. Should use the modular content architecture approach. Should address SEO considerations for the target keyword 'Asana alternatives.' Should position the user's product with the stated differentiators (price, simplicity).",
|
|
8
|
+
"assertions": [
|
|
9
|
+
"Checks for product-marketing.md",
|
|
10
|
+
"Identifies as plural alternatives format",
|
|
11
|
+
"Includes TL;DR comparison section",
|
|
12
|
+
"Includes feature comparison table",
|
|
13
|
+
"Includes pricing comparison",
|
|
14
|
+
"Includes 'who it's best for' per alternative",
|
|
15
|
+
"Positions user's product prominently with differentiators",
|
|
16
|
+
"Addresses SEO for target keyword"
|
|
17
|
+
],
|
|
18
|
+
"files": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": 2,
|
|
22
|
+
"prompt": "Write a 'HubSpot vs Salesforce' comparison page. We're HubSpot and want to show why we're the better choice for SMBs.",
|
|
23
|
+
"expected_output": "Should identify this as the 'you vs competitor' format. Should include structured comparison sections: overview of both, feature-by-feature comparison, pricing comparison, pros/cons of each, who each is best for, and migration path. Should be factually accurate about the competitor while strategically positioning the user's product. Should include a TL;DR at the top. Should address the SMB angle throughout. Should use the centralized competitor data architecture pattern.",
|
|
24
|
+
"assertions": [
|
|
25
|
+
"Identifies as 'you vs competitor' format",
|
|
26
|
+
"Includes structured comparison sections",
|
|
27
|
+
"Includes feature-by-feature comparison",
|
|
28
|
+
"Includes pricing comparison",
|
|
29
|
+
"Includes TL;DR at the top",
|
|
30
|
+
"Factually accurate about competitor",
|
|
31
|
+
"Strategically positions user's product for SMBs",
|
|
32
|
+
"Includes migration path or switching section"
|
|
33
|
+
],
|
|
34
|
+
"files": []
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": 3,
|
|
38
|
+
"prompt": "we need a page targeting 'mailchimp alternative' (singular). we're an email marketing platform focused on e-commerce brands.",
|
|
39
|
+
"expected_output": "Should trigger on casual phrasing. Should identify this as the singular alternative format ([Competitor] Alternative — positioning your product as THE alternative). Should focus the entire page on why the user's product is the best Mailchimp alternative for e-commerce. Should include: why people switch from Mailchimp, what the user's product does better (e-commerce specific features), feature comparison, pricing comparison, migration guide, customer testimonials. Should optimize for the singular keyword 'Mailchimp alternative.'",
|
|
40
|
+
"assertions": [
|
|
41
|
+
"Triggers on casual phrasing",
|
|
42
|
+
"Identifies as singular alternative format",
|
|
43
|
+
"Focuses on user's product as THE alternative",
|
|
44
|
+
"Includes why people switch from Mailchimp",
|
|
45
|
+
"Highlights e-commerce-specific advantages",
|
|
46
|
+
"Includes feature and pricing comparison",
|
|
47
|
+
"Includes migration guide",
|
|
48
|
+
"Optimizes for singular keyword"
|
|
49
|
+
],
|
|
50
|
+
"files": []
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": 4,
|
|
54
|
+
"prompt": "Can you create a comparison page for 'Notion vs Coda'? We're a third-party review site, not affiliated with either product.",
|
|
55
|
+
"expected_output": "Should identify this as the 'competitor vs competitor' format (third-party perspective). Should maintain objectivity since the user isn't either product. Should include balanced comparison: overview of both, feature comparison, pricing, pros/cons, use case recommendations. Should use the essential page sections from the skill. Should suggest how to monetize the page (affiliate links, CTA to the user's own product if relevant). Should address SEO for the 'Notion vs Coda' keyword.",
|
|
56
|
+
"assertions": [
|
|
57
|
+
"Identifies as 'competitor vs competitor' format",
|
|
58
|
+
"Maintains objectivity (third-party perspective)",
|
|
59
|
+
"Includes balanced feature comparison",
|
|
60
|
+
"Includes pricing comparison",
|
|
61
|
+
"Includes use case recommendations",
|
|
62
|
+
"Addresses SEO considerations",
|
|
63
|
+
"Suggests monetization approach"
|
|
64
|
+
],
|
|
65
|
+
"files": []
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": 5,
|
|
69
|
+
"prompt": "We want to build a whole competitor comparison hub. We have 5 main competitors and want to create alternative pages for each, plus head-to-head comparisons. How should we structure this?",
|
|
70
|
+
"expected_output": "Should apply the centralized competitor data architecture. Should recommend a hub structure with: individual alternative pages for each competitor (5 singular pages), a 'best alternatives' roundup page, head-to-head comparison pages for key matchups. Should address internal linking strategy between these pages. Should recommend the research process for gathering competitive data. Should address URL structure and site architecture for the hub.",
|
|
71
|
+
"assertions": [
|
|
72
|
+
"Applies centralized competitor data architecture",
|
|
73
|
+
"Recommends hub structure with multiple page types",
|
|
74
|
+
"Suggests individual and roundup alternative pages",
|
|
75
|
+
"Addresses internal linking between comparison pages",
|
|
76
|
+
"Recommends research process for competitive data",
|
|
77
|
+
"Addresses URL structure"
|
|
78
|
+
],
|
|
79
|
+
"files": []
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": 6,
|
|
83
|
+
"prompt": "I need to create a battle card for our sales team comparing us to Zendesk. It should help reps handle competitive objections during sales calls.",
|
|
84
|
+
"expected_output": "Should recognize this as internal sales enablement material, not a public comparison page. Should defer to or cross-reference the sales-enablement skill, which handles battle cards, objection handling docs, and internal competitive collateral. May provide some competitive positioning advice but should make clear that sales-enablement is the right skill for internal sales materials.",
|
|
85
|
+
"assertions": [
|
|
86
|
+
"Recognizes this as internal sales enablement material",
|
|
87
|
+
"References or defers to sales-enablement skill",
|
|
88
|
+
"Does not attempt to create internal battle card using public comparison page patterns"
|
|
89
|
+
],
|
|
90
|
+
"files": []
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|