@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,258 @@
|
|
|
1
|
+
# Onboarding Experiment Ideas
|
|
2
|
+
|
|
3
|
+
Comprehensive list of A/B tests and experiments for user onboarding and activation.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
- Flow Simplification Experiments (reduce friction, step sequencing, progress & motivation)
|
|
7
|
+
- Guided Experience Experiments (product tours, CTA optimization, UI guidance)
|
|
8
|
+
- Personalization Experiments (user segmentation, dynamic content)
|
|
9
|
+
- Quick Wins & Engagement Experiments (time-to-value, motivation mechanics, support & help)
|
|
10
|
+
- Email & Multi-Channel Experiments (onboarding emails, email content, feedback loops)
|
|
11
|
+
- Re-engagement Experiments (stalled user recovery, return experience)
|
|
12
|
+
- Technical & UX Experiments (performance, mobile onboarding, accessibility)
|
|
13
|
+
- Metrics to Track
|
|
14
|
+
|
|
15
|
+
## Flow Simplification Experiments
|
|
16
|
+
|
|
17
|
+
### Reduce Friction
|
|
18
|
+
|
|
19
|
+
| Test | Hypothesis |
|
|
20
|
+
|------|------------|
|
|
21
|
+
| Email verification timing | During vs. after onboarding |
|
|
22
|
+
| Empty states vs. dummy data | Pre-populated examples |
|
|
23
|
+
| Pre-filled templates | Accelerate setup with templates |
|
|
24
|
+
| OAuth options | Faster account linking |
|
|
25
|
+
| Required step count | Fewer required steps |
|
|
26
|
+
| Optional vs. required fields | Minimize requirements |
|
|
27
|
+
| Skip options | Allow bypassing non-critical steps |
|
|
28
|
+
|
|
29
|
+
### Step Sequencing
|
|
30
|
+
|
|
31
|
+
| Test | Hypothesis |
|
|
32
|
+
|------|------------|
|
|
33
|
+
| Step ordering | Test different sequences |
|
|
34
|
+
| Value-first ordering | Highest-value features first |
|
|
35
|
+
| Friction placement | Move hard steps later |
|
|
36
|
+
| Required vs. optional balance | Ratio of required steps |
|
|
37
|
+
| Single vs. branching paths | One path vs. personalized |
|
|
38
|
+
| Quick start vs. full setup | Minimal path to value |
|
|
39
|
+
|
|
40
|
+
### Progress & Motivation
|
|
41
|
+
|
|
42
|
+
| Test | Hypothesis |
|
|
43
|
+
|------|------------|
|
|
44
|
+
| Progress bars | Show completion percentage |
|
|
45
|
+
| Checklist length | 3-5 items vs. 5-7 items |
|
|
46
|
+
| Gamification | Badges, rewards, achievements |
|
|
47
|
+
| Completion messaging | "X% complete" visibility |
|
|
48
|
+
| Starting point | Begin at 20% vs. 0% |
|
|
49
|
+
| Celebration moments | Acknowledge completions |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Guided Experience Experiments
|
|
54
|
+
|
|
55
|
+
### Product Tours
|
|
56
|
+
|
|
57
|
+
| Test | Hypothesis |
|
|
58
|
+
|------|------------|
|
|
59
|
+
| Interactive tours | Tools like Navattic, Storylane |
|
|
60
|
+
| Tooltip vs. modal guidance | Subtle vs. attention-grabbing |
|
|
61
|
+
| Video tutorials | For complex workflows |
|
|
62
|
+
| Self-paced vs. guided | User control vs. structured |
|
|
63
|
+
| Tour length | Shorter vs. comprehensive |
|
|
64
|
+
| Tour triggering | Automatic vs. user-initiated |
|
|
65
|
+
|
|
66
|
+
### CTA Optimization
|
|
67
|
+
|
|
68
|
+
| Test | Hypothesis |
|
|
69
|
+
|------|------------|
|
|
70
|
+
| CTA text variations | Action-oriented copy testing |
|
|
71
|
+
| CTA placement | Position within screens |
|
|
72
|
+
| In-app tooltips | Feature discovery prompts |
|
|
73
|
+
| Sticky CTAs | Persist during onboarding |
|
|
74
|
+
| CTA contrast | Visual prominence |
|
|
75
|
+
| Secondary CTAs | "Learn more" vs. primary only |
|
|
76
|
+
|
|
77
|
+
### UI Guidance
|
|
78
|
+
|
|
79
|
+
| Test | Hypothesis |
|
|
80
|
+
|------|------------|
|
|
81
|
+
| Hotspot highlights | Draw attention to key features |
|
|
82
|
+
| Coachmarks | Contextual tips |
|
|
83
|
+
| Feature announcements | New feature discovery |
|
|
84
|
+
| Contextual help | Help where users need it |
|
|
85
|
+
| Search vs. guided | Self-service vs. directed |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Personalization Experiments
|
|
90
|
+
|
|
91
|
+
### User Segmentation
|
|
92
|
+
|
|
93
|
+
| Test | Hypothesis |
|
|
94
|
+
|------|------------|
|
|
95
|
+
| Role-based onboarding | Different paths by role |
|
|
96
|
+
| Goal-based paths | Customize by stated goal |
|
|
97
|
+
| Role-specific dashboards | Relevant default views |
|
|
98
|
+
| Use-case question | Personalize based on answer |
|
|
99
|
+
| Industry-specific paths | Vertical customization |
|
|
100
|
+
| Experience-based | Beginner vs. expert paths |
|
|
101
|
+
|
|
102
|
+
### Dynamic Content
|
|
103
|
+
|
|
104
|
+
| Test | Hypothesis |
|
|
105
|
+
|------|------------|
|
|
106
|
+
| Personalized welcome | Name, company, role |
|
|
107
|
+
| Industry examples | Relevant use cases |
|
|
108
|
+
| Dynamic recommendations | Based on user answers |
|
|
109
|
+
| Template suggestions | Pre-filled for segment |
|
|
110
|
+
| Feature highlighting | Relevant to stated goals |
|
|
111
|
+
| Benchmark data | Industry-specific metrics |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Quick Wins & Engagement Experiments
|
|
116
|
+
|
|
117
|
+
### Time-to-Value
|
|
118
|
+
|
|
119
|
+
| Test | Hypothesis |
|
|
120
|
+
|------|------------|
|
|
121
|
+
| First quick win | "Complete your first X" |
|
|
122
|
+
| Success messages | After key actions |
|
|
123
|
+
| Progress celebrations | Milestone moments |
|
|
124
|
+
| Next step suggestions | After each completion |
|
|
125
|
+
| Value demonstration | Show what they achieved |
|
|
126
|
+
| Outcome preview | What success looks like |
|
|
127
|
+
|
|
128
|
+
### Motivation Mechanics
|
|
129
|
+
|
|
130
|
+
| Test | Hypothesis |
|
|
131
|
+
|------|------------|
|
|
132
|
+
| Achievement badges | Gamification elements |
|
|
133
|
+
| Streaks | Consecutive day engagement |
|
|
134
|
+
| Leaderboards | Social comparison (if appropriate) |
|
|
135
|
+
| Rewards | Incentives for completion |
|
|
136
|
+
| Unlock mechanics | Features revealed progressively |
|
|
137
|
+
|
|
138
|
+
### Support & Help
|
|
139
|
+
|
|
140
|
+
| Test | Hypothesis |
|
|
141
|
+
|------|------------|
|
|
142
|
+
| Free onboarding calls | For complex products |
|
|
143
|
+
| Contextual help | Throughout onboarding |
|
|
144
|
+
| Chat support | Availability during onboarding |
|
|
145
|
+
| Proactive outreach | For stuck users |
|
|
146
|
+
| Self-service resources | Help docs, videos |
|
|
147
|
+
| Community access | Peer support early |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Email & Multi-Channel Experiments
|
|
152
|
+
|
|
153
|
+
### Onboarding Emails
|
|
154
|
+
|
|
155
|
+
| Test | Hypothesis |
|
|
156
|
+
|------|------------|
|
|
157
|
+
| Founder welcome email | Personal vs. generic |
|
|
158
|
+
| Behavior-based triggers | Action/inaction based |
|
|
159
|
+
| Email timing | Immediate vs. delayed |
|
|
160
|
+
| Email frequency | More vs. fewer touches |
|
|
161
|
+
| Quick tips format | Short actionable content |
|
|
162
|
+
| Video in email | More engaging format |
|
|
163
|
+
|
|
164
|
+
### Email Content
|
|
165
|
+
|
|
166
|
+
| Test | Hypothesis |
|
|
167
|
+
|------|------------|
|
|
168
|
+
| Subject lines | Open rate optimization |
|
|
169
|
+
| Personalization depth | Name vs. behavior-based |
|
|
170
|
+
| CTA prominence | Single clear action |
|
|
171
|
+
| Social proof inclusion | Testimonials in email |
|
|
172
|
+
| Urgency messaging | Trial reminders |
|
|
173
|
+
| Plain text vs. designed | Format testing |
|
|
174
|
+
|
|
175
|
+
### Feedback Loops
|
|
176
|
+
|
|
177
|
+
| Test | Hypothesis |
|
|
178
|
+
|------|------------|
|
|
179
|
+
| NPS during onboarding | When to ask |
|
|
180
|
+
| Blocking question | "What's stopping you?" |
|
|
181
|
+
| NPS follow-up | Actions based on score |
|
|
182
|
+
| In-app feedback | Thumbs up/down on features |
|
|
183
|
+
| Survey timing | When to request feedback |
|
|
184
|
+
| Feedback incentives | Reward for completing |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Re-engagement Experiments
|
|
189
|
+
|
|
190
|
+
### Stalled User Recovery
|
|
191
|
+
|
|
192
|
+
| Test | Hypothesis |
|
|
193
|
+
|------|------------|
|
|
194
|
+
| Re-engagement email timing | When to send |
|
|
195
|
+
| Personal outreach | Human vs. automated |
|
|
196
|
+
| Simplified path | Reduced steps for returners |
|
|
197
|
+
| Incentive offers | Discount or extended trial |
|
|
198
|
+
| Problem identification | Ask what's blocking |
|
|
199
|
+
| Demo offer | Live walkthrough |
|
|
200
|
+
|
|
201
|
+
### Return Experience
|
|
202
|
+
|
|
203
|
+
| Test | Hypothesis |
|
|
204
|
+
|------|------------|
|
|
205
|
+
| Welcome back message | Acknowledge return |
|
|
206
|
+
| Progress resume | Pick up where left off |
|
|
207
|
+
| Changed state | What happened while away |
|
|
208
|
+
| Re-onboarding | Fresh start option |
|
|
209
|
+
| Urgency messaging | Trial time remaining |
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Technical & UX Experiments
|
|
214
|
+
|
|
215
|
+
### Performance
|
|
216
|
+
|
|
217
|
+
| Test | Hypothesis |
|
|
218
|
+
|------|------------|
|
|
219
|
+
| Load time optimization | Faster = higher completion |
|
|
220
|
+
| Progressive loading | Perceived performance |
|
|
221
|
+
| Offline capability | Mobile experience |
|
|
222
|
+
| Error handling | Graceful failure recovery |
|
|
223
|
+
|
|
224
|
+
### Mobile Onboarding
|
|
225
|
+
|
|
226
|
+
| Test | Hypothesis |
|
|
227
|
+
|------|------------|
|
|
228
|
+
| Touch targets | Size and spacing |
|
|
229
|
+
| Swipe navigation | Mobile-native patterns |
|
|
230
|
+
| Screen count | Fewer screens needed |
|
|
231
|
+
| Input optimization | Mobile-friendly forms |
|
|
232
|
+
| Permission timing | When to ask |
|
|
233
|
+
|
|
234
|
+
### Accessibility
|
|
235
|
+
|
|
236
|
+
| Test | Hypothesis |
|
|
237
|
+
|------|------------|
|
|
238
|
+
| Screen reader support | Accessibility impact |
|
|
239
|
+
| Keyboard navigation | Non-mouse users |
|
|
240
|
+
| Color contrast | Visibility |
|
|
241
|
+
| Font sizing | Readability |
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Metrics to Track
|
|
246
|
+
|
|
247
|
+
For all experiments, measure:
|
|
248
|
+
|
|
249
|
+
| Metric | Description |
|
|
250
|
+
|--------|-------------|
|
|
251
|
+
| Activation rate | % reaching activation event |
|
|
252
|
+
| Time to activation | Hours/days to first value |
|
|
253
|
+
| Step completion rate | % completing each step |
|
|
254
|
+
| Drop-off points | Where users abandon |
|
|
255
|
+
| Return rate | Users who come back |
|
|
256
|
+
| Day 1/7/30 retention | Engagement over time |
|
|
257
|
+
| Feature adoption | Which features get used |
|
|
258
|
+
| Support requests | Volume during onboarding |
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: original-research
|
|
3
|
+
description: "Produce proprietary data content — surveys, benchmark reports, state-of-industry studies, data analyses, and original research reports that AI..."
|
|
4
|
+
allowed-tools: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /original-research — Proprietary Data Content
|
|
8
|
+
|
|
9
|
+
Generic content is invisible to AI search engines. They synthesize consensus from thousands of sources and skip anything that sounds like every other article on the topic. The one thing AI engines always cite: **original data that doesn't exist anywhere else**. This skill produces that data.
|
|
10
|
+
|
|
11
|
+
A research report with unique findings, specific numbers, and contrarian insights is the single highest-leverage content format for AI citation. It's the new backlink.
|
|
12
|
+
|
|
13
|
+
For brand memory protocol, see /cmo [rules/brand-memory.md](../cmo/rules/brand-memory.md).
|
|
14
|
+
|
|
15
|
+
## On Activation
|
|
16
|
+
|
|
17
|
+
1. Read `brand/` directory: load `positioning.md`, `audience.md`, `competitors.md`, `keyword-plan.md` if present.
|
|
18
|
+
2. Show what loaded:
|
|
19
|
+
```
|
|
20
|
+
Brand context loaded:
|
|
21
|
+
├── Positioning ✓/✗
|
|
22
|
+
├── Audience ✓/✗
|
|
23
|
+
├── Competitors ✓/✗
|
|
24
|
+
└── Keyword Plan ✓/✗
|
|
25
|
+
```
|
|
26
|
+
3. If no brand files, ask: What industry/niche? Who is the audience for this research? What topics would your audience care about data on?
|
|
27
|
+
4. Determine mode:
|
|
28
|
+
- **From scratch** — Design and execute a new research project (default)
|
|
29
|
+
- **From existing data** — Analyze data the brand already has (analytics, surveys, customer data)
|
|
30
|
+
- **Curated dataset** — Aggregate and analyze public data sources to produce new findings
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Phase 1: Research Design
|
|
35
|
+
|
|
36
|
+
### Identify the Research Angle
|
|
37
|
+
|
|
38
|
+
The best research topics sit at the intersection of:
|
|
39
|
+
1. **What your audience wants to know** (from `audience.md`, keyword research, Reddit/forum questions)
|
|
40
|
+
2. **What no one has published data on** (the gap — check if existing reports exist via web search / **Agent-Reach**)
|
|
41
|
+
3. **What positions your brand as the authority** (ties to `positioning.md`)
|
|
42
|
+
|
|
43
|
+
**Agent-Reach** (skill: `agent-reach`) provides free access to platforms for gap analysis:
|
|
44
|
+
- **Exa semantic search**: `mcporter call 'exa.web_search_exa(query: "topic", numResults: 10)'`
|
|
45
|
+
- **Reddit discussions**: `opencli reddit search "topic" -f yaml` (requires browser login)
|
|
46
|
+
- **X/Twitter sentiment**: `twitter search "topic" -n 20`
|
|
47
|
+
- **YouTube content**: `yt-dlp --write-sub --skip-download "URL"`
|
|
48
|
+
- **Bilibili/V2EX** (Chinese platforms): `bili search`, `curl v2ex API`
|
|
49
|
+
- **GitHub stars/issues**: `gh search repos`
|
|
50
|
+
|
|
51
|
+
### Research Format Selection
|
|
52
|
+
|
|
53
|
+
| Format | Best When | Effort | AI Citation Power |
|
|
54
|
+
|--------|-----------|--------|-------------------|
|
|
55
|
+
| **Benchmark Report** | You have performance data across customers/campaigns | Medium | Very High |
|
|
56
|
+
| **State of [Industry]** | Annual/quarterly snapshot of trends | Large | Very High |
|
|
57
|
+
| **Survey Analysis** | You can reach 100+ respondents | Large | High |
|
|
58
|
+
| **Data Analysis** | Public datasets available (Census, GitHub, API data) | Medium | High |
|
|
59
|
+
| **Case Study with Data** | Strong customer success story with numbers | Small | High |
|
|
60
|
+
| **Tool Comparison Test** | You can run head-to-head tests of tools/platforms | Medium | Medium |
|
|
61
|
+
| **Trend Analysis** | Time-series data showing changes over time | Medium | Medium |
|
|
62
|
+
|
|
63
|
+
### The Contrarian Test
|
|
64
|
+
|
|
65
|
+
Before committing to a topic, ask: **Will at least one finding surprise people?**
|
|
66
|
+
|
|
67
|
+
Research that confirms what everyone already knows ("content marketing is important!") doesn't get cited. Research that reveals something unexpected ("73% of B2B SaaS companies post less than once a week") gets cited everywhere.
|
|
68
|
+
|
|
69
|
+
Run a quick web search. If 5+ articles already exist with data on this exact topic, either:
|
|
70
|
+
- Find a sub-angle they don't cover
|
|
71
|
+
- Use fresher/more specific data
|
|
72
|
+
- Pick a different topic
|
|
73
|
+
|
|
74
|
+
### Research Plan Output
|
|
75
|
+
|
|
76
|
+
Write a brief plan to `brand/marketing/research/research-plan.md`:
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
---
|
|
80
|
+
title: "Research Plan: {Topic}"
|
|
81
|
+
date_created: "{YYYY-MM-DD}"
|
|
82
|
+
format: "{benchmark/survey/analysis/case-study}"
|
|
83
|
+
target_completion: "{date}"
|
|
84
|
+
estimated_sample_size: "{number}"
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Research Question
|
|
88
|
+
{The core question this research answers}
|
|
89
|
+
|
|
90
|
+
## Hypothesis
|
|
91
|
+
{What we expect to find — the contrarian angle}
|
|
92
|
+
|
|
93
|
+
## Data Sources
|
|
94
|
+
- {Source 1}: {what data, how accessed}
|
|
95
|
+
- {Source 2}: {what data, how accessed}
|
|
96
|
+
|
|
97
|
+
**Agent-Reach** (skill: `agent-reach`) can gather from:
|
|
98
|
+
- Exa semantic search (free, no key): `mcporter call 'exa.web_search_exa(...)'`
|
|
99
|
+
- Reddit: `opencli reddit search "query" -f yaml`
|
|
100
|
+
- X/Twitter: `twitter search "query" -n 20`
|
|
101
|
+
- YouTube transcripts: `yt-dlp --write-sub --skip-download "URL"`
|
|
102
|
+
- Bilibili: `bili search "query" --type video -n 10`
|
|
103
|
+
- V2EX: `curl https://www.v2ex.com/api/topics/hot.json`
|
|
104
|
+
- GitHub: `gh search repos "query" --limit 20`
|
|
105
|
+
- RSS feeds: Built into agent-reach
|
|
106
|
+
|
|
107
|
+
## Methodology
|
|
108
|
+
{How data will be collected and analyzed}
|
|
109
|
+
|
|
110
|
+
## Target Findings (3-5)
|
|
111
|
+
1. {Expected finding 1}
|
|
112
|
+
2. {Expected finding 2}
|
|
113
|
+
3. {Expected finding 3}
|
|
114
|
+
|
|
115
|
+
## Distribution Plan
|
|
116
|
+
- Primary report: {format, word count}
|
|
117
|
+
- Social atomization: {platforms}
|
|
118
|
+
- AI citation optimization: {target queries}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Phase 2: Data Collection
|
|
124
|
+
|
|
125
|
+
### Methods by Data Source
|
|
126
|
+
|
|
127
|
+
**From existing brand data (analytics, CRM, customer data):**
|
|
128
|
+
1. Identify what data exists and is accessible
|
|
129
|
+
2. Export or query the relevant datasets
|
|
130
|
+
3. Clean and normalize data
|
|
131
|
+
4. Note sample size, date range, and any biases
|
|
132
|
+
|
|
133
|
+
**From public datasets:**
|
|
134
|
+
1. Search for relevant datasets (government data, Kaggle, GitHub, academic repositories)
|
|
135
|
+
2. Download and merge datasets
|
|
136
|
+
3. Filter for relevance and recency
|
|
137
|
+
4. Document sources for citation
|
|
138
|
+
|
|
139
|
+
**From web scraping / API analysis:**
|
|
140
|
+
1. Use `firecrawl` or `webfetch` to collect data from relevant sources
|
|
141
|
+
2. Use `last30days` skill for trend data across social platforms
|
|
142
|
+
3. Use `subreddit-pain-extraction` for Reddit-derived insights
|
|
143
|
+
4. Document methodology for reproducibility
|
|
144
|
+
|
|
145
|
+
**From surveys / interviews:**
|
|
146
|
+
1. Design a short survey (max 10 questions, mix of quantitative and qualitative)
|
|
147
|
+
2. If no survey tool available, design questions for manual outreach
|
|
148
|
+
3. Target minimum 50 responses for statistical significance (100+ preferred)
|
|
149
|
+
4. Offer the final report as incentive for participation
|
|
150
|
+
|
|
151
|
+
**From competitive benchmarking:**
|
|
152
|
+
1. Use `competitive-intel` skill to gather competitor data
|
|
153
|
+
2. Run structured analyses (feature comparisons, pricing, content output)
|
|
154
|
+
3. Score and rank using consistent criteria
|
|
155
|
+
4. Generate unique data points no one else has published
|
|
156
|
+
|
|
157
|
+
**From data journalism pipeline (last30days + landscape-scan):**
|
|
158
|
+
1. Run `last30days` skill to collect 30-day trend signals across Reddit, X, YouTube, TikTok, HN, Bluesky, web
|
|
159
|
+
2. Run `landscape-scan` skill to produce a ground-truth ecosystem snapshot
|
|
160
|
+
3. Identify patterns, anomalies, and gaps across the collected signals
|
|
161
|
+
4. Quantify trends into publishable stats: "Mentions of {topic} on Reddit increased 340% in 30 days"
|
|
162
|
+
5. Cross-reference with `subreddit-pain-extraction` for verbatim pain phrases to quote
|
|
163
|
+
6. Produce a trend report that AI engines cite as primary source for "what's happening in {space}"
|
|
164
|
+
7. This is the fastest path to publishable research — no survey needed, pure signal extraction
|
|
165
|
+
|
|
166
|
+
### Data Quality Gates
|
|
167
|
+
|
|
168
|
+
Before proceeding to analysis, verify:
|
|
169
|
+
- Sample size is stated (even if small — honesty > pretending)
|
|
170
|
+
- Data sources are documented
|
|
171
|
+
- Biases are acknowledged (e.g., "survey of our customers, not random sample")
|
|
172
|
+
- At least 3 potential findings are visible in the raw data
|
|
173
|
+
- The data supports at least one surprising or contrarian conclusion
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Phase 3: Analysis and Findings
|
|
178
|
+
|
|
179
|
+
### Statistical Analysis
|
|
180
|
+
|
|
181
|
+
For each potential finding:
|
|
182
|
+
1. Calculate the headline stat (percentage, average, median, change over time)
|
|
183
|
+
2. Identify the contrarian angle (what does this contradict?)
|
|
184
|
+
3. Find the practical implication (what should the reader DO about this?)
|
|
185
|
+
4. Verify the stat is accurate — never round up or exaggerate
|
|
186
|
+
|
|
187
|
+
### Structure Findings
|
|
188
|
+
|
|
189
|
+
Present 5-8 key findings in order of surprise value (most surprising first):
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
## Key Findings
|
|
193
|
+
|
|
194
|
+
### 1. {Most surprising finding}
|
|
195
|
+
{Stat: "73% of X do Y"} — {Why this matters} — {What to do about it}
|
|
196
|
+
|
|
197
|
+
### 2. {Second finding}
|
|
198
|
+
...
|
|
199
|
+
|
|
200
|
+
### 3. {Third finding}
|
|
201
|
+
...
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### The Stat Callout Pattern
|
|
205
|
+
|
|
206
|
+
Every finding needs a quotable stat callout that AI engines can extract:
|
|
207
|
+
|
|
208
|
+
```markdown
|
|
209
|
+
> **73% of B2B SaaS companies under 50 employees post less than once a week on social media.**
|
|
210
|
+
> — [Brand] Research, [Year], n=[sample size]
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
These callouts are what AI engines lift verbatim. Make them:
|
|
214
|
+
- Specific (exact numbers, not "most" or "many")
|
|
215
|
+
- Self-contained (makes sense without reading the full report)
|
|
216
|
+
- Surprising (not obvious from common knowledge)
|
|
217
|
+
- Actionable (implies a next step)
|
|
218
|
+
|
|
219
|
+
### Charts and Visualizations
|
|
220
|
+
|
|
221
|
+
For each major finding, specify a chart type:
|
|
222
|
+
- **Trends over time** → Line chart
|
|
223
|
+
- **Comparisons** → Bar chart
|
|
224
|
+
- **Parts of a whole** → Pie or donut chart
|
|
225
|
+
- **Relationships** → Scatter plot
|
|
226
|
+
- **Rankings** → Horizontal bar chart
|
|
227
|
+
|
|
228
|
+
Output chart specifications (not rendered charts — use tools like image-gen or Paper MCP for actual rendering):
|
|
229
|
+
```yaml
|
|
230
|
+
chart:
|
|
231
|
+
type: bar
|
|
232
|
+
title: "Content Publishing Frequency by Company Size"
|
|
233
|
+
x_axis: "Company Size"
|
|
234
|
+
y_axis: "% Publishing Weekly"
|
|
235
|
+
data: [{...}]
|
|
236
|
+
highlight: "< 50 employees bar in brand color"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Phase 4: Write the Research Report
|
|
242
|
+
|
|
243
|
+
### Report Structure
|
|
244
|
+
|
|
245
|
+
```markdown
|
|
246
|
+
---
|
|
247
|
+
title: "{Title}: {Subtitle with Year}"
|
|
248
|
+
date_published: "{YYYY-MM-DD}"
|
|
249
|
+
author: "{Brand/Author Name}"
|
|
250
|
+
sample_size: "{n}"
|
|
251
|
+
methodology: "{brief description}"
|
|
252
|
+
research_type: "{benchmark/survey/analysis}"
|
|
253
|
+
ai_citation_queries:
|
|
254
|
+
- "{query 1 this report should rank for}"
|
|
255
|
+
- "{query 2}"
|
|
256
|
+
- "{query 3}"
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
# {Title}: {Subtitle with Year}
|
|
260
|
+
|
|
261
|
+
## Executive Summary
|
|
262
|
+
{3-5 sentence overview with the most surprising findings and key numbers. This is what AI engines extract.}
|
|
263
|
+
|
|
264
|
+
## Key Findings at a Glance
|
|
265
|
+
{5-8 stat callout blocks — the most extractable part of the report}
|
|
266
|
+
|
|
267
|
+
## Methodology
|
|
268
|
+
{How data was collected, sample size, date range, biases acknowledged}
|
|
269
|
+
|
|
270
|
+
## Finding 1: {Headline}
|
|
271
|
+
{Detailed analysis with supporting data, charts, and context}
|
|
272
|
+
{Practical implications and recommendations}
|
|
273
|
+
|
|
274
|
+
## Finding 2: {Headline}
|
|
275
|
+
{...}
|
|
276
|
+
|
|
277
|
+
## Finding 3: {Headline}
|
|
278
|
+
{...}
|
|
279
|
+
|
|
280
|
+
[Continue for all findings]
|
|
281
|
+
|
|
282
|
+
## Implications for {Audience/Industry}
|
|
283
|
+
{What this means for the reader — actionable takeaways}
|
|
284
|
+
|
|
285
|
+
## About This Research
|
|
286
|
+
{Brand credibility statement, methodology summary, contact for questions}
|
|
287
|
+
|
|
288
|
+
## Methodology Appendix
|
|
289
|
+
{Full data collection details, raw data availability, statistical methods}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### AI-Citation Optimization
|
|
293
|
+
|
|
294
|
+
Apply these formatting rules to maximize AI engine citation:
|
|
295
|
+
|
|
296
|
+
1. **Every finding has a quotable stat** — AI engines extract specific numbers, not vague claims
|
|
297
|
+
2. **Definition pattern at the top** — "This report analyzes X across Y companies in Z industry"
|
|
298
|
+
3. **FAQ section** — Add 3-5 questions the report answers, formatted as Q&A blocks
|
|
299
|
+
4. **Schema markup** — Add `Article` + `Dataset` schema to the page
|
|
300
|
+
5. **Named author with credentials** — AI engines weight named experts
|
|
301
|
+
6. **datePublished + dateModified** — Freshness signals for AI citation
|
|
302
|
+
7. **Internal links** — Link to related brand content from each finding
|
|
303
|
+
|
|
304
|
+
### Report Length
|
|
305
|
+
|
|
306
|
+
| Format | Target Length | Sections |
|
|
307
|
+
|--------|--------------|----------|
|
|
308
|
+
| Benchmark Report | 3,000-5,000 words | 6-10 findings |
|
|
309
|
+
| State of Industry | 4,000-7,000 words | 8-12 findings |
|
|
310
|
+
| Survey Analysis | 2,500-4,000 words | 5-8 findings |
|
|
311
|
+
| Data Analysis | 2,000-3,500 words | 4-6 findings |
|
|
312
|
+
| Case Study with Data | 1,500-2,500 words | 3-4 findings |
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Phase 5: Distribution and Citation Optimization
|
|
317
|
+
|
|
318
|
+
### Multi-Format Outputs
|
|
319
|
+
|
|
320
|
+
From one research report, produce:
|
|
321
|
+
|
|
322
|
+
| Format | Where | Skill |
|
|
323
|
+
|--------|-------|-------|
|
|
324
|
+
| Full report | Brand blog/website | This skill |
|
|
325
|
+
| Executive summary | LinkedIn article | `linkedin-publisher` |
|
|
326
|
+
| Stat-focused thread | X/Twitter | `social-construction`, `typefully` |
|
|
327
|
+
| Visual summary | Instagram carousel | `paper-marketing` |
|
|
328
|
+
| Video walkthrough | YouTube | `video-content`, `marketing-demo` |
|
|
329
|
+
| Press pitch | Journalist outreach | `earned-media` (if available) |
|
|
330
|
+
| Newsletter feature | Email newsletter | `newsletter` |
|
|
331
|
+
|
|
332
|
+
### Citation Strategy
|
|
333
|
+
|
|
334
|
+
1. **Identify 5-10 AI queries the report should rank for** (from `ai-visibility-audit` or `keyword-research`)
|
|
335
|
+
2. **Ensure the report's stat callouts directly answer those queries**
|
|
336
|
+
3. **Cross-publish findings on high-citation platforms** (LinkedIn, Medium, Reddit)
|
|
337
|
+
4. **Submit to research aggregators** (Statista, ResearchGate if applicable, industry-specific)
|
|
338
|
+
5. **Pitch to journalists** with the most surprising stat as the hook
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Worked Example
|
|
343
|
+
|
|
344
|
+
**User request:** "Create original research for NomadixGear's solar charger audience"
|
|
345
|
+
|
|
346
|
+
**Phase 1:** Research angle — "How long do campers actually go without power?" No existing data found. Contrarian hypothesis: most campers overestimate their power needs and buy oversized chargers.
|
|
347
|
+
|
|
348
|
+
**Phase 2:** Data collection — Survey of 200+ campers via Reddit r/camping and r/hiking. Questions: trip length, devices brought, battery capacity used, satisfaction with current charging solution. Also analyze Amazon review data for top 20 solar chargers.
|
|
349
|
+
|
|
350
|
+
**Phase 3:** Key finding — "68% of campers return from 3+ day trips with 40%+ battery remaining on their solar charger, suggesting systematic overbuying." Stat callouts created for 6 findings.
|
|
351
|
+
|
|
352
|
+
**Phase 4:** 3,200-word report "The Solar Charger Overbuying Report: How Campers Really Use Portable Power (2026)". FAQ section, schema markup, AI-citation formatting.
|
|
353
|
+
|
|
354
|
+
**Phase 5:** Distribution — X thread with 6 stat callouts, LinkedIn article, YouTube video walkthrough, pitched to Outdoor Life and The Verge.
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Chain Offers
|
|
359
|
+
|
|
360
|
+
After completing, present:
|
|
361
|
+
|
|
362
|
+
- `/ai-visibility-audit` — Check if the research report gets cited by AI engines
|
|
363
|
+
- `/content-atomizer` — Distribute findings across all platforms
|
|
364
|
+
- `/ai-seo` — Optimize the report for AI citation
|
|
365
|
+
- `/social-campaign` — Schedule social posts promoting the findings
|
|
366
|
+
- "Schedule monthly research" — Set up recurring research production
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## Anti-Patterns
|
|
371
|
+
|
|
372
|
+
| Anti-pattern | Instead | Why |
|
|
373
|
+
|-------------|---------|-----|
|
|
374
|
+
| Publishing findings without a surprising angle | Find the contrarian data point first, build around it | Research that confirms what everyone knows doesn't get cited. Surprise drives sharing and citation. |
|
|
375
|
+
| Fabricating or rounding up data | Use exact numbers, acknowledge limitations | One fabricated stat destroys credibility across all content. Underreport but be accurate. |
|
|
376
|
+
| Making the report too long (10,000+ words) | 3,000-5,000 words with dense stats | AI engines extract stat callouts, not essays. Dense and short beats long and diluted. |
|
|
377
|
+
| Skipping methodology disclosure | Always state sample size, date range, biases | Credible methodology = credible data. AI engines and human readers both penalize hidden methodology. |
|
|
378
|
+
| Writing a report no one searched for | Check keyword research and AI visibility gaps first | The best research answers a question people are already asking AI engines. |
|
|
379
|
+
| Publishing only on the brand blog | Cross-publish stat callouts on LinkedIn, Medium, Reddit | AI engines build consensus across platforms. Single-source data gets cited less. |
|
|
380
|
+
| Using percentages without sample sizes | Always: "73% (n=200)" | "73%" is meaningless without context. Every stat needs a sample size. |
|
|
381
|
+
|
|
382
|
+
## YAGNI Principles
|
|
383
|
+
|
|
384
|
+
- Don't build a survey platform — use existing tools or manual outreach
|
|
385
|
+
- Don't create interactive data visualizations — static charts in the report are sufficient
|
|
386
|
+
- Don't wait for 1,000+ respondents — 50-100 with honest methodology beats inflated numbers
|
|
387
|
+
- Don't produce quarterly research unless you have the data pipeline for it — one good report beats four mediocre ones
|
|
388
|
+
- Don't add PDF download gating — ungated research gets cited 5-10x more than gated
|