@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,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: link-building-seo
|
|
3
|
+
description: >
|
|
4
|
+
SEO link building framework for new websites based on Jesper Nissen's 7-step method.
|
|
5
|
+
Covers GBP setup, social profiles, citations, press releases, donation links, cloud links,
|
|
6
|
+
manual profile links, and guest posts. Use when asked about link building strategy,
|
|
7
|
+
backlink plans, SEO for new domains, authority building, or how to rank a new website.
|
|
8
|
+
Triggers: "link building", "backlinks", "SEO strategy", "rank new site", "domain authority",
|
|
9
|
+
"citation building", "cloud links", "press release SEO", "GBP optimization".
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Link Building for New Websites
|
|
13
|
+
|
|
14
|
+
A complete, ordered framework for building authority and backlinks on a brand new domain. Based on Jesper Nissen's proven method. Follow these steps **in order** — each step builds on the previous one.
|
|
15
|
+
|
|
16
|
+
**Target audience:** Local businesses, SaaS, blogs, low-to-medium competition keywords. NOT for high-competition niches like iGaming.
|
|
17
|
+
|
|
18
|
+
**Timeline:** All 7 steps can be completed in ~2 weeks. Doing all of them puts you ahead of 95% of competitors.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 0: Google Business Profile (GBP)
|
|
23
|
+
|
|
24
|
+
**Do this first.** The GBP is the authority hub Google trusts most.
|
|
25
|
+
|
|
26
|
+
1. Create or claim the GBP
|
|
27
|
+
2. Fill in ALL business info — name, address, phone, website, hours, categories
|
|
28
|
+
3. Add ALL social media profile URLs (steps 1-7 profiles go here)
|
|
29
|
+
4. Create GBP posts with outgoing links to website content and videos
|
|
30
|
+
|
|
31
|
+
**Why:** Google uses GBP as a trust signal. Posts with links pass authority. GBP links appear in knowledge panels and AI overviews.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Step 1: Core Social Profiles
|
|
36
|
+
|
|
37
|
+
Build these 7 profiles (the ones GBP recommends). Each should link back to the website AND cross-link to other social profiles.
|
|
38
|
+
|
|
39
|
+
| # | Platform | Link to Website | Link in Posts |
|
|
40
|
+
|---|----------|:-:|:-:|
|
|
41
|
+
| 1 | YouTube | Y | Y |
|
|
42
|
+
| 2 | Facebook | Y | Y |
|
|
43
|
+
| 3 | LinkedIn | Y | Y |
|
|
44
|
+
| 4 | Pinterest | Y | Y |
|
|
45
|
+
| 5 | X (Twitter) | Y | Y |
|
|
46
|
+
| 6 | Instagram | Y (bio) | N |
|
|
47
|
+
| 7 | TikTok | Y (bio) | N |
|
|
48
|
+
|
|
49
|
+
**Additional profiles to build:** Threads, Bluesky
|
|
50
|
+
|
|
51
|
+
**Rules:**
|
|
52
|
+
- Use consistent brand name, logo, bio across all
|
|
53
|
+
- Add website URL in every profile's "link" field
|
|
54
|
+
- Cross-link between profiles where possible
|
|
55
|
+
- Add all profile URLs back into GBP
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Step 2: Citations (NAP Consistency)
|
|
60
|
+
|
|
61
|
+
Citations are directory listings with consistent Name-Address-Phone info. Low individual power but critical for local SEO and increasingly important for AI overviews (Gemini, ChatGPT cite directories).
|
|
62
|
+
|
|
63
|
+
**How to build:**
|
|
64
|
+
- Order citation packages on Fiverr or Legiit (search "citations")
|
|
65
|
+
- Pick the cheapest options — quality is similar across providers
|
|
66
|
+
- Ensure NAP is **identical** across every citation
|
|
67
|
+
- Include short business description + link to socials in each
|
|
68
|
+
|
|
69
|
+
**Why it matters now:** LLMs use citation mentions as authority signals. More mentions = more important in AI overviews.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Step 3: Press Release Distribution
|
|
74
|
+
|
|
75
|
+
Press releases are the fastest way to build a large number of referring domains quickly.
|
|
76
|
+
|
|
77
|
+
**What to do:**
|
|
78
|
+
1. Write a newsworthy release about the brand launch, product, or milestone
|
|
79
|
+
2. Include links to homepage + key internal pages
|
|
80
|
+
3. Distribute via a press release service
|
|
81
|
+
|
|
82
|
+
**Budget options:**
|
|
83
|
+
- Fiverr or Legiit — as low as $5 per release
|
|
84
|
+
- ABNewswire
|
|
85
|
+
|
|
86
|
+
**Premium option:**
|
|
87
|
+
- Randy the News Guy (thenewsguy.com) — AP News, Yahoo News placement, high-quality domains
|
|
88
|
+
|
|
89
|
+
**Three strategic advantages:**
|
|
90
|
+
1. **Spike of referring domains** — Google expects this from press releases, so it won't flag as spam. This creates cover to build other links simultaneously.
|
|
91
|
+
2. **Page one rankings** — Press releases themselves can rank for low-competition and local keywords (parasite SEO).
|
|
92
|
+
3. **AI Overview training** — Press releases are frequently cited as sources in Google AI overviews. Possible to dominate AI overviews with just press releases.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Step 4: Donation Links
|
|
97
|
+
|
|
98
|
+
Sponsor a website in exchange for a dofollow backlink. Overlooked and powerful.
|
|
99
|
+
|
|
100
|
+
**Types:**
|
|
101
|
+
- **Local:** Sports clubs, churches, community organizations
|
|
102
|
+
- **Public donor pages:** OSS projects, software foundations
|
|
103
|
+
- Example: linuxmint.com/donors.php — donate, get a powerful dofollow link
|
|
104
|
+
|
|
105
|
+
**Pros:** High authority, dofollow, few competitors have them
|
|
106
|
+
**Cons:** Some require ongoing monthly payments
|
|
107
|
+
|
|
108
|
+
**Strategy:** Find 5-10 donation pages in relevant niches. Budget $50-200/month total.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Step 5: Cloud Links
|
|
113
|
+
|
|
114
|
+
Static HTML pages uploaded to subdomains of major cloud platforms. These inherit massive domain authority from the root domain (DA 90+).
|
|
115
|
+
|
|
116
|
+
**Platforms (23+ via YACSS):**
|
|
117
|
+
- Google Cloud, AWS, Azure, Digital Ocean, Backblaze, Wasabi, Linode, Vultr, Oracle, GitHub Pages, Netlify, Cloudflare R2, Bunny CDN, OVH, Contabo, and more
|
|
118
|
+
|
|
119
|
+
**How to build:**
|
|
120
|
+
1. Create a simple HTML page with relevant content about your business/niche
|
|
121
|
+
2. Upload to multiple cloud platform subdomains
|
|
122
|
+
3. Interlink the cloud pages with each other
|
|
123
|
+
4. Point links from cloud pages to your main category/landing pages
|
|
124
|
+
|
|
125
|
+
**Tool:** YACSS (yacss.site) — automates creation and deployment across all 23+ cloud platforms
|
|
126
|
+
|
|
127
|
+
**Strategy:** Build 10-20 cloud links. Point them at category pages, not just homepage. Interlink them for compounding authority.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Step 6: Manual Profile Links
|
|
132
|
+
|
|
133
|
+
Free profile pages on platforms like about.me, linktr.ee, and similar services. Mix of dofollow and nofollow.
|
|
134
|
+
|
|
135
|
+
**How to find opportunities:**
|
|
136
|
+
- Ask ChatGPT: "Give me a list of 30 links that are similar to about.me"
|
|
137
|
+
- Build a spreadsheet of working platforms
|
|
138
|
+
- Aim for 2-3 new profile links per day
|
|
139
|
+
|
|
140
|
+
**Rules:**
|
|
141
|
+
- Interlink profiles with each other
|
|
142
|
+
- Use relevant entities/keywords in profile content
|
|
143
|
+
- Keep descriptions varied — don't copy-paste the same bio everywhere
|
|
144
|
+
- Track which ones are indexed in Google
|
|
145
|
+
|
|
146
|
+
**Paid shortcut:** Jesper Nissen sells a vetted list of 103 link opportunities for $99 (jespernissen.com/product/103-links-list/)
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Step 7: Guest Posts / Paid Placements
|
|
151
|
+
|
|
152
|
+
Do this LAST — after the base is built. Scale link building with paid placements on authoritative sites.
|
|
153
|
+
|
|
154
|
+
**Marketplaces:**
|
|
155
|
+
- Bazoom.com — user-friendly, good competitor analysis
|
|
156
|
+
- Presswhiz
|
|
157
|
+
- Fiverr / Legiit (search "guest post")
|
|
158
|
+
|
|
159
|
+
**How it works:**
|
|
160
|
+
1. Choose a site with relevant audience and good domain authority
|
|
161
|
+
2. Write (or commission) an article with a contextual link to your site
|
|
162
|
+
3. Article gets published on the target site with your backlink
|
|
163
|
+
|
|
164
|
+
**Budget warning:** Gets expensive fast. Reserve for high-value pages that need extra push.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Execution Priority
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
Week 1:
|
|
172
|
+
Day 1-2: GBP setup + social profiles (Steps 0-1)
|
|
173
|
+
Day 3-4: Citations (Step 2) — order on Fiverr/Legiit
|
|
174
|
+
Day 5: Press release draft + distribution (Step 3)
|
|
175
|
+
|
|
176
|
+
Week 2:
|
|
177
|
+
Day 1-2: Donation links research + placement (Step 4)
|
|
178
|
+
Day 3-4: Cloud links build (Step 5)
|
|
179
|
+
Day 5: Manual profile links start (Step 6)
|
|
180
|
+
|
|
181
|
+
Ongoing:
|
|
182
|
+
2-3 manual profile links per day (Step 6)
|
|
183
|
+
Guest posts as budget allows (Step 7)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Quick Reference Checklist
|
|
187
|
+
|
|
188
|
+
When starting link building for a new website, verify:
|
|
189
|
+
|
|
190
|
+
- [ ] GBP created with full info + all social URLs
|
|
191
|
+
- [ ] 7 core social profiles built + cross-linked
|
|
192
|
+
- [ ] Citations ordered (Fiverr/Legiit)
|
|
193
|
+
- [ ] Press release written and distributed
|
|
194
|
+
- [ ] 5-10 donation links secured
|
|
195
|
+
- [ ] 10-20 cloud links deployed
|
|
196
|
+
- [ ] Manual profile links — building 2-3/day
|
|
197
|
+
- [ ] Guest posts — scaling as budget allows
|
|
198
|
+
|
|
199
|
+
## Key Principles
|
|
200
|
+
|
|
201
|
+
1. **Order matters.** Social profiles and citations establish legitimacy before heavier link building.
|
|
202
|
+
2. **Press releases create cover.** The referral domain spike from a press release masks other link building activity.
|
|
203
|
+
3. **Consistency beats intensity.** 2-3 manual links/day over months > 100 links in one day.
|
|
204
|
+
4. **Interlink everything.** Cloud links link to each other. Profile links link to each other. The network compounds authority.
|
|
205
|
+
5. **AI overviews are the new frontier.** Citations and press releases train LLMs to recognize your brand as authoritative.
|
|
206
|
+
|
|
207
|
+
## Source
|
|
208
|
+
|
|
209
|
+
Jesper Nissen (@JespernissenSEO) — SEO practitioner and creator of YACSS.
|
|
210
|
+
Full guide: https://yacss.site/linkbuilding-for-a-new-website-what-links-to-build-and-when-to-build-them/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.1.0",
|
|
3
|
+
"note": "Skill packs for Huckleberry. 'all' = union of every pack. Synced from the master library via scripts/sync-skills.mjs. typefully and muse are intentionally EXCLUDED (banned / operator-branded).",
|
|
4
|
+
"packs": {
|
|
5
|
+
"core": [
|
|
6
|
+
"claw-compactor",
|
|
7
|
+
"context-recovery",
|
|
8
|
+
"humanizer",
|
|
9
|
+
"guardrail-framework",
|
|
10
|
+
"platform-formatting",
|
|
11
|
+
"summarize",
|
|
12
|
+
"inkstone-admin",
|
|
13
|
+
"project-rag",
|
|
14
|
+
"notebooklm"
|
|
15
|
+
],
|
|
16
|
+
"doctor": [
|
|
17
|
+
"jev-hook-gate"
|
|
18
|
+
],
|
|
19
|
+
"research": [
|
|
20
|
+
"agent-reach",
|
|
21
|
+
"smart-search",
|
|
22
|
+
"firecrawl",
|
|
23
|
+
"competitive-intel",
|
|
24
|
+
"keyword-research",
|
|
25
|
+
"seo-audit",
|
|
26
|
+
"original-research",
|
|
27
|
+
"x-research",
|
|
28
|
+
"youtube-summarize",
|
|
29
|
+
"podcast-transcription"
|
|
30
|
+
],
|
|
31
|
+
"content": [
|
|
32
|
+
"copywriting",
|
|
33
|
+
"copy-editing",
|
|
34
|
+
"concreteness-fixer",
|
|
35
|
+
"article-generator",
|
|
36
|
+
"seo-content",
|
|
37
|
+
"narrative-research-article",
|
|
38
|
+
"hook-generator",
|
|
39
|
+
"brand-voice",
|
|
40
|
+
"voice-extraction",
|
|
41
|
+
"voice-brand-alignment",
|
|
42
|
+
"positioning-angles",
|
|
43
|
+
"quality-gate",
|
|
44
|
+
"sharp-thesis-validator",
|
|
45
|
+
"deep-serp-article",
|
|
46
|
+
"weekly-newsletter-digest",
|
|
47
|
+
"content-atomizer",
|
|
48
|
+
"content-repost-manager"
|
|
49
|
+
],
|
|
50
|
+
"cro": [
|
|
51
|
+
"page-cro",
|
|
52
|
+
"form-cro",
|
|
53
|
+
"popup-cro",
|
|
54
|
+
"signup-flow-cro",
|
|
55
|
+
"onboarding-cro",
|
|
56
|
+
"paywall-upgrade-cro",
|
|
57
|
+
"conversion-flow-cro",
|
|
58
|
+
"ab-test-setup",
|
|
59
|
+
"analytics-tracking",
|
|
60
|
+
"churn-prevention",
|
|
61
|
+
"referral-program",
|
|
62
|
+
"pricing-strategy",
|
|
63
|
+
"launch-strategy",
|
|
64
|
+
"free-tool-strategy"
|
|
65
|
+
],
|
|
66
|
+
"web-design": [
|
|
67
|
+
"impeccable",
|
|
68
|
+
"landing-page-architect",
|
|
69
|
+
"visual-style",
|
|
70
|
+
"brand-kit-playground",
|
|
71
|
+
"paper-marketing",
|
|
72
|
+
"slideshow-script",
|
|
73
|
+
"frontend-slides",
|
|
74
|
+
"programmatic-seo",
|
|
75
|
+
"site-architecture",
|
|
76
|
+
"schema-markup",
|
|
77
|
+
"ai-seo",
|
|
78
|
+
"seo-machine",
|
|
79
|
+
"topical-authority",
|
|
80
|
+
"off-page-seo",
|
|
81
|
+
"link-building-seo",
|
|
82
|
+
"auto-indexing",
|
|
83
|
+
"competitor-alternatives",
|
|
84
|
+
"saas-product-seo",
|
|
85
|
+
"earned-media",
|
|
86
|
+
"review-sites",
|
|
87
|
+
"ai-visibility-audit",
|
|
88
|
+
"ai-consensus-builder",
|
|
89
|
+
"ai-agent-seo"
|
|
90
|
+
],
|
|
91
|
+
"outreach-sales": [
|
|
92
|
+
"cold-email",
|
|
93
|
+
"ai-cold-email-intelligence",
|
|
94
|
+
"lead-email-craft",
|
|
95
|
+
"warm-outbound",
|
|
96
|
+
"b2b-cold-outreach",
|
|
97
|
+
"email-sequences",
|
|
98
|
+
"lead-magnets",
|
|
99
|
+
"sales-enablement",
|
|
100
|
+
"revops",
|
|
101
|
+
"startup-launcher",
|
|
102
|
+
"send-email",
|
|
103
|
+
"business-advisory-council"
|
|
104
|
+
],
|
|
105
|
+
"social": [
|
|
106
|
+
"social-campaign",
|
|
107
|
+
"social-content",
|
|
108
|
+
"social-worker",
|
|
109
|
+
"x-post-generator-openclaw",
|
|
110
|
+
"x-posting-playwriter",
|
|
111
|
+
"x-playwriter",
|
|
112
|
+
"birdclaw",
|
|
113
|
+
"marketing-ideas",
|
|
114
|
+
"marketing-psychology",
|
|
115
|
+
"brainstorm",
|
|
116
|
+
"cmo",
|
|
117
|
+
"image-gen",
|
|
118
|
+
"creative",
|
|
119
|
+
"marketing-demo"
|
|
120
|
+
],
|
|
121
|
+
"self-improvement": [
|
|
122
|
+
"self-improve",
|
|
123
|
+
"skill-self-improvement",
|
|
124
|
+
"auto-skill",
|
|
125
|
+
"autoresearch",
|
|
126
|
+
"self-improving-agent"
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: marketing-demo
|
|
3
|
+
description: "Record product demos and walkthroughs for marketing assets. Two modes: quick screenshot-stitch demos via ply + ffmpeg, or polished Remotion..."
|
|
4
|
+
category: creative
|
|
5
|
+
layer: creative
|
|
6
|
+
tier: nice-to-have
|
|
7
|
+
reads:
|
|
8
|
+
- brand/creative-kit.md
|
|
9
|
+
- brand/voice-profile.md
|
|
10
|
+
- brand/stack.md
|
|
11
|
+
writes:
|
|
12
|
+
- marketing/demos/
|
|
13
|
+
depends-on:
|
|
14
|
+
- visual-style
|
|
15
|
+
triggers:
|
|
16
|
+
- product demo
|
|
17
|
+
- demo video
|
|
18
|
+
- walkthrough video
|
|
19
|
+
- screen recording
|
|
20
|
+
- GIF demo
|
|
21
|
+
- product tour
|
|
22
|
+
- onboarding video
|
|
23
|
+
- feature showcase
|
|
24
|
+
- hero video
|
|
25
|
+
allowed-tools:
|
|
26
|
+
- Bash(ply *)
|
|
27
|
+
- Bash(ffmpeg *)
|
|
28
|
+
- Bash(npx remotion *)
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# /marketing-demo — Product Demo Recorder
|
|
32
|
+
|
|
33
|
+
Record product demos for marketing. Two production paths: quick (ply + ffmpeg) for rough demos, polished (Remotion) for branded marketing videos.
|
|
34
|
+
|
|
35
|
+
## Reads
|
|
36
|
+
|
|
37
|
+
- `brand/creative-kit.md` — Colors, fonts, logo paths for branded overlays
|
|
38
|
+
- `brand/voice-profile.md` — Tone guidance for text overlays
|
|
39
|
+
- `brand/stack.md` — Available tools (ply, ffmpeg, remotion)
|
|
40
|
+
|
|
41
|
+
## On Activation
|
|
42
|
+
|
|
43
|
+
1. Read `brand/creative-kit.md` for colors, fonts, logo paths. If missing, ask for brand colors and logo.
|
|
44
|
+
2. Read `brand/voice-profile.md` for tone guidance on text overlays. If missing, use clear/neutral tone.
|
|
45
|
+
3. Read `brand/stack.md` to confirm available tools. If missing, detect tools directly.
|
|
46
|
+
4. Check tool availability:
|
|
47
|
+
```bash
|
|
48
|
+
command -v ply && echo "ply: ready" || echo "ply: missing"
|
|
49
|
+
command -v ffmpeg && echo "ffmpeg: ready" || echo "ffmpeg: missing"
|
|
50
|
+
command -v npx && echo "remotion: available" || echo "remotion: unavailable"
|
|
51
|
+
```
|
|
52
|
+
5. If `ply` or `ffmpeg` missing, warn and suggest install.
|
|
53
|
+
|
|
54
|
+
## Shot Duration Rules
|
|
55
|
+
|
|
56
|
+
| Demo Type | Duration per Shot | Notes |
|
|
57
|
+
|-----------|------------------|-------|
|
|
58
|
+
| Quick overview | 0.5-1s | Fast cuts, build excitement |
|
|
59
|
+
| Feature demo | 2-3s | Time to read + comprehend |
|
|
60
|
+
| Walkthrough | 4-5s | Instructional pacing |
|
|
61
|
+
| Social clip | 1-2s | Attention-grabbing, fast |
|
|
62
|
+
|
|
63
|
+
## Demo Storytelling Principles
|
|
64
|
+
|
|
65
|
+
Demos fail when they show the product mechanically instead of telling a story. The viewer needs a reason to keep watching. These principles come from what actually gets engagement on landing pages and social:
|
|
66
|
+
|
|
67
|
+
1. **Open with the outcome, not the setup.** The first 2 seconds decide if someone watches the rest. Show the "after" state — the dashboard with data, the completed design, the result. Setup (login, loading, navigation) earns zero attention.
|
|
68
|
+
2. **One feature = one demo.** Trying to cram 5 features into 30 seconds makes all of them forgettable. A focused demo of one feature is worth more than a rushed tour.
|
|
69
|
+
3. **Show the magic moment.** Every product has one interaction where users go "oh wow." Find that moment and build the demo around it — it's why people click "try it."
|
|
70
|
+
4. **Add context with text overlays.** Social videos autoplay muted. Without text callouts, viewers see UI changing with no idea what's happening or why it matters. Every shot needs a 3-6 word overlay explaining the value.
|
|
71
|
+
5. **Pacing: 2-3 seconds per concept.** This feels fast, but viewer attention is brutal. If a shot doesn't earn its screen time with new information, cut it.
|
|
72
|
+
|
|
73
|
+
## Step 1: Determine Demo Type
|
|
74
|
+
|
|
75
|
+
| Type | Duration | Resolution | Format | Use Case |
|
|
76
|
+
|------|----------|-----------|--------|----------|
|
|
77
|
+
| Hero demo | 15-30s | 1280x800 | MP4 | Landing page above-fold |
|
|
78
|
+
| Feature highlight | 5-15s | 1280x800 | GIF/MP4 | Feature section, docs |
|
|
79
|
+
| Full walkthrough | 60-180s | 1280x800 | MP4 | YouTube, sales deck |
|
|
80
|
+
| Social clip | 5-15s | 1080x1080 | MP4 | Instagram, Twitter/X |
|
|
81
|
+
| Email GIF | 3-8s | 600x400 | GIF | Email campaigns |
|
|
82
|
+
| How-to | 30-90s | 1280x800 | MP4 | Help docs, onboarding |
|
|
83
|
+
|
|
84
|
+
Ask the user which type, or infer from context.
|
|
85
|
+
|
|
86
|
+
## Step 2: Plan Shot List
|
|
87
|
+
|
|
88
|
+
Before recording, plan each shot:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Shot List
|
|
92
|
+
|
|
93
|
+
1. [Action: Navigate to landing page]
|
|
94
|
+
- URL: https://example.com
|
|
95
|
+
- Wait: 1s for load
|
|
96
|
+
- Highlight: Hero section
|
|
97
|
+
|
|
98
|
+
2. [Action: Click "Get Started" button]
|
|
99
|
+
- Wait: transition animation
|
|
100
|
+
- Highlight: Signup form
|
|
101
|
+
|
|
102
|
+
3. [Action: Fill demo data]
|
|
103
|
+
- Type: demo@example.com
|
|
104
|
+
- Highlight: Success state
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Each shot = one `ply` screenshot or interaction sequence.
|
|
108
|
+
|
|
109
|
+
## Step 3: Choose Production Mode
|
|
110
|
+
|
|
111
|
+
### Mode A: Quick Demo (ply + ffmpeg)
|
|
112
|
+
|
|
113
|
+
Fast, rough demos from screenshots stitched into video.
|
|
114
|
+
|
|
115
|
+
**Capture screenshots:**
|
|
116
|
+
```bash
|
|
117
|
+
# Navigate and screenshot each shot
|
|
118
|
+
ply navigate "https://example.com"
|
|
119
|
+
ply screenshot --output marketing/demos/shot-01.png
|
|
120
|
+
ply click "Get Started"
|
|
121
|
+
ply screenshot --output marketing/demos/shot-02.png
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Stitch with ffmpeg:**
|
|
125
|
+
```bash
|
|
126
|
+
# MP4 from screenshots (2 seconds per frame)
|
|
127
|
+
ffmpeg -framerate 0.5 -i marketing/demos/shot-%02d.png \
|
|
128
|
+
-c:v libx264 -pix_fmt yuv420p \
|
|
129
|
+
-vf "scale=1280:800:force_original_aspect_ratio=decrease,pad=1280:800:(ow-iw)/2:(oh-ih)/2" \
|
|
130
|
+
marketing/demos/demo.mp4
|
|
131
|
+
|
|
132
|
+
# Preview GIF (lower quality, smaller file)
|
|
133
|
+
ffmpeg -i marketing/demos/demo.mp4 \
|
|
134
|
+
-vf "fps=10,scale=640:-1:flags=lanczos" \
|
|
135
|
+
-c:v gif marketing/demos/demo-preview.gif
|
|
136
|
+
|
|
137
|
+
# Email GIF (600px wide, optimized)
|
|
138
|
+
ffmpeg -i marketing/demos/demo.mp4 \
|
|
139
|
+
-vf "fps=8,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
|
|
140
|
+
marketing/demos/demo-email.gif
|
|
141
|
+
|
|
142
|
+
# Square crop for social (1080x1080)
|
|
143
|
+
ffmpeg -i marketing/demos/demo.mp4 \
|
|
144
|
+
-vf "crop=min(iw\,ih):min(iw\,ih),scale=1080:1080" \
|
|
145
|
+
marketing/demos/demo-square.mp4
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Mode B: Polished Demo (Remotion)
|
|
149
|
+
|
|
150
|
+
For marketing-grade output with transitions, text overlays, branded intros.
|
|
151
|
+
|
|
152
|
+
**Generate Remotion composition:**
|
|
153
|
+
```bash
|
|
154
|
+
# Initialize if needed
|
|
155
|
+
npx remotion init marketing/demos/remotion-demo
|
|
156
|
+
|
|
157
|
+
# Render final video
|
|
158
|
+
npx remotion render marketing/demos/remotion-demo/src/index.tsx \
|
|
159
|
+
--output marketing/demos/demo-polished.mp4
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Composition structure:**
|
|
163
|
+
```
|
|
164
|
+
src/
|
|
165
|
+
├── index.tsx # Root composition
|
|
166
|
+
├── Intro.tsx # Branded intro (logo, tagline)
|
|
167
|
+
├── DemoScene.tsx # Screenshot with text overlay
|
|
168
|
+
├── Transition.tsx # Fade/slide between scenes
|
|
169
|
+
└── Outro.tsx # CTA + URL
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Key Remotion patterns** (see [references/remotion-examples.md](references/remotion-examples.md) for complete component code):
|
|
173
|
+
- Use `<Img>` for screenshots, `<AbsoluteFill>` for layout
|
|
174
|
+
- `useCurrentFrame()` + `interpolate()` for animations
|
|
175
|
+
- Pull brand colors from `brand/creative-kit.md`
|
|
176
|
+
- 30fps for smooth playback, 1280x720 or 1920x1080
|
|
177
|
+
- Add text overlays calling out features with `<Sequence>`
|
|
178
|
+
|
|
179
|
+
**Intro scene (2-3s):** Logo centered, tagline fades in. Brand colors as background gradient. Keep it short — the product is the star.
|
|
180
|
+
|
|
181
|
+
**Demo scene (per shot):** Screenshot fills 80% of frame. Text overlay at top or bottom with 1-line feature callout. Use `interpolate()` for a subtle zoom-in (1.0 → 1.05 over the scene duration) to add life.
|
|
182
|
+
|
|
183
|
+
**Transition between scenes:** Fade + slight slide (200ms). Never use fancy wipes — they distract from the product.
|
|
184
|
+
|
|
185
|
+
**Outro scene (3-4s):** CTA text ("Try it free at [url]"), logo, and optional social proof line. This is the only slide that sells — keep all other slides focused on showing.
|
|
186
|
+
|
|
187
|
+
### Error Recovery
|
|
188
|
+
|
|
189
|
+
**ply failures** (page doesn't load, element not found, timeout): Skip to shot N+1 and document the failure in the shot list. After all shots complete, review skipped shots and retry once. If still failing, use manual screenshots as fallback.
|
|
190
|
+
|
|
191
|
+
**ffmpeg failures** (codec not found, format error): Check `ffmpeg -codecs` for available codecs. If libx264 is missing, try `-c:v h264` or install via `brew install ffmpeg`. For GIF palette issues, simplify the filter chain — drop `split/palettegen/paletteuse` and use basic `-vf "fps=10,scale=640:-1"`.
|
|
192
|
+
|
|
193
|
+
**Remotion failures** (render crashes, composition errors): Check node version (`node -v`, needs 18+). If `npx remotion render` fails, try `npx remotion render --gl=angle` or `--gl=swangle` for GPU issues. For composition errors, verify all `<Img>` src paths are correct and images exist.
|
|
194
|
+
|
|
195
|
+
## Step 4: Convert & Output
|
|
196
|
+
|
|
197
|
+
All outputs go to `marketing/demos/`. Name by type:
|
|
198
|
+
|
|
199
|
+
| Output | Filename | Notes |
|
|
200
|
+
|--------|----------|-------|
|
|
201
|
+
| MP4 (desktop) | `demo-hero.mp4` | H.264, 1280x800 |
|
|
202
|
+
| MP4 (social) | `demo-social-1080.mp4` | Square, 1080x1080 |
|
|
203
|
+
| GIF (preview) | `demo-preview.gif` | 640px wide, <5MB |
|
|
204
|
+
| GIF (email) | `demo-email.gif` | 600px wide, <2MB |
|
|
205
|
+
| MP4 (polished) | `demo-polished.mp4` | Remotion output |
|
|
206
|
+
|
|
207
|
+
## Step 5: Completion Summary
|
|
208
|
+
|
|
209
|
+
```markdown
|
|
210
|
+
## Demo Assets Created
|
|
211
|
+
|
|
212
|
+
| Asset | Size | Format | Suggested Use |
|
|
213
|
+
|-------|------|--------|--------------|
|
|
214
|
+
| demo-hero.mp4 | 1.2MB | MP4 1280x800 | Landing page hero |
|
|
215
|
+
| demo-preview.gif | 3.4MB | GIF 640px | README, docs |
|
|
216
|
+
| demo-email.gif | 1.1MB | GIF 600px | Email campaigns |
|
|
217
|
+
| demo-social-1080.mp4 | 800KB | MP4 1080x1080 | Instagram, X |
|
|
218
|
+
|
|
219
|
+
All assets saved to `marketing/demos/`.
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Viewport Configs
|
|
223
|
+
|
|
224
|
+
| Platform | Width | Height | Scale |
|
|
225
|
+
|----------|-------|--------|-------|
|
|
226
|
+
| Desktop | 1280 | 800 | 1x |
|
|
227
|
+
| Desktop HD | 1920 | 1080 | 1x |
|
|
228
|
+
| Mobile | 390 | 844 | 2x |
|
|
229
|
+
| Instagram | 1080 | 1080 | 1x |
|
|
230
|
+
| Twitter/X | 1200 | 675 | 1x |
|
|
231
|
+
| Email | 600 | 400 | 1x |
|
|
232
|
+
|
|
233
|
+
## Anti-Patterns
|
|
234
|
+
|
|
235
|
+
| Mistake | Why It Fails |
|
|
236
|
+
|---------|-------------|
|
|
237
|
+
| Recording login/signup flows | Nobody cares about your auth screen. Start after login. |
|
|
238
|
+
| Showing loading spinners | Edit them out or skip to the loaded state. Spinners kill momentum. |
|
|
239
|
+
| No text overlays on silent autoplay | Social videos autoplay muted. Without text, viewers have no idea what they're watching. |
|
|
240
|
+
| Demo longer than 60s without chapter breaks | Attention drops after 15s. If it's long, add clear section titles. |
|
|
241
|
+
| Recording at inconsistent viewport sizes | Shots that jump between sizes look amateur. Lock viewport before recording. |
|
|
242
|
+
| Showing every feature | Pick 3-5 features max. Demos that show everything sell nothing. |
|
|
243
|
+
| Mouse cursor wandering aimlessly | Plan each click. Cursor should move with purpose — straight lines to targets. |
|
|
244
|
+
|
|
245
|
+
## Related Skills
|
|
246
|
+
|
|
247
|
+
- `/creative` — Ad visuals, product photos (static assets, not demos)
|
|
248
|
+
- `/content-atomizer` — Turn demo into platform-specific posts
|
|
249
|
+
- `/page-cro` — Audit the page the demo showcases
|