@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,446 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: email-sequences
|
|
3
|
+
description: "Build automated email flows that nurture, convert, and retain. Creates complete sequences for welcome, nurture, launch, re-engagement, and..."
|
|
4
|
+
category: email
|
|
5
|
+
tier: core
|
|
6
|
+
reads:
|
|
7
|
+
- brand/voice-profile.md
|
|
8
|
+
- brand/audience.md
|
|
9
|
+
- brand/positioning.md
|
|
10
|
+
writes:
|
|
11
|
+
- marketing/emails/{sequence-name}/
|
|
12
|
+
depends-on:
|
|
13
|
+
- brand-voice
|
|
14
|
+
- audience-research
|
|
15
|
+
- hook-generator
|
|
16
|
+
triggers:
|
|
17
|
+
- email sequence
|
|
18
|
+
- welcome series
|
|
19
|
+
- nurture flow
|
|
20
|
+
- launch emails
|
|
21
|
+
- drip campaign
|
|
22
|
+
- onboarding emails
|
|
23
|
+
- re-engagement
|
|
24
|
+
- email automation
|
|
25
|
+
- win-back
|
|
26
|
+
- email funnel
|
|
27
|
+
allowed-tools: []
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
> **Note:** Examples below use fictional brands (Acme, Lumi, Helm). Replace with your own brand context.
|
|
31
|
+
|
|
32
|
+
# Email Sequences
|
|
33
|
+
|
|
34
|
+
You build automated email flows that move people from stranger to customer. Each email earns the right to send the next one by delivering genuine value. No "just checking in" — every email has a job.
|
|
35
|
+
|
|
36
|
+
## On Activation
|
|
37
|
+
|
|
38
|
+
1. **Awareness Gate (MANDATORY):** Determine the subscriber's awareness level before designing the sequence. See `references/awareness-level-guide.md`. If unclear from context, ask the user.
|
|
39
|
+
2. Read `brand/voice-profile.md` — emails are the most intimate channel, voice matters most here
|
|
40
|
+
3. Read `brand/audience.md` — understand awareness level, sophistication, pain points
|
|
41
|
+
4. Read `brand/positioning.md` — know the product angle and differentiation
|
|
42
|
+
4. If brand files don't exist, ask: What do you sell? Who's receiving these? What action do you want them to take?
|
|
43
|
+
5. Check `marketing/emails/` for existing sequences — avoid overlap
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Brand Integration
|
|
48
|
+
|
|
49
|
+
Brand files shape every email in the sequence:
|
|
50
|
+
|
|
51
|
+
- **voice-profile.md** → Tone across all emails. If voice is friendly/casual, open with 'Hey {{first_name}}!' and use contractions. If professional/formal, use 'Good morning {{first_name}},' and complete sentences. Voice consistency across a 7-email sequence is what builds trust.
|
|
52
|
+
- **audience.md** → Pain points drive email hooks. Each email should reference a specific pain from the persona, not generic benefits. If audience is time-starved founders, lead with efficiency. If audience is creative professionals, lead with inspiration.
|
|
53
|
+
- **positioning.md** → The unique angle appears in every CTA and subject line. Don't sell features — sell the positioning angle consistently across all emails.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Sequence Types
|
|
58
|
+
|
|
59
|
+
| Type | Trigger | Goal | Length | Timing |
|
|
60
|
+
|------|---------|------|--------|--------|
|
|
61
|
+
| **Welcome** | New subscriber | Build trust, set expectations, deliver first value | 5-7 emails | Days 0, 1, 3, 5, 7, 10, 14 |
|
|
62
|
+
| **Nurture** | Post-welcome or lead magnet | Educate, build authority, warm up for offer | 5-10 emails | Every 2-3 days |
|
|
63
|
+
| **Launch** | Product launch or promotion | Create urgency, overcome objections, convert | 6-8 emails | Days -3, -1, 0, 0+6hr, 1, 3, 5, 7 |
|
|
64
|
+
| **Onboarding** | New customer/user | Activate, reduce churn, drive first success | 5-7 emails | Days 0, 1, 3, 5, 7, 14, 30 |
|
|
65
|
+
| **Re-engagement** | Inactive subscriber | Win back or clean list | 3-4 emails | Days 0, 3, 7, 14 |
|
|
66
|
+
|
|
67
|
+
**If the user's need doesn't fit a type above**, build a custom sequence: identify the trigger event, define the goal, pick an email count (3-7), and assign each email a single purpose from this palette: DELIVER, STORY, VALUE, PROOF, BRIDGE, PITCH, OBJECTION, CHECK-IN, BREAKUP. Space emails 2-3 days apart by default. The blueprints below are templates, not constraints — mix and match purposes to fit the situation.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Email Anatomy
|
|
72
|
+
|
|
73
|
+
Every email has these components:
|
|
74
|
+
|
|
75
|
+
```yaml
|
|
76
|
+
---
|
|
77
|
+
sequence: welcome
|
|
78
|
+
position: 1
|
|
79
|
+
subject: "Your subject line here"
|
|
80
|
+
preview: "Preview text that complements (not repeats) the subject"
|
|
81
|
+
from_name: "First Name from Company"
|
|
82
|
+
send_delay: "0 days" # relative to trigger
|
|
83
|
+
segment: all | engaged | inactive
|
|
84
|
+
personalization_tokens: ["first_name", "company"]
|
|
85
|
+
ab_test: null | { variant_b_subject: "Alternative subject" }
|
|
86
|
+
---
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Subject Lines
|
|
90
|
+
|
|
91
|
+
**The subject line gets the open. Nothing else matters if this fails.**
|
|
92
|
+
|
|
93
|
+
**Hook-generator integration:** For each email in the sequence, spawn a hook-generator subagent:
|
|
94
|
+
```
|
|
95
|
+
Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
|
|
96
|
+
Context:
|
|
97
|
+
- WHO: <audience from brand/audience.md>
|
|
98
|
+
- WHAT/WHY: <this email's core value or tease>
|
|
99
|
+
- Knife: <pain point this email addresses>
|
|
100
|
+
- Platform: email
|
|
101
|
+
- Brand: <brand name>
|
|
102
|
+
- Target Score: 85
|
|
103
|
+
Return ONLY this JSON array: [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
|
|
104
|
+
```
|
|
105
|
+
Select top-scored hooks that fit the 30-50 character constraint. If subagent fails, fall back to the formulas below.
|
|
106
|
+
|
|
107
|
+
**Formulas that work (fallback):**
|
|
108
|
+
|
|
109
|
+
| Formula | Example | When to Use |
|
|
110
|
+
|---------|---------|-------------|
|
|
111
|
+
| Direct benefit | "Your 5-step content calendar" | Delivering promised value |
|
|
112
|
+
| Curiosity gap | "The email mistake I made for 3 years" | Nurture sequences |
|
|
113
|
+
| Personal question | "Quick question about your launch" | Re-engagement, sales |
|
|
114
|
+
| How-to | "How to write emails people actually read" | Educational content |
|
|
115
|
+
| Number + result | "3 tweaks that doubled our open rate" | Data-driven audiences |
|
|
116
|
+
| Story tease | "The worst marketing advice I ever got" | Storytelling brands |
|
|
117
|
+
|
|
118
|
+
**Rules:**
|
|
119
|
+
- 30-50 characters (6-10 words) — shorter is almost always better
|
|
120
|
+
- No ALL CAPS, no excessive punctuation, no emoji unless brand uses them
|
|
121
|
+
- Preview text adds context, never repeats the subject
|
|
122
|
+
- Personalization in subject only if natural ("{{first_name}}, quick question")
|
|
123
|
+
|
|
124
|
+
### Body Copy
|
|
125
|
+
|
|
126
|
+
**Structure every email the same way the reader processes it:**
|
|
127
|
+
|
|
128
|
+
1. **Hook** (first line) — Reason to keep reading. Personal, specific, unexpected.
|
|
129
|
+
2. **Context** (2-3 sentences) — Set up the value. Story, observation, or problem statement.
|
|
130
|
+
3. **Value** (core content) — The insight, tip, framework, or story. This is why they opened.
|
|
131
|
+
4. **Bridge** (1 sentence) — Connect the value to your CTA.
|
|
132
|
+
5. **CTA** (1 clear action) — One link, one ask. Button or text link.
|
|
133
|
+
6. **PS** (optional) — Second hook, social proof, or alternative CTA. Most-read line after the subject.
|
|
134
|
+
|
|
135
|
+
**Rules:**
|
|
136
|
+
- One CTA per email. One.
|
|
137
|
+
- Write at a 5th-grade reading level. Short sentences. Short paragraphs.
|
|
138
|
+
- 150-300 words for nurture. 300-500 for launch. Under 150 for re-engagement.
|
|
139
|
+
- Plain text outperforms HTML for most B2B. Light formatting for B2C.
|
|
140
|
+
- "Reply to this email" is the highest-trust CTA you can use early in a sequence.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Sequence Blueprints
|
|
145
|
+
|
|
146
|
+
### Welcome Sequence (5-7 emails)
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
Email 1 (Day 0): DELIVER
|
|
150
|
+
- Subject: "Here's your [lead magnet / what they signed up for]"
|
|
151
|
+
- Body: Deliver the thing. One quick-start tip. Set expectations for what's coming.
|
|
152
|
+
- CTA: Download / access the resource
|
|
153
|
+
|
|
154
|
+
Email 2 (Day 1): STORY
|
|
155
|
+
- Subject: "Why I built [product/brand]"
|
|
156
|
+
- Body: Origin story. The problem you experienced. Why you care.
|
|
157
|
+
- CTA: Reply and tell me about your situation
|
|
158
|
+
|
|
159
|
+
Email 3 (Day 3): VALUE
|
|
160
|
+
- Subject: "The #1 mistake with [topic]"
|
|
161
|
+
- Body: Teach something genuinely useful. Quick win they can implement today.
|
|
162
|
+
- CTA: Try this technique / read more
|
|
163
|
+
|
|
164
|
+
Email 4 (Day 5): PROOF
|
|
165
|
+
- Subject: "How [customer] achieved [result]"
|
|
166
|
+
- Body: Case study or testimonial. Specific numbers. Before/after.
|
|
167
|
+
- CTA: See how it works / start your trial
|
|
168
|
+
|
|
169
|
+
Email 5 (Day 7): OFFER
|
|
170
|
+
- Subject: "[Product] might be right for you"
|
|
171
|
+
- Body: Direct pitch. What it does, who it's for, why now. Objection handling.
|
|
172
|
+
- CTA: Start trial / buy / book a call
|
|
173
|
+
|
|
174
|
+
Email 6 (Day 10): OBJECTION
|
|
175
|
+
- Subject: "The honest answer to [common concern]"
|
|
176
|
+
- Body: Address the #1 reason people don't buy. Be transparent.
|
|
177
|
+
- CTA: FAQ page or direct response
|
|
178
|
+
|
|
179
|
+
Email 7 (Day 14): LAST CHANCE
|
|
180
|
+
- Subject: "One more thing about [topic]"
|
|
181
|
+
- Body: Final value piece + last pitch. Soft close.
|
|
182
|
+
- CTA: Product link with a reason to act now
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Launch Sequence (6-8 emails)
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
Email 1 (Day -3): SEED
|
|
189
|
+
- Tease something coming. Build anticipation. No details yet.
|
|
190
|
+
|
|
191
|
+
Email 2 (Day -1): STORY
|
|
192
|
+
- The problem this product solves. Your journey building it.
|
|
193
|
+
|
|
194
|
+
Email 3 (Day 0, AM): ANNOUNCE
|
|
195
|
+
- It's live. What it is, what it does, who it's for. Early bird / launch price.
|
|
196
|
+
|
|
197
|
+
Email 4 (Day 0, PM): FAQ
|
|
198
|
+
- Answer the top 5 questions you've received. Overcome objections.
|
|
199
|
+
|
|
200
|
+
Email 5 (Day 1): PROOF
|
|
201
|
+
- First customer results, testimonials, social proof from launch day.
|
|
202
|
+
|
|
203
|
+
Email 6 (Day 3): DEEP DIVE
|
|
204
|
+
- Detailed walkthrough of one feature/benefit. Show, don't tell.
|
|
205
|
+
|
|
206
|
+
Email 7 (Day 5): OBJECTIONS
|
|
207
|
+
- Address remaining concerns directly. "Is this for me?" content.
|
|
208
|
+
|
|
209
|
+
Email 8 (Day 7): CLOSE
|
|
210
|
+
- Last chance. Deadline is real. Recap the offer. Final CTA.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Re-engagement Sequence (3-4 emails)
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
Email 1 (Day 0): CHECK-IN
|
|
217
|
+
- Subject: "Still interested in [topic]?"
|
|
218
|
+
- Body: Acknowledge the silence. Offer your best piece of content.
|
|
219
|
+
|
|
220
|
+
Email 2 (Day 3): VALUE BOMB
|
|
221
|
+
- Subject: "[Best content title] — thought you'd want this"
|
|
222
|
+
- Body: Your single best-performing piece of content. No ask.
|
|
223
|
+
|
|
224
|
+
Email 3 (Day 7): PREFERENCE
|
|
225
|
+
- Subject: "Want fewer emails? (Or none?)"
|
|
226
|
+
- Body: Let them choose frequency or topics. Give them control.
|
|
227
|
+
|
|
228
|
+
Email 4 (Day 14): BREAKUP
|
|
229
|
+
- Subject: "Cleaning up my list"
|
|
230
|
+
- Body: "If I don't hear from you, I'll remove you. No hard feelings."
|
|
231
|
+
- CTA: "Keep me subscribed" button
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Nurture Sequence (5-10 emails)
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
Email 1 (Day 0): INSIGHT
|
|
238
|
+
- Subject: "The [topic] framework that changed everything"
|
|
239
|
+
- Body: Share a counterintuitive insight. Teach a mental model.
|
|
240
|
+
- CTA: Try this approach / read more
|
|
241
|
+
|
|
242
|
+
Email 2 (Day 3): STORY
|
|
243
|
+
- Subject: "What happened when [customer] tried [approach]"
|
|
244
|
+
- Body: Case study disguised as a story. Specific numbers. Relatable struggle.
|
|
245
|
+
- CTA: See how they did it
|
|
246
|
+
|
|
247
|
+
Email 3 (Day 6): FRAMEWORK
|
|
248
|
+
- Subject: "The 3-step process for [outcome]"
|
|
249
|
+
- Body: Actionable framework they can implement today. Quick win.
|
|
250
|
+
- CTA: Download the template / try step 1
|
|
251
|
+
|
|
252
|
+
Email 4 (Day 9): MYTH-BUST
|
|
253
|
+
- Subject: "Stop doing [common practice] — here's why"
|
|
254
|
+
- Body: Challenge conventional wisdom. Back up with evidence or experience.
|
|
255
|
+
- CTA: Try the alternative
|
|
256
|
+
|
|
257
|
+
Email 5 (Day 12): DEEP DIVE
|
|
258
|
+
- Subject: "Everything I know about [narrow topic]"
|
|
259
|
+
- Body: Your best content on a topic they care about. Thorough but scannable.
|
|
260
|
+
- CTA: Bookmark this / share with a colleague
|
|
261
|
+
|
|
262
|
+
Email 6+ (Every 3 days): ROTATE
|
|
263
|
+
- Alternate between: value emails, proof emails, and soft bridge emails
|
|
264
|
+
- Each email plants a seed for the product without pitching
|
|
265
|
+
- End the sequence with a natural transition to a conversion sequence
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
The goal of nurture is trust-building, not selling. Every email proves you understand their world. When the conversion sequence arrives, they already believe you can help — the pitch is a formality.
|
|
269
|
+
|
|
270
|
+
### Onboarding Sequence (5-7 emails)
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
Email 1 (Day 0): WELCOME
|
|
274
|
+
- Subject: "Welcome aboard — here's your quick start"
|
|
275
|
+
- Body: Confirm purchase/signup. One immediate action for first success.
|
|
276
|
+
- CTA: Complete first action (setup, first use, profile creation)
|
|
277
|
+
|
|
278
|
+
Email 2 (Day 1): QUICK WIN
|
|
279
|
+
- Subject: "Do this in 5 minutes for [specific result]"
|
|
280
|
+
- Body: Shortest path to first value. Step-by-step with screenshots if applicable.
|
|
281
|
+
- CTA: Complete the quick win
|
|
282
|
+
|
|
283
|
+
Email 3 (Day 3): DEEPER VALUE
|
|
284
|
+
- Subject: "Most people miss this feature"
|
|
285
|
+
- Body: Show a non-obvious capability. "Now that you've done X, try Y."
|
|
286
|
+
- CTA: Try the feature
|
|
287
|
+
|
|
288
|
+
Email 4 (Day 5): SOCIAL PROOF
|
|
289
|
+
- Subject: "How [customer] uses [product] daily"
|
|
290
|
+
- Body: Customer story showing regular use pattern. Make the habit concrete.
|
|
291
|
+
- CTA: Set up their version of the habit
|
|
292
|
+
|
|
293
|
+
Email 5 (Day 7): CHECK-IN
|
|
294
|
+
- Subject: "Quick question about your experience"
|
|
295
|
+
- Body: Ask how it's going. Offer help. Surface objections early.
|
|
296
|
+
- CTA: Reply with feedback or book a call
|
|
297
|
+
|
|
298
|
+
Email 6 (Day 14): ADVANCED
|
|
299
|
+
- Subject: "[Product] tip most users discover at month 2"
|
|
300
|
+
- Body: Power user tip. Show what's possible at full engagement.
|
|
301
|
+
- CTA: Try the advanced feature
|
|
302
|
+
|
|
303
|
+
Email 7 (Day 30): MILESTONE
|
|
304
|
+
- Subject: "You've been with us for a month"
|
|
305
|
+
- Body: Celebrate. Show what they've accomplished. Bridge to upgrade/expansion.
|
|
306
|
+
- CTA: Upgrade, refer a friend, or explore premium features
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
The onboarding sequence's job is activation — getting users to their first "aha moment" as fast as possible. Every email removes friction between signup and habit. If they don't get value in the first week, they're gone.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Open Rate Optimization
|
|
314
|
+
|
|
315
|
+
| Factor | Best Practice |
|
|
316
|
+
|--------|--------------|
|
|
317
|
+
| Send time | Tue-Thu, 9-11am recipient's timezone |
|
|
318
|
+
| From name | Personal name > company name (test "Name from Company") |
|
|
319
|
+
| Subject length | 6-10 words, front-load the value |
|
|
320
|
+
| Preview text | Always set — complements, never repeats the subject |
|
|
321
|
+
| List hygiene | Remove 90-day inactive quarterly |
|
|
322
|
+
| Segmentation | Segment by engagement, not just demographics |
|
|
323
|
+
|
|
324
|
+
## A/B Testing Suggestions
|
|
325
|
+
|
|
326
|
+
For each sequence, suggest tests:
|
|
327
|
+
|
|
328
|
+
1. **Subject lines** (HIGH) — Test 2 variants per email, winner sends to remaining 80%
|
|
329
|
+
2. **Send time** (MEDIUM) — Morning vs afternoon, weekday vs weekend
|
|
330
|
+
3. **From name** (MEDIUM) — Personal vs brand vs "Name from Brand"
|
|
331
|
+
4. **CTA format** (LOW) — Button vs text link vs "reply to this email"
|
|
332
|
+
5. **Email length** (LOW) — Short (150 words) vs long (400 words)
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Worked Example
|
|
337
|
+
|
|
338
|
+
**Sequence: Welcome (verified meal delivery app)**
|
|
339
|
+
|
|
340
|
+
| # | Day | Subject | Hook | CTA |
|
|
341
|
+
|---|---|---|---|---|
|
|
342
|
+
| 1 | 0 | Welcome to Acme 🎉 | You just made verified-source ordering effortless | Browse restaurants near you |
|
|
343
|
+
| 2 | 1 | Your first order is on us | $10 off because trying new things should be easy | Use code FIRST10 |
|
|
344
|
+
| 3 | 3 | How we verify every restaurant | The story behind our third-party certification process | See our standards |
|
|
345
|
+
| 4 | 7 | Sarah's favorite weekly order | Real customer story: 'I stopped checking ingredients' | Order Sarah's picks |
|
|
346
|
+
| 5 | 14 | You haven't ordered yet? | Quick poll: what's holding you back? | Take 30-sec survey |
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Output Structure
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
marketing/emails/{sequence-name}/
|
|
354
|
+
├── sequence-plan.md # Overview: type, trigger, goal, timing map
|
|
355
|
+
├── email-01-deliver.md # Individual email with frontmatter
|
|
356
|
+
├── email-02-story.md
|
|
357
|
+
├── email-03-value.md
|
|
358
|
+
├── ...
|
|
359
|
+
└── ab-test-plan.md # Suggested A/B tests for the sequence
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**Integration**: All emails output in plain text format compatible with `gws` CLI for sending. Include `gws` command examples in `sequence-plan.md`.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## AI Tells to Avoid in Emails
|
|
367
|
+
|
|
368
|
+
Emails are intimate — they land in someone's personal inbox, next to messages from friends and family. AI voice kills trust instantly because readers feel deceived, like they're getting a mass-produced email pretending to be personal.
|
|
369
|
+
|
|
370
|
+
**Words to ban:** delve, comprehensive, robust, utilize, leverage, crucial, streamline, landscape, navigate, elevate, foster, empower
|
|
371
|
+
**Phrases to ban:** "I hope this email finds you well," "In today's fast-paced world," "I wanted to reach out," "Don't hesitate to," "Please don't hesitate," "I'm excited to share"
|
|
372
|
+
**Patterns:** Every paragraph same length. No contractions. Passive voice throughout. Hedging ("may potentially," "could possibly"). Lists of exactly 3 items every time.
|
|
373
|
+
|
|
374
|
+
Real emails use contractions, vary paragraph length, have opinions, and sound like one person talking to another — not a committee drafting a memo.
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## Deliverability Rules
|
|
379
|
+
|
|
380
|
+
- Never use: free, act now, limited time, congratulations, click here, buy now (in subject)
|
|
381
|
+
- Warm up new sending domains: 50 emails day 1, double every 2-3 days
|
|
382
|
+
- Include unsubscribe in every email (legally required)
|
|
383
|
+
- Text-to-image ratio: 80/20 minimum
|
|
384
|
+
- Authenticate: SPF, DKIM, DMARC all configured
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## References
|
|
389
|
+
|
|
390
|
+
- [sequence-templates.md](references/sequence-templates.md): Deep examples with full email copy, subject line variants with rationale, file output format, campaign brief template, and pre/per-email/post-generation checklists. Read this when writing actual email copy — SKILL.md blueprints are sufficient for planning.
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
## Related Skills
|
|
395
|
+
|
|
396
|
+
- **lead-magnet**: Creates the opt-in that triggers the welcome sequence
|
|
397
|
+
- **brand-voice**: Voice consistency across all emails
|
|
398
|
+
- **newsletter**: Ongoing email content (not automated sequences)
|
|
399
|
+
- **direct-response-copy**: Copy principles for high-converting emails
|
|
400
|
+
- **launch-strategy**: Launch sequence aligns with broader launch plan
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## STEP N: Copywriting Tournament (RECOMMENDED for subject lines + preview text + CTAs)
|
|
405
|
+
|
|
406
|
+
Generate 3-5 variants of the key subject lines + preview text + CTAs, then run them through 5 parallel judge personas to find the winner:
|
|
407
|
+
|
|
408
|
+
1. Generate 3-5 variants (different angles, formulas, or approaches)
|
|
409
|
+
2. Save each to: `content/tournaments/{slug}/variant-1.md` through `variant-N.md`
|
|
410
|
+
3. Spawn 5 PARALLEL `build` subagents (one per judge persona):
|
|
411
|
+
- `~/.claude/skills/quality-gate/judge-personas/skeptic.md`
|
|
412
|
+
- `~/.claude/skills/quality-gate/judge-personas/scanner.md`
|
|
413
|
+
- `~/.claude/skills/quality-gate/judge-personas/buyer.md`
|
|
414
|
+
- `~/.claude/skills/quality-gate/judge-personas/expert.md`
|
|
415
|
+
- `~/.claude/skills/quality-gate/judge-personas/outsider.md`
|
|
416
|
+
- Each gets: tournament_dir, variant_count, mode=`copy`, original_prompt
|
|
417
|
+
4. Collect all 5 JSON results, aggregate: sum weighted_avg per variant across judges
|
|
418
|
+
5. Pick winner, apply recommended_edits, save as draft
|
|
419
|
+
6. Winner enters standard quality-gate below
|
|
420
|
+
|
|
421
|
+
**When to use:** For subject lines and CTAs in each email of the sequence
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## FINAL STEP: Quality Gate (MANDATORY — DO NOT SKIP)
|
|
426
|
+
|
|
427
|
+
Before presenting ANY draft to Jairo, run the quality gate:
|
|
428
|
+
|
|
429
|
+
1. Save your complete draft to a file (e.g., `content/drafts/{slug}.md` or a temp file)
|
|
430
|
+
2. Spawn a `build` subagent using the Task tool with the quality-gate prompt from `Skill: quality-gate`
|
|
431
|
+
3. Pass these inputs to the subagent:
|
|
432
|
+
- **draft_path**: absolute path to the saved draft
|
|
433
|
+
- **mode**: `copy`
|
|
434
|
+
- **original_prompt**: the writing prompt that started this task
|
|
435
|
+
- **attempt**: current attempt number (start at 1)
|
|
436
|
+
4. Parse the JSON result from the subagent
|
|
437
|
+
5. If FAIL and attempt < 3:
|
|
438
|
+
- Rewrite the draft addressing the specific `rewrite_instructions` from the quality gate
|
|
439
|
+
- Save the new draft (overwrite or new file)
|
|
440
|
+
- Spawn another subagent with attempt + 1
|
|
441
|
+
6. If FAIL and attempt = 3:
|
|
442
|
+
- Present to Jairo with all score reports attached
|
|
443
|
+
- Say: "Couldn't pass quality gate after 3 attempts. Here's what's wrong and what I tried to fix."
|
|
444
|
+
7. If PASS:
|
|
445
|
+
- Present to Jairo as normal (do NOT show scores — they're internal)
|
|
446
|
+
8. NEVER present a draft that hasn't passed quality gate (except after 3 failed attempts)
|