@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,769 @@
|
|
|
1
|
+
# Keyword Research Examples & Reference
|
|
2
|
+
|
|
3
|
+
> Extracted from SKILL.md for token efficiency.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 6 Circles Method Detail
|
|
8
|
+
|
|
9
|
+
## Phase 2: Expand (The 6 Circles Method)
|
|
10
|
+
|
|
11
|
+
For each seed keyword, expand using 6 different lenses:
|
|
12
|
+
|
|
13
|
+
### Circle 1: What You Sell
|
|
14
|
+
Products, services, and solutions you offer directly.
|
|
15
|
+
> Example: "AI marketing automation", "marketing workflow templates", "fractional CMO services"
|
|
16
|
+
|
|
17
|
+
### Circle 2: Problems You Solve
|
|
18
|
+
Pain points and challenges your audience faces.
|
|
19
|
+
> Example: "marketing team overwhelmed", "can't measure marketing ROI", "content takes too long"
|
|
20
|
+
|
|
21
|
+
### Circle 3: Outcomes You Deliver
|
|
22
|
+
Results and transformations customers achieve.
|
|
23
|
+
> Example: "automated lead generation", "consistent content publishing", "marketing that runs itself"
|
|
24
|
+
|
|
25
|
+
### Circle 4: Your Unique Positioning
|
|
26
|
+
What makes you different from alternatives.
|
|
27
|
+
> Example: "no-code marketing", "AI-first approach", "community-driven marketing"
|
|
28
|
+
|
|
29
|
+
If ./brand/positioning.md is loaded, use the actual positioning angles here
|
|
30
|
+
instead of generic examples. The user's real differentiators should drive Circle 4.
|
|
31
|
+
|
|
32
|
+
### Circle 5: Adjacent Topics
|
|
33
|
+
Related areas where your audience spends time.
|
|
34
|
+
> Example: "startup growth", "indie hackers", "solopreneur tools", "productivity systems"
|
|
35
|
+
|
|
36
|
+
If ./brand/audience.md is loaded, use the audience's actual communities,
|
|
37
|
+
interests, and adjacent problems to populate Circle 5.
|
|
38
|
+
|
|
39
|
+
### Circle 6: Entities to Associate With
|
|
40
|
+
People, tools, frameworks, concepts you want to be connected to.
|
|
41
|
+
> Example: "Claude AI", "n8n automation", specific thought leaders, industry frameworks
|
|
42
|
+
|
|
43
|
+
### Expansion Techniques
|
|
44
|
+
|
|
45
|
+
For each seed, find variations using:
|
|
46
|
+
|
|
47
|
+
**Question patterns:**
|
|
48
|
+
- What is [keyword]?
|
|
49
|
+
- How to [keyword]?
|
|
50
|
+
- Why [keyword]?
|
|
51
|
+
- Best [keyword]?
|
|
52
|
+
- [keyword] vs [alternative]?
|
|
53
|
+
- [keyword] examples
|
|
54
|
+
- [keyword] for [audience]
|
|
55
|
+
|
|
56
|
+
**Modifier patterns:**
|
|
57
|
+
- [keyword] tools
|
|
58
|
+
- [keyword] templates
|
|
59
|
+
- [keyword] guide
|
|
60
|
+
- [keyword] strategy
|
|
61
|
+
- [keyword] 2026
|
|
62
|
+
- [keyword] for beginners
|
|
63
|
+
- [keyword] for [industry]
|
|
64
|
+
|
|
65
|
+
**Comparison patterns:**
|
|
66
|
+
- [keyword A] vs [keyword B]
|
|
67
|
+
- best [category]
|
|
68
|
+
- [tool] alternatives
|
|
69
|
+
- [tool] review
|
|
70
|
+
|
|
71
|
+
**Output:** Expanded list of 100-200 keywords from seed terms
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
# Pillar Validation Detail
|
|
79
|
+
|
|
80
|
+
## Phase 5: Pillar Validation (Critical Step)
|
|
81
|
+
|
|
82
|
+
**Before finalizing pillars, run these 4 checks.**
|
|
83
|
+
|
|
84
|
+
Most keyword research fails because pillars are chosen based on what the business
|
|
85
|
+
WANTS to talk about, not what the market ACTUALLY searches for. In v2, we use
|
|
86
|
+
live search data to validate.
|
|
87
|
+
|
|
88
|
+
**1. Search Volume Test**
|
|
89
|
+
Does this pillar have >1,000 monthly searches across its keyword cluster?
|
|
90
|
+
|
|
91
|
+
- If YES: Valid pillar
|
|
92
|
+
- If NO: Not a pillar. It may be a single article or should not be created at all.
|
|
93
|
+
|
|
94
|
+
v2 enhancement: Use web search to estimate volume. Check Google autocomplete
|
|
95
|
+
richness (more suggestions = more search interest), check whether Google shows
|
|
96
|
+
"About X results" for the query, and check SERP competitiveness as a proxy for
|
|
97
|
+
search demand.
|
|
98
|
+
|
|
99
|
+
Example failure: "Claude marketing" (zero search volume) chosen as pillar because
|
|
100
|
+
the product uses Claude. Market searches "AI marketing" instead.
|
|
101
|
+
|
|
102
|
+
**2. Product vs. Market Test**
|
|
103
|
+
Is this pillar something the MARKET searches for, or something YOU want to talk about?
|
|
104
|
+
|
|
105
|
+
| Product-Centric (Wrong) | Market-Centric (Right) |
|
|
106
|
+
|-------------------------|------------------------|
|
|
107
|
+
| "Our methodology" | "Marketing automation" |
|
|
108
|
+
| "[Your tool name] tutorials" | "[Category] tutorials" |
|
|
109
|
+
| "Why we're different" | "[Problem] solutions" |
|
|
110
|
+
| Features of your product | Outcomes people search for |
|
|
111
|
+
|
|
112
|
+
The market does not search for your product name (unless you are famous). They
|
|
113
|
+
search for solutions to their problems.
|
|
114
|
+
|
|
115
|
+
v2 enhancement: If positioning.md is loaded, cross-reference. The positioning
|
|
116
|
+
angle should INFORM keyword selection, not dictate it. Your angle is how you
|
|
117
|
+
write about market topics, not the topics themselves.
|
|
118
|
+
|
|
119
|
+
**3. Competitive Reality Test**
|
|
120
|
+
Can you actually win here?
|
|
121
|
+
|
|
122
|
+
Check the top 3 results for the pillar keyword (from Phase 3 SERP data):
|
|
123
|
+
- Mix of authority and smaller sites? Winnable with great content.
|
|
124
|
+
- Thin content from unknown sites? High opportunity.
|
|
125
|
+
- Reddit/forums in results? Huge opportunity -- no good article exists.
|
|
126
|
+
|
|
127
|
+
Do not choose pillars where you have no realistic path to page 1.
|
|
128
|
+
|
|
129
|
+
**4. Proprietary Advantage Test**
|
|
130
|
+
Do you have unique content, data, or expertise for this pillar?
|
|
131
|
+
|
|
132
|
+
| Advantage | Priority |
|
|
133
|
+
|-----------|----------|
|
|
134
|
+
| Proprietary data others do not have | Prioritize highly |
|
|
135
|
+
| Unique methodology or framework | Prioritize highly |
|
|
136
|
+
| Practitioner experience (done it, not read about it) | Prioritize |
|
|
137
|
+
| Same info everyone else has | Deprioritize |
|
|
138
|
+
|
|
139
|
+
If you have 2,589 marketing workflows and nobody else does, "marketing workflows"
|
|
140
|
+
should be a pillar. If you are writing about "AI marketing" with no unique angle,
|
|
141
|
+
you are competing on equal footing with everyone.
|
|
142
|
+
|
|
143
|
+
v2 enhancement: If positioning.md is loaded, the proprietary advantage test
|
|
144
|
+
automatically checks your stated differentiators against each pillar.
|
|
145
|
+
|
|
146
|
+
**Validation Output:**
|
|
147
|
+
|
|
148
|
+
For each proposed pillar, document:
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
Pillar: [Name]
|
|
152
|
+
Search volume test: PASS/FAIL -- [evidence from web search]
|
|
153
|
+
Market-centric test: PASS/FAIL -- [evidence]
|
|
154
|
+
Competitive test: PASS/FAIL -- [SERP evidence]
|
|
155
|
+
Proprietary advantage: YES/NO -- [what advantage]
|
|
156
|
+
VERDICT: VALID PILLAR / DEMOTE TO CLUSTER / REMOVE
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**If a pillar fails 2+ tests, it is not a pillar.** Either demote it to a single
|
|
160
|
+
article within another pillar, or remove it entirely.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
# Content Brief & Plan Templates
|
|
168
|
+
|
|
169
|
+
## Phase 8: Content Brief Generation (NEW in v2)
|
|
170
|
+
|
|
171
|
+
For each top-priority keyword cluster, generate an individual content brief
|
|
172
|
+
and save it to `./campaigns/content-plan/`.
|
|
173
|
+
|
|
174
|
+
### Content Brief Template
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
# Content Brief: {Article Title}
|
|
178
|
+
|
|
179
|
+
## Last Updated
|
|
180
|
+
{YYYY-MM-DD} by /keyword-research
|
|
181
|
+
|
|
182
|
+
## Target Keyword
|
|
183
|
+
Primary: {main keyword}
|
|
184
|
+
Secondary: {2-5 supporting keywords}
|
|
185
|
+
Long-tail: {3-5 long-tail variations}
|
|
186
|
+
|
|
187
|
+
## Search Intent
|
|
188
|
+
{Informational / Commercial / Transactional}
|
|
189
|
+
|
|
190
|
+
## Content Type
|
|
191
|
+
{Pillar Guide / How-To / Comparison / Listicle / Use Case / Definition}
|
|
192
|
+
|
|
193
|
+
## Target Word Count
|
|
194
|
+
{range}
|
|
195
|
+
|
|
196
|
+
## SERP Snapshot
|
|
197
|
+
Top 3 current results:
|
|
198
|
+
1. {Title} -- {Domain} -- {Content type} -- {Assessment}
|
|
199
|
+
2. {Title} -- {Domain} -- {Content type} -- {Assessment}
|
|
200
|
+
3. {Title} -- {Domain} -- {Content type} -- {Assessment}
|
|
201
|
+
|
|
202
|
+
Content gap to exploit: {what is missing from current results}
|
|
203
|
+
|
|
204
|
+
## People Also Ask
|
|
205
|
+
- {PAA question 1}
|
|
206
|
+
- {PAA question 2}
|
|
207
|
+
- {PAA question 3}
|
|
208
|
+
- {PAA question 4}
|
|
209
|
+
|
|
210
|
+
## Recommended Outline
|
|
211
|
+
H1: {Title}
|
|
212
|
+
H2: {Section from PAA or logical flow}
|
|
213
|
+
H2: {Section}
|
|
214
|
+
H2: {Section}
|
|
215
|
+
H2: {Section}
|
|
216
|
+
H2: {Section}
|
|
217
|
+
|
|
218
|
+
## Angle
|
|
219
|
+
{How to approach this topic given the brand's positioning}
|
|
220
|
+
{Reference ./brand/positioning.md if loaded}
|
|
221
|
+
|
|
222
|
+
## Differentiation
|
|
223
|
+
{What makes this piece different from what already ranks}
|
|
224
|
+
{Proprietary data, unique methodology, practitioner experience}
|
|
225
|
+
|
|
226
|
+
## Internal Links
|
|
227
|
+
- Links TO: {other pieces in the content plan this should link to}
|
|
228
|
+
- Links FROM: {other pieces that should link to this one}
|
|
229
|
+
|
|
230
|
+
## CTA
|
|
231
|
+
{What action the reader should take after reading}
|
|
232
|
+
|
|
233
|
+
## Priority
|
|
234
|
+
{DO FIRST / DO SECOND / DO THIRD / QUICK WIN / LONG PLAY}
|
|
235
|
+
|
|
236
|
+
## Status
|
|
237
|
+
planning
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Brief Naming Convention
|
|
241
|
+
|
|
242
|
+
Use lowercase-kebab-case: `{keyword-slug}.md`
|
|
243
|
+
- "What is AI marketing" --> `what-is-ai-marketing.md`
|
|
244
|
+
- "Best marketing automation tools" --> `best-marketing-automation-tools.md`
|
|
245
|
+
|
|
246
|
+
### How Many Briefs to Generate
|
|
247
|
+
|
|
248
|
+
- Generate briefs for all Tier 1 keywords (DO FIRST items)
|
|
249
|
+
- Generate briefs for Quick Wins
|
|
250
|
+
- Offer to generate Tier 2 briefs if user wants them
|
|
251
|
+
- Do not auto-generate Tier 3 or Tier 4 briefs (save for later)
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Keyword Plan File Format
|
|
256
|
+
|
|
257
|
+
The keyword plan saved to `./brand/keyword-plan.md` uses this format:
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
# Keyword Plan
|
|
261
|
+
|
|
262
|
+
## Last Updated
|
|
263
|
+
{YYYY-MM-DD} by /keyword-research
|
|
264
|
+
|
|
265
|
+
## Business Context
|
|
266
|
+
- Offer: {what they sell}
|
|
267
|
+
- Audience: {who they serve}
|
|
268
|
+
- Goal: {traffic / leads / sales / authority}
|
|
269
|
+
- Positioning: {angle from brand memory or user input}
|
|
270
|
+
|
|
271
|
+
## Pillar Overview
|
|
272
|
+
|
|
273
|
+
### Pillar 1: {Name} -- Priority: {Critical/High/Medium/Low}
|
|
274
|
+
Validation: {PASS/FAIL summary}
|
|
275
|
+
Clusters: {N}
|
|
276
|
+
Content pieces planned: {N}
|
|
277
|
+
|
|
278
|
+
| Cluster | Priority | Intent | Content Type | Status |
|
|
279
|
+
|---------|----------|--------|--------------|--------|
|
|
280
|
+
| {name} | {H/M/L} | {type} | {format} | {status} |
|
|
281
|
+
| {name} | {H/M/L} | {type} | {format} | {status} |
|
|
282
|
+
|
|
283
|
+
### Pillar 2: {Name} -- Priority: {level}
|
|
284
|
+
...
|
|
285
|
+
|
|
286
|
+
## Competitive Landscape
|
|
287
|
+
{Summary of competitor content analysis}
|
|
288
|
+
{Key gaps identified}
|
|
289
|
+
|
|
290
|
+
## 90-Day Content Calendar
|
|
291
|
+
|
|
292
|
+
### Month 1
|
|
293
|
+
- Week 1-2: {Flagship piece} -- {Target keyword cluster}
|
|
294
|
+
- Week 3: {Supporting piece} -- {Target keyword cluster}
|
|
295
|
+
- Week 4: {Supporting piece} -- {Target keyword cluster}
|
|
296
|
+
|
|
297
|
+
### Month 2
|
|
298
|
+
- Week 5-6: {Second pillar piece} -- {Target keyword cluster}
|
|
299
|
+
- Week 7: {Supporting piece} -- {Target keyword cluster}
|
|
300
|
+
- Week 8: {Supporting piece} -- {Target keyword cluster}
|
|
301
|
+
|
|
302
|
+
### Month 3
|
|
303
|
+
- Week 9-10: {Third pillar piece} -- {Target keyword cluster}
|
|
304
|
+
- Week 11: {Supporting piece} -- {Target keyword cluster}
|
|
305
|
+
- Week 12: {Supporting piece} -- {Target keyword cluster}
|
|
306
|
+
|
|
307
|
+
## Content Briefs Generated
|
|
308
|
+
| Brief | Path | Priority | Status |
|
|
309
|
+
|-------|------|----------|--------|
|
|
310
|
+
| {title} | ./campaigns/content-plan/{slug}.md | {priority} | planning |
|
|
311
|
+
|
|
312
|
+
## Search Data Summary
|
|
313
|
+
- Autocomplete terms captured: {N}
|
|
314
|
+
- PAA questions captured: {N}
|
|
315
|
+
- SERPs analyzed: {N}
|
|
316
|
+
- Competitor pages reviewed: {N}
|
|
317
|
+
- Date of search: {YYYY-MM-DD}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
# Formatted Output Structure
|
|
326
|
+
|
|
327
|
+
## Formatted Output Structure
|
|
328
|
+
|
|
329
|
+
When presenting the completed keyword plan to the user, follow the output
|
|
330
|
+
format specification from `_system/output-format.md`. The terminal output
|
|
331
|
+
uses the premium formatting system. The markdown file saved to disk uses
|
|
332
|
+
standard markdown.
|
|
333
|
+
|
|
334
|
+
### Terminal Output Template
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
338
|
+
|
|
339
|
+
KEYWORD RESEARCH PLAN
|
|
340
|
+
Generated {Mon DD, YYYY}
|
|
341
|
+
|
|
342
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
343
|
+
|
|
344
|
+
Brand: {name}
|
|
345
|
+
Goal: {traffic / leads / sales / authority}
|
|
346
|
+
|
|
347
|
+
{If brand context was loaded:}
|
|
348
|
+
Brand context:
|
|
349
|
+
├── Positioning ✓ loaded
|
|
350
|
+
├── Audience ✓ loaded
|
|
351
|
+
└── Competitors ✓ {N} profiled
|
|
352
|
+
|
|
353
|
+
──────────────────────────────────────────────
|
|
354
|
+
|
|
355
|
+
RESEARCH MODE
|
|
356
|
+
├── Web search {✓ connected | ✗ not available}
|
|
357
|
+
├── Data quality: {LIVE | ESTIMATED}
|
|
358
|
+
└── {If ESTIMATED: "Using estimated data based on
|
|
359
|
+
brand context and training data. Volumes and
|
|
360
|
+
rankings are directional, not verified."}
|
|
361
|
+
|
|
362
|
+
Per _system/brand-memory.md: always show the research
|
|
363
|
+
signal. If web search is unavailable, tell the user
|
|
364
|
+
data is estimated and prefix research-dependent
|
|
365
|
+
numbers with ~ (e.g., ~2,400 monthly searches).
|
|
366
|
+
|
|
367
|
+
──────────────────────────────────────────────
|
|
368
|
+
|
|
369
|
+
RESEARCH SUMMARY
|
|
370
|
+
|
|
371
|
+
Seeds generated: {N}
|
|
372
|
+
Keywords expanded: {N}
|
|
373
|
+
Autocomplete terms: {N}
|
|
374
|
+
PAA questions captured: {N}
|
|
375
|
+
SERPs analyzed: {N}
|
|
376
|
+
Competitor pages reviewed: {N}
|
|
377
|
+
|
|
378
|
+
──────────────────────────────────────────────
|
|
379
|
+
|
|
380
|
+
CONTENT PILLARS
|
|
381
|
+
|
|
382
|
+
① {PILLAR NAME} ★ critical
|
|
383
|
+
{N} clusters, {N} content pieces
|
|
384
|
+
Validation: search ✓ market ✓ competitive ✓
|
|
385
|
+
Top keyword: "{keyword}"
|
|
386
|
+
SERP status: {opportunity assessment}
|
|
387
|
+
|
|
388
|
+
──────────────────────────────────────────────
|
|
389
|
+
|
|
390
|
+
② {PILLAR NAME} high
|
|
391
|
+
{N} clusters, {N} content pieces
|
|
392
|
+
Validation: search ✓ market ✓ competitive ✓
|
|
393
|
+
Top keyword: "{keyword}"
|
|
394
|
+
SERP status: {opportunity assessment}
|
|
395
|
+
|
|
396
|
+
──────────────────────────────────────────────
|
|
397
|
+
|
|
398
|
+
③ {PILLAR NAME} medium
|
|
399
|
+
...
|
|
400
|
+
|
|
401
|
+
──────────────────────────────────────────────
|
|
402
|
+
|
|
403
|
+
TOP OPPORTUNITIES
|
|
404
|
+
|
|
405
|
+
Keyword Opp Speed
|
|
406
|
+
──────────────────────────────────────────────
|
|
407
|
+
{keyword 1} ★★★★★ Fast
|
|
408
|
+
{keyword 2} ★★★★ Fast
|
|
409
|
+
{keyword 3} ★★★★ Medium
|
|
410
|
+
{keyword 4} ★★★ Fast
|
|
411
|
+
{keyword 5} ★★★ Medium
|
|
412
|
+
|
|
413
|
+
──────────────────────────────────────────────
|
|
414
|
+
Opp = opportunity score based on SERP analysis
|
|
415
|
+
Speed = estimated time to page 1
|
|
416
|
+
|
|
417
|
+
──────────────────────────────────────────────
|
|
418
|
+
|
|
419
|
+
COMPETITIVE GAPS
|
|
420
|
+
|
|
421
|
+
├── {gap 1 -- topic no competitor covers}
|
|
422
|
+
├── {gap 2 -- topic with weak coverage}
|
|
423
|
+
└── {gap 3 -- topic where you have advantage}
|
|
424
|
+
|
|
425
|
+
──────────────────────────────────────────────
|
|
426
|
+
|
|
427
|
+
90-DAY CONTENT CALENDAR
|
|
428
|
+
|
|
429
|
+
Month 1
|
|
430
|
+
├── Wk 1-2 {Flagship piece}
|
|
431
|
+
│ → {target keyword}
|
|
432
|
+
├── Wk 3 {Supporting piece}
|
|
433
|
+
│ → {target keyword}
|
|
434
|
+
└── Wk 4 {Supporting piece}
|
|
435
|
+
→ {target keyword}
|
|
436
|
+
|
|
437
|
+
Month 2
|
|
438
|
+
├── Wk 5-6 {Second pillar piece}
|
|
439
|
+
│ → {target keyword}
|
|
440
|
+
├── Wk 7 {Supporting piece}
|
|
441
|
+
│ → {target keyword}
|
|
442
|
+
└── Wk 8 {Supporting piece}
|
|
443
|
+
→ {target keyword}
|
|
444
|
+
|
|
445
|
+
Month 3
|
|
446
|
+
├── Wk 9-10 {Third pillar piece}
|
|
447
|
+
│ → {target keyword}
|
|
448
|
+
├── Wk 11 {Supporting piece}
|
|
449
|
+
│ → {target keyword}
|
|
450
|
+
└── Wk 12 {Supporting piece}
|
|
451
|
+
→ {target keyword}
|
|
452
|
+
|
|
453
|
+
──────────────────────────────────────────────
|
|
454
|
+
|
|
455
|
+
START HERE
|
|
456
|
+
|
|
457
|
+
{Specific first piece of content to create
|
|
458
|
+
and why -- based on highest opportunity score,
|
|
459
|
+
fastest speed to win, and strongest alignment
|
|
460
|
+
with business goals}
|
|
461
|
+
|
|
462
|
+
──────────────────────────────────────────────
|
|
463
|
+
|
|
464
|
+
CONTENT BRIEFS GENERATED
|
|
465
|
+
|
|
466
|
+
├── {brief 1} ✓ ./campaigns/content-plan/{slug}.md
|
|
467
|
+
├── {brief 2} ✓ ./campaigns/content-plan/{slug}.md
|
|
468
|
+
└── {brief 3} ✓ ./campaigns/content-plan/{slug}.md
|
|
469
|
+
|
|
470
|
+
──────────────────────────────────────────────
|
|
471
|
+
|
|
472
|
+
FILES SAVED
|
|
473
|
+
|
|
474
|
+
./brand/keyword-plan.md ✓
|
|
475
|
+
./campaigns/content-plan/{slug-1}.md ✓ (new)
|
|
476
|
+
./campaigns/content-plan/{slug-2}.md ✓ (new)
|
|
477
|
+
./campaigns/content-plan/{slug-3}.md ✓ (new)
|
|
478
|
+
./brand/assets.md ✓ ({N} entries added)
|
|
479
|
+
|
|
480
|
+
WHAT'S NEXT
|
|
481
|
+
|
|
482
|
+
Your keyword plan is set with {N} prioritized
|
|
483
|
+
clusters and {N} content briefs ready to write.
|
|
484
|
+
|
|
485
|
+
→ /seo-content Write your first article
|
|
486
|
+
with your top cluster (~20 min)
|
|
487
|
+
→ /content-atomizer Repurpose across social
|
|
488
|
+
channels (~10 min)
|
|
489
|
+
→ /newsletter Build an edition around
|
|
490
|
+
your top topics (~15 min)
|
|
491
|
+
|
|
492
|
+
Or tell me what you are working on and
|
|
493
|
+
I will route you.
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
# Full Example
|
|
502
|
+
|
|
503
|
+
## Example: Keyword Research for "AI Marketing Consultant"
|
|
504
|
+
|
|
505
|
+
### Context Gathered
|
|
506
|
+
|
|
507
|
+
- **Business:** AI marketing consulting for startups
|
|
508
|
+
- **Audience:** Funded startups, 10-50 employees, no marketing hire yet
|
|
509
|
+
- **Goal:** Leads for consulting engagements
|
|
510
|
+
- **Timeline:** Mix of quick wins and authority building
|
|
511
|
+
- **Brand memory:** positioning.md loaded (angle: "Practitioner, not theorist"),
|
|
512
|
+
audience.md loaded, competitors.md loaded (3 competitors profiled)
|
|
513
|
+
|
|
514
|
+
### Seed Keywords Generated (brand-informed)
|
|
515
|
+
|
|
516
|
+
- AI marketing consultant
|
|
517
|
+
- AI marketing strategy
|
|
518
|
+
- Marketing automation
|
|
519
|
+
- Startup marketing
|
|
520
|
+
- Fractional CMO
|
|
521
|
+
- AI marketing tools
|
|
522
|
+
- Marketing for funded startups (from audience.md)
|
|
523
|
+
- Practitioner marketing (from positioning.md)
|
|
524
|
+
|
|
525
|
+
### Expanded via 6 Circles (sample)
|
|
526
|
+
|
|
527
|
+
**Circle 1 (What you sell):** AI marketing consultant, AI marketing strategy,
|
|
528
|
+
AI marketing audit, marketing automation setup
|
|
529
|
+
|
|
530
|
+
**Circle 2 (Problems):** startup marketing overwhelm, no time for marketing,
|
|
531
|
+
marketing not working, can not hire marketing team
|
|
532
|
+
|
|
533
|
+
**Circle 3 (Outcomes):** automated lead generation, consistent content,
|
|
534
|
+
marketing ROI, scalable marketing
|
|
535
|
+
|
|
536
|
+
**Circle 4 (Positioning -- from positioning.md):** practitioner marketing,
|
|
537
|
+
marketing without theory, real-world marketing strategy, marketing from
|
|
538
|
+
someone who does it
|
|
539
|
+
|
|
540
|
+
**Circle 5 (Adjacent -- from audience.md):** startup growth strategies,
|
|
541
|
+
product-led growth, indie hacker marketing, Series A marketing playbook
|
|
542
|
+
|
|
543
|
+
**Circle 6 (Entities):** Claude AI marketing, n8n marketing automation,
|
|
544
|
+
|
|
545
|
+
### Web Search Findings (sample)
|
|
546
|
+
|
|
547
|
+
**Autocomplete discoveries:**
|
|
548
|
+
- "AI marketing consultant" → "AI marketing consultant for startups",
|
|
549
|
+
"AI marketing consultant near me", "AI marketing consultant cost"
|
|
550
|
+
- "startup marketing" → "startup marketing strategy 2026",
|
|
551
|
+
"startup marketing budget", "startup marketing without a team"
|
|
552
|
+
|
|
553
|
+
**People Also Ask:**
|
|
554
|
+
- "How much does an AI marketing consultant cost?"
|
|
555
|
+
- "Do I need a marketing team for my startup?"
|
|
556
|
+
- "What is fractional marketing?"
|
|
557
|
+
- "Can AI replace a marketing team?"
|
|
558
|
+
|
|
559
|
+
**SERP analysis:**
|
|
560
|
+
- "AI marketing consultant": Thin results, no definitive guide. Opportunity.
|
|
561
|
+
- "startup marketing strategy": Competitive but top results are 2023-dated.
|
|
562
|
+
- "fractional CMO": Moderate competition, mix of agencies and solo consultants.
|
|
563
|
+
- "marketing automation for startups": Reddit in top 5. Major content gap.
|
|
564
|
+
|
|
565
|
+
**Competitor content gaps:**
|
|
566
|
+
- Competitor A has no content on "AI marketing for startups"
|
|
567
|
+
- Competitor B covers "fractional CMO" but nothing on automation
|
|
568
|
+
- None of the 3 competitors have comparison content (vs pages)
|
|
569
|
+
|
|
570
|
+
### Clustered into Pillars
|
|
571
|
+
|
|
572
|
+
**Pillar 1: AI Marketing Strategy** (Priority: Critical)
|
|
573
|
+
- Validation: search ✓ market ✓ competitive ✓ advantage ✓
|
|
574
|
+
- What is AI marketing
|
|
575
|
+
- AI marketing examples
|
|
576
|
+
- AI marketing tools
|
|
577
|
+
- AI marketing for startups
|
|
578
|
+
- PAA: "Can AI replace a marketing team?" (standalone article)
|
|
579
|
+
|
|
580
|
+
**Pillar 2: Marketing Automation** (Priority: High)
|
|
581
|
+
- Validation: search ✓ market ✓ competitive ✓ advantage ✓
|
|
582
|
+
- Marketing automation for startups
|
|
583
|
+
- No-code marketing automation
|
|
584
|
+
- n8n vs Zapier for marketing
|
|
585
|
+
- Marketing workflow templates
|
|
586
|
+
- SERP: Reddit ranking = confirmed content gap
|
|
587
|
+
|
|
588
|
+
**Pillar 3: Fractional Marketing** (Priority: Medium)
|
|
589
|
+
- Validation: search ✓ market ✓ competitive partial advantage partial
|
|
590
|
+
- What is a fractional CMO
|
|
591
|
+
- Fractional CMO vs agency
|
|
592
|
+
- When to hire fractional marketing
|
|
593
|
+
- How much does a fractional CMO cost (from PAA)
|
|
594
|
+
|
|
595
|
+
### Top 3 Recommendations
|
|
596
|
+
|
|
597
|
+
**1. "Marketing Automation for Startups" (Do First -- Quick Win)**
|
|
598
|
+
- Reddit in top 5 = confirmed content gap
|
|
599
|
+
- Specific audience match (from audience.md)
|
|
600
|
+
- Competitor B has nothing here
|
|
601
|
+
- How-to guide, 2,500+ words
|
|
602
|
+
- Content brief generated: ./campaigns/content-plan/marketing-automation-startups.md
|
|
603
|
+
|
|
604
|
+
**2. "What is AI Marketing?" (Do Second -- Category Play)**
|
|
605
|
+
- Category definition opportunity
|
|
606
|
+
- Top results are thin and dated
|
|
607
|
+
- Practitioner angle (from positioning.md) differentiates
|
|
608
|
+
- Pillar guide, 5,000+ words
|
|
609
|
+
- Content brief generated: ./campaigns/content-plan/what-is-ai-marketing.md
|
|
610
|
+
|
|
611
|
+
**3. "AI Marketing Tools 2026" (Do Third -- Commercial Intent)**
|
|
612
|
+
- Commercial intent, close to purchase
|
|
613
|
+
- Existing content is generic/outdated
|
|
614
|
+
- Unique angle: practitioner reviews, not affiliate lists
|
|
615
|
+
- Comparison listicle, 3,000+ words
|
|
616
|
+
- Content brief generated: ./campaigns/content-plan/ai-marketing-tools-2026.md
|
|
617
|
+
|
|
618
|
+
---
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
---
|
|
622
|
+
|
|
623
|
+
# Supplementary
|
|
624
|
+
|
|
625
|
+
## Free Tools to Supplement
|
|
626
|
+
|
|
627
|
+
If the user needs additional data validation beyond web search:
|
|
628
|
+
|
|
629
|
+
- **Google Trends** (trends.google.com) -- Trend direction, seasonality
|
|
630
|
+
- **Google Search Console** -- Your actual ranking data
|
|
631
|
+
- **Google Search** -- SERP analysis, autocomplete, People Also Ask
|
|
632
|
+
- **AnswerThePublic** (free tier) -- Question-based keywords
|
|
633
|
+
- **AlsoAsked** (free tier) -- PAA relationship mapping
|
|
634
|
+
- **Reddit/Quora search** -- Real user questions and language
|
|
635
|
+
- **exa MCP or web search free tools** -- Limited keyword data
|
|
636
|
+
- **Ubersuggest free tier** -- Basic keyword metrics
|
|
637
|
+
|
|
638
|
+
---
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
---
|
|
642
|
+
|
|
643
|
+
# Technical Reference
|
|
644
|
+
|
|
645
|
+
## Error States
|
|
646
|
+
|
|
647
|
+
### Web search not available
|
|
648
|
+
|
|
649
|
+
```
|
|
650
|
+
┌──────────────────────────────────────────────┐
|
|
651
|
+
│ │
|
|
652
|
+
│ ✗ WEB SEARCH UNAVAILABLE │
|
|
653
|
+
│ │
|
|
654
|
+
│ Web search tools are not available in this │
|
|
655
|
+
│ environment. I can still build a keyword │
|
|
656
|
+
│ plan using the 6 Circles Method and │
|
|
657
|
+
│ strategic analysis -- but without live │
|
|
658
|
+
│ SERP validation. │
|
|
659
|
+
│ │
|
|
660
|
+
│ → Continue without search data │
|
|
661
|
+
│ → Provide competitor URLs and I will work │
|
|
662
|
+
│ with what you give me │
|
|
663
|
+
│ │
|
|
664
|
+
└──────────────────────────────────────────────┘
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
When web search is unavailable, skip Phase 3 and run the v1 process (Phases 1,
|
|
668
|
+
2, 4-7). Show the RESEARCH MODE signal with "Data quality: ESTIMATED" per
|
|
669
|
+
_system/brand-memory.md. Tell the user you are using estimated data based on
|
|
670
|
+
training knowledge rather than live search results. Prefix all volume and
|
|
671
|
+
ranking estimates with ~ to indicate they are directional. Recommend the user
|
|
672
|
+
manually check top results for priority keywords.
|
|
673
|
+
|
|
674
|
+
### No business context available
|
|
675
|
+
|
|
676
|
+
```
|
|
677
|
+
┌──────────────────────────────────────────────┐
|
|
678
|
+
│ │
|
|
679
|
+
│ ✗ NEED BUSINESS CONTEXT │
|
|
680
|
+
│ │
|
|
681
|
+
│ I need to understand your business before │
|
|
682
|
+
│ researching keywords. No brand profile │
|
|
683
|
+
│ found and no context provided. │
|
|
684
|
+
│ │
|
|
685
|
+
│ → Tell me what you sell and who you serve │
|
|
686
|
+
│ → /start-here to build your full profile │
|
|
687
|
+
│ → /brand-voice to start with voice │
|
|
688
|
+
│ │
|
|
689
|
+
└──────────────────────────────────────────────┘
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
### Competitor URLs not accessible
|
|
693
|
+
|
|
694
|
+
```
|
|
695
|
+
┌──────────────────────────────────────────────┐
|
|
696
|
+
│ │
|
|
697
|
+
│ ✗ COMPETITOR ANALYSIS LIMITED │
|
|
698
|
+
│ │
|
|
699
|
+
│ Could not access content from {N} of {M} │
|
|
700
|
+
│ competitor URLs. Proceeding with available │
|
|
701
|
+
│ data. │
|
|
702
|
+
│ │
|
|
703
|
+
│ Accessible: │
|
|
704
|
+
│ ├── {competitor 1} ✓ │
|
|
705
|
+
│ └── {competitor 2} ✗ blocked │
|
|
706
|
+
│ │
|
|
707
|
+
│ → Continue with partial data │
|
|
708
|
+
│ → Provide alternative competitor URLs │
|
|
709
|
+
│ │
|
|
710
|
+
└──────────────────────────────────────────────┘
|
|
711
|
+
```
|
|
712
|
+
|
|
713
|
+
---
|
|
714
|
+
|
|
715
|
+
## Implementation Notes for the LLM
|
|
716
|
+
|
|
717
|
+
When executing this skill, follow these rules precisely:
|
|
718
|
+
|
|
719
|
+
1. **Never skip the iteration check.** Always look for an existing
|
|
720
|
+
keyword-plan.md before starting a new plan.
|
|
721
|
+
|
|
722
|
+
2. **Never skip web search when available.** The v2 differentiator is
|
|
723
|
+
data-backed research. If web search tools are available, use them.
|
|
724
|
+
Phase 3 is not optional -- it is what makes this skill worth paying for.
|
|
725
|
+
|
|
726
|
+
3. **Show your work.** When loading brand context, say what you loaded.
|
|
727
|
+
When searching, show what you found. When analyzing SERPs, name the
|
|
728
|
+
patterns. The user should feel like they are working with a senior
|
|
729
|
+
content strategist, not a keyword generator.
|
|
730
|
+
|
|
731
|
+
4. **Preserve the 6 Circles Method.** This is the strategic core. Web
|
|
732
|
+
search enhances it, does not replace it. Always run 6 Circles expansion
|
|
733
|
+
before web search validation.
|
|
734
|
+
|
|
735
|
+
5. **Pillar validation is mandatory.** Do not skip the 4-check validation.
|
|
736
|
+
With live SERP data, the validation is even more powerful -- use it.
|
|
737
|
+
If a pillar fails 2+ tests, demote or remove it regardless of how
|
|
738
|
+
"on-brand" it feels.
|
|
739
|
+
|
|
740
|
+
6. **Generate content briefs for top priorities.** Do not just list
|
|
741
|
+
keywords. The briefs in ./campaigns/content-plan/ are what make this
|
|
742
|
+
skill actionable. Every Tier 1 keyword should have a brief.
|
|
743
|
+
|
|
744
|
+
7. **Respect the brand memory protocol.** Read before write. Diff before
|
|
745
|
+
overwrite. Confirm before save. Append to assets.md, never overwrite.
|
|
746
|
+
|
|
747
|
+
8. **PAA questions are gold.** People Also Ask questions are real queries
|
|
748
|
+
from real people. Always capture them and map them to content outlines.
|
|
749
|
+
They become H2s in your content briefs.
|
|
750
|
+
|
|
751
|
+
9. **The chain to /seo-content is the handoff.** Always offer it. The
|
|
752
|
+
keyword plan is strategy. /seo-content is execution. The faster the
|
|
753
|
+
user moves from plan to content, the more value they get.
|
|
754
|
+
|
|
755
|
+
10. **Write file paths correctly.** The plan saves to
|
|
756
|
+
`./brand/keyword-plan.md`. Briefs save to
|
|
757
|
+
`./campaigns/content-plan/{slug}.md`. The exact paths matter for
|
|
758
|
+
cross-skill references.
|
|
759
|
+
|
|
760
|
+
11. **When web search is unavailable, gracefully degrade.** Fall back to
|
|
761
|
+
the v1 process (6 Circles + strategic analysis). Note the limitation.
|
|
762
|
+
The skill should still produce valuable output without search data --
|
|
763
|
+
it just will not have SERP validation.
|
|
764
|
+
|
|
765
|
+
12. **Use brand positioning to differentiate, not to dictate topics.**
|
|
766
|
+
The positioning angle tells you HOW to write about a topic, not WHAT
|
|
767
|
+
topics to target. "The Anti-Agency" writes about "marketing strategy"
|
|
768
|
+
(market term) with an anti-agency angle -- it does not target
|
|
769
|
+
"anti-agency" as a keyword.
|