@jairodri/huckleberry-cli 1.0.1 → 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 +349 -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,159 @@
|
|
|
1
|
+
# Phased Launch Timeline
|
|
2
|
+
|
|
3
|
+
Week-by-week breakdown for product launches. Adapt timelines based on product complexity and team size. Solo founders can compress; funded teams should expand for coordination.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Phase 1: Foundation (8-6 Weeks Before Launch)
|
|
8
|
+
|
|
9
|
+
### Week 8: Research & Positioning
|
|
10
|
+
- Run audience research — identify where your buyers hang out online
|
|
11
|
+
- Analyze 3-5 competitor launches (what channels, what messaging, what worked)
|
|
12
|
+
- Define your launch angle — what makes THIS launch newsworthy?
|
|
13
|
+
- Draft initial positioning statement (1 sentence: who it's for, what it does, why now)
|
|
14
|
+
|
|
15
|
+
### Week 7: Asset Planning
|
|
16
|
+
- Map your ORB channels — which owned, rented, borrowed channels will you activate?
|
|
17
|
+
- Identify 10-20 borrowed channel targets (podcasts, newsletters, influencers)
|
|
18
|
+
- Outline content calendar: what gets published when, on which channel
|
|
19
|
+
- Set up analytics — UTM naming convention, conversion goals, dashboard
|
|
20
|
+
|
|
21
|
+
### Week 6: Landing Page & Capture
|
|
22
|
+
- Build landing page with clear value prop, social proof placeholder, email capture
|
|
23
|
+
- Set up waitlist or early access signup flow
|
|
24
|
+
- Install tracking pixels (analytics, retargeting, heatmaps)
|
|
25
|
+
- Create lead magnet if applicable (free resource that attracts your target buyer)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Phase 2: Build-Up (5-3 Weeks Before Launch)
|
|
30
|
+
|
|
31
|
+
### Week 5: Content Creation
|
|
32
|
+
- Write launch blog post (problem → solution → proof → CTA)
|
|
33
|
+
- Create demo video or product walkthrough (60-90 seconds max for social)
|
|
34
|
+
- Design social media assets: announcement graphics, feature GIFs, quote cards
|
|
35
|
+
- Draft email announcement sequence (tease → announce → remind → last chance)
|
|
36
|
+
|
|
37
|
+
### Week 4: Social Proof & Outreach
|
|
38
|
+
- Send product to 5-10 beta testers — collect testimonials and case studies
|
|
39
|
+
- Screenshot or record early user wins for social proof
|
|
40
|
+
- Begin outreach to borrowed channels: pitch guest posts, podcast appearances, newsletter features
|
|
41
|
+
- Prepare Product Hunt listing if applicable (tagline, description, media, maker comment)
|
|
42
|
+
|
|
43
|
+
### Week 3: Distribution Setup
|
|
44
|
+
- Schedule social media posts across launch week (use scheduling tools)
|
|
45
|
+
- Segment email list: power users, new subscribers, lapsed, VIPs
|
|
46
|
+
- Draft all email sequences: pre-launch tease, launch day, follow-up, onboarding
|
|
47
|
+
- Confirm all partnership/collaboration dates and deliverables
|
|
48
|
+
- Prep in-app announcement: banner, tooltip, or modal for existing users
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Phase 3: Pre-Launch Heat (2-1 Weeks Before Launch)
|
|
53
|
+
|
|
54
|
+
### Week 2: Build Anticipation
|
|
55
|
+
- Start teaser campaign on social: "Something's coming" posts with countdowns
|
|
56
|
+
- Send first pre-launch email to list (tease the problem you're solving)
|
|
57
|
+
- Publish a "behind the scenes" or "making of" post to build narrative
|
|
58
|
+
- Activate early supporters: brief them on launch date, give them share templates
|
|
59
|
+
- Finalize all landing page copy with real testimonials and social proof
|
|
60
|
+
|
|
61
|
+
### Week 1: Final Prep
|
|
62
|
+
- Send second pre-launch email (reveal what's launching, build excitement)
|
|
63
|
+
- Test all links, forms, checkout flows, and tracking end-to-end
|
|
64
|
+
- Brief support team on new feature/product FAQs
|
|
65
|
+
- Prepare real-time engagement plan for launch day (who monitors what, response templates)
|
|
66
|
+
- Queue all scheduled posts — double-check times and links
|
|
67
|
+
- Do a dry run: click through the entire user journey from ad/post → landing → signup → onboard
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Phase 4: Launch Week
|
|
72
|
+
|
|
73
|
+
### Launch Day (Day 1)
|
|
74
|
+
- **Morning:** Publish blog post, activate landing page, send announcement email
|
|
75
|
+
- **Mid-morning:** Post across all social channels, submit to Product Hunt/directories
|
|
76
|
+
- **All day:** Monitor and respond to every comment, question, and mention in real-time
|
|
77
|
+
- **Evening:** Share early traction numbers with supporters, thank early adopters
|
|
78
|
+
- **Track:** Signups, page views, conversion rate, email opens, social engagement
|
|
79
|
+
|
|
80
|
+
### Day 2-3: Sustain Momentum
|
|
81
|
+
- Share user reactions, testimonials, and early wins on social
|
|
82
|
+
- Send follow-up email to non-openers with different subject line
|
|
83
|
+
- Engage in communities where your audience lives (Reddit, Slack groups, Discord)
|
|
84
|
+
- Publish a "launch lessons" or "day 1 results" thread (transparency builds trust)
|
|
85
|
+
|
|
86
|
+
### Day 4-5: Convert Stragglers
|
|
87
|
+
- Send "in case you missed it" email to remaining list
|
|
88
|
+
- Run retargeting ads to landing page visitors who didn't convert
|
|
89
|
+
- Post case study or detailed use case content
|
|
90
|
+
- Reach out personally to high-value prospects who showed interest
|
|
91
|
+
|
|
92
|
+
### Day 6-7: Transition to Growth
|
|
93
|
+
- Compile launch metrics: total signups, conversion rates, CAC, channel performance
|
|
94
|
+
- Identify top-performing channels and double down
|
|
95
|
+
- Collect structured feedback from new users (what almost stopped you from signing up?)
|
|
96
|
+
- Begin transitioning from "launch" messaging to "ongoing" messaging
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Phase 5: Post-Launch (Weeks 1-4)
|
|
101
|
+
|
|
102
|
+
### Week 1 Post-Launch: Optimize & Learn
|
|
103
|
+
- Review all channel metrics — kill underperforming, scale what works
|
|
104
|
+
- Run post-signup survey: "How did you hear about us?" and "What almost stopped you?"
|
|
105
|
+
- Fix any UX friction points flagged during launch
|
|
106
|
+
- Publish roundup: "What we learned launching X" (content that compounds)
|
|
107
|
+
|
|
108
|
+
### Week 2-3 Post-Launch: Deepen Engagement
|
|
109
|
+
- Launch onboarding email sequence for new signups
|
|
110
|
+
- Publish comparison content: "X vs Y" pages targeting competitor keywords
|
|
111
|
+
- Create customer case study from best early adopter
|
|
112
|
+
- Start building content flywheel: repurpose launch content into blog posts, threads, short videos
|
|
113
|
+
- Set up referral program if product has network effects
|
|
114
|
+
|
|
115
|
+
### Week 4 Post-Launch: Sustain & Compound
|
|
116
|
+
- Transition from launch mode to content marketing mode
|
|
117
|
+
- Establish regular publishing cadence (1-2x/week blog, daily social)
|
|
118
|
+
- Build evergreen content around launch keywords
|
|
119
|
+
- Plan next launch moment (feature update, milestone, partnership)
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Phase 6: Long-Term Growth (Month 2-3)
|
|
124
|
+
|
|
125
|
+
### Compound the Launch
|
|
126
|
+
- Repurpose launch content: blog → newsletter → social threads → video
|
|
127
|
+
- Build SEO content cluster around your primary use case
|
|
128
|
+
- Develop referral loop: in-product sharing, affiliate program, word-of-mouth triggers
|
|
129
|
+
- Create "second launch" opportunities: major feature, pricing change, milestone (1K users)
|
|
130
|
+
|
|
131
|
+
### Metrics to Track Monthly
|
|
132
|
+
| Metric | What It Tells You | Action If Low |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| Signup rate | Landing page effectiveness | Revise copy, test new angles |
|
|
135
|
+
| Activation rate | Onboarding quality | Simplify first-run experience |
|
|
136
|
+
| Day 7 retention | Product-market fit signal | Survey churned users, fix gaps |
|
|
137
|
+
| Referral rate | Organic growth potential | Add sharing prompts, incentivize |
|
|
138
|
+
| CAC by channel | Channel efficiency | Reallocate budget to winners |
|
|
139
|
+
|
|
140
|
+
### Re-Launch Triggers
|
|
141
|
+
Not every product nails it the first time. Re-launch when:
|
|
142
|
+
- You've significantly improved the product based on feedback
|
|
143
|
+
- You've found a new positioning angle that resonates better
|
|
144
|
+
- You've identified a new audience segment
|
|
145
|
+
- You hit a milestone worth celebrating (100 customers, $10K MRR)
|
|
146
|
+
- A competitor stumbles and creates an opening
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Timeline Compression Guide
|
|
151
|
+
|
|
152
|
+
| Scenario | Compress To | What to Cut |
|
|
153
|
+
|---|---|---|
|
|
154
|
+
| Solo founder, simple product | 3-4 weeks total | Skip borrowed channels, minimize assets |
|
|
155
|
+
| Feature launch (existing product) | 2 weeks | Skip Phase 1, use existing channels |
|
|
156
|
+
| Urgent competitive response | 1 week | Blog + email + social only, skip PR |
|
|
157
|
+
| Funded team, major product | Keep 8 weeks | Don't compress — coordinate properly |
|
|
158
|
+
|
|
159
|
+
The timeline is a framework, not a cage. Ship when ready, not when the calendar says so.
|
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lead-email-craft
|
|
3
|
+
repo: https://github.com/clawdbot/clawd
|
|
4
|
+
depends-on:
|
|
5
|
+
- hook-generator
|
|
6
|
+
description: >
|
|
7
|
+
Generate intelligence-driven, tailor-made sales emails per lead. NOT a template system — each email
|
|
8
|
+
is crafted from CRM data, brand assets, and lead-specific research. Triggers on "craft email for",
|
|
9
|
+
"write email to lead", "draft outreach to", "sales email for", or any request to write a
|
|
10
|
+
per-lead email using brand voice + CRM intel. Also triggers on "lead email", "re-engage lead",
|
|
11
|
+
"follow up with lead", or "write to [lead name]".
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# lead-email-craft
|
|
15
|
+
|
|
16
|
+
Intelligence-driven per-lead email generation. Every email is custom-built from CRM intel, brand assets, and lead-specific research. No templates. No merge fields. No "just checking in."
|
|
17
|
+
|
|
18
|
+
## When to Use This Skill
|
|
19
|
+
|
|
20
|
+
- Writing a sales email to a specific lead (not batch outreach)
|
|
21
|
+
- Re-engaging a stale/cold lead
|
|
22
|
+
- Following up with a lead who went quiet
|
|
23
|
+
- Responding to an inbound inquiry with substance
|
|
24
|
+
|
|
25
|
+
## When NOT to Use
|
|
26
|
+
|
|
27
|
+
- Batch outbound sequences (use `b2b-cold-outreach` instead)
|
|
28
|
+
- Social media posts or marketing copy
|
|
29
|
+
- Internal communications
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Phase 1: CRM Intel (MANDATORY — do this FIRST, before any drafting)
|
|
34
|
+
|
|
35
|
+
Never draft an email without completing ALL intel steps. Classification determines everything downstream.
|
|
36
|
+
|
|
37
|
+
### Step 1: Pull Bigin deal record
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx mcporter call zoho-bigin.Bigin_searchRecords \
|
|
41
|
+
query_parameters='{"module_api_name":"Pipelines","search_criteria":"(Deal_Name:contains:LEAD_NAME)"}'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Extract: Deal name, stage, amount, phone, email, description, source, assigned owner, created date, last activity.
|
|
45
|
+
|
|
46
|
+
### Step 2: Cross-reference Zoho Books
|
|
47
|
+
|
|
48
|
+
A lead may have an estimate or invoice in Zoho Books with NO record in Bigin. If you only check Bigin, you risk treating a quoted/invoiced lead as "never contacted" or sending duplicate pricing.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx mcporter call zoho-books.Estimates_listEstimates \
|
|
52
|
+
query_parameters='{"search_text":"LEAD_NAME"}'
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx mcporter call zoho-books.Invoices_listInvoices \
|
|
57
|
+
query_parameters='{"search_text":"LEAD_NAME"}'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If estimates/invoices exist: note what was quoted, amounts, dates, line items. Do NOT re-quote something already quoted.
|
|
61
|
+
|
|
62
|
+
### Step 3: Check contact history
|
|
63
|
+
|
|
64
|
+
Look for existing notes, calls, or tasks on the Bigin contact:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx mcporter call zoho-bigin.Bigin_getRecords \
|
|
68
|
+
path_variables='{"module_api_name":"Contacts"}' \
|
|
69
|
+
query_parameters='{"search_criteria":"(Email:equals:LEAD_EMAIL)"}'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Then pull notes for that contact ID.
|
|
73
|
+
|
|
74
|
+
### Step 4: CLAIM VERIFICATION GATE — No Fabricated Claims of ANY Kind
|
|
75
|
+
|
|
76
|
+
**Awareness Check:** Before verifying claims, determine the lead's awareness level from CRM data. See `references/awareness-level-guide.md`. Cold leads are typically problem-aware or solution-aware — use the advertorial funnel approach (validate → cause → mechanism → product), never lead with a product pitch.
|
|
77
|
+
|
|
78
|
+
Before drafting any email, verify ALL factual claims against authoritative sources. This applies to ALL claim types, not just product specs.
|
|
79
|
+
|
|
80
|
+
**Four claim categories that require verification:**
|
|
81
|
+
|
|
82
|
+
| Category | Examples | Authoritative Sources |
|
|
83
|
+
|----------|----------|----------------------|
|
|
84
|
+
| **Product specs** | model, size, price, material, features, certifications | brand docs, OPS.md, evergreen.md, Zoho Books |
|
|
85
|
+
| **Prospect facts** | expansion plans, locations, current setup, timeline, business model | their website, LinkedIn, Bigin CRM notes, lead dossiers |
|
|
86
|
+
| **Social proof** | "X resorts use our tents", quantities, locations, client relationship status | Zoho Books invoices, verified social proof docs |
|
|
87
|
+
| **Relationship claims** | "expanding with you", "following our conversation", "as discussed" | Bigin CRM thread history, actual prior correspondence |
|
|
88
|
+
|
|
89
|
+
If ANY claim (spec, prospect fact, social proof, relationship) is NOT documented in a source, you MUST either:
|
|
90
|
+
1. Research it from primary sources (their website, supplier docs, product pages)
|
|
91
|
+
2. Write it as `[VERIFY: need source]` and flag it for Jairo's review
|
|
92
|
+
|
|
93
|
+
**NEVER fabricate claims.** This includes prospect business claims ("expanding with you this year"), invented locations ("your Vail property" when Vail isn't on their site), and performance metrics ("installs in days" when no installation data exists). Wrong claims in sales emails destroy trust permanently.
|
|
94
|
+
|
|
95
|
+
### Step 5: Detect language (CRITICAL)
|
|
96
|
+
|
|
97
|
+
| Signal | Language |
|
|
98
|
+
|--------|----------|
|
|
99
|
+
| Phone starts with +52, +53, +54, +55, +56, +57, +58, +502-507, +591, +593, +595, +598, +34 | Spanish |
|
|
100
|
+
| Deal description contains Spanish ("cotizar", "precio", "catálogo", "modelos") | Spanish |
|
|
101
|
+
| WhatsApp-sourced lead | Likely Spanish |
|
|
102
|
+
| Inquiry text is in Spanish | Spanish |
|
|
103
|
+
| None of the above | English |
|
|
104
|
+
|
|
105
|
+
**NEVER mix English and Spanish in the same email.** If Spanish, write the ENTIRE email in Spanish. Use "Hola [Nombre]," NOT "Hi [Nombre]," — the greeting must match the language.
|
|
106
|
+
|
|
107
|
+
**Spanish rules:**
|
|
108
|
+
- "grado marino" NOT "grado marítimo"
|
|
109
|
+
- "acero galvanizado" NOT "aluminio" NOT "acero galvanizado en caliente"
|
|
110
|
+
- NO voseo (venís, tenés, sabés) — use standard conjugations
|
|
111
|
+
- "cotización" not "estimación"
|
|
112
|
+
- "lona" for canvas/fabric
|
|
113
|
+
- Currency in USD, written as "USD" not "$" alone to avoid confusion
|
|
114
|
+
|
|
115
|
+
### Step 5: Classify lead warmth
|
|
116
|
+
|
|
117
|
+
| Classification | Signals | Research Depth |
|
|
118
|
+
|----------------|---------|---------------|
|
|
119
|
+
| **Warm** | Inbound inquiry, recent activity, deal has description with specifics | Freshness check only — verify their situation is still current |
|
|
120
|
+
| **Lukewarm** | Old inquiry, went quiet after seeing price, no response to follow-up | Moderate research — find one new angle/hook |
|
|
121
|
+
| **Cold** | Stale deal, no activity in 30+ days, no response to multiple touches | Deep research — website, social, news, competitor usage. Build a profile. |
|
|
122
|
+
|
|
123
|
+
### Step 6: Extract their inquiry words
|
|
124
|
+
|
|
125
|
+
From the Bigin deal description, pull the lead's EXACT words. These are your strongest hook material.
|
|
126
|
+
|
|
127
|
+
Examples:
|
|
128
|
+
- "Sería posible me enviaran un catálogo, con modelos y precios" → catalog request in Spanish
|
|
129
|
+
- "What are the key differences between enchantents and gome-tribal?" → comparison question
|
|
130
|
+
- "Cotización de propuesta/precio" → saw price, went quiet
|
|
131
|
+
|
|
132
|
+
### Step 7: Check for deal-breakers
|
|
133
|
+
|
|
134
|
+
- **Jairo handles directly:** Steve Conley, SylvanSport — do NOT outreach
|
|
135
|
+
- **ElevenLabs phone not set up:** Never include a phone number for the agent
|
|
136
|
+
- **Already quoted in Zoho Books:** Do NOT re-quote with different pricing
|
|
137
|
+
- **Lead asked a question that Kareen may have answered by phone:** Never assume an inquiry went unanswered
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Phase 2: Load Brand Arsenal (from files, NEVER hardcode)
|
|
142
|
+
|
|
143
|
+
Read these files at runtime. Product specs change. Pricing changes. The skill must load current data.
|
|
144
|
+
|
|
145
|
+
### Required reads
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Product lineup (models, sizes, pricing)
|
|
149
|
+
cat /Users/Shared/nomadixgear/business-knowledge/products/tent-specifications.md
|
|
150
|
+
|
|
151
|
+
# Material specs (what they're made of)
|
|
152
|
+
cat /Users/Shared/nomadixgear/business-knowledge/products/technical-specifications.md
|
|
153
|
+
|
|
154
|
+
# Voice guide (how to sound)
|
|
155
|
+
cat ./businesses/nomadixgear-sa/enchantents/brand-assets/voice-guide.md
|
|
156
|
+
|
|
157
|
+
# Brand overrides (banned terms, material rules, currency)
|
|
158
|
+
cat ./businesses/nomadixgear-sa/enchantents/brand-assets/brand-overrides.md
|
|
159
|
+
|
|
160
|
+
# ICP profiles (who we sell to)
|
|
161
|
+
cat ./businesses/nomadixgear-sa/enchantents/brand-assets/icp-profiles.md
|
|
162
|
+
|
|
163
|
+
# Competitive landscape (for comparison questions)
|
|
164
|
+
cat ./businesses/nomadixgear-sa/enchantents/brand-assets/competitive-landscape.md
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Critical material specs (verified 2026-05-10)
|
|
168
|
+
|
|
169
|
+
These are CORRECT. Previous docs said "hot-dip galvanized" — that was WRONG.
|
|
170
|
+
|
|
171
|
+
- **Structure:** Galvanized steel (NOT aluminum, NOT "hot-dip galvanized")
|
|
172
|
+
- **Frame connectors:** Galvanized-steel couplings (2.28mm, Schedule 30), marine-grade epoxy coating
|
|
173
|
+
- **Fabric:** Solution-dyed acrylic (Mehler/Masacril), 10+ year fade-proof, mold/mildew resistant
|
|
174
|
+
- **Waterproofing:** 360mm water column (never say "with a water column rating" without the number)
|
|
175
|
+
- **Warranty:** 5-year manufacturing
|
|
176
|
+
|
|
177
|
+
### Product model links
|
|
178
|
+
|
|
179
|
+
Every model name MUST be a markdown link to its page:
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
[Quatin](https://enchantents.com/quatin) — 6.2 m², $3K
|
|
183
|
+
[Pentagome](https://enchantents.com/pentagome) — 10.7 m², $4K
|
|
184
|
+
[Hexagome](https://enchantents.com/hexagome) — 16 m², $6K
|
|
185
|
+
[Qualan](https://enchantents.com/qualan) — 25 m², $7.5K
|
|
186
|
+
[Octagome](https://enchantents.com/octagome) — 30 m², $8.5K
|
|
187
|
+
[Decagome](https://enchantents.com/decagome) — 48 m², $12.5K
|
|
188
|
+
[Zoltan](https://enchantents.com/zoltan) — 50 m², $15K
|
|
189
|
+
[Kanton](https://enchantents.com/kanton) — 60 m², $17.5K
|
|
190
|
+
[Megagome](https://enchantents.com/megagome) — 70 m², $20K
|
|
191
|
+
[Quazar](https://enchantents.com/quazar) — 100 m², $25K
|
|
192
|
+
[Kapuma](https://enchantents.com/kapuma) — 108 m², $27.5K
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Max 2 models per email. Always: link + price + explain WHY it fits their situation.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Phase 3: Research (depth depends on classification)
|
|
200
|
+
|
|
201
|
+
### Warm leads — freshness check (5 min max)
|
|
202
|
+
|
|
203
|
+
- Verify their project is still active (website check, recent news)
|
|
204
|
+
- Note any changes since last contact
|
|
205
|
+
- Skip deep research
|
|
206
|
+
|
|
207
|
+
### Lukewarm leads — moderate research
|
|
208
|
+
|
|
209
|
+
- Check their website/social for current projects
|
|
210
|
+
- Find ONE new angle since last touch
|
|
211
|
+
- If they went quiet after price: prepare value angle (ROI, comparison, social proof)
|
|
212
|
+
|
|
213
|
+
### Cold leads — deep research
|
|
214
|
+
|
|
215
|
+
- Website analysis: what they do, current projects, expansion signals
|
|
216
|
+
- LinkedIn/social: recent posts, hiring, announcements
|
|
217
|
+
- News: funding, acquisitions, permits, expansion plans
|
|
218
|
+
- Competitor usage: are they using competitor products? Which ones? What are the gaps?
|
|
219
|
+
- Build a one-paragraph lead profile with verified facts ONLY
|
|
220
|
+
|
|
221
|
+
**Creepiness rule:** Research is for finding genuine business hooks. Never reference personal information. Never say "I saw your post about your daughter's graduation." If you wouldn't say it in a professional conversation, don't write it.
|
|
222
|
+
|
|
223
|
+
**Never fabricate pain points.** Use actual inquiry + verified facts only. Don't invent "challenges with X" unless you have evidence.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Phase 4: Hook + Subject Line (80% of your effort here)
|
|
228
|
+
|
|
229
|
+
The subject line determines whether the email gets opened. Spend disproportionate time here.
|
|
230
|
+
|
|
231
|
+
### Hook-generator integration
|
|
232
|
+
|
|
233
|
+
Spawn a hook-generator subagent for subject line and opening hook candidates:
|
|
234
|
+
```
|
|
235
|
+
Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
|
|
236
|
+
Context:
|
|
237
|
+
- WHO: <lead role/industry from CRM>
|
|
238
|
+
- WHAT/WHY: <value prop relevant to this lead's inquiry>
|
|
239
|
+
- Knife: <lead's specific pain point from their inquiry words>
|
|
240
|
+
- Platform: email
|
|
241
|
+
- Brand: enchantents
|
|
242
|
+
- Target Score: 85
|
|
243
|
+
Return ONLY this JSON array: [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
|
|
244
|
+
```
|
|
245
|
+
Select top-scored hooks that reference something specific to the lead (their property, their project, their question). Discard any generic hooks that could belong to any lead. If subagent fails, fall back to manual hook/subject construction per rules below.
|
|
246
|
+
|
|
247
|
+
### Subject line rules
|
|
248
|
+
|
|
249
|
+
**MUST:**
|
|
250
|
+
- Reference something specific to THEM (their property, their project, their question)
|
|
251
|
+
- Create curiosity or an open loop
|
|
252
|
+
- Stay under 40 characters
|
|
253
|
+
- Match the email's language (Spanish subject for Spanish email)
|
|
254
|
+
|
|
255
|
+
**NEVER:**
|
|
256
|
+
- Generic subjects that could belong to any lead (if you could swap the name and it still works, it's too generic)
|
|
257
|
+
- "Following up" / "Checking in" / "Circling back"
|
|
258
|
+
- "For your project" without naming what the project IS
|
|
259
|
+
- Anything about Enchantents — always reference THEM
|
|
260
|
+
- Subject lines about "shade solutions" or "glamping infrastructure" — too corporate
|
|
261
|
+
|
|
262
|
+
**Good examples:**
|
|
263
|
+
- "Quick idea for Capella Kenting" (specific property)
|
|
264
|
+
- "Gome Tribal vs Qualan — key differences" (their exact question)
|
|
265
|
+
- "Cotización Hexagome para Oleovinsa" (specific product + their company, in Spanish)
|
|
266
|
+
- "Modular tents for Phantom Canyon" (specific property)
|
|
267
|
+
|
|
268
|
+
**Bad examples:**
|
|
269
|
+
- "Following up on your inquiry" (any lead)
|
|
270
|
+
- "Glamping solutions for your project" (what project?)
|
|
271
|
+
- "Enchantents product update" (about us, not them)
|
|
272
|
+
|
|
273
|
+
### Hook construction
|
|
274
|
+
|
|
275
|
+
The hook is the first sentence. It must be:
|
|
276
|
+
1. Specific to THEM (reference their property, their question, their situation)
|
|
277
|
+
2. Factually verifiable (never hallucinate a connection point)
|
|
278
|
+
3. One sentence
|
|
279
|
+
|
|
280
|
+
**Good hooks:**
|
|
281
|
+
- "Saw the groundbreaking news for Capella Kenting — 65 oceanfront villas on the Hengchun Peninsula is a serious project."
|
|
282
|
+
- "You asked about the key differences between our tents and Gome Tribal — here's a straight comparison."
|
|
283
|
+
- "Me contacto por su solicitud de catálogo con modelos y precios."
|
|
284
|
+
|
|
285
|
+
**Bad hooks:**
|
|
286
|
+
- "I hope this email finds you well"
|
|
287
|
+
- "I'm reaching out because"
|
|
288
|
+
- "I wanted to check if [company] is still eyeing glamping infrastructure"
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Phase 5: Write the Email
|
|
293
|
+
|
|
294
|
+
### Structure (Kareen's actual pattern)
|
|
295
|
+
|
|
296
|
+
1. **Hook** — one sentence, specific to them
|
|
297
|
+
2. **Value** — what our product does for THEIR situation, with concrete numbers
|
|
298
|
+
3. **Product specs + pricing** — specific model (linked), size, price, WHY it fits
|
|
299
|
+
4. **ROI or proof point** — payback timeline, or reference to similar install
|
|
300
|
+
5. **Ask** — one clear question, easy to answer on a phone
|
|
301
|
+
|
|
302
|
+
### Voice rules (NON-NEGOTIABLE)
|
|
303
|
+
|
|
304
|
+
- **Warm and professional.** "Hi [Name]," not "Hey [Name]," not "Dear [Name]."
|
|
305
|
+
- **Lead with substance.** Hook is a specific observation, then immediately into how we can help.
|
|
306
|
+
- **Specifics everywhere.** Never "fast delivery" — say "7 business days from production to your site." Never "durable" — say "solution-dyed acrylic, 10+ year fade-proof, 360mm water column waterproofing."
|
|
307
|
+
- **Consultative tone.** Solve their problem, don't pitch a product. Frame from their perspective.
|
|
308
|
+
- **One clear ask.** Not "let's schedule a call." More like "Want me to send a sample?" or "Should I put together a quote for 3 Octagomes?"
|
|
309
|
+
- **4-8 sentences** in the body. Long enough for value, short enough to read on a phone.
|
|
310
|
+
- **Sign-off:** "Skye — Enchantents"
|
|
311
|
+
|
|
312
|
+
### Never say
|
|
313
|
+
|
|
314
|
+
- "I hope this email finds you well"
|
|
315
|
+
- "Just checking in" / "Circling back" / "Following up on this"
|
|
316
|
+
- "Yo," "looks sick," "btw," "no joke," or any forced casual slang
|
|
317
|
+
- "I'm reaching out because"
|
|
318
|
+
- "Synergy," "solution" (as buzzword), "stakeholder," "optimize," "leverage"
|
|
319
|
+
- "I'd love to schedule a brief 15-minute discovery call"
|
|
320
|
+
- "Frame material isn't specified" (sounds like stupid AI filler)
|
|
321
|
+
- "With a water column rating" (without the number: 360mm)
|
|
322
|
+
- Anything that could belong to any lead (if you could swap names and it still works, rewrite)
|
|
323
|
+
- Competitor product names as recommendations (Twin Peaks, Gloyts, etc.) — terminable offense
|
|
324
|
+
|
|
325
|
+
### Em dashes
|
|
326
|
+
|
|
327
|
+
NO em dashes (—) in email body text. Use periods or commas instead. Metadata headers in reasoning files can use dashes.
|
|
328
|
+
|
|
329
|
+
### Kareen's quote pattern
|
|
330
|
+
|
|
331
|
+
When a lead saw pricing and went quiet, don't downsell. Use Kareen's pattern:
|
|
332
|
+
- Reaffirm the value at the existing price point
|
|
333
|
+
- Add context that makes the price make sense (ROI, durability, warranty)
|
|
334
|
+
- Offer a concrete next step that reduces friction
|
|
335
|
+
|
|
336
|
+
**Don't downsell without evidence they can't afford it.** Price is rarely the real objection — it's uncertainty about value.
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Phase 6: Reasoning Audit (MANDATORY)
|
|
341
|
+
|
|
342
|
+
Every email draft MUST have an accompanying reasoning file. No exceptions.
|
|
343
|
+
|
|
344
|
+
### File naming
|
|
345
|
+
|
|
346
|
+
```
|
|
347
|
+
enq-YYYYMMDD-lead-slug-v1.md # The email draft
|
|
348
|
+
enq-YYYYMMDD-lead-slug-v1-reasoning.md # The reasoning audit
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Reasoning file structure
|
|
352
|
+
|
|
353
|
+
```markdown
|
|
354
|
+
# Reasoning Audit: [Draft ID]
|
|
355
|
+
|
|
356
|
+
## Lead intelligence
|
|
357
|
+
- CRM source: Bigin deal [ID] / Zoho Books estimate [ID]
|
|
358
|
+
- Classification: [warm/lukewarm/cold] — [why]
|
|
359
|
+
- Language: [English/Spanish — how determined: phone code, inquiry language, country]
|
|
360
|
+
- Deal amount: $[amount]
|
|
361
|
+
- Last activity: [date]
|
|
362
|
+
- Their inquiry words: "[exact quote from deal description]"
|
|
363
|
+
|
|
364
|
+
## Research findings
|
|
365
|
+
- [What you found, with source URLs]
|
|
366
|
+
- [Only verified facts, no assumptions]
|
|
367
|
+
|
|
368
|
+
## Hook logic
|
|
369
|
+
- Why this hook: [reason]
|
|
370
|
+
- Verified fact it references: [what + source]
|
|
371
|
+
|
|
372
|
+
## Subject line alternatives (at least 3)
|
|
373
|
+
1. [subject] — [why it works]
|
|
374
|
+
2. [subject] — [why it works]
|
|
375
|
+
3. [subject] — [why it works]
|
|
376
|
+
→ Selected: [#] because [reason]
|
|
377
|
+
|
|
378
|
+
## Model selection
|
|
379
|
+
- [Model 1]: Why it fits — [reason tied to lead's situation]
|
|
380
|
+
- [Model 2]: Why it fits — [reason tied to lead's situation]
|
|
381
|
+
|
|
382
|
+
## Language audit
|
|
383
|
+
- [ ] Entire email in one language (no mixing)
|
|
384
|
+
- [ ] Greeting matches language
|
|
385
|
+
- [ ] Spanish: no voseo, "grado marino" not "marítimo", "acero galvanizado" not "en caliente"
|
|
386
|
+
|
|
387
|
+
## Fact check
|
|
388
|
+
- [ ] No hallucinated interaction history
|
|
389
|
+
- [ ] No unverified claims about installs/social proof
|
|
390
|
+
- [ ] No fabricated pain points
|
|
391
|
+
- [ ] No fabricated prospect claims (expansion plans, locations, current setup, timeline)
|
|
392
|
+
- [ ] No invented locations (verify every location reference against their website)
|
|
393
|
+
- [ ] No fabricated performance claims (installation time, foundation requirements, etc.)
|
|
394
|
+
- [ ] No assumption that a question went unanswered (Kareen may have called)
|
|
395
|
+
- [ ] Every factual claim in the email has a cited source (Zoho, OPS.md, their website, CRM)
|
|
396
|
+
- [ ] Material specs: "galvanized steel" NOT "hot-dip" NOT "aluminum"
|
|
397
|
+
- [ ] Water column: "360mm" specified, not vague
|
|
398
|
+
- [ ] No em dashes in email body
|
|
399
|
+
|
|
400
|
+
## What I'm uncertain about
|
|
401
|
+
- [Anything you couldn't verify, flagged for human review]
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Phase 7: Deliver to Human
|
|
407
|
+
|
|
408
|
+
**Never show approval buttons before the human has read the full email text.** Present both the email and the reasoning file, then ask for approval.
|
|
409
|
+
|
|
410
|
+
Deliver format:
|
|
411
|
+
1. Subject line (with alternatives)
|
|
412
|
+
2. Full email body
|
|
413
|
+
3. Reasoning audit summary (or link to file)
|
|
414
|
+
4. Ask: approve, revise, or kill
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## Post-Send: Bigin Update (MANDATORY — immediately after every send)
|
|
419
|
+
|
|
420
|
+
**Every email sent MUST be logged in Bigin before moving to the next lead. No exceptions.**
|
|
421
|
+
|
|
422
|
+
### Add note
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
npx mcporter call zoho-bigin.Bigin_addNotesToSpecificRecord \
|
|
426
|
+
body='{"data":[{"Note_Title":"Email sent YYYY-MM-DD","Note_Content":"Subject: [subject]. Key products: [models]. Ask: [what you asked]. Status: awaiting reply."}]}' \
|
|
427
|
+
path_variables='{"module_api_name":"Pipelines","id":"DEAL_ID"}'
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### Update deal stage
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
npx mcporter call zoho-bigin.Bigin_updateRecords \
|
|
434
|
+
body='{"data":[{"id":"DEAL_ID","Stage":"Contacted"}]}' \
|
|
435
|
+
path_variables='{"module_api_name":"Pipelines"}'
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### Email sending command
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
npx zele mail send \
|
|
442
|
+
--account skye@enchantents.com \
|
|
443
|
+
--from "Skye at Enchantents <skye@enchantents.com>" \
|
|
444
|
+
--to LEAD_EMAIL \
|
|
445
|
+
--subject 'SUBJECT' \
|
|
446
|
+
--body 'BODY'
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### Reply monitoring
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
npx zele mail list --account skye@enchantents.com --limit 100
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
Check for replies after 48 hours. If no reply in 7 days, plan re-engagement with NEW value (never "just checking in").
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Quick Reference: Anti-Patterns
|
|
460
|
+
|
|
461
|
+
| Anti-pattern | Why it fails | What to do instead |
|
|
462
|
+
|-------------|-------------|-------------------|
|
|
463
|
+
| "Following up on your inquiry" | Could be any lead | Reference their SPECIFIC inquiry words |
|
|
464
|
+
| "For your project" | What project? | Name the project/property |
|
|
465
|
+
| Em dashes in body | Not how Kareen writes | Use periods or commas |
|
|
466
|
+
| "Hot-dip galvanized" | Wrong per Jairo (2026-05-10) | "Galvanized steel" / "acero galvanizado" |
|
|
467
|
+
| "Frame material isn't specified" | AI filler | Know the spec or leave it unmentioned |
|
|
468
|
+
| "Water column rating" | Vague | "360mm water column" |
|
|
469
|
+
| Mixing English/Spanish | Confusing, unprofessional | Entire email in one language |
|
|
470
|
+
| "Hi [Name]" in Spanish email | Language mismatch | "Hola [Nombre]," |
|
|
471
|
+
| 3+ models in one email | Overwhelming | Max 2, with links and WHY |
|
|
472
|
+
| Model name without link | Tells them nothing | Always `[Model](https://enchantents.com/model)` |
|
|
473
|
+
| Downselling without evidence | Undermines value | Use Kareen's quote pattern |
|
|
474
|
+
| Fabricated pain points | Destroys trust | Use only verified facts |
|
|
475
|
+
| Phone number in signature | Not set up yet | Omit until ElevenLabs is configured |
|
|
476
|
+
| Recommending competitor products | Terminable | Never. Compare only when they ask. |
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## STEP N: Copywriting Tournament (RECOMMENDED for subject lines + opening lines)
|
|
481
|
+
|
|
482
|
+
Generate 3-5 variants of the key subject lines + opening lines, then run them through 5 parallel judge personas to find the winner:
|
|
483
|
+
|
|
484
|
+
1. Generate 3-5 variants (different angles, formulas, or approaches)
|
|
485
|
+
2. Save each to: `content/tournaments/{slug}/variant-1.md` through `variant-N.md`
|
|
486
|
+
3. Spawn 5 PARALLEL `build` subagents (one per judge persona):
|
|
487
|
+
- `~/.claude/skills/quality-gate/judge-personas/skeptic.md`
|
|
488
|
+
- `~/.claude/skills/quality-gate/judge-personas/scanner.md`
|
|
489
|
+
- `~/.claude/skills/quality-gate/judge-personas/buyer.md`
|
|
490
|
+
- `~/.claude/skills/quality-gate/judge-personas/expert.md`
|
|
491
|
+
- `~/.claude/skills/quality-gate/judge-personas/outsider.md`
|
|
492
|
+
- Each gets: tournament_dir, variant_count, mode=`cold-email`, original_prompt
|
|
493
|
+
4. Collect all 5 JSON results, aggregate: sum weighted_avg per variant across judges
|
|
494
|
+
5. Pick winner, apply recommended_edits, save as draft
|
|
495
|
+
6. Winner enters standard quality-gate below
|
|
496
|
+
|
|
497
|
+
**When to use:** Every lead email — the Scanner judge filters anything that does not stop the scroll
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
## FINAL STEP: Quality Gate (MANDATORY — DO NOT SKIP)
|
|
502
|
+
|
|
503
|
+
Before presenting ANY draft to Jairo, run the quality gate:
|
|
504
|
+
|
|
505
|
+
1. Save your complete draft to a file (e.g., `content/drafts/{slug}.md` or a temp file)
|
|
506
|
+
2. Spawn a `build` subagent using the Task tool with the quality-gate prompt from `Skill: quality-gate`
|
|
507
|
+
3. Pass these inputs to the subagent:
|
|
508
|
+
- **draft_path**: absolute path to the saved draft
|
|
509
|
+
- **mode**: `cold-email`
|
|
510
|
+
- **original_prompt**: the writing prompt that started this task
|
|
511
|
+
- **attempt**: current attempt number (start at 1)
|
|
512
|
+
4. Parse the JSON result from the subagent
|
|
513
|
+
5. If FAIL and attempt < 3:
|
|
514
|
+
- Rewrite the draft addressing the specific `rewrite_instructions` from the quality gate
|
|
515
|
+
- Save the new draft (overwrite or new file)
|
|
516
|
+
- Spawn another subagent with attempt + 1
|
|
517
|
+
6. If FAIL and attempt = 3:
|
|
518
|
+
- Present to Jairo with all score reports attached
|
|
519
|
+
- Say: "Couldn't pass quality gate after 3 attempts. Here's what's wrong and what I tried to fix."
|
|
520
|
+
7. If PASS:
|
|
521
|
+
- Present to Jairo as normal (do NOT show scores — they're internal)
|
|
522
|
+
8. NEVER present a draft that hasn't passed quality gate (except after 3 failed attempts)
|