@jairodri/huckleberry-cli 1.0.2 → 1.1.0
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/README.md +85 -0
- package/agents/cos.json +2 -5
- package/agents/hermes/AGENTS.md +25 -49
- package/agents/hermes/fix-kimaki/SKILL.md +19 -92
- package/agents/hermes/hermes-fixer.md +44 -74
- package/agents/hermes.json +6 -18
- package/kanban/SKILL.md +18 -18
- package/kanban/package.json +1 -1
- package/kanban/src/dispatcher.mjs +1 -1
- package/kanban/templates/blog-social-campaign.yaml +6 -2
- package/kanban/templates/social-campaign.yaml +9 -4
- package/mcp/jev-calibration.mjs +335 -0
- package/mcp/jev-client.mjs +119 -0
- package/mcp/jev-thresholds.json +27 -0
- package/package.json +13 -9
- package/scripts/doctor-watchdog.sh +73 -0
- package/scripts/install-services.sh +34 -27
- package/scripts/self-improve-weekly.sh +34 -0
- package/scripts/sync-skills.mjs +121 -0
- package/skills/ab-test-setup/SKILL.md +266 -0
- package/skills/ab-test-setup/evals/evals.json +105 -0
- package/skills/ab-test-setup/references/sample-size-guide.md +263 -0
- package/skills/ab-test-setup/references/test-templates.md +277 -0
- package/skills/agent-reach/SKILL.md +132 -0
- package/skills/agent-reach/references/career.md +29 -0
- package/skills/agent-reach/references/dev.md +62 -0
- package/skills/agent-reach/references/search.md +33 -0
- package/skills/agent-reach/references/social.md +232 -0
- package/skills/agent-reach/references/video.md +130 -0
- package/skills/agent-reach/references/web.md +50 -0
- package/skills/ai-agent-seo/SKILL.md +450 -0
- package/skills/ai-cold-email-intelligence/SKILL.md +54 -0
- package/skills/ai-cold-email-intelligence/references/prompts.md +21 -0
- package/skills/ai-consensus-builder/SKILL.md +324 -0
- package/skills/ai-seo/SKILL.md +399 -0
- package/skills/ai-seo/evals/evals.json +90 -0
- package/skills/ai-seo/references/content-patterns.md +284 -0
- package/skills/ai-seo/references/platform-ranking-factors.md +152 -0
- package/skills/ai-visibility-audit/SKILL.md +322 -0
- package/skills/analytics-tracking/SKILL.md +309 -0
- package/skills/analytics-tracking/evals/evals.json +90 -0
- package/skills/analytics-tracking/references/event-library.md +260 -0
- package/skills/analytics-tracking/references/ga4-implementation.md +300 -0
- package/skills/analytics-tracking/references/gtm-implementation.md +390 -0
- package/skills/article-generator/SKILL.md +216 -0
- package/skills/auto-indexing/SKILL.md +179 -0
- package/skills/auto-indexing/scripts/auto-indexing.js +257 -0
- package/skills/auto-skill/SKILL.md +151 -0
- package/skills/auto-skill/correction-queue.js +102 -0
- package/skills/auto-skill/dedup.js +97 -0
- package/skills/auto-skill/skill-router.js +224 -0
- package/skills/autoresearch/SKILL.md +334 -0
- package/skills/autoresearch/autoresearch-autoresearch/SKILL.md.baseline +329 -0
- package/skills/autoresearch/autoresearch-autoresearch/changelog.md +34 -0
- package/skills/autoresearch/autoresearch-autoresearch/dashboard.html +116 -0
- package/skills/autoresearch/autoresearch-autoresearch/evals.md +39 -0
- package/skills/autoresearch/autoresearch-autoresearch/results.json +44 -0
- package/skills/autoresearch/autoresearch-autoresearch/results.tsv +3 -0
- package/skills/autoresearch/eval-guide.md +121 -0
- package/skills/b2b-cold-outreach/SKILL.md +322 -0
- package/skills/birdclaw/SKILL.md +82 -0
- package/skills/brainstorm/SKILL.md +168 -0
- package/skills/brand-kit-playground/SKILL.md +312 -0
- package/skills/brand-kit-playground/references/html-architecture.md +316 -0
- package/skills/brand-kit-playground/references/steal-patterns.md +88 -0
- package/skills/brand-voice/SKILL.md +223 -0
- package/skills/brand-voice/references/honesty-as-positioning.md +60 -0
- package/skills/brand-voice/references/voice-modes.md +1158 -0
- package/skills/business-advisory-council/README.md +136 -0
- package/skills/business-advisory-council/SKILL.md +94 -0
- package/skills/business-advisory-council/business-advisory-council.py +492 -0
- package/skills/business-advisory-council/discord-components-decision.json +8 -0
- package/skills/business-advisory-council/examples/steve-conley-partnership.json +6 -0
- package/skills/business-advisory-council/steve-conley-call-brief.json +6 -0
- package/skills/churn-prevention/SKILL.md +305 -0
- package/skills/churn-prevention/evals/evals.json +93 -0
- package/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/skills/churn-prevention/references/dunning-playbook.md +408 -0
- package/skills/claw-compactor/LICENSE +21 -0
- package/skills/claw-compactor/README.md +459 -0
- package/skills/claw-compactor/SKILL.md +329 -0
- package/skills/claw-compactor/benchmark/RESULTS.md +104 -0
- package/skills/claw-compactor/benchmark/__init__.py +1 -0
- package/skills/claw-compactor/benchmark/compressors.py +520 -0
- package/skills/claw-compactor/benchmark/data/sample_01_devops.json +82 -0
- package/skills/claw-compactor/benchmark/data/sample_02_trading.json +54 -0
- package/skills/claw-compactor/benchmark/data/sample_03_ml_short.json +38 -0
- package/skills/claw-compactor/benchmark/data/sample_04_mixed_long.json +318 -0
- package/skills/claw-compactor/benchmark/data/sample_05_sysadmin.json +56 -0
- package/skills/claw-compactor/benchmark/evaluate.py +278 -0
- package/skills/claw-compactor/benchmark/report.py +241 -0
- package/skills/claw-compactor/benchmark/results/benchmark_results.json +405 -0
- package/skills/claw-compactor/benchmark/run_benchmark.py +238 -0
- package/skills/claw-compactor/engram.yaml +49 -0
- package/skills/claw-compactor/proxy/README.md +87 -0
- package/skills/claw-compactor/proxy/dashboard.html +804 -0
- package/skills/claw-compactor/proxy/event-log.mjs +213 -0
- package/skills/claw-compactor/proxy/fair-queue.mjs +288 -0
- package/skills/claw-compactor/proxy/metrics-store.mjs +425 -0
- package/skills/claw-compactor/proxy/package-lock.json +125 -0
- package/skills/claw-compactor/proxy/package.json +15 -0
- package/skills/claw-compactor/proxy/portal.html +360 -0
- package/skills/claw-compactor/proxy/process-registry.mjs +447 -0
- package/skills/claw-compactor/proxy/rate-limiter.mjs +117 -0
- package/skills/claw-compactor/proxy/redis-client.mjs +75 -0
- package/skills/claw-compactor/proxy/retry.mjs +182 -0
- package/skills/claw-compactor/proxy/server.mjs +2100 -0
- package/skills/claw-compactor/proxy/session-affinity.mjs +177 -0
- package/skills/claw-compactor/proxy/start.sh +23 -0
- package/skills/claw-compactor/proxy/test/event-log.test.mjs +237 -0
- package/skills/claw-compactor/proxy/test/helpers.mjs +103 -0
- package/skills/claw-compactor/proxy/test/integration.test.mjs +297 -0
- package/skills/claw-compactor/proxy/test/metrics-store.test.mjs +243 -0
- package/skills/claw-compactor/proxy/test/process-registry.test.mjs +390 -0
- package/skills/claw-compactor/proxy/test/rate-limiter.test.mjs +121 -0
- package/skills/claw-compactor/proxy/test/redis-client.test.mjs +62 -0
- package/skills/claw-compactor/proxy/test/token-tracker.test.mjs +200 -0
- package/skills/claw-compactor/proxy/token-tracker.mjs +482 -0
- package/skills/claw-compactor/pyproject.toml +26 -0
- package/skills/claw-compactor/references/README.md +44 -0
- package/skills/claw-compactor/references/architecture.md +197 -0
- package/skills/claw-compactor/references/benchmarks.md +94 -0
- package/skills/claw-compactor/references/compression-prompts.md +39 -0
- package/skills/claw-compactor/references/compression-techniques.md +219 -0
- package/skills/claw-compactor/references/testing.md +160 -0
- package/skills/claw-compactor/scripts/audit_memory.py +216 -0
- package/skills/claw-compactor/scripts/compress_memory.py +236 -0
- package/skills/claw-compactor/scripts/compressed_context.py +280 -0
- package/skills/claw-compactor/scripts/dedup_memory.py +147 -0
- package/skills/claw-compactor/scripts/dictionary_compress.py +170 -0
- package/skills/claw-compactor/scripts/engram-auto.sh +152 -0
- package/skills/claw-compactor/scripts/engram_auto.py +695 -0
- package/skills/claw-compactor/scripts/engram_cli.py +474 -0
- package/skills/claw-compactor/scripts/estimate_tokens.py +131 -0
- package/skills/claw-compactor/scripts/generate_summary_tiers.py +292 -0
- package/skills/claw-compactor/scripts/lib/__init__.py +34 -0
- package/skills/claw-compactor/scripts/lib/config.py +289 -0
- package/skills/claw-compactor/scripts/lib/dedup.py +119 -0
- package/skills/claw-compactor/scripts/lib/dictionary.py +281 -0
- package/skills/claw-compactor/scripts/lib/engram.py +793 -0
- package/skills/claw-compactor/scripts/lib/engram_prompts.py +175 -0
- package/skills/claw-compactor/scripts/lib/engram_storage.py +254 -0
- package/skills/claw-compactor/scripts/lib/exceptions.py +24 -0
- package/skills/claw-compactor/scripts/lib/markdown.py +312 -0
- package/skills/claw-compactor/scripts/lib/rle.py +165 -0
- package/skills/claw-compactor/scripts/lib/tokenizer_optimizer.py +188 -0
- package/skills/claw-compactor/scripts/lib/tokens.py +68 -0
- package/skills/claw-compactor/scripts/mem_compress.py +788 -0
- package/skills/claw-compactor/scripts/observation_compressor.py +346 -0
- package/skills/claw-compactor/tests/__init__.py +0 -0
- package/skills/claw-compactor/tests/conftest.py +94 -0
- package/skills/claw-compactor/tests/test_audit_comprehensive.py +123 -0
- package/skills/claw-compactor/tests/test_audit_memory.py +67 -0
- package/skills/claw-compactor/tests/test_benchmark.py +122 -0
- package/skills/claw-compactor/tests/test_cli_commands.py +228 -0
- package/skills/claw-compactor/tests/test_compress_memory.py +109 -0
- package/skills/claw-compactor/tests/test_compress_memory_comprehensive.py +191 -0
- package/skills/claw-compactor/tests/test_compressed_context.py +145 -0
- package/skills/claw-compactor/tests/test_config.py +54 -0
- package/skills/claw-compactor/tests/test_dedup_memory.py +124 -0
- package/skills/claw-compactor/tests/test_dictionary.py +327 -0
- package/skills/claw-compactor/tests/test_dictionary_comprehensive.py +241 -0
- package/skills/claw-compactor/tests/test_engram.py +1091 -0
- package/skills/claw-compactor/tests/test_engram_auto.py +529 -0
- package/skills/claw-compactor/tests/test_error_handling.py +194 -0
- package/skills/claw-compactor/tests/test_estimate_tokens.py +99 -0
- package/skills/claw-compactor/tests/test_generate_summary_tiers.py +105 -0
- package/skills/claw-compactor/tests/test_integration.py +249 -0
- package/skills/claw-compactor/tests/test_lib_dedup.py +135 -0
- package/skills/claw-compactor/tests/test_lib_markdown.py +388 -0
- package/skills/claw-compactor/tests/test_lib_tokens.py +82 -0
- package/skills/claw-compactor/tests/test_main_entry.py +176 -0
- package/skills/claw-compactor/tests/test_markdown_advanced.py +284 -0
- package/skills/claw-compactor/tests/test_new_features.py +77 -0
- package/skills/claw-compactor/tests/test_observation_comprehensive.py +261 -0
- package/skills/claw-compactor/tests/test_observation_compressor.py +128 -0
- package/skills/claw-compactor/tests/test_performance.py +172 -0
- package/skills/claw-compactor/tests/test_pipeline.py +109 -0
- package/skills/claw-compactor/tests/test_real_workspace.py +161 -0
- package/skills/claw-compactor/tests/test_rle.py +114 -0
- package/skills/claw-compactor/tests/test_rle_comprehensive.py +151 -0
- package/skills/claw-compactor/tests/test_roundtrip.py +253 -0
- package/skills/claw-compactor/tests/test_roundtrip_comprehensive.py +192 -0
- package/skills/claw-compactor/tests/test_tiers_comprehensive.py +171 -0
- package/skills/claw-compactor/tests/test_token_economics.py +237 -0
- package/skills/claw-compactor/tests/test_tokenizer_optimizer.py +175 -0
- package/skills/claw-compactor/tests/test_tokenizer_optimizer_comprehensive.py +241 -0
- package/skills/claw-compactor/tests/test_tokens.py +27 -0
- package/skills/cmo/CHANGELOG.md +61 -0
- package/skills/cmo/SKILL.md +500 -0
- package/skills/cmo/references/ai-slop-patterns.md +56 -0
- package/skills/cmo/references/analytics-guide.md +152 -0
- package/skills/cmo/references/ideas-library.md +197 -0
- package/skills/cmo/rules/brand-file-map.md +198 -0
- package/skills/cmo/rules/brand-memory.md +158 -0
- package/skills/cmo/rules/cli-runtime-index.md +95 -0
- package/skills/cmo/rules/command-reference.md +167 -0
- package/skills/cmo/rules/communication.md +15 -0
- package/skills/cmo/rules/context-switch.md +101 -0
- package/skills/cmo/rules/ecosystem.md +125 -0
- package/skills/cmo/rules/error-recovery.md +98 -0
- package/skills/cmo/rules/learning-loop.md +170 -0
- package/skills/cmo/rules/monorepo.md +78 -0
- package/skills/cmo/rules/output-format.md +124 -0
- package/skills/cmo/rules/persona.md +15 -0
- package/skills/cmo/rules/playbooks.md +327 -0
- package/skills/cmo/rules/progressive-enhancement.md +231 -0
- package/skills/cmo/rules/publish-index.md +106 -0
- package/skills/cmo/rules/quality-gate.md +90 -0
- package/skills/cmo/rules/recency-grounding.md +124 -0
- package/skills/cmo/rules/safety.md +80 -0
- package/skills/cmo/rules/studio-api-index.md +138 -0
- package/skills/cmo/rules/studio-integration.md +147 -0
- package/skills/cmo/rules/sub-agents.md +167 -0
- package/skills/cold-email/SKILL.md +240 -0
- package/skills/cold-email/evals/evals.json +94 -0
- package/skills/cold-email/references/benchmarks.md +83 -0
- package/skills/cold-email/references/follow-up-sequences.md +81 -0
- package/skills/cold-email/references/frameworks.md +90 -0
- package/skills/cold-email/references/personalization.md +79 -0
- package/skills/cold-email/references/subject-lines.md +53 -0
- package/skills/competitive-intel/SKILL.md +433 -0
- package/skills/competitive-intel/references/competitive-frameworks.md +145 -0
- package/skills/competitor-alternatives/SKILL.md +362 -0
- package/skills/competitor-alternatives/evals/evals.json +93 -0
- package/skills/competitor-alternatives/references/content-architecture.md +271 -0
- package/skills/competitor-alternatives/references/templates.md +223 -0
- package/skills/concreteness-fixer/SKILL.md +483 -0
- package/skills/concreteness-fixer/scripts/validation/concreteness-validator.js +221 -0
- package/skills/concreteness-fixer/utils/execFileNoThrow.js +16 -0
- package/skills/content-atomizer/SKILL.md +424 -0
- package/skills/content-atomizer/references/hook-strategies.md +56 -0
- package/skills/content-atomizer/references/platform-specs.md +118 -0
- package/skills/content-atomizer/references/platforms/bluesky.md +64 -0
- package/skills/content-atomizer/references/platforms/instagram.md +77 -0
- package/skills/content-atomizer/references/platforms/linkedin.md +120 -0
- package/skills/content-atomizer/references/platforms/reddit.md +73 -0
- package/skills/content-atomizer/references/platforms/threads.md +64 -0
- package/skills/content-atomizer/references/platforms/tiktok.md +55 -0
- package/skills/content-atomizer/references/platforms/twitter.md +123 -0
- package/skills/content-atomizer/references/platforms/youtube.md +56 -0
- package/skills/content-atomizer/references/tweet-patterns.md +40 -0
- package/skills/content-repost-manager/SKILL.md +245 -0
- package/skills/content-repost-manager/scripts/content-repost-scan.py +133 -0
- package/skills/context-recovery/.clawdhub/origin.json +7 -0
- package/skills/context-recovery/SKILL.md +198 -0
- package/skills/context-recovery/_meta.json +6 -0
- package/skills/conversion-flow-cro/SKILL.md +248 -0
- package/skills/conversion-flow-cro/references/flow-benchmarks.md +158 -0
- package/skills/copy-editing/SKILL.md +474 -0
- package/skills/copy-editing/evals/evals.json +89 -0
- package/skills/copy-editing/references/plain-english-alternatives.md +394 -0
- package/skills/copywriting/SKILL.md +349 -0
- package/skills/copywriting/evals/evals.json +111 -0
- package/skills/copywriting/references/awareness-level-guide.md +227 -0
- package/skills/copywriting/references/copy-frameworks.md +389 -0
- package/skills/copywriting/references/natural-transitions.md +272 -0
- package/skills/creative/SKILL.md +365 -0
- package/skills/creative/modes/ad-creative.md +1748 -0
- package/skills/creative/modes/product-photo.md +1520 -0
- package/skills/creative/modes/product-video.md +1657 -0
- package/skills/creative/modes/social-graphics.md +1511 -0
- package/skills/creative/modes/talking-head.md +2208 -0
- package/skills/creative/references/VISUAL_INTELLIGENCE.md +1233 -0
- package/skills/deep-serp-article/SKILL.md +677 -0
- package/skills/deep-serp-article/SKILL.md.bak +530 -0
- package/skills/earned-media/SKILL.md +260 -0
- package/skills/email-sequences/SKILL.md +446 -0
- package/skills/email-sequences/references/sequence-templates.md +1217 -0
- package/skills/firecrawl/.skill-meta.json +13 -0
- package/skills/firecrawl/SKILL.md +154 -0
- package/skills/firecrawl/rules/install.md +63 -0
- package/skills/firecrawl/rules/security.md +26 -0
- package/skills/form-cro/SKILL.md +429 -0
- package/skills/form-cro/evals/evals.json +90 -0
- package/skills/free-tool-strategy/SKILL.md +325 -0
- package/skills/free-tool-strategy/evals/evals.json +90 -0
- package/skills/free-tool-strategy/references/tool-types.md +253 -0
- package/skills/frontend-slides/SKILL.md +248 -0
- package/skills/frontend-slides/STYLE_PRESETS.md +347 -0
- package/skills/frontend-slides/animation-patterns.md +110 -0
- package/skills/frontend-slides/html-template.md +347 -0
- package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/skills/frontend-slides/viewport-base.css +153 -0
- package/skills/guardrail-framework/SKILL.md +319 -0
- package/skills/hook-generator/SKILL.md +438 -0
- package/skills/hook-generator/database/2026-PLATFORM-RESEARCH.md +211 -0
- package/skills/hook-generator/database/instagram-hooks.json +591 -0
- package/skills/hook-generator/database/linkedin-hooks.json +502 -0
- package/skills/hook-generator/database/medium-hooks.json +181 -0
- package/skills/hook-generator/database/tiktok-hooks.json +337 -0
- package/skills/hook-generator/database/twitter-hooks.json +567 -0
- package/skills/hook-generator/database/youtube-hooks.json +275 -0
- package/skills/hook-generator/package-lock.json +24 -0
- package/skills/hook-generator/package.json +5 -0
- package/skills/hook-generator/references/hook-generation-system.md +257 -0
- package/skills/hook-generator/references/hook-performance-analysis.json +153 -0
- package/skills/hook-generator/references/hooks-library.md +128 -0
- package/skills/hook-generator/references/platform-hook-frameworks.md +275 -0
- package/skills/hook-generator/scripts/generate-hooks-unified.js +722 -0
- package/skills/hook-generator/scripts/generate-hooks.js +225 -0
- package/skills/hook-generator/scripts/generate.sh +36 -0
- package/skills/hook-generator/scripts/ralph-hook-enhancer.js +864 -0
- package/skills/hook-generator/scripts/test-gemini-output.js +51 -0
- package/skills/humanizer/README.md +120 -0
- package/skills/humanizer/SKILL.md +699 -0
- package/skills/image-gen/SKILL.md +277 -0
- package/skills/image-gen/references/prompt-patterns.md +114 -0
- package/skills/image-gen/references/visual-metaphors.md +51 -0
- package/skills/impeccable/SKILL.md +86 -0
- package/skills/impeccable/reference/adapt.md +312 -0
- package/skills/impeccable/reference/adapt.native.md +58 -0
- package/skills/impeccable/reference/android.md +40 -0
- package/skills/impeccable/reference/animate.md +86 -0
- package/skills/impeccable/reference/audit.md +136 -0
- package/skills/impeccable/reference/audit.native.md +139 -0
- package/skills/impeccable/reference/bolder.md +31 -0
- package/skills/impeccable/reference/clarify.md +94 -0
- package/skills/impeccable/reference/colorize.md +86 -0
- package/skills/impeccable/reference/craft-floor.md +42 -0
- package/skills/impeccable/reference/craft.md +5 -0
- package/skills/impeccable/reference/critique.md +788 -0
- package/skills/impeccable/reference/degraded/asset-producer.md +90 -0
- package/skills/impeccable/reference/degraded/documenter.md +24 -0
- package/skills/impeccable/reference/degraded/finish-reviewer.md +37 -0
- package/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
- package/skills/impeccable/reference/delight.md +70 -0
- package/skills/impeccable/reference/distill.md +111 -0
- package/skills/impeccable/reference/doctor.md +53 -0
- package/skills/impeccable/reference/document.md +416 -0
- package/skills/impeccable/reference/extract.md +69 -0
- package/skills/impeccable/reference/harden.md +336 -0
- package/skills/impeccable/reference/hooks.md +105 -0
- package/skills/impeccable/reference/init.md +125 -0
- package/skills/impeccable/reference/ios.md +45 -0
- package/skills/impeccable/reference/layout.md +84 -0
- package/skills/impeccable/reference/live-setup.md +102 -0
- package/skills/impeccable/reference/live.md +323 -0
- package/skills/impeccable/reference/new-work.md +110 -0
- package/skills/impeccable/reference/onboard.md +234 -0
- package/skills/impeccable/reference/operate.md +61 -0
- package/skills/impeccable/reference/optimize.md +258 -0
- package/skills/impeccable/reference/overdrive.md +127 -0
- package/skills/impeccable/reference/polish.md +97 -0
- package/skills/impeccable/reference/quieter.md +99 -0
- package/skills/impeccable/reference/routing.md +18 -0
- package/skills/impeccable/reference/shape.md +59 -0
- package/skills/impeccable/reference/typeset.md +80 -0
- package/skills/impeccable/reference/visualize.md +49 -0
- package/skills/impeccable/scripts/command-metadata.json +94 -0
- package/skills/impeccable/scripts/concept-seed.mjs +558 -0
- package/skills/impeccable/scripts/context-signals.mjs +334 -0
- package/skills/impeccable/scripts/context.mjs +1467 -0
- package/skills/impeccable/scripts/critique-storage.mjs +213 -0
- package/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/skills/impeccable/scripts/detect.mjs +21 -0
- package/skills/impeccable/scripts/detector/browser/injected/index.mjs +2023 -0
- package/skills/impeccable/scripts/detector/cli/main.mjs +438 -0
- package/skills/impeccable/scripts/detector/design-system.mjs +1046 -0
- package/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +8283 -0
- package/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
- package/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +372 -0
- package/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +1168 -0
- package/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1186 -0
- package/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +264 -0
- package/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/skills/impeccable/scripts/detector/findings.mjs +18 -0
- package/skills/impeccable/scripts/detector/node/file-system.mjs +203 -0
- package/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/skills/impeccable/scripts/detector/registry/antipatterns.mjs +617 -0
- package/skills/impeccable/scripts/detector/rules/checks.mjs +5580 -0
- package/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/skills/impeccable/scripts/detector/shared/constants.mjs +112 -0
- package/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
- package/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/skills/impeccable/scripts/doctor.mjs +336 -0
- package/skills/impeccable/scripts/embed-prompt.mjs +133 -0
- package/skills/impeccable/scripts/generate-image.mjs +240 -0
- package/skills/impeccable/scripts/hook-admin.mjs +801 -0
- package/skills/impeccable/scripts/hook-before-edit.mjs +508 -0
- package/skills/impeccable/scripts/hook-lib.mjs +2153 -0
- package/skills/impeccable/scripts/hook.mjs +78 -0
- package/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
- package/skills/impeccable/scripts/lib/composition-catalog.mjs +200 -0
- package/skills/impeccable/scripts/lib/concept-catalog.mjs +384 -0
- package/skills/impeccable/scripts/lib/design-parser.mjs +925 -0
- package/skills/impeccable/scripts/lib/impeccable-config.mjs +658 -0
- package/skills/impeccable/scripts/lib/impeccable-paths.mjs +137 -0
- package/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
- package/skills/impeccable/scripts/lib/provider.mjs +5 -0
- package/skills/impeccable/scripts/lib/roll-selection.mjs +362 -0
- package/skills/impeccable/scripts/lib/staleness-deep.mjs +478 -0
- package/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
- package/skills/impeccable/scripts/lib/staleness.mjs +457 -0
- package/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
- package/skills/impeccable/scripts/lib/target-args.mjs +42 -0
- package/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
- package/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
- package/skills/impeccable/scripts/live/accept-css.mjs +617 -0
- package/skills/impeccable/scripts/live/accept-verify.mjs +60 -0
- package/skills/impeccable/scripts/live/browser-script-parts.mjs +55 -0
- package/skills/impeccable/scripts/live/completion.mjs +28 -0
- package/skills/impeccable/scripts/live/event-validation.mjs +199 -0
- package/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
- package/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +73 -0
- package/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
- package/skills/impeccable/scripts/live/frameworks/journal.mjs +197 -0
- package/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
- package/skills/impeccable/scripts/live/frameworks/nuxt.mjs +161 -0
- package/skills/impeccable/scripts/live/frameworks/script-src.mjs +17 -0
- package/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
- package/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
- package/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
- package/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
- package/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
- package/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
- package/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
- package/skills/impeccable/scripts/live/instructions.mjs +142 -0
- package/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
- package/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
- package/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
- package/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
- package/skills/impeccable/scripts/live/roots.mjs +508 -0
- package/skills/impeccable/scripts/live/session-store.mjs +563 -0
- package/skills/impeccable/scripts/live/source-lock.mjs +105 -0
- package/skills/impeccable/scripts/live/source-search.mjs +105 -0
- package/skills/impeccable/scripts/live/svelte-ast.mjs +961 -0
- package/skills/impeccable/scripts/live/svelte-component.mjs +1342 -0
- package/skills/impeccable/scripts/live/sveltekit-adapter.mjs +316 -0
- package/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
- package/skills/impeccable/scripts/live/ui-core.mjs +180 -0
- package/skills/impeccable/scripts/live/vocabulary.mjs +171 -0
- package/skills/impeccable/scripts/live-accept.mjs +954 -0
- package/skills/impeccable/scripts/live-browser-dom.js +146 -0
- package/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/skills/impeccable/scripts/live-browser.js +12520 -0
- package/skills/impeccable/scripts/live-commit-manual-edits.mjs +1244 -0
- package/skills/impeccable/scripts/live-complete.mjs +107 -0
- package/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
- package/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
- package/skills/impeccable/scripts/live-inject.mjs +503 -0
- package/skills/impeccable/scripts/live-insert.mjs +292 -0
- package/skills/impeccable/scripts/live-manual-edit-evidence.mjs +368 -0
- package/skills/impeccable/scripts/live-poll.mjs +429 -0
- package/skills/impeccable/scripts/live-resume.mjs +123 -0
- package/skills/impeccable/scripts/live-server.mjs +1669 -0
- package/skills/impeccable/scripts/live-status.mjs +71 -0
- package/skills/impeccable/scripts/live-target.mjs +30 -0
- package/skills/impeccable/scripts/live-wrap.mjs +927 -0
- package/skills/impeccable/scripts/live.mjs +359 -0
- package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/skills/impeccable/scripts/palette.mjs +628 -0
- package/skills/impeccable/scripts/pin.mjs +221 -0
- package/skills/impeccable/scripts/serve-question.mjs +932 -0
- package/skills/impeccable/scripts/surface-brief.mjs +74 -0
- package/skills/inkstone-admin/SKILL.md +66 -0
- package/skills/jev-hook-gate/SKILL.md +111 -0
- package/skills/keyword-research/SKILL.md +503 -0
- package/skills/keyword-research/references/dr-cap-and-confidence.md +62 -0
- package/skills/keyword-research/references/keyword-examples.md +769 -0
- package/skills/landing-page-architect/SKILL.md +585 -0
- package/skills/landing-page-architect/references/architecture-reference.md +32 -0
- package/skills/launch-strategy/SKILL.md +384 -0
- package/skills/launch-strategy/evals/evals.json +91 -0
- package/skills/launch-strategy/references/launch-checklist.md +209 -0
- package/skills/launch-strategy/references/launch-timeline.md +159 -0
- package/skills/lead-email-craft/SKILL.md +522 -0
- package/skills/lead-magnets/SKILL.md +310 -0
- package/skills/lead-magnets/references/benchmarks.md +129 -0
- package/skills/lead-magnets/references/format-guide.md +196 -0
- package/skills/link-building-seo/SKILL.md +210 -0
- package/skills/lint-report.txt +1 -0
- package/skills/manifest.json +129 -0
- package/skills/marketing-demo/SKILL.md +249 -0
- package/skills/marketing-demo/references/remotion-examples.md +281 -0
- package/skills/marketing-ideas/SKILL.md +167 -0
- package/skills/marketing-ideas/evals/evals.json +90 -0
- package/skills/marketing-ideas/references/ideas-by-category.md +366 -0
- package/skills/marketing-psychology/SKILL.md +374 -0
- package/skills/marketing-psychology/evals/evals.json +88 -0
- package/skills/marketing-psychology/references/case-studies.md +148 -0
- package/skills/narrative-research-article/SKILL.md +469 -0
- package/skills/narrative-research-article/references/lanusse-patterns.md +166 -0
- package/skills/notebooklm/SKILL.md +674 -0
- package/skills/off-page-seo/SKILL.md +219 -0
- package/skills/onboarding-cro/SKILL.md +220 -0
- package/skills/onboarding-cro/evals/evals.json +92 -0
- package/skills/onboarding-cro/references/experiments.md +258 -0
- package/skills/original-research/SKILL.md +388 -0
- package/skills/page-cro/SKILL.md +269 -0
- package/skills/page-cro/references/cro-benchmarks.md +140 -0
- package/skills/paper-marketing/SKILL.md +448 -0
- package/skills/paper-marketing/references/agent-quality-rubric.md +68 -0
- package/skills/paper-marketing/references/brand-system-template.md +120 -0
- package/skills/paper-marketing/references/paper-mcp-rules.md +71 -0
- package/skills/paper-marketing/references/platform-conventions.md +43 -0
- package/skills/paywall-upgrade-cro/SKILL.md +227 -0
- package/skills/paywall-upgrade-cro/evals/evals.json +93 -0
- package/skills/paywall-upgrade-cro/references/experiments.md +164 -0
- package/skills/platform-formatting/SKILL.md +51 -0
- package/skills/popup-cro/SKILL.md +454 -0
- package/skills/popup-cro/evals/evals.json +94 -0
- package/skills/positioning-angles/SKILL.md +524 -0
- package/skills/positioning-angles/references/ad-matrix-and-examples.md +176 -0
- package/skills/positioning-angles/references/angle-frameworks.md +187 -0
- package/skills/positioning-angles/references/dunford-positioning.md +135 -0
- package/skills/positioning-angles/references/hormozi-offer.md +247 -0
- package/skills/positioning-angles/references/schwartz-sophistication.md +166 -0
- package/skills/positioning-angles/references/unique-mechanism.md +162 -0
- package/skills/pricing-strategy/SKILL.md +346 -0
- package/skills/pricing-strategy/evals/evals.json +90 -0
- package/skills/pricing-strategy/references/research-methods.md +152 -0
- package/skills/pricing-strategy/references/tier-structure.md +307 -0
- package/skills/programmatic-seo/SKILL.md +238 -0
- package/skills/programmatic-seo/evals/evals.json +94 -0
- package/skills/programmatic-seo/references/playbooks.md +308 -0
- package/skills/project-rag/SKILL.md +127 -0
- package/skills/quality-gate/SKILL.md +519 -0
- package/skills/quality-gate/judge-personas/buyer.md +47 -0
- package/skills/quality-gate/judge-personas/expert.md +47 -0
- package/skills/quality-gate/judge-personas/outsider.md +47 -0
- package/skills/quality-gate/judge-personas/scanner.md +41 -0
- package/skills/quality-gate/judge-personas/skeptic.md +40 -0
- package/skills/referral-program/SKILL.md +290 -0
- package/skills/referral-program/evals/evals.json +89 -0
- package/skills/referral-program/references/affiliate-programs.md +163 -0
- package/skills/referral-program/references/program-examples.md +143 -0
- package/skills/review-sites/SKILL.md +279 -0
- package/skills/revops/SKILL.md +343 -0
- package/skills/revops/evals/evals.json +91 -0
- package/skills/revops/references/automation-playbooks.md +290 -0
- package/skills/revops/references/lifecycle-definitions.md +278 -0
- package/skills/revops/references/routing-rules.md +203 -0
- package/skills/revops/references/scoring-models.md +247 -0
- package/skills/saas-product-seo/SKILL.md +324 -0
- package/skills/sales-enablement/SKILL.md +349 -0
- package/skills/sales-enablement/evals/evals.json +91 -0
- package/skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/skills/sales-enablement/references/demo-scripts.md +355 -0
- package/skills/sales-enablement/references/objection-library.md +270 -0
- package/skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/skills/schema-markup/SKILL.md +179 -0
- package/skills/schema-markup/evals/evals.json +87 -0
- package/skills/schema-markup/references/schema-examples.md +398 -0
- package/skills/self-improve/SKILL.md +166 -0
- package/skills/self-improving-agent/README.md +243 -0
- package/skills/self-improving-agent/SKILL.md +437 -0
- package/skills/self-improving-agent/scripts/__init__.py +16 -0
- package/skills/self-improving-agent/scripts/__pycache__/auto_detect.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/__pycache__/nlm_curation.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/__pycache__/self_improving_agent.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/auto_detect.py +270 -0
- package/skills/self-improving-agent/scripts/init_expertise_registry.py +89 -0
- package/skills/self-improving-agent/scripts/nlm_curation.py +259 -0
- package/skills/self-improving-agent/scripts/self-improving-agent +113 -0
- package/skills/self-improving-agent/scripts/self_improving_agent.py +603 -0
- package/skills/self-improving-agent/scripts/test_curation_scorer.py +20 -0
- package/skills/self-improving-agent/scripts/test_self_improving.py +184 -0
- package/skills/send-email/SKILL.md +426 -0
- package/skills/send-email/references/batch-email-examples.md +807 -0
- package/skills/send-email/references/best-practices.md +453 -0
- package/skills/send-email/references/installation.md +123 -0
- package/skills/send-email/references/single-email-examples.md +470 -0
- package/skills/send-email/references/webhooks.md +221 -0
- package/skills/seo-audit/SKILL.md +362 -0
- package/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/skills/seo-audit/references/architecture-patterns.md +271 -0
- package/skills/seo-audit/references/schema-templates.md +427 -0
- package/skills/seo-content/SKILL.md +510 -0
- package/skills/seo-content/references/anti-ai-detection.md +184 -0
- package/skills/seo-content/references/content-structures.md +148 -0
- package/skills/seo-content/references/eeat-examples.md +235 -0
- package/skills/seo-content/references/on-page-seo.md +261 -0
- package/skills/seo-content/references/pseo-playbooks.md +226 -0
- package/skills/seo-content/references/schema-templates.md +104 -0
- package/skills/seo-content/references/serp-analysis-format.md +151 -0
- package/skills/seo-machine/SKILL.md +331 -0
- package/skills/seo-machine/assets/brand-template.md +73 -0
- package/skills/seo-machine/assets/link-inventory-template.md +74 -0
- package/skills/seo-machine/assets/roadmap-template.md +184 -0
- package/skills/seo-machine/references/api-stack-recipes.md +230 -0
- package/skills/seo-machine/references/exa-recipes.md +260 -0
- package/skills/seo-machine/references/manual-research.md +73 -0
- package/skills/seo-machine/references/methodology.md +87 -0
- package/skills/seo-machine/references/off-page.md +123 -0
- package/skills/seo-machine/references/patterns/alternatives.md +176 -0
- package/skills/seo-machine/references/patterns/compare.md +105 -0
- package/skills/seo-machine/references/patterns/playbooks.md +106 -0
- package/skills/seo-machine/references/patterns/use-case.md +109 -0
- package/skills/seo-machine/references/quality-bars.md +99 -0
- package/skills/seo-machine/references/stacks/astro.md +156 -0
- package/skills/seo-machine/references/stacks/detection.md +61 -0
- package/skills/seo-machine/references/stacks/markdown-fallback.md +181 -0
- package/skills/seo-machine/references/stacks/nextjs.md +108 -0
- package/skills/seo-machine/references/stacks/rails-inertia.md +99 -0
- package/skills/seo-machine/references/striking-distance.md +116 -0
- package/skills/seo-machine/references/technical-audit.md +153 -0
- package/skills/seo-machine/scripts/link_audit.py +265 -0
- package/skills/seo-machine/scripts/tech_audit.py +221 -0
- package/skills/seo-machine/scripts/word_count.py +154 -0
- package/skills/sharp-thesis-validator/SKILL.md +393 -0
- package/skills/sharp-thesis-validator/examples.md +186 -0
- package/skills/signup-flow-cro/SKILL.md +359 -0
- package/skills/signup-flow-cro/evals/evals.json +88 -0
- package/skills/site-architecture/SKILL.md +357 -0
- package/skills/site-architecture/evals/evals.json +88 -0
- package/skills/site-architecture/references/mermaid-templates.md +216 -0
- package/skills/site-architecture/references/navigation-patterns.md +305 -0
- package/skills/site-architecture/references/site-type-templates.md +293 -0
- package/skills/skill-self-improvement/SKILL.md +151 -0
- package/skills/slideshow-script/SKILL.md +274 -0
- package/skills/slideshow-script/references/content-spec-schema.md +77 -0
- package/skills/slideshow-script/references/frameworks.md +84 -0
- package/skills/slideshow-script/references/paips-framework.md +37 -0
- package/skills/social-campaign/SKILL.md +419 -0
- package/skills/social-campaign/references/paper-mcp-workflow.md +48 -0
- package/skills/social-content/SKILL.md +359 -0
- package/skills/social-content/evals/evals.json +92 -0
- package/skills/social-content/references/platforms.md +170 -0
- package/skills/social-content/references/post-templates.md +177 -0
- package/skills/social-content/references/reverse-engineering.md +195 -0
- package/skills/social-worker/SKILL.md +204 -0
- package/skills/startup-launcher/SKILL.md +252 -0
- package/skills/startup-launcher/references/file-router.md +64 -0
- package/skills/startup-launcher/references/platform-matrix.md +65 -0
- package/skills/startup-launcher/references/platforms/alternativeto.md +283 -0
- package/skills/startup-launcher/references/platforms/appsumo.md +495 -0
- package/skills/startup-launcher/references/platforms/auraplusplus.md +736 -0
- package/skills/startup-launcher/references/platforms/betalist.md +98 -0
- package/skills/startup-launcher/references/platforms/capterra.md +276 -0
- package/skills/startup-launcher/references/platforms/crunchbase.md +514 -0
- package/skills/startup-launcher/references/platforms/dealify.md +291 -0
- package/skills/startup-launcher/references/platforms/dealmirror.md +313 -0
- package/skills/startup-launcher/references/platforms/desifounder.md +490 -0
- package/skills/startup-launcher/references/platforms/devhunt.md +210 -0
- package/skills/startup-launcher/references/platforms/devpost.md +448 -0
- package/skills/startup-launcher/references/platforms/fazier.md +56 -0
- package/skills/startup-launcher/references/platforms/firsto.md +489 -0
- package/skills/startup-launcher/references/platforms/g2.md +226 -0
- package/skills/startup-launcher/references/platforms/hackernews.md +99 -0
- package/skills/startup-launcher/references/platforms/hackernoon.md +385 -0
- package/skills/startup-launcher/references/platforms/indiedeals.md +367 -0
- package/skills/startup-launcher/references/platforms/indiehackers.md +80 -0
- package/skills/startup-launcher/references/platforms/kenmoo.md +231 -0
- package/skills/startup-launcher/references/platforms/labstartups.md +618 -0
- package/skills/startup-launcher/references/platforms/launchboard.md +307 -0
- package/skills/startup-launcher/references/platforms/launchfast.md +560 -0
- package/skills/startup-launcher/references/platforms/launchigniter.md +56 -0
- package/skills/startup-launcher/references/platforms/launchingnext.md +674 -0
- package/skills/startup-launcher/references/platforms/launchit.md +574 -0
- package/skills/startup-launcher/references/platforms/launchyourapp.md +677 -0
- package/skills/startup-launcher/references/platforms/libhunt.md +220 -0
- package/skills/startup-launcher/references/platforms/ltdhunt.md +221 -0
- package/skills/startup-launcher/references/platforms/microlaunch.md +45 -0
- package/skills/startup-launcher/references/platforms/openalternative.md +195 -0
- package/skills/startup-launcher/references/platforms/peerlist.md +56 -0
- package/skills/startup-launcher/references/platforms/peerpush.md +64 -0
- package/skills/startup-launcher/references/platforms/primeclub.md +282 -0
- package/skills/startup-launcher/references/platforms/productcanyon.md +190 -0
- package/skills/startup-launcher/references/platforms/producthunt.md +98 -0
- package/skills/startup-launcher/references/platforms/rankinpublic.md +315 -0
- package/skills/startup-launcher/references/platforms/rockethub.md +374 -0
- package/skills/startup-launcher/references/platforms/saasgenius.md +175 -0
- package/skills/startup-launcher/references/platforms/saashub.md +205 -0
- package/skills/startup-launcher/references/platforms/saasmantra.md +221 -0
- package/skills/startup-launcher/references/platforms/saaspirate.md +287 -0
- package/skills/startup-launcher/references/platforms/saaswarrior.md +190 -0
- package/skills/startup-launcher/references/platforms/saaszilla.md +194 -0
- package/skills/startup-launcher/references/platforms/selected.md +925 -0
- package/skills/startup-launcher/references/platforms/sideprojectors.md +86 -0
- package/skills/startup-launcher/references/platforms/softonic.md +240 -0
- package/skills/startup-launcher/references/platforms/sourceforge.md +251 -0
- package/skills/startup-launcher/references/platforms/stacksocial.md +244 -0
- package/skills/startup-launcher/references/platforms/startupstash.md +326 -0
- package/skills/startup-launcher/references/platforms/theresanaiforthat.md +253 -0
- package/skills/startup-launcher/references/platforms/tinylaunch.md +70 -0
- package/skills/startup-launcher/references/platforms/tinystartups.md +72 -0
- package/skills/startup-launcher/references/platforms/toolfolio.md +291 -0
- package/skills/startup-launcher/references/platforms/trustmrr.md +194 -0
- package/skills/startup-launcher/references/platforms/trylaunch.md +531 -0
- package/skills/startup-launcher/references/platforms/uneed.md +57 -0
- package/skills/startup-launcher/references/templates/asset-checklist.md +218 -0
- package/skills/startup-launcher/references/templates/launch-tracker.md +195 -0
- package/skills/startup-launcher/references/templates/product-brief.md +98 -0
- package/skills/summarize/.skill-meta.json +13 -0
- package/skills/summarize/SKILL.md +170 -0
- package/skills/summarize/rules/install.md +157 -0
- package/skills/summarize/rules/usage.md +207 -0
- package/skills/topical-authority/SKILL.md +307 -0
- package/skills/topical-authority/references/jake-ward-framework.md +201 -0
- package/skills/topical-authority/references/serp-clustering-algorithm.md +325 -0
- package/skills/topical-authority/scripts/orchestrator.js +367 -0
- package/skills/topical-authority/scripts/seo/analyze-competitor-coverage.js +3 -0
- package/skills/topical-authority/scripts/seo/audit-internal-links.js +3 -0
- package/skills/topical-authority/scripts/seo/build-clusters-from-serp.js +3 -0
- package/skills/topical-authority/scripts/seo/extract-keywords-from-forums.js +3 -0
- package/skills/topical-authority/scripts/seo/extract-paa-questions.js +3 -0
- package/skills/topical-authority/scripts/seo/fetch-serp-urls.js +3 -0
- package/skills/topical-authority/scripts/seo/gemini-serp-clustering.js +3 -0
- package/skills/topical-authority/scripts/seo/identify-content-gaps.js +3 -0
- package/skills/topical-authority/scripts/seo/identify-research-gaps.js +3 -0
- package/skills/topical-authority/scripts/seo/scrape-quora-questions.js +3 -0
- package/skills/topical-authority/scripts/seo/scrape-reddit-pain-points.js +3 -0
- package/skills/topical-authority/scripts/seo/weave-internal-links.js +3 -0
- package/skills/visual-style/SKILL.md +199 -0
- package/skills/voice-brand-alignment/SKILL.md +70 -0
- package/skills/voice-brand-alignment/references/ai-slop-patterns.md +405 -0
- package/skills/voice-brand-alignment/scripts/validation/gemini-voice-validator.js +96 -0
- package/skills/voice-extraction/SKILL.md +234 -0
- package/skills/voice-extraction/references/extraction-prompt.md +155 -0
- package/skills/voice-extraction/references/voice-dna-template.md +168 -0
- package/skills/voice-extraction/references/voice-elements.md +259 -0
- package/skills/voice-extraction/scripts/build-corpus.js +120 -0
- package/skills/voice-extraction/scripts/collect-sources.sh +168 -0
- package/skills/warm-outbound/SKILL.md +299 -0
- package/skills/warm-outbound/templates/warm-message.md +39 -0
- package/skills/weekly-newsletter-digest/SKILL.md +78 -0
- package/skills/x-playwriter/SKILL.md +428 -0
- package/skills/x-playwriter/scripts/x-browser.js +185 -0
- package/skills/x-post-generator-openclaw/SKILL.md +138 -0
- package/skills/x-post-generator-openclaw/scripts/generate-x-post.js +537 -0
- package/skills/x-posting-playwriter/SKILL.md +203 -0
- package/skills/x-research/SKILL.md +129 -0
- package/skills/x-research/x-research.sh +85 -0
- package/skills/youtube-summarize/SKILL.md +90 -0
- package/skills/youtube-summarize/scripts/youtube-summarize.sh +143 -0
- package/src/cli.js +347 -172
- package/src/harness/deepseek-adapter.js +102 -0
- package/src/harness/deepseek.js +225 -0
- package/src/harness/opencode-adapter.js +174 -0
- package/src/harness/pi-adapter.js +172 -0
- package/src/harness/registry.js +121 -0
- package/src/harness/telemetry.js +102 -0
- package/src/harness/types.js +165 -0
- package/src/interview.js +36 -4
- package/src/postinstall.js +10 -12
- package/templates/AGENTS.md +17 -17
- package/templates/ORG.md +1 -1
- package/templates/TOOLS.md +7 -2
- package/templates/opencode.json +26 -29
- package/wiki/doctor.md +54 -0
- package/wiki/inkstone.md +4 -4
- package/wiki/opencode.md +3 -3
- package/skills/curated.txt +0 -68
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: copywriting
|
|
3
|
+
description: Write marketing copy for websites, landing pages, and product pages.
|
|
4
|
+
depends-on:
|
|
5
|
+
- hook-generator
|
|
6
|
+
metadata:
|
|
7
|
+
version: 1.2.0
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Copywriting
|
|
11
|
+
|
|
12
|
+
You are an expert conversion copywriter. Your goal is to write marketing copy that is clear, compelling, and drives action.
|
|
13
|
+
|
|
14
|
+
## Before Writing
|
|
15
|
+
|
|
16
|
+
**Check for brand-specific assets in businesses/{business}/brand/ first:**
|
|
17
|
+
If `businesses/{business}/brand/` exists (or `businesses/{business}/brand/` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
|
|
18
|
+
|
|
19
|
+
Gather this context (ask if not provided):
|
|
20
|
+
|
|
21
|
+
### 1. Page Purpose
|
|
22
|
+
- What type of page? (homepage, landing page, pricing, feature, about)
|
|
23
|
+
- What is the ONE primary action you want visitors to take?
|
|
24
|
+
|
|
25
|
+
### 2. Audience
|
|
26
|
+
- Who is the ideal customer?
|
|
27
|
+
- What problem are they trying to solve?
|
|
28
|
+
- What objections or hesitations do they have?
|
|
29
|
+
- What language do they use to describe their problem?
|
|
30
|
+
|
|
31
|
+
### 3. Product/Offer
|
|
32
|
+
- What are you selling or offering?
|
|
33
|
+
- What makes it different from alternatives?
|
|
34
|
+
- What's the key transformation or outcome?
|
|
35
|
+
- Any proof points (numbers, testimonials, case studies)?
|
|
36
|
+
|
|
37
|
+
### 4. Context
|
|
38
|
+
- Where is traffic coming from? (ads, organic, email)
|
|
39
|
+
- What do visitors already know before arriving?
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Awareness Gate (MANDATORY)
|
|
44
|
+
|
|
45
|
+
Before any copy work, determine the target audience's awareness level:
|
|
46
|
+
|
|
47
|
+
1. **Can you determine awareness level from the prompt/context?**
|
|
48
|
+
- For SEO: keyword intent maps to awareness level
|
|
49
|
+
- Informational ("how to fix X") → Problem-aware
|
|
50
|
+
- Comparative ("X vs Y") → Solution-aware
|
|
51
|
+
- Branded ("your product") → Product-aware
|
|
52
|
+
- Transactional ("buy X") → Most-aware
|
|
53
|
+
- For social: content topic + audience → awareness level
|
|
54
|
+
- For email: subscriber stage → awareness level
|
|
55
|
+
|
|
56
|
+
2. **If YES** → Proceed with awareness-matched strategy
|
|
57
|
+
- Load `references/awareness-level-guide.md`
|
|
58
|
+
- Select copy framework based on awareness level
|
|
59
|
+
|
|
60
|
+
3. **If NO** → ASK THE USER before proceeding:
|
|
61
|
+
"What awareness level is your target audience at?"
|
|
62
|
+
- Unaware — doesn't know they have a problem
|
|
63
|
+
- Problem-aware — knows the problem, doesn't know solutions exist
|
|
64
|
+
- Solution-aware — knows solutions exist, doesn't know your product
|
|
65
|
+
- Product-aware — knows your product, not convinced it's right
|
|
66
|
+
- Most-aware — ready to buy, just needs the offer
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Copywriting Principles
|
|
71
|
+
|
|
72
|
+
### Clarity Over Cleverness
|
|
73
|
+
If you have to choose between clear and creative, choose clear.
|
|
74
|
+
|
|
75
|
+
### Benefits Over Features
|
|
76
|
+
Features: What it does. Benefits: What that means for the customer.
|
|
77
|
+
|
|
78
|
+
### Specificity Over Vagueness
|
|
79
|
+
- Vague: "Save time on your workflow"
|
|
80
|
+
- Specific: "Cut your weekly reporting from 4 hours to 15 minutes"
|
|
81
|
+
|
|
82
|
+
### Customer Language Over Company Language
|
|
83
|
+
Use words your customers use. Mirror voice-of-customer from reviews, interviews, support tickets.
|
|
84
|
+
|
|
85
|
+
### One Idea Per Section
|
|
86
|
+
Each section should advance one argument. Build a logical flow down the page.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Writing Style Rules
|
|
91
|
+
|
|
92
|
+
### Core Principles
|
|
93
|
+
|
|
94
|
+
1. **Simple over complex** — "Use" not "utilize," "help" not "facilitate"
|
|
95
|
+
2. **Specific over vague** — Avoid "streamline," "optimize," "innovative"
|
|
96
|
+
3. **Active over passive** — "We generate reports" not "Reports are generated"
|
|
97
|
+
4. **Confident over qualified** — Remove "almost," "very," "really"
|
|
98
|
+
5. **Show over tell** — Describe the outcome instead of using adverbs
|
|
99
|
+
6. **Honest over sensational** — Fabricated statistics or testimonials erode trust and create legal liability
|
|
100
|
+
|
|
101
|
+
### Quick Quality Check
|
|
102
|
+
|
|
103
|
+
- Jargon that could confuse outsiders?
|
|
104
|
+
- Sentences trying to do too much?
|
|
105
|
+
- Passive voice constructions?
|
|
106
|
+
- Exclamation points? (remove them)
|
|
107
|
+
- Marketing buzzwords without substance?
|
|
108
|
+
|
|
109
|
+
For thorough line-by-line review, use the **copy-editing** skill after your draft.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Best Practices
|
|
114
|
+
|
|
115
|
+
### Be Direct
|
|
116
|
+
Get to the point. Don't bury the value in qualifications.
|
|
117
|
+
|
|
118
|
+
❌ Slack lets you share files instantly, from documents to images, directly in your conversations
|
|
119
|
+
|
|
120
|
+
✅ Need to share a screenshot? Send as many documents, images, and audio files as your heart desires.
|
|
121
|
+
|
|
122
|
+
### Use Rhetorical Questions
|
|
123
|
+
Questions engage readers and make them think about their own situation.
|
|
124
|
+
- "Hate returning stuff to Amazon?"
|
|
125
|
+
- "Tired of chasing approvals?"
|
|
126
|
+
|
|
127
|
+
### Use Analogies When Helpful
|
|
128
|
+
Analogies make abstract concepts concrete and memorable.
|
|
129
|
+
|
|
130
|
+
### Pepper in Humor (When Appropriate)
|
|
131
|
+
Puns and wit make copy memorable—but only if it fits the brand and doesn't undermine clarity.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Page Structure Framework
|
|
136
|
+
|
|
137
|
+
### Above the Fold
|
|
138
|
+
|
|
139
|
+
**Headline**
|
|
140
|
+
- Your single most important message
|
|
141
|
+
- Communicate core value proposition
|
|
142
|
+
- Specific > generic
|
|
143
|
+
|
|
144
|
+
**Hook-generator integration:** Spawn a hook-generator subagent for headline candidates:
|
|
145
|
+
```
|
|
146
|
+
Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
|
|
147
|
+
Context:
|
|
148
|
+
- WHO: <audience from brief>
|
|
149
|
+
- WHAT/WHY: <core value proposition>
|
|
150
|
+
- Knife: <primary pain point>
|
|
151
|
+
- Platform: <web / email / social — map from page type>
|
|
152
|
+
- Brand: <brand name>
|
|
153
|
+
- Target Score: 85
|
|
154
|
+
Return ONLY this JSON array: [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
|
|
155
|
+
```
|
|
156
|
+
Use scored hooks as headline candidates. If subagent fails, fall back to the example formulas below.
|
|
157
|
+
|
|
158
|
+
**Example formulas (fallback):**
|
|
159
|
+
- "{Achieve outcome} without {pain point}"
|
|
160
|
+
- "The {category} for {audience}"
|
|
161
|
+
- "Never {unpleasant event} again"
|
|
162
|
+
- "{Question highlighting main pain point}"
|
|
163
|
+
|
|
164
|
+
**For comprehensive headline formulas**: See [references/copy-frameworks.md](references/copy-frameworks.md)
|
|
165
|
+
|
|
166
|
+
**For natural transition phrases**: See [references/natural-transitions.md](references/natural-transitions.md)
|
|
167
|
+
|
|
168
|
+
**Subheadline**
|
|
169
|
+
- Expands on headline
|
|
170
|
+
- Adds specificity
|
|
171
|
+
- 1-2 sentences max
|
|
172
|
+
|
|
173
|
+
**Primary CTA**
|
|
174
|
+
- Action-oriented button text
|
|
175
|
+
- Communicate what they get: "Start Free Trial" > "Sign Up"
|
|
176
|
+
|
|
177
|
+
### Core Sections
|
|
178
|
+
|
|
179
|
+
| Section | Purpose |
|
|
180
|
+
|---------|---------|
|
|
181
|
+
| Social Proof | Build credibility (logos, stats, testimonials) |
|
|
182
|
+
| Problem/Pain | Show you understand their situation |
|
|
183
|
+
| Solution/Benefits | Connect to outcomes (3-5 key benefits) |
|
|
184
|
+
| How It Works | Reduce perceived complexity (3-4 steps) |
|
|
185
|
+
| Objection Handling | FAQ, comparisons, guarantees |
|
|
186
|
+
| Final CTA | Recap value, repeat CTA, risk reversal |
|
|
187
|
+
|
|
188
|
+
**For detailed section types and page templates**: See [references/copy-frameworks.md](references/copy-frameworks.md)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## CTA Copy Guidelines
|
|
193
|
+
|
|
194
|
+
**Weak CTAs (avoid):**
|
|
195
|
+
- Submit, Sign Up, Learn More, Click Here, Get Started
|
|
196
|
+
|
|
197
|
+
**Strong CTAs (use):**
|
|
198
|
+
- Start Free Trial
|
|
199
|
+
- Get [Specific Thing]
|
|
200
|
+
- See [Product] in Action
|
|
201
|
+
- Create Your First [Thing]
|
|
202
|
+
- Download the Guide
|
|
203
|
+
|
|
204
|
+
**Formula:** [Action Verb] + [What They Get] + [Qualifier if needed]
|
|
205
|
+
|
|
206
|
+
Examples:
|
|
207
|
+
- "Start My Free Trial"
|
|
208
|
+
- "Get the Complete Checklist"
|
|
209
|
+
- "See Pricing for My Team"
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Page-Specific Guidance
|
|
214
|
+
|
|
215
|
+
### Homepage
|
|
216
|
+
- Serve multiple audiences without being generic
|
|
217
|
+
- Lead with broadest value proposition
|
|
218
|
+
- Provide clear paths for different visitor intents
|
|
219
|
+
|
|
220
|
+
### Landing Page
|
|
221
|
+
- Single message, single CTA
|
|
222
|
+
- Match headline to ad/traffic source
|
|
223
|
+
- Complete argument on one page
|
|
224
|
+
|
|
225
|
+
### Pricing Page
|
|
226
|
+
- Help visitors choose the right plan
|
|
227
|
+
- Address "which is right for me?" anxiety
|
|
228
|
+
- Make recommended plan obvious
|
|
229
|
+
|
|
230
|
+
### Feature Page
|
|
231
|
+
- Connect feature → benefit → outcome
|
|
232
|
+
- Show use cases and examples
|
|
233
|
+
- Clear path to try or buy
|
|
234
|
+
|
|
235
|
+
### About Page
|
|
236
|
+
- Tell the story of why you exist
|
|
237
|
+
- Connect mission to customer benefit
|
|
238
|
+
- Still include a CTA
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Voice and Tone
|
|
243
|
+
|
|
244
|
+
Before writing, establish:
|
|
245
|
+
|
|
246
|
+
**Formality level:**
|
|
247
|
+
- Casual/conversational
|
|
248
|
+
- Professional but friendly
|
|
249
|
+
- Formal/enterprise
|
|
250
|
+
|
|
251
|
+
**Brand personality:**
|
|
252
|
+
- Playful or serious?
|
|
253
|
+
- Bold or understated?
|
|
254
|
+
- Technical or accessible?
|
|
255
|
+
|
|
256
|
+
Maintain consistency, but adjust intensity:
|
|
257
|
+
- Headlines can be bolder
|
|
258
|
+
- Body copy should be clearer
|
|
259
|
+
- CTAs should be action-oriented
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Output Format
|
|
264
|
+
|
|
265
|
+
When writing copy, provide:
|
|
266
|
+
|
|
267
|
+
### Page Copy
|
|
268
|
+
Organized by section:
|
|
269
|
+
- Headline, Subheadline, CTA
|
|
270
|
+
- Section headers and body copy
|
|
271
|
+
- Secondary CTAs
|
|
272
|
+
|
|
273
|
+
### Annotations
|
|
274
|
+
For key elements, explain:
|
|
275
|
+
- Why you made this choice
|
|
276
|
+
- What principle it applies
|
|
277
|
+
|
|
278
|
+
### Alternatives
|
|
279
|
+
For headlines and CTAs, provide 2-3 options:
|
|
280
|
+
- Option A: [copy] — [rationale]
|
|
281
|
+
- Option B: [copy] — [rationale]
|
|
282
|
+
|
|
283
|
+
### Meta Content (if relevant)
|
|
284
|
+
- Page title (for SEO)
|
|
285
|
+
- Meta description
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Related Skills
|
|
290
|
+
|
|
291
|
+
- **copy-editing**: For polishing existing copy (use after your draft)
|
|
292
|
+
- **page-cro**: If page structure/strategy needs work, not just copy
|
|
293
|
+
- **email-sequence**: For email copywriting
|
|
294
|
+
- **popup-cro**: For popup and modal copy
|
|
295
|
+
- **ab-test-setup**: To test copy variations
|
|
296
|
+
- **quality-gate**: For scoring drafts (standard + tournament mode with 5 parallel judges)
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## STEP N: Copywriting Tournament (RECOMMENDED for headlines & CTAs)
|
|
301
|
+
|
|
302
|
+
For high-impact elements (headlines, hero sections, CTAs), run a tournament to find the best variant:
|
|
303
|
+
|
|
304
|
+
1. Generate 3-5 variants of the key copy element (different angles, formulas, or approaches)
|
|
305
|
+
2. Save each variant to a tournament directory:
|
|
306
|
+
- `content/tournaments/{slug}/variant-1.md`
|
|
307
|
+
- `content/tournaments/{slug}/variant-2.md`
|
|
308
|
+
- ... up to variant-{N}.md
|
|
309
|
+
3. Spawn 5 PARALLEL `build` subagents using the Task tool (one per judge persona):
|
|
310
|
+
- Each gets the judge subagent prompt from `Skill: quality-gate` tournament section
|
|
311
|
+
- persona_file paths:
|
|
312
|
+
- `~/.claude/skills/quality-gate/judge-personas/skeptic.md`
|
|
313
|
+
- `~/.claude/skills/quality-gate/judge-personas/scanner.md`
|
|
314
|
+
- `~/.claude/skills/quality-gate/judge-personas/buyer.md`
|
|
315
|
+
- `~/.claude/skills/quality-gate/judge-personas/expert.md`
|
|
316
|
+
- `~/.claude/skills/quality-gate/judge-personas/outsider.md`
|
|
317
|
+
- Each gets: tournament_dir, variant_count, mode=`copy`, original_prompt
|
|
318
|
+
4. Collect all 5 JSON results
|
|
319
|
+
5. Aggregate: sum weighted_avg across judges per variant → rank → pick winner
|
|
320
|
+
6. Apply recommended_edits from aggregation to the winner
|
|
321
|
+
7. Save the edited winner as the draft file
|
|
322
|
+
8. Proceed to standard quality-gate below with the winner
|
|
323
|
+
|
|
324
|
+
**When to tournament:** Headlines, hero copy, CTAs, value propositions. Skip for body copy where clarity matters more than persuasion.
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## FINAL STEP: Quality Gate (MANDATORY — DO NOT SKIP)
|
|
329
|
+
|
|
330
|
+
Before presenting ANY draft to Jairo, run the quality gate:
|
|
331
|
+
|
|
332
|
+
1. Save your complete draft to a file (e.g., `content/drafts/{slug}.md` or a temp file)
|
|
333
|
+
2. Spawn a `build` subagent using the Task tool with the quality-gate prompt from `Skill: quality-gate`
|
|
334
|
+
3. Pass these inputs to the subagent:
|
|
335
|
+
- **draft_path**: absolute path to the saved draft
|
|
336
|
+
- **mode**: `copy`
|
|
337
|
+
- **original_prompt**: the writing prompt that started this task
|
|
338
|
+
- **attempt**: current attempt number (start at 1)
|
|
339
|
+
4. Parse the JSON result from the subagent
|
|
340
|
+
5. If FAIL and attempt < 3:
|
|
341
|
+
- Rewrite the draft addressing the specific `rewrite_instructions` from the quality gate
|
|
342
|
+
- Save the new draft (overwrite or new file)
|
|
343
|
+
- Spawn another subagent with attempt + 1
|
|
344
|
+
6. If FAIL and attempt = 3:
|
|
345
|
+
- Present to Jairo with all score reports attached
|
|
346
|
+
- Say: "Couldn't pass quality gate after 3 attempts. Here's what's wrong and what I tried to fix."
|
|
347
|
+
7. If PASS:
|
|
348
|
+
- Present to Jairo as normal (do NOT show scores — they're internal)
|
|
349
|
+
8. NEVER present a draft that hasn't passed quality gate (except after 3 failed attempts)
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "copywriting",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Write homepage copy for a SaaS tool that automates employee onboarding. Target audience is HR directors at mid-size companies (200-2000 employees). Main differentiator is that it integrates with all major HRIS systems and cuts onboarding time from 2 weeks to 2 days.",
|
|
7
|
+
"expected_output": "Should check for product-marketing-context.md first. Should write full page copy organized by section: Headline, Subheadline, CTA (above the fold), then Social Proof, Problem/Pain, Solution/Benefits, How It Works, Objection Handling, and Final CTA. Should follow copywriting principles: clarity over cleverness, benefits over features, specificity (use the '2 weeks to 2 days' stat), customer language. Headline should communicate core value proposition. CTAs should be action-oriented ('Start Free Trial' not 'Submit'). Should provide 2-3 headline alternatives with rationale. Should include annotations explaining key copy choices. Should include meta content (SEO page title and meta description).",
|
|
8
|
+
"assertions": [
|
|
9
|
+
"Checks for product-marketing-context.md",
|
|
10
|
+
"Writes full page copy organized by section",
|
|
11
|
+
"Includes Headline, Subheadline, and CTA above the fold",
|
|
12
|
+
"Includes Social Proof, Problem/Pain, Solution/Benefits, How It Works sections",
|
|
13
|
+
"Uses the '2 weeks to 2 days' specificity in copy",
|
|
14
|
+
"CTAs are action-oriented, not generic",
|
|
15
|
+
"Provides 2-3 headline alternatives with rationale",
|
|
16
|
+
"Includes annotations explaining copy choices",
|
|
17
|
+
"Includes meta content (SEO title and meta description)"
|
|
18
|
+
],
|
|
19
|
+
"files": []
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": 2,
|
|
23
|
+
"prompt": "Rewrite this headline: 'An Innovative AI-Powered Platform for Streamlined Business Operations' — it's for a B2B SaaS tool that helps small businesses manage invoicing and payments.",
|
|
24
|
+
"expected_output": "Should identify problems: jargon ('innovative,' 'AI-powered,' 'streamlined,' 'business operations'), too vague, company language not customer language. Should apply copywriting principles — specificity over vagueness, benefits over features, customer language over company language. Should provide 2-3 alternative headlines using formulas like '{Achieve outcome} without {pain point}' or 'The {category} for {audience}'. Each alternative should include rationale. Should also suggest a subheadline that adds specificity.",
|
|
25
|
+
"assertions": [
|
|
26
|
+
"Identifies jargon in original headline",
|
|
27
|
+
"Identifies vagueness as a problem",
|
|
28
|
+
"Identifies company language vs customer language issue",
|
|
29
|
+
"Provides 2-3 alternative headlines",
|
|
30
|
+
"Alternatives use headline formulas from the skill",
|
|
31
|
+
"Each alternative includes rationale",
|
|
32
|
+
"Suggests a subheadline"
|
|
33
|
+
],
|
|
34
|
+
"files": []
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": 3,
|
|
38
|
+
"prompt": "i need copy for my pricing page. we have three plans: starter ($29/mo), pro ($79/mo), business ($199/mo). it's a social media scheduling tool for marketers",
|
|
39
|
+
"expected_output": "Should trigger on the casual phrasing. Should ask or infer audience context. Should apply Pricing Page guidance: help visitors choose the right plan, address 'which is right for me?' anxiety, make recommended plan obvious. Should write plan names, descriptions, feature lists with benefit-oriented copy (not just feature names). Should include a page headline that addresses the pricing decision. CTAs should be specific per plan. Should handle objection handling (FAQ copy). Should provide alternatives for key elements.",
|
|
40
|
+
"assertions": [
|
|
41
|
+
"Triggers on casual phrasing",
|
|
42
|
+
"Applies Pricing Page guidance",
|
|
43
|
+
"Addresses 'which plan is right for me' anxiety",
|
|
44
|
+
"Makes recommended plan obvious",
|
|
45
|
+
"Writes benefit-oriented feature copy, not just feature names",
|
|
46
|
+
"Includes page headline",
|
|
47
|
+
"CTAs are specific per plan",
|
|
48
|
+
"Includes FAQ or objection handling copy",
|
|
49
|
+
"Provides alternatives for key elements"
|
|
50
|
+
],
|
|
51
|
+
"files": []
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": 4,
|
|
55
|
+
"prompt": "Write copy for our About page. We're a 3-person startup that built a developer tool for database migrations. Founded because we kept losing data during migrations at our last jobs. Tone should be professional but human.",
|
|
56
|
+
"expected_output": "Should apply About Page guidance: tell the story of why you exist, connect mission to customer benefit, still include a CTA. Should adapt voice and tone to 'professional but human' as specified. Should tell the founder origin story authentically. Should connect the personal pain to the customer's pain. Should include a CTA even on the About page. Copy should follow style rules: active voice, confident, specific. Should NOT be overly corporate or generic.",
|
|
57
|
+
"assertions": [
|
|
58
|
+
"Applies About Page guidance",
|
|
59
|
+
"Tells the story of why the company exists",
|
|
60
|
+
"Connects mission to customer benefit",
|
|
61
|
+
"Includes a CTA",
|
|
62
|
+
"Adapts tone to professional but human",
|
|
63
|
+
"Uses the founder origin story",
|
|
64
|
+
"Connects personal pain to customer pain",
|
|
65
|
+
"Uses active voice",
|
|
66
|
+
"Avoids corporate jargon"
|
|
67
|
+
],
|
|
68
|
+
"files": []
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": 5,
|
|
72
|
+
"prompt": "Can you improve this CTA? We currently have 'Learn More' on our feature page for our analytics dashboard product.",
|
|
73
|
+
"expected_output": "Should immediately identify 'Learn More' as a weak CTA per the guidelines. Should apply the CTA formula: [Action Verb] + [What They Get] + [Qualifier]. Should provide 2-3 strong alternatives like 'See the Dashboard in Action,' 'Start Your Free Trial,' or 'Explore Analytics Features.' Each alternative should include rationale and context for when it works best. Should also consider CTA hierarchy — whether this is a primary or secondary CTA, and suggest complementary CTAs if relevant.",
|
|
74
|
+
"assertions": [
|
|
75
|
+
"Identifies 'Learn More' as a weak CTA",
|
|
76
|
+
"Applies the CTA formula from the skill",
|
|
77
|
+
"Provides 2-3 strong alternatives",
|
|
78
|
+
"Each alternative includes rationale",
|
|
79
|
+
"Considers CTA hierarchy (primary vs secondary)",
|
|
80
|
+
"Suggests complementary CTAs"
|
|
81
|
+
],
|
|
82
|
+
"files": []
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": 6,
|
|
86
|
+
"prompt": "Write me a 5-email welcome sequence for new trial users of our project management tool.",
|
|
87
|
+
"expected_output": "Should recognize this is an email copywriting task, not page copywriting. Should defer to or cross-reference the email-sequence skill, which specifically handles email sequences, drip campaigns, and lifecycle emails. May provide brief general guidance but should make clear that email-sequence is the right skill for this task.",
|
|
88
|
+
"assertions": [
|
|
89
|
+
"Recognizes this as email sequence work",
|
|
90
|
+
"References or defers to email-sequence skill",
|
|
91
|
+
"Does not attempt to write a full email sequence using page copywriting patterns"
|
|
92
|
+
],
|
|
93
|
+
"files": []
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": 7,
|
|
97
|
+
"prompt": "Review this copy and tell me what's wrong: 'We are extremely excited to announce our revolutionary, cutting-edge platform that will totally transform how businesses optimize their workflows! Sign up now!!'",
|
|
98
|
+
"expected_output": "Should apply the Quick Quality Check. Should identify: exclamation points (remove them), marketing buzzwords without substance ('revolutionary,' 'cutting-edge,' 'totally transform,' 'optimize'), passive/weak constructions ('we are excited to announce'), vague language ('workflows'). Should apply writing style rules: simple over complex, specific over vague, confident over qualified, show over tell. Should rewrite the copy following these principles. Should provide 2-3 alternatives.",
|
|
99
|
+
"assertions": [
|
|
100
|
+
"Identifies exclamation point overuse",
|
|
101
|
+
"Identifies marketing buzzwords without substance",
|
|
102
|
+
"Identifies vague language",
|
|
103
|
+
"Applies writing style rules",
|
|
104
|
+
"Rewrites the copy following principles",
|
|
105
|
+
"Provides alternatives",
|
|
106
|
+
"Result is specific, clear, and jargon-free"
|
|
107
|
+
],
|
|
108
|
+
"files": []
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# Awareness Level Guide
|
|
2
|
+
|
|
3
|
+
**Single source of truth for awareness-level-matched copywriting.**
|
|
4
|
+
Every piece of marketing copy must identify the reader's awareness level before writing begins.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## The 5-Stage Awareness Ladder
|
|
9
|
+
|
|
10
|
+
| Stage | Definition | What They Know | What They Need |
|
|
11
|
+
|-------|-----------|----------------|----------------|
|
|
12
|
+
| **1. Unaware** | Doesn't know they have a problem | Nothing about the problem | Problem awareness first |
|
|
13
|
+
| **2. Problem-aware** | Knows the problem, doesn't know solutions exist | They have a pain point | Validation + solution discovery |
|
|
14
|
+
| **3. Solution-aware** | Knows solutions exist, doesn't know your product | Solutions exist in the category | Differentiation + trust |
|
|
15
|
+
| **4. Product-aware** | Knows your product, not convinced it's right | Your product exists | Proof + objection handling |
|
|
16
|
+
| **5. Most-aware** | Ready to buy, just needs the offer | Everything about your product | Price, guarantee, urgency |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Workflow: ICP → Awareness → Copy Framework
|
|
21
|
+
|
|
22
|
+
**MANDATORY ORDER:**
|
|
23
|
+
```
|
|
24
|
+
1. ICP DEFINITION (who are we talking to?)
|
|
25
|
+
↓
|
|
26
|
+
2. AWARENESS LEVEL (what do they already know?)
|
|
27
|
+
↓
|
|
28
|
+
3. COPY FRAMEWORK SELECTION (how do we approach them?)
|
|
29
|
+
↓
|
|
30
|
+
4. COPY WRITING (execute)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**You cannot assess awareness level without knowing the audience.** A developer and a non-technical buyer have different awareness levels for the same product. The ICP informs the awareness assessment.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Awareness Level Detection
|
|
38
|
+
|
|
39
|
+
### For SEO Content: Keyword Intent → Awareness Level
|
|
40
|
+
|
|
41
|
+
| Keyword Pattern | Intent | Awareness Level |
|
|
42
|
+
|-----------------|--------|-----------------|
|
|
43
|
+
| "how to fix X", "why does X happen", "what is X" | Informational | **Problem-aware** |
|
|
44
|
+
| "best X for Y", "X vs Y", "top X" | Comparative | **Solution-aware** |
|
|
45
|
+
| "your product name", "brand name", "review" | Navigational | **Product-aware** |
|
|
46
|
+
| "buy X", "discount code", "pricing", "order" | Transactional | **Most-aware** |
|
|
47
|
+
|
|
48
|
+
### For Paid Traffic: Ad Copy + Landing Page Match
|
|
49
|
+
|
|
50
|
+
| Ad Promise | Landing Page Type | Awareness Level |
|
|
51
|
+
|------------|-------------------|-----------------|
|
|
52
|
+
| "Solve your [problem]" | Advertorial funnel | **Problem-aware** |
|
|
53
|
+
| "Why [competitor] doesn't work" | Comparison page | **Solution-aware** |
|
|
54
|
+
| "Try [product] free" | Product page | **Product-aware** |
|
|
55
|
+
| "50% off today only" | Direct offer page | **Most-aware** |
|
|
56
|
+
|
|
57
|
+
### For Social Content: Topic + Audience
|
|
58
|
+
|
|
59
|
+
| Content Topic | Audience Context | Awareness Level |
|
|
60
|
+
|---------------|------------------|-----------------|
|
|
61
|
+
| Pain point stories | General audience | **Problem-aware** |
|
|
62
|
+
| Category education | Interest-based audience | **Problem/Solution-aware** |
|
|
63
|
+
| Product comparisons | Engaged followers | **Solution-aware** |
|
|
64
|
+
| Product features | Existing audience | **Product-aware** |
|
|
65
|
+
| Limited-time offers | Email subscribers | **Most-aware** |
|
|
66
|
+
|
|
67
|
+
### For Email: Subscriber Stage
|
|
68
|
+
|
|
69
|
+
| Email Type | Subscriber Stage | Awareness Level |
|
|
70
|
+
|------------|------------------|-----------------|
|
|
71
|
+
| Welcome sequence | New subscriber | **Problem-aware** |
|
|
72
|
+
| Nurture sequence | Engaged, no purchase | **Solution-aware** |
|
|
73
|
+
| Sales sequence | Product page visitors | **Product-aware** |
|
|
74
|
+
| Win-back sequence | Lapsed customers | **Most-aware** |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## The 4-Step Advertorial Funnel
|
|
79
|
+
|
|
80
|
+
**For Problem-Aware and Solution-Aware audiences.**
|
|
81
|
+
This is the Google Ads meta that works for ALL traffic sources — paid, organic, social.
|
|
82
|
+
|
|
83
|
+
### Step 1: Validate the Struggle
|
|
84
|
+
|
|
85
|
+
**Job:** Make them feel understood. Build rapport through precise pain acknowledgment.
|
|
86
|
+
|
|
87
|
+
**Copy patterns:**
|
|
88
|
+
- "You're not alone..."
|
|
89
|
+
- "If you've ever [struggle]..."
|
|
90
|
+
- "The reason you [symptom] is..."
|
|
91
|
+
- "Most people think [misconception]..."
|
|
92
|
+
- "You've tried [common solution] and it didn't work because..."
|
|
93
|
+
|
|
94
|
+
**Example:**
|
|
95
|
+
> "You wake up at 3am again. Staring at the ceiling. You've tried chamomile tea, magnesium, even those sleep podcasts. Nothing sticks. You're not broken — you're just solving the wrong problem."
|
|
96
|
+
|
|
97
|
+
### Step 2: Explain the Hidden Cause
|
|
98
|
+
|
|
99
|
+
**Job:** Create cognitive investment. Leaving means leaving with incomplete understanding.
|
|
100
|
+
|
|
101
|
+
**Copy patterns:**
|
|
102
|
+
- "What most people don't realize..."
|
|
103
|
+
- "The real cause isn't what you think..."
|
|
104
|
+
- "Here's why [common solution] doesn't work..."
|
|
105
|
+
- "The problem isn't [surface issue] — it's [root cause]..."
|
|
106
|
+
- "Scientists recently discovered..."
|
|
107
|
+
|
|
108
|
+
**Example:**
|
|
109
|
+
> "Here's what nobody tells you: your 3am wake-up isn't a sleep problem. It's a blood sugar problem. When your glucose drops at 2-3am, your body releases cortisol to compensate. That cortisol is what jolts you awake. The chamomile tea? It never had a chance against your biochemistry."
|
|
110
|
+
|
|
111
|
+
### Step 3: Introduce the Mechanism (Not the Product)
|
|
112
|
+
|
|
113
|
+
**Job:** Explain HOW the problem gets fixed at a biological or structural level. Trust transfers from author to logic.
|
|
114
|
+
|
|
115
|
+
**Copy patterns:**
|
|
116
|
+
- "Here's how it actually works at the [biological/structural] level..."
|
|
117
|
+
- "The solution isn't [surface fix], it's [root cause fix]..."
|
|
118
|
+
- "When you [mechanism action], here's what happens..."
|
|
119
|
+
- "The science behind this is simple..."
|
|
120
|
+
|
|
121
|
+
**Example:**
|
|
122
|
+
> "The fix isn't about 'relaxing more.' It's about stabilizing your blood sugar overnight. When you give your body a slow-release glucose source before bed, cortisol never spikes. Your brain stays in deep sleep instead of being yanked into light sleep. No jolt. No ceiling staring."
|
|
123
|
+
|
|
124
|
+
### Step 4: Present the Product as Best Implementation
|
|
125
|
+
|
|
126
|
+
**Job:** Show your product as the best implementation of a mechanism they already believe in.
|
|
127
|
+
|
|
128
|
+
**Copy patterns:**
|
|
129
|
+
- "The best way to [mechanism] is..."
|
|
130
|
+
- "That's why we built [product]..."
|
|
131
|
+
- "[Product] is the only [category] that [mechanism]..."
|
|
132
|
+
- "Here's how [product] makes this easy..."
|
|
133
|
+
|
|
134
|
+
**Example:**
|
|
135
|
+
> "That's why we built SleepStable. It's the only magnesium supplement with slow-release glucose beads. One capsule before bed stabilizes your blood sugar for 8 hours. No more 3am wake-ups. No more ceiling staring. Just deep, uninterrupted sleep."
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Copy Framework Selection Matrix
|
|
140
|
+
|
|
141
|
+
| Awareness Level | Recommended Frameworks | Anti-Patterns |
|
|
142
|
+
|-----------------|----------------------|---------------|
|
|
143
|
+
| **Unaware** | Story-driven, Slippery Slide, Pattern Interrupt | Don't mention product, don't assume problem knowledge |
|
|
144
|
+
| **Problem-aware** | PAS, Advertorial Funnel (Steps 1-2), Emotional storytelling | Don't skip to solution, don't pitch product |
|
|
145
|
+
| **Solution-aware** | Advertorial Funnel (Steps 2-4), Comparison, Before/After | Don't ignore competitors, don't assume brand trust |
|
|
146
|
+
| **Product-aware** | Standard landing page, Social proof, Objection handling | Don't re-explain the problem, don't skip proof |
|
|
147
|
+
| **Most-aware** | Direct offer, Urgency, Price anchor | Don't over-explain, don't waste words |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Architecture Selection by Awareness Level
|
|
152
|
+
|
|
153
|
+
### For Landing Pages
|
|
154
|
+
|
|
155
|
+
| Awareness Level | Architecture | Sections |
|
|
156
|
+
|-----------------|--------------|----------|
|
|
157
|
+
| **Unaware** | Story-first | Story → Problem → Solution → Product → CTA |
|
|
158
|
+
| **Problem-aware** | Advertorial funnel | Validate → Cause → Mechanism → Product → CTA |
|
|
159
|
+
| **Solution-aware** | Advertorial funnel | Cause → Mechanism → Product → Proof → CTA |
|
|
160
|
+
| **Product-aware** | Standard 8-section | Hero → Problem → Value Stack → Proof → Transformation → CTA |
|
|
161
|
+
| **Most-aware** | Direct offer | Hero (offer) → Price → Guarantee → CTA |
|
|
162
|
+
|
|
163
|
+
### For Blog/SEO Content
|
|
164
|
+
|
|
165
|
+
| Awareness Level | Content Approach |
|
|
166
|
+
|-----------------|------------------|
|
|
167
|
+
| **Unaware** | Educational, problem-focused, no product mention |
|
|
168
|
+
| **Problem-aware** | Problem + solution category, minimal product mention |
|
|
169
|
+
| **Solution-aware** | Comparison, "how it works", product as example |
|
|
170
|
+
| **Product-aware** | Product review, case study, demo |
|
|
171
|
+
| **Most-aware** | Pricing, discount, how to buy |
|
|
172
|
+
|
|
173
|
+
### For Social Content
|
|
174
|
+
|
|
175
|
+
| Awareness Level | Content Approach |
|
|
176
|
+
|-----------------|------------------|
|
|
177
|
+
| **Unaware** | Pattern interrupt, story, curiosity |
|
|
178
|
+
| **Problem-aware** | Pain point, relatable moment, "you're not alone" |
|
|
179
|
+
| **Solution-aware** | Category education, "did you know" |
|
|
180
|
+
| **Product-aware** | Feature highlight, proof, testimonial |
|
|
181
|
+
| **Most-aware** | Offer, urgency, CTA |
|
|
182
|
+
|
|
183
|
+
### For Email
|
|
184
|
+
|
|
185
|
+
| Awareness Level | Email Approach |
|
|
186
|
+
|-----------------|----------------|
|
|
187
|
+
| **Unaware** | Welcome, story, problem education |
|
|
188
|
+
| **Problem-aware** | Nurture, validation, solution discovery |
|
|
189
|
+
| **Solution-aware** | Comparison, differentiation, proof |
|
|
190
|
+
| **Product-aware** | Demo, case study, objection handling |
|
|
191
|
+
| **Most-aware** | Offer, discount, urgency |
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Anti-Patterns (What NOT to Do)
|
|
196
|
+
|
|
197
|
+
### DO NOT:
|
|
198
|
+
- Send problem-aware traffic to a PDP (product detail page)
|
|
199
|
+
- Pitch the product before validating the problem
|
|
200
|
+
- Skip the mechanism explanation and jump to "buy now"
|
|
201
|
+
- Assume the reader knows your brand
|
|
202
|
+
- Assume the reader knows solutions exist
|
|
203
|
+
- Use the same copy approach for all awareness levels
|
|
204
|
+
- Write product-first copy for informational keywords
|
|
205
|
+
|
|
206
|
+
### DO:
|
|
207
|
+
- Match the copy architecture to the reader's psychological position
|
|
208
|
+
- Build rapport before building trust
|
|
209
|
+
- Explain the mechanism before presenting the product
|
|
210
|
+
- Use the ICP to inform the awareness assessment
|
|
211
|
+
- Ask the user if awareness level is unclear from context
|
|
212
|
+
- Select the correct framework based on awareness level
|
|
213
|
+
- Progress through awareness levels in nurture sequences
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Quick Reference Card
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
UNAWARE → Story first, problem second, solution third
|
|
221
|
+
PROBLEM-AWARE → Validate pain, explain cause, show mechanism
|
|
222
|
+
SOLUTION-AWARE → Explain mechanism, differentiate, build trust
|
|
223
|
+
PRODUCT-AWARE → Proof, comparison, objection handling
|
|
224
|
+
MOST-AWARE → Offer, price, guarantee, CTA
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**The #1 conversion killer:** Sending problem/solution-aware traffic to a product page. This skips 3 psychological steps and kills conversion. Always match the page architecture to the reader's awareness level.
|