@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,438 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hook-generator
|
|
3
|
+
description: Generate platform-optimized hooks using Unified Hook Generator v3.0 (Volume generation + Jev ranking + Ralph). 3-step system - volume generation produces 50 hooks (85-90/100), jev_jev_rerank ranks all 50 against ICP + funnel stage + voice (sub-second), Ralph enhances top hooks to 90-95/100. Uses examples-first training with real engagement data across all 6 platforms (Twitter, LinkedIn, Instagram, YouTube, TikTok, Medium).
|
|
4
|
+
allowed-tools: Read, Grep, Glob, Bash
|
|
5
|
+
license: Internal use only
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Unified Hook Generator v3.0
|
|
9
|
+
**Status**: PRODUCTION-READY (upgraded 2026-01-23)
|
|
10
|
+
**Quality**: 90-95/100 (v3.0 with Ralph enhancement)
|
|
11
|
+
|
|
12
|
+
## Awareness Gate (MANDATORY)
|
|
13
|
+
|
|
14
|
+
Before generating hooks, determine the target audience's awareness level. See `references/awareness-level-guide.md`. If unclear, ask the user. The awareness level determines which hook patterns will resonate — problem-aware audiences respond to validation hooks, solution-aware to comparison hooks, product-aware to proof hooks.
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
```bash
|
|
18
|
+
|
|
19
|
+
# Generate Twitter hooks (auto-detects niche from brand name)
|
|
20
|
+
~/clawd/skills/hook-generator-openclaw/scripts/generate.sh \
|
|
21
|
+
--content "Building AI agents with OpenClaw" \
|
|
22
|
+
--platform twitter \
|
|
23
|
+
--brand aiwithjai \
|
|
24
|
+
--count 3
|
|
25
|
+
|
|
26
|
+
# Generate hooks for Enchantents (auto-detects glamping niche)
|
|
27
|
+
--content "Glamping tent ROI" \
|
|
28
|
+
--brand enchantents \
|
|
29
|
+
|
|
30
|
+
# Explicit niche override
|
|
31
|
+
node ~/clawd/skills/hook-generator-openclaw/scripts/generate-hooks-unified.js \
|
|
32
|
+
--content "Your content" \
|
|
33
|
+
--platform tiktok \
|
|
34
|
+
--brand default \
|
|
35
|
+
--niche enchantents-glamping
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Parameters:**
|
|
39
|
+
- `--content` (required): The content/idea to generate hooks for
|
|
40
|
+
- `--platform` (required): twitter, linkedin, instagram, youtube, tiktok, medium
|
|
41
|
+
- `--brand` (optional): Brand name for context + auto-niche detection, defaults to "default"
|
|
42
|
+
- `--niche` (optional): Explicit niche filter. Overrides brand-based detection
|
|
43
|
+
- `--count` (optional): Number of hooks to generate, default 3
|
|
44
|
+
|
|
45
|
+
**Brand → Niche Auto-Detection:**
|
|
46
|
+
- enchantents, nomadixgear, nomadix: `enchantents-glamping`
|
|
47
|
+
- aiwithjai, linkedgraphix, clawver: `ai-agents`
|
|
48
|
+
- (other/default): all examples, no filtering
|
|
49
|
+
|
|
50
|
+
## Overview
|
|
51
|
+
Single authoritative system for generating platform-optimized hooks across all 6 platforms using **examples-first training** instead of abstract formulas.
|
|
52
|
+
|
|
53
|
+
**Key Innovation**: Show AI 5-7 PROVEN hooks with real engagement data before generation → Consistent 85/100+ quality vs 76-81/100 baseline.
|
|
54
|
+
|
|
55
|
+
## When to Invoke
|
|
56
|
+
Use this skill when:
|
|
57
|
+
- **Creating hooks for social content** (platform-content-generator Phase 2)
|
|
58
|
+
- **Generating newsletter subject lines** (newsletter-strategist)
|
|
59
|
+
- **Writing blog post titles** (blog-workflow)
|
|
60
|
+
- **A/B testing hooks** for engagement optimization
|
|
61
|
+
- **Repurposing content** across platforms with consistent quality
|
|
62
|
+
|
|
63
|
+
## 4-Step Model Pipeline (v3.2 — two-pass generation, 2026-10-17)
|
|
64
|
+
|
|
65
|
+
> **Dead model warning (verified 2026-10-17):** this skill previously pinned `z-ai/glm-4.7-flash` (Step 1) and `z-ai/glm-4.7` (Step 3). Both now return **HTTP 200 with EMPTY content**. OpenRouter credits are NOT the problem — `anthropic/claude-haiku-4.5`, `google/gemini-2.5-flash-lite` and `openai/gpt-4o-mini` all respond normally on the same key. Repoint any pin before running, or the step silently produces nothing.
|
|
66
|
+
|
|
67
|
+
### Step 1a: Volume Generation (examples-first)
|
|
68
|
+
**Model**: `anthropic/claude-haiku-4.5` via OpenRouter (verified working 2026-10-17)
|
|
69
|
+
**Why**: Fast, cheap, optimized for volume
|
|
70
|
+
**Output**: 40-50 hooks — a relevance floor and ICP coverage
|
|
71
|
+
|
|
72
|
+
### Step 1b: Diversity Generation (REQUIRED — added 2026-10-17)
|
|
73
|
+
**Model**: same as 1a, **different prompt**
|
|
74
|
+
**Why**: the examples-first pass alone cannot produce a non-obvious hook. Measured: its genericness *floor* was 0.71 across 10 candidates — structurally zero hooks an average AI wouldn't write, so no selection step can find a tail that was never generated.
|
|
75
|
+
**Output**: 40 more hooks from a prompt that widens the distribution:
|
|
76
|
+
- Audience described as **ONE named individual** — age, business, the exact tool they bought, the phrase they used to dismiss it, a recurring scene from their week. Never a segment.
|
|
77
|
+
- Banned structures: `I watched`, `I saw`, `Every <X> you do manually`, `Here is why`, `Most people`, `Imagine`, `X just Y` news framing, numbered lists.
|
|
78
|
+
- Forced angle variety: second-person accusation, specific scene, question, confession, fragment, comparison to physical work the reader already understands.
|
|
79
|
+
- Explicit instruction: hooks "an average AI would almost never produce".
|
|
80
|
+
|
|
81
|
+
**Measured effect of adding 1b**: genericness floor 0.71 → 0.14, distribution range widened 4.1×, top-of-range held. On a named-person ICP query the examples-first batch scored R 0.36-0.67 (every one below the 0.70 ship floor) while the diversity batch took the entire top 6.
|
|
82
|
+
|
|
83
|
+
### Step 2: Hook Selection
|
|
84
|
+
**REPLACED 2026-09-26, EXTENDED 2026-10-17:** selection runs through the `jev-hook-gate` skill — TWO `jev_jev_rerank` calls over the pooled candidates (relevance R + genericness G), selected on `R − λ·G` with a 0.70 relevance floor. The old qwen/Sonnet/Gemini selection subagents are retired — do NOT use them.
|
|
85
|
+
**Why**: TypeSafe judgment model, typed scores, no wasted reasoning tokens, no rate limits.
|
|
86
|
+
**Output**: ranked list with both scores; best `R − λ·G` ships, next 2 kept as A/B alternates.
|
|
87
|
+
See: `jev-hook-gate` SKILL.md (gate rule: global AGENTS.md §1b-s).
|
|
88
|
+
|
|
89
|
+
### Step 3: Ralph Enhancement
|
|
90
|
+
**Model**: a stronger model than the volume pass — **verify the pin resolves before relying on it** (see dead model warning above)
|
|
91
|
+
**Why**: Consistent scoring, stable multi-step reasoning
|
|
92
|
+
**Output**: 3 hooks at 90-95/100 (+7-10 points)
|
|
93
|
+
|
|
94
|
+
**Fallback Pattern**: If Step 1 fails, retry with a different working model — never the dead GLM pins
|
|
95
|
+
**Cost**: ~$0.25-0.35 per batch (80-90 hooks → 3 final hooks)
|
|
96
|
+
|
|
97
|
+
## Architecture
|
|
98
|
+
|
|
99
|
+
### Four-Step System (v3.2 — two-pass generation)
|
|
100
|
+
Input: Content + Platform + Brand + NAMED-PERSON ICP
|
|
101
|
+
↓
|
|
102
|
+
Step 1a: Volume Generation — examples-first → 40-50 hooks
|
|
103
|
+
├─ Show 5-7 proven hooks from the platform database
|
|
104
|
+
└─ Purpose: relevance floor + ICP coverage
|
|
105
|
+
Step 1b: Diversity Generation — different prompt → 40 hooks [REQUIRED]
|
|
106
|
+
├─ Audience = one named individual, never a segment
|
|
107
|
+
├─ Template openers banned; angle variety forced
|
|
108
|
+
└─ Purpose: make a tail exist so Step 2 can find it
|
|
109
|
+
Step 2: Jev Gate (jev_jev_rerank MCP — 2 calls, since 2026-09-26 + 2026-10-17)
|
|
110
|
+
├─ 3a relevance R — against the NAMED PERSON, not a segment
|
|
111
|
+
├─ 3b genericness G — inverted query, "what would every AI say"
|
|
112
|
+
└─ Score = R − λ·G (λ = 0.50), floor R ≥ 0.70; top 3 kept
|
|
113
|
+
Step 3: Ralph Enhancement
|
|
114
|
+
├─ Score top 3 (Ralph methodology)
|
|
115
|
+
├─ Generate improvement prompts
|
|
116
|
+
├─ Iterative enhancement (max 3 iterations)
|
|
117
|
+
└─ Early stop if no progress
|
|
118
|
+
Output: 3 hooks at 90-95/100 (vs 85-88/100 v2.0)
|
|
119
|
+
|
|
120
|
+
**Quality Improvement**: +7-10 points per hook
|
|
121
|
+
**Cost**: ~$0.50-0.70 per batch (80-90 hooks + 2 gate calls + enhancement)
|
|
122
|
+
**Time**: ~2-3 minutes total
|
|
123
|
+
|
|
124
|
+
## Platform-Specific Databases
|
|
125
|
+
|
|
126
|
+
### Database Structure
|
|
127
|
+
Each platform has a JSON database with 20+ proven hooks:
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"platform": "twitter",
|
|
132
|
+
"description": "Real high-performing Twitter hooks for AI training",
|
|
133
|
+
"source": "Bird CLI competitive data + 2026 viral research",
|
|
134
|
+
"updated": "2026-01-15",
|
|
135
|
+
"voice_requirements": {
|
|
136
|
+
"tone": "Conversational, punchy, quotable",
|
|
137
|
+
"structure": "Short lines with white space",
|
|
138
|
+
"forbidden": ["Most people think", "Imagine", "Picture this"]
|
|
139
|
+
},
|
|
140
|
+
"examples": [
|
|
141
|
+
"hook": "I watched Kip Bodnar build...",
|
|
142
|
+
"engagement": {"likes": 7005, "retweets": 666},
|
|
143
|
+
"why_it_works": "First-person witness, specific timeframe",
|
|
144
|
+
"pattern": "First-Person Witness + Transformation",
|
|
145
|
+
"validated": true
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"anti_patterns": [
|
|
149
|
+
"hook": "Kip Bodnar built an AI app...",
|
|
150
|
+
"why_it_fails": "Third-person reporter, information overload",
|
|
151
|
+
"pattern": "Information Overload",
|
|
152
|
+
"validated": "2026-01-15 linkedgraphix test (scored 76/100)"
|
|
153
|
+
]
|
|
154
|
+
|
|
155
|
+
### Available Databases
|
|
156
|
+
- `database/twitter-hooks.json` - 39+ Twitter hooks (7k+ likes validated, 19 AI agent + 10 Enchantents)
|
|
157
|
+
- `database/linkedin-hooks.json` - 38+ LinkedIn hooks (81/100 validated, 8 AI agent + 10 Enchantents)
|
|
158
|
+
- `database/instagram-hooks.json` - 30+ Instagram Reels hooks (10 AI agent + 10 Enchantents)
|
|
159
|
+
- `database/youtube-hooks.json` - 22+ YouTube hooks (8 AI agent + 10 Enchantents)
|
|
160
|
+
|
|
161
|
+
**Niche Tags** (each hook has a `niche` field for filtering):
|
|
162
|
+
- `"ai-agents"` — AI tools, automation, AI agent content (aiwithjai, linkedgraphix, clawver)
|
|
163
|
+
- `"enchantents-glamping"` — Glamping tents, hospitality investment (enchantents, nomadixgear)
|
|
164
|
+
- `(no niche field)` — General hooks, used as fallback for any brand
|
|
165
|
+
|
|
166
|
+
**How niche filtering works:**
|
|
167
|
+
1. Pass `--brand enchantents` → auto-detects niche `enchantents-glamping`
|
|
168
|
+
2. Loads niche-specific hooks FIRST, then general hooks as fallback
|
|
169
|
+
3. Generator sees the most relevant examples → better output
|
|
170
|
+
4. Override with `--niche ai-agents` if needed
|
|
171
|
+
|
|
172
|
+
# Automatically loads appropriate database
|
|
173
|
+
node .claude/skills/hook-generator/scripts/generate-hooks-unified.js \
|
|
174
|
+
--content "path/to/blog.md" \
|
|
175
|
+
--brand linkedgraphix.app \
|
|
176
|
+
|
|
177
|
+
**What it does**:
|
|
178
|
+
- Loads 20+ proven hooks for target platform
|
|
179
|
+
- Selects top 5-7 examples to show Gemini
|
|
180
|
+
- Includes engagement data, patterns, "why it works" explanations
|
|
181
|
+
|
|
182
|
+
### Step 2: Extract Content Elements
|
|
183
|
+
Simple extraction (Gemini does heavy analysis):
|
|
184
|
+
- **Numbers**: `40%`, `3 minutes`, `16 talking points`
|
|
185
|
+
- **Timeframes**: `under 10 minutes`, `30-minute video`
|
|
186
|
+
- **Quotes**: Direct quotes from content
|
|
187
|
+
- **Context**: First 500 characters for understanding
|
|
188
|
+
|
|
189
|
+
### Step 3: Generate with Gemini CLI
|
|
190
|
+
**Prompt Structure**:
|
|
191
|
+
Study these 7 PROVEN [platform] hooks:
|
|
192
|
+
|
|
193
|
+
EXAMPLE 1:
|
|
194
|
+
Hook: [actual hook text]
|
|
195
|
+
Engagement: [real data]
|
|
196
|
+
Why it works: [specific reasons]
|
|
197
|
+
Pattern: [pattern name]
|
|
198
|
+
|
|
199
|
+
[... 6 more examples ...]
|
|
200
|
+
|
|
201
|
+
TASK: Generate 3 hooks using the SAME PATTERNS as proven examples.
|
|
202
|
+
|
|
203
|
+
For each hook, provide:
|
|
204
|
+
1. hook_text: The actual hook
|
|
205
|
+
2. pattern: Which example pattern it follows
|
|
206
|
+
3. why_it_works: Specific reason for performance
|
|
207
|
+
4. estimated_score: 0-100 (based on pattern match + specificity)
|
|
208
|
+
5. similar_to_example: Which example (1-7) it's most similar to
|
|
209
|
+
|
|
210
|
+
**Token Savings**: Hook examples (2-3k tokens) loaded in Gemini's context ($0.075/1M), not Claude's ($3/1M) = **95%+ savings**
|
|
211
|
+
|
|
212
|
+
### Step 4: Score & Rank
|
|
213
|
+
Ranks hooks by:
|
|
214
|
+
- Pattern match strength (does it follow proven pattern?)
|
|
215
|
+
- Specificity (concrete numbers, names, timeframes?)
|
|
216
|
+
- Curiosity gap (creates desire to learn more?)
|
|
217
|
+
- Platform fit (matches platform voice requirements?)
|
|
218
|
+
|
|
219
|
+
## Usage Examples
|
|
220
|
+
|
|
221
|
+
### Command Line
|
|
222
|
+
--content "brands/linkedgraphix.app/content/03-production/blog/article.md" \
|
|
223
|
+
|
|
224
|
+
# Generate LinkedIn hooks
|
|
225
|
+
--platform linkedin \
|
|
226
|
+
|
|
227
|
+
### From Claude Code (Skill Invocation)
|
|
228
|
+
Skill: hook-generator
|
|
229
|
+
Platform: twitter
|
|
230
|
+
Content: brands/{brand}/content/03-production/blog/{slug}/03-final.md
|
|
231
|
+
Brand: {brand}
|
|
232
|
+
Count: 3
|
|
233
|
+
|
|
234
|
+
### Programmatic (Node.js)
|
|
235
|
+
```javascript
|
|
236
|
+
const { generateHooksWithGemini, loadPlatformHooks } = require('./.claude/skills/hook-generator/scripts/generate-hooks-unified.js');
|
|
237
|
+
|
|
238
|
+
const hookDatabase = loadPlatformHooks('twitter');
|
|
239
|
+
const content = fs.readFileSync('article.md', 'utf8');
|
|
240
|
+
const elements = extractContentElements(content);
|
|
241
|
+
|
|
242
|
+
const hooks = await generateHooksWithGemini('twitter', hookDatabase, content, elements, 3);
|
|
243
|
+
console.log(hooks);
|
|
244
|
+
|
|
245
|
+
## Validated Results (LinkedGraphix Test - 2026-01-15)
|
|
246
|
+
|
|
247
|
+
### Twitter Hooks Generated
|
|
248
|
+
1. **88/100**: "I watched Kip build an AI app live. Under 10 minutes. 16 viral talking points from ONE video..." (Building in Public Journey)
|
|
249
|
+
2. **85/100**: "Kip Bodnar just killed the content repurposing industry..." (Shocking Action + Transformation)
|
|
250
|
+
3. **87/100**: "every YouTube video you watch manually is now a wasted opportunity..." (Contrarian + Hidden Opportunity)
|
|
251
|
+
|
|
252
|
+
### LinkedIn Hooks Generated
|
|
253
|
+
1. **81/100**: "I watched Kip Bodnar build an AI content repurposing app live..." (First-Person Witness - exact validated pattern)
|
|
254
|
+
2. **84/100**: "Two content creators, same YouTube video..." (A/B Comparison)
|
|
255
|
+
3. **82/100**: "A marketing exec just proved why most content creators are wasting hours..." (Exec Validation)
|
|
256
|
+
|
|
257
|
+
**Average**: 84.5/100 across both platforms
|
|
258
|
+
**Improvement**: +8.5 points over 76/100 baseline
|
|
259
|
+
**Consistency**: All hooks 81-88/100 (no quality variance)
|
|
260
|
+
|
|
261
|
+
## Key Principles
|
|
262
|
+
|
|
263
|
+
### 1. Examples Over Formulas
|
|
264
|
+
**OLD Approach**:
|
|
265
|
+
"Be contrarian. Create curiosity gap. Use specific numbers."
|
|
266
|
+
|
|
267
|
+
**NEW Approach**:
|
|
268
|
+
"Study these 7 PROVEN hooks with 7k+ likes.
|
|
269
|
+
Generate hooks using the SAME PATTERNS."
|
|
270
|
+
|
|
271
|
+
**Result**: AI learns from concrete examples, not abstract rules.
|
|
272
|
+
|
|
273
|
+
### 2. Platform-Specific Libraries
|
|
274
|
+
**Why**: Twitter hooks ≠ LinkedIn hooks ≠ Instagram hooks
|
|
275
|
+
|
|
276
|
+
**Example**:
|
|
277
|
+
- **Twitter**: "I watched Kip build..." (conversational, punchy)
|
|
278
|
+
- **LinkedIn**: "I watched Kip Bodnar build an AI content repurposing app live in under 10 minutes." (professional depth)
|
|
279
|
+
- **Instagram**: Text overlay: "This feels illegal to know." + Suspenseful audio (visual-first)
|
|
280
|
+
|
|
281
|
+
### 3. Validated 2026 Data
|
|
282
|
+
**Sources**:
|
|
283
|
+
- LinkedIn: 300 posts tested, algorithm analysis
|
|
284
|
+
- Instagram: 1.9M+ Reels analyzed
|
|
285
|
+
- Twitter: Real engagement (7k+ likes, 666 RTs)
|
|
286
|
+
- LinkedGraphix validation: 81/100 (LinkedIn), 76/100 (Twitter) - identified what works vs what doesn't
|
|
287
|
+
|
|
288
|
+
### 4. Token Efficiency
|
|
289
|
+
**Cost Comparison**:
|
|
290
|
+
- **Inline generation** (Claude): 40k tokens @ $3/1M = $0.12
|
|
291
|
+
- **Unified generator** (Gemini CLI): 3k tokens @ $0.075/1M = $0.0002
|
|
292
|
+
- **Savings**: 95%+ per generation
|
|
293
|
+
|
|
294
|
+
### 5. Continuous Improvement
|
|
295
|
+
**Process**:
|
|
296
|
+
1. Track published hooks + engagement (monthly)
|
|
297
|
+
2. Add top performers to databases
|
|
298
|
+
3. Remove underperformers
|
|
299
|
+
4. System improves automatically
|
|
300
|
+
|
|
301
|
+
### 6. Quantifiable Tension First (SkillOpt-trained, 2026-09-27)
|
|
302
|
+
**Rule**: Immediately present a quantifiable problem or tension that addresses the reader's exact situation. No generic "people" or abstract concepts — each hook is 1-2 sentences.
|
|
303
|
+
|
|
304
|
+
**Source**: Validation-gate-accepted edit from a live SkillOpt training run (baseline 0.60 → 1.00 on held-out hook tasks). Apply this as a hard requirement when scoring Step 1 volume output: hooks that open with a vague audience or an unquantified tension get regenerated before Ralph enhancement.
|
|
305
|
+
|
|
306
|
+
## Integration Points
|
|
307
|
+
|
|
308
|
+
### Current Integrations (UPDATED 2026-01-15)
|
|
309
|
+
**platform-content-generator** (Phase 2):
|
|
310
|
+
- INTEGRATED: Invokes unified hook generator
|
|
311
|
+
- Generates 3 hooks per platform
|
|
312
|
+
- Uses platform-specific databases
|
|
313
|
+
- Selects best hook for final content
|
|
314
|
+
|
|
315
|
+
**newsletter-strategist**:
|
|
316
|
+
- ⏳ PENDING: Update to use unified generator for subject lines
|
|
317
|
+
|
|
318
|
+
**social-content-generator**:
|
|
319
|
+
- ⏳ PENDING: Update to use unified generator for social hooks
|
|
320
|
+
|
|
321
|
+
## Performance Metrics
|
|
322
|
+
|
|
323
|
+
### Performance Metrics (v3.0)
|
|
324
|
+
**Quality Targets**:
|
|
325
|
+
- v2.0 Baseline: 85-88/100 (Gemini/Haiku generation only)
|
|
326
|
+
- v3.0 Target: 90-95/100 (Haiku + Sonnet + Ralph)
|
|
327
|
+
- Success Rate: 90%+ platforms reach target (vs 50% v2.0)
|
|
328
|
+
- Voice Quality: 100/100 maintained (zero AI clichés)
|
|
329
|
+
|
|
330
|
+
**Efficiency Targets**:
|
|
331
|
+
- Token Savings: 95%+ (Gemini vs Claude)
|
|
332
|
+
- Cost: $0.50-0.70 per batch (50 hooks + selection + enhancement)
|
|
333
|
+
- Consistency: Same quality across all platforms
|
|
334
|
+
- Speed: 2-3 minutes per generation
|
|
335
|
+
|
|
336
|
+
## Ralph Enhancement Methodology
|
|
337
|
+
|
|
338
|
+
### What is Ralph Enhancement?
|
|
339
|
+
Ralph is a quality scoring system that enhances hooks from 85-88/100 to 90-95/100 through:
|
|
340
|
+
1. **10-dimensional scoring** (Hook Effectiveness, Voice, Specificity, Emotion, etc.)
|
|
341
|
+
2. **Targeted improvement prompts** (focus on weak dimensions < 7/10)
|
|
342
|
+
3. **Pattern teaching** (explain WHY patterns work)
|
|
343
|
+
4. **Iterative refinement** (repeat until 90/100 or early stop)
|
|
344
|
+
|
|
345
|
+
### Enhancement Process
|
|
346
|
+
**For each of top 3 hooks**:
|
|
347
|
+
|
|
348
|
+
**Step 1: Score** (6 dimensions):
|
|
349
|
+
- Hook Effectiveness (40% weight) - Stops scrolling in 0.3 seconds?
|
|
350
|
+
- Voice Authenticity (20% weight) - Sounds like real person?
|
|
351
|
+
- Specificity (15% weight) - Concrete details vs vague claims?
|
|
352
|
+
- Emotion Strength (10% weight) - Single clear emotion at 7+/10?
|
|
353
|
+
- Pattern Recognition (10% weight) - Uses proven formulas?
|
|
354
|
+
- Platform Optimization (5% weight) - Platform-specific format?
|
|
355
|
+
|
|
356
|
+
**Step 2: Generate Improvement Prompt** (if score < 90/100):
|
|
357
|
+
- Load brand voice foundation (with 9/10 examples)
|
|
358
|
+
- Identify weak dimensions (score < 7/10)
|
|
359
|
+
- Inject banger hook options (if hook effectiveness weak)
|
|
360
|
+
- Teach patterns (Zeigarnik effect, cognitive dissonance, etc.)
|
|
361
|
+
- Preserve strong dimensions (score ≥ 7/10)
|
|
362
|
+
- Apply AI slop blacklist (remove generic phrases)
|
|
363
|
+
- Provide implementation steps
|
|
364
|
+
|
|
365
|
+
**Step 3: Improve** (Gemini/Claude):
|
|
366
|
+
- Apply improvement prompt, Generate enhanced hook, Re-score enhanced version
|
|
367
|
+
- Repeat if needed (max 3 iterations)
|
|
368
|
+
- Early stop if no progress
|
|
369
|
+
|
|
370
|
+
**Step 4: Output**:
|
|
371
|
+
- Enhanced hook at 90-95/100
|
|
372
|
+
- Dimension breakdown
|
|
373
|
+
- Improvement delta (+X points)
|
|
374
|
+
- Number of iterations
|
|
375
|
+
|
|
376
|
+
### Why Ralph Enhancement Works
|
|
377
|
+
**Compounds Quality**:
|
|
378
|
+
- Haiku baseline: 85-90/100 (zero AI slop)
|
|
379
|
+
- Sonnet selection: Best patterns from 50 options
|
|
380
|
+
- Ralph enhancement: Targeted improvements per dimension
|
|
381
|
+
- **Result: 90-95/100 consistently**
|
|
382
|
+
|
|
383
|
+
**Teaches Patterns**:
|
|
384
|
+
- Explains WHY hooks work (neuroscience, psychology)
|
|
385
|
+
- Shows 9/10 examples before improvement
|
|
386
|
+
- Injects banger hook alternatives
|
|
387
|
+
- System learns from improvements
|
|
388
|
+
|
|
389
|
+
**Preserves Strengths**:
|
|
390
|
+
- Doesn't break what's working (dimensions ≥ 7/10)
|
|
391
|
+
- Focuses only on weak areas
|
|
392
|
+
- Maintains voice authenticity
|
|
393
|
+
- Prevents trade-offs
|
|
394
|
+
|
|
395
|
+
## Troubleshooting
|
|
396
|
+
|
|
397
|
+
### "Generated hooks are generic"
|
|
398
|
+
- **Check**: Are you loading platform-specific database?
|
|
399
|
+
- **Fix**: Verify database path and platform parameter match
|
|
400
|
+
|
|
401
|
+
### "Quality varies between platforms"
|
|
402
|
+
- **Check**: Are examples being shown before generation?
|
|
403
|
+
- **Fix**: Ensure 5-7 examples loaded in Gemini's context
|
|
404
|
+
|
|
405
|
+
### "Hooks don't match brand voice"
|
|
406
|
+
- **Check**: Does database include brand-specific examples?
|
|
407
|
+
- **Fix**: Add brand's top performers to platform database
|
|
408
|
+
|
|
409
|
+
### "Gemini CLI error"
|
|
410
|
+
- **Check**: `gemini` command available in PATH?
|
|
411
|
+
- **Fix**: Use Task tool with examples as workaround pattern
|
|
412
|
+
|
|
413
|
+
## Supporting Resources
|
|
414
|
+
- `README.md` - Complete system documentation (110+ lines)
|
|
415
|
+
- `database/2026-PLATFORM-RESEARCH.md` - Research sources and findings
|
|
416
|
+
- `database/{platform}-hooks.json` - 6 platform-specific databases
|
|
417
|
+
- `scripts/generate-hooks-unified.js` - Main generator script
|
|
418
|
+
- `references/hook-generation-system.md` - Original 6-formula system (deprecated)
|
|
419
|
+
- `references/platform-optimization.md` - Platform-specific rules
|
|
420
|
+
|
|
421
|
+
## Migration from Old System
|
|
422
|
+
**OLD System** (7-formula):
|
|
423
|
+
- Abstract formulas: "Be contrarian", "Create curiosity gap"
|
|
424
|
+
- Inconsistent results (LinkedIn 81, Twitter 76)
|
|
425
|
+
- No examples shown during generation
|
|
426
|
+
|
|
427
|
+
**NEW System** (Unified v2.0):
|
|
428
|
+
- Examples-first: Show 5-7 proven hooks
|
|
429
|
+
- Consistent 85/100+ across platforms
|
|
430
|
+
- Real engagement data validates patterns
|
|
431
|
+
|
|
432
|
+
**Migration Steps**:
|
|
433
|
+
1. Update platform-content-generator SKILL.md (completed 2026-01-15)
|
|
434
|
+
2. ⏳ Update newsletter-strategist agent
|
|
435
|
+
3. ⏳ Update social-content-generator agent
|
|
436
|
+
4. ⏳ Archive old 7-formula system
|
|
437
|
+
|
|
438
|
+
**Status**: Production-ready | Validated 2026-01-15 | 95%+ token savings | 85/100+ quality
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# 2026 Platform Research: What's Actually Working
|
|
2
|
+
**Last Updated**: 2026-01-13
|
|
3
|
+
**Sources**: LinkedIn algorithm analysis (300 posts tested), Instagram Reels trends, LinkedGraphix validation test
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## LinkedIn (B2B Professional)
|
|
8
|
+
|
|
9
|
+
### Algorithm Changes (Early 2026)
|
|
10
|
+
**Major Shifts**:
|
|
11
|
+
1. **Link Penalty**: Posts with external links get **60% less reach** vs identical posts without links
|
|
12
|
+
2. **Comments > Likes**: Post with 50 comments outperforms post with 500 likes
|
|
13
|
+
3. **Engagement Bait Detection**: Phrases like "Agree or disagree?" and "What would you add?" are now penalized
|
|
14
|
+
|
|
15
|
+
**Sources**:
|
|
16
|
+
- [The 2026 LinkedIn Algorithm: What Actually Works Right Now](https://rivereditor.com/blogs/2026-linkedin-algorithm-what-works-300-posts-tested)
|
|
17
|
+
- [LinkedIn's 2026 Algorithm: The Engagement Bait Era Is Finally Over](https://synergist-digital-media.ghost.io/linkedins-2026-algorithm-the-engagement-bait-era-is-finally-over/)
|
|
18
|
+
|
|
19
|
+
### Top-Performing Formats
|
|
20
|
+
1. **Text-only posts**: Most reach per follower (no image penalty)
|
|
21
|
+
2. **PDF carousels**: Highest engagement (keeps users on LinkedIn)
|
|
22
|
+
3. **Video clips (30-90s)**: Thriving (platform-native engagement)
|
|
23
|
+
4. **Image posts**: 30% LESS reach than text-only (underperforming in 2026)
|
|
24
|
+
|
|
25
|
+
### Hook Requirements
|
|
26
|
+
**Critical**: First 2 lines determine engagement (before "see more" cutoff)
|
|
27
|
+
|
|
28
|
+
**Top Hook Types**:
|
|
29
|
+
1. **First-Person Witness**: "I watched [person] do [surprising thing]..."
|
|
30
|
+
- Example: "I watched Kip Bodnar build an AI app live in under 10 minutes." (81/100 score)
|
|
31
|
+
- Why: Personal, credible, creates FOMO
|
|
32
|
+
|
|
33
|
+
2. **Surprising Statistics**: "I analyzed 10,000 [things]. [X%] had [finding]."
|
|
34
|
+
- Creates credibility + curiosity gap
|
|
35
|
+
|
|
36
|
+
3. **Problem-Solution Teaser**: Identifies pain point, promises framework
|
|
37
|
+
- Example: "Most business owners don't know if SEO makes them money. Here's how I track..."
|
|
38
|
+
|
|
39
|
+
### Validated Performance (Real Data)
|
|
40
|
+
**Post 1** (SEO Lead Tracking):
|
|
41
|
+
- Hook: "How I track SEO leads & make sure SEO is ROI positive"
|
|
42
|
+
- Engagement: 172 likes, 123 comments, 4 shares
|
|
43
|
+
- Why: Tackled widespread pain point with framework promise
|
|
44
|
+
|
|
45
|
+
**Post 2** (AI Skills):
|
|
46
|
+
- Hook: "AI skills will be crucial for years to come. Knowing how to use ChatGPT isn't enough."
|
|
47
|
+
- Engagement: 1,847 likes, 321 comments, 285 shares
|
|
48
|
+
- Why: Fear-based motivation + save-worthy visual reference
|
|
49
|
+
|
|
50
|
+
**Source**: [Anatomy of a Viral LinkedIn B2B Post](https://gracker.ai/blog/viral-linkedin-b2b-post-anatomy)
|
|
51
|
+
|
|
52
|
+
### Posting Cadence
|
|
53
|
+
- **Optimal**: 3-4 high-quality posts/week
|
|
54
|
+
- **Timing**: 7-9 AM audience timezone (fastest initial engagement)
|
|
55
|
+
- **Days**: Tuesday-Thursday > Monday/Friday
|
|
56
|
+
|
|
57
|
+
### What to Avoid
|
|
58
|
+
- Engagement pods (detected and penalized)
|
|
59
|
+
- Overly promotional content (suppressed)
|
|
60
|
+
- Generic engagement bait phrases
|
|
61
|
+
- External links in posts (60% reach penalty)
|
|
62
|
+
|
|
63
|
+
## Instagram Reels (Visual/Creator)
|
|
64
|
+
|
|
65
|
+
### Algorithm Priorities (2026)
|
|
66
|
+
**Ranking Factors**:
|
|
67
|
+
1. **Completion rate** (15-60 second sweet spot)
|
|
68
|
+
2. **Saves/shares > likes** (high-intent actions prioritized)
|
|
69
|
+
3. **First 3 seconds** = critical hook window
|
|
70
|
+
|
|
71
|
+
### Top Audio Trends (Jan 2026)
|
|
72
|
+
**#1: "Every Breath You Take"** (812K Reels)
|
|
73
|
+
- Pattern: Emotional, nostalgic reflection + milestone moments
|
|
74
|
+
- Works with: Slow transitions, close-ups, sentimental reveals
|
|
75
|
+
|
|
76
|
+
**#2: "I Wanna Thank Me"** (18K Reels)
|
|
77
|
+
- Pattern: Self-empowerment + celebration of personal wins
|
|
78
|
+
- Best for: Before-after transformations, achievement showcases
|
|
79
|
+
|
|
80
|
+
### December 2025 Standouts
|
|
81
|
+
**"Twinkling Lights (Reimagined)"** (1.9M Reels) - *Top Performer*
|
|
82
|
+
- Hook: Soft sparkle atmosphere without oversaturation
|
|
83
|
+
- Strategy: Minimal movement, steady framing, let light carry narrative
|
|
84
|
+
|
|
85
|
+
**"Turn the Lights Off"** (310K Reels)
|
|
86
|
+
- Hook: Builds anticipation through contrast (stillness → motion)
|
|
87
|
+
- Pattern: Viewers stay waiting for shift
|
|
88
|
+
|
|
89
|
+
### Visual Patterns That Work
|
|
90
|
+
**What's Winning**:
|
|
91
|
+
- Slow transitions > quick cuts (for emotional content)
|
|
92
|
+
- Steady framing > aggressive camera movement (reflective content)
|
|
93
|
+
- Natural light + textures drive engagement
|
|
94
|
+
- Intentional pacing > polish (authenticity beats overproduction)
|
|
95
|
+
|
|
96
|
+
**What's Underperforming**:
|
|
97
|
+
- Fast edits for emotional audio
|
|
98
|
+
- Overly polished, corporate-feeling content
|
|
99
|
+
|
|
100
|
+
### Hook Formulas (Text Overlays)
|
|
101
|
+
Based on trending patterns:
|
|
102
|
+
1. "This feels illegal to know."
|
|
103
|
+
2. "I've been keeping a secret..."
|
|
104
|
+
3. "You're not going to believe what I just did/found out."
|
|
105
|
+
4. "MYTH: [common belief]"
|
|
106
|
+
5. "I was wrong..."
|
|
107
|
+
|
|
108
|
+
**Source**: [Instagram Reels Trends 2026](https://www.socialpilot.co/blog/instagram-reels-trends)
|
|
109
|
+
|
|
110
|
+
## Twitter/X (Conversational/Viral)
|
|
111
|
+
|
|
112
|
+
### Validated Patterns (From Existing Database)
|
|
113
|
+
**Top Performers** (Real Engagement Data):
|
|
114
|
+
|
|
115
|
+
1. **"10 days into 2026..."** (rauchg)
|
|
116
|
+
- 7,005 likes, 666 retweets
|
|
117
|
+
- Pattern: Timely Event List + Bold Prediction
|
|
118
|
+
- Why: Specific credible sources + urgency
|
|
119
|
+
|
|
120
|
+
2. **"in an AI world, your ability to clearly describe..."** (gregisenberg)
|
|
121
|
+
- 2,910 likes, 314 retweets
|
|
122
|
+
- Pattern: Contrarian Prediction
|
|
123
|
+
- Why: Challenges assumption (not coding, but communication)
|
|
124
|
+
|
|
125
|
+
3. **"every failed VC-backed consumer app..."** (gregisenberg)
|
|
126
|
+
- 2,989 likes, 130 retweets
|
|
127
|
+
- Pattern: Hidden Opportunity Reveal
|
|
128
|
+
- Why: Specific opportunity ($1-10M) + actionable CTA
|
|
129
|
+
|
|
130
|
+
### LinkedGraphix Validation (2026-01-13)
|
|
131
|
+
**What DIDN'T Work** (76/100 score):
|
|
132
|
+
- Hook: "Kip Bodnar built an AI app live that extracts 16 viral talking points..."
|
|
133
|
+
- Problem: Third-person reporter, too much info crammed, no emotion
|
|
134
|
+
|
|
135
|
+
**What WORKED** (LinkedIn, 81/100 score):
|
|
136
|
+
- Hook: "I watched Kip Bodnar build an AI app live. Under 10 minutes."
|
|
137
|
+
- Why: First-person witness, dramatic pacing, simple structure
|
|
138
|
+
|
|
139
|
+
### Key Insights
|
|
140
|
+
**Voice Requirements**:
|
|
141
|
+
- Conversational, punchy, quotable
|
|
142
|
+
- Short lines with white space
|
|
143
|
+
- Use → arrows and bullets
|
|
144
|
+
- NO: "Most people think", "Imagine", "Picture this"
|
|
145
|
+
|
|
146
|
+
**Length**: Quality-driven, no arbitrary limits, optimize for feed readability
|
|
147
|
+
|
|
148
|
+
## YouTube (Long-Form Video)
|
|
149
|
+
**First 8 seconds critical** (viewer decides to stay or leave)
|
|
150
|
+
|
|
151
|
+
1. **Problem Reveal**: "The biggest mistake [audience] make is..."
|
|
152
|
+
2. **Bold Promise**: "By the end of this video, you'll know exactly how to..."
|
|
153
|
+
3. **Pattern Interrupt**: Show unexpected result first, then explain
|
|
154
|
+
|
|
155
|
+
### Title Patterns
|
|
156
|
+
- Specificity > vagueness ("16 talking points" not "many tips")
|
|
157
|
+
- Numbers work (lists, timeframes, results)
|
|
158
|
+
- Keyword at beginning for search
|
|
159
|
+
|
|
160
|
+
## TikTok (Short-Form Video)
|
|
161
|
+
|
|
162
|
+
### Algorithm Priorities
|
|
163
|
+
**Watch time** = primary ranking factor
|
|
164
|
+
|
|
165
|
+
**First 2 seconds** = decide to watch or scroll
|
|
166
|
+
|
|
167
|
+
### Hook Patterns
|
|
168
|
+
1. **Shock/Surprise**: "I can't believe this actually worked..."
|
|
169
|
+
2. **Relatability**: "POV: You're trying to..."
|
|
170
|
+
3. **Question**: "Why does nobody talk about..."
|
|
171
|
+
4. **Challenge**: "I tried [trend] for 30 days. Here's what happened."
|
|
172
|
+
|
|
173
|
+
## Medium (Long-Form Written)
|
|
174
|
+
|
|
175
|
+
### Article Performance
|
|
176
|
+
**Title patterns**:
|
|
177
|
+
1. "I [did surprising thing]. Here's what I learned."
|
|
178
|
+
2. "[Number] [things] that [surprising result]"
|
|
179
|
+
3. "The [thing] nobody talks about"
|
|
180
|
+
|
|
181
|
+
**Structure**: Similar to LinkedIn but longer (1500-3000 words)
|
|
182
|
+
|
|
183
|
+
**SEO**: Cross-post from blog with canonical URL
|
|
184
|
+
|
|
185
|
+
## Cross-Platform Insights
|
|
186
|
+
|
|
187
|
+
### Universal Patterns (Work Everywhere)
|
|
188
|
+
1. **Specificity beats vagueness**: "16 talking points in 10 minutes" > "lots of content quickly"
|
|
189
|
+
2. **First-person > third-person**: "I watched..." > "Kip Bodnar did..."
|
|
190
|
+
3. **Curiosity gaps**: Promise reveal ("Here's the framework:")
|
|
191
|
+
4. **Emotional triggers**: Surprise, opportunity, concern (NOT generic excitement)
|
|
192
|
+
5. **Contrarian angles**: Challenge common beliefs
|
|
193
|
+
|
|
194
|
+
### What's Dead in 2026
|
|
195
|
+
- "Most people think..." (AI cliché)
|
|
196
|
+
- Generic promises ("Save time", "Make money")
|
|
197
|
+
- Ranges instead of specifics ("10-35 hours")
|
|
198
|
+
- Engagement bait phrases
|
|
199
|
+
- Overly promotional content
|
|
200
|
+
|
|
201
|
+
## Validation Methodology
|
|
202
|
+
1. Algorithm research (300+ posts tested)
|
|
203
|
+
2. Real engagement data (likes, comments, shares)
|
|
204
|
+
3. LinkedGraphix test (81/100 LinkedIn, 76/100 Twitter)
|
|
205
|
+
4. Platform trend analysis (monthly top performers)
|
|
206
|
+
|
|
207
|
+
**Next Steps**:
|
|
208
|
+
1. Build platform-specific hook databases
|
|
209
|
+
2. Tag hooks by pattern + engagement data
|
|
210
|
+
3. Create unified generator that loads relevant examples
|
|
211
|
+
4. Continuous learning: add monthly top performers
|