@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,322 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-visibility-audit
|
|
3
|
+
description: "Audit your brand's visibility across AI search engines — Google AI Mode, ChatGPT, Perplexity, Claude, Gemini."
|
|
4
|
+
allowed-tools: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /ai-visibility-audit — AI Search Visibility Audit
|
|
8
|
+
|
|
9
|
+
Measure what matters now. Traditional SEO tracks keyword rankings and referral traffic. AI search killed that game — 93% of Google AI Mode searches end without a click, and only 17-36% of traditional top-10 results overlap with AI Mode citations. This skill measures the new metric: **AI visibility** (mentions + citations across AI engines).
|
|
10
|
+
|
|
11
|
+
For brand memory protocol, see /cmo [rules/brand-memory.md](../cmo/rules/brand-memory.md).
|
|
12
|
+
|
|
13
|
+
## On Activation
|
|
14
|
+
|
|
15
|
+
1. Read `brand/` directory: load `positioning.md`, `competitors.md`, `audience.md`, `keyword-plan.md` if present.
|
|
16
|
+
2. Show what loaded:
|
|
17
|
+
```
|
|
18
|
+
Brand context loaded:
|
|
19
|
+
├── Positioning ✓/✗
|
|
20
|
+
├── Competitors ✓/✗
|
|
21
|
+
├── Audience ✓/✗
|
|
22
|
+
└── Keyword Plan ✓/✗
|
|
23
|
+
```
|
|
24
|
+
3. If no brand files exist, ask: What product/service do you want to audit? Who are your top 3-5 competitors? What do your buyers search for?
|
|
25
|
+
4. Determine mode:
|
|
26
|
+
- **Full Audit** — Generate buyer prompts + test across engines (default)
|
|
27
|
+
- **Quick Check** — Test 3-5 prompts on 1-2 engines (fast)
|
|
28
|
+
- **Comparison** — Audit your brand vs a specific competitor
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Phase 0: Generate Buyer Prompts
|
|
33
|
+
|
|
34
|
+
The audit is only as good as the prompts. AI search uses full sentences and questions — not keywords.
|
|
35
|
+
|
|
36
|
+
### Source Prompts From
|
|
37
|
+
|
|
38
|
+
1. **Brand files** (if present):
|
|
39
|
+
- `keyword-plan.md` → Convert top keywords into natural-language questions
|
|
40
|
+
- `positioning.md` → Extract core value propositions as "best X for Y" queries
|
|
41
|
+
- `competitors.md` → Generate "[competitor] vs [brand]" and "[competitor] alternatives" queries
|
|
42
|
+
- `audience.md` → Derive pain-point questions from ICP description
|
|
43
|
+
|
|
44
|
+
2. **If no brand files**, generate prompts from these templates (pick 10-15 total):
|
|
45
|
+
|
|
46
|
+
| Category | Prompt Template |
|
|
47
|
+
|----------|----------------|
|
|
48
|
+
| Product category | "What is the best [product type] for [use case]?" |
|
|
49
|
+
| Comparison | "How does [brand] compare to [competitor] for [use case]?" |
|
|
50
|
+
| Problem-solution | "How do I [solve problem] without [common approach]?" |
|
|
51
|
+
| Category alternatives | "What are the best alternatives to [market leader]?" |
|
|
52
|
+
| Buyer-specific | "What [product type] should a [company size/type] use for [goal]?" |
|
|
53
|
+
| Feature-specific | "Which [product category] has the best [feature]?" |
|
|
54
|
+
| Price-conscious | "Best [product type] for small teams on a budget" |
|
|
55
|
+
| Educational | "How does [technology/process] work for [industry]?" |
|
|
56
|
+
|
|
57
|
+
3. **Save prompts** to `brand/buyer-prompts.md` (create if needed) so future audits reuse the same set for comparison.
|
|
58
|
+
|
|
59
|
+
### Prompt Quality Check
|
|
60
|
+
|
|
61
|
+
Each prompt must:
|
|
62
|
+
- Be a full sentence or question (not keywords)
|
|
63
|
+
- Reflect how a real buyer would ask an AI
|
|
64
|
+
- Cover different stages: problem-aware, solution-aware, comparison-ready
|
|
65
|
+
- Include at least 3 comparison prompts against named competitors
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Phase 1: Test Each Prompt Across AI Engines
|
|
70
|
+
|
|
71
|
+
Run every buyer prompt against the AI search engines you can access. Not all engines will be testable every time — audit what you can, note what you couldn't test.
|
|
72
|
+
|
|
73
|
+
### Testing Methods (use what's available)
|
|
74
|
+
|
|
75
|
+
**With browser automation (Playwriter / usecomputer):**
|
|
76
|
+
1. **Google AI Mode** — Navigate to google.com, switch to AI Mode, enter prompt. Screenshot the full response.
|
|
77
|
+
2. **ChatGPT** — Navigate to chatgpt.com, enter prompt with web search enabled. Screenshot.
|
|
78
|
+
3. **Perplexity** — Navigate to perplexity.ai, enter prompt. Screenshot.
|
|
79
|
+
4. **Claude** — Navigate to claude.ai, enter prompt with web search. Screenshot.
|
|
80
|
+
5. **Gemini** — Navigate to gemini.google.com, enter prompt. Screenshot.
|
|
81
|
+
|
|
82
|
+
**With web fetch only:**
|
|
83
|
+
1. Use Perplexity API (if API key available) for programmatic queries
|
|
84
|
+
2. Use web search to check what sources appear for "site:yourdomain.com [topic]"
|
|
85
|
+
3. Check if your content appears in SERP features for AI-style queries
|
|
86
|
+
|
|
87
|
+
**With no external access:**
|
|
88
|
+
1. Use `ai-seo` skill's content audit approach — analyze existing content against AI citation patterns
|
|
89
|
+
2. Review schema markup, content structure, entity signals
|
|
90
|
+
3. Note limitation: "Live AI testing requires browser or web access. This audit covers content optimization only."
|
|
91
|
+
|
|
92
|
+
### For Each Response, Record
|
|
93
|
+
|
|
94
|
+
| Field | What to capture |
|
|
95
|
+
|-------|----------------|
|
|
96
|
+
| Prompt | The exact query tested |
|
|
97
|
+
| Engine | Which AI search engine |
|
|
98
|
+
| Brand mentioned? | Yes/No + context (positive, neutral, negative) |
|
|
99
|
+
| Brand cited? | Yes/No + URL of cited page |
|
|
100
|
+
| Position | Where in the response (first mention, middle, end, not at all) |
|
|
101
|
+
| Competitors mentioned | List all competitors that appeared |
|
|
102
|
+
| Sources cited | List all URLs/domains the AI cited |
|
|
103
|
+
| Response type | Comparison table, narrative, list, single answer |
|
|
104
|
+
| Data sources AI used | What kind of content did AI pull from (blog, YouTube, Reddit, review sites, PR) |
|
|
105
|
+
|
|
106
|
+
### Screenshot Protocol
|
|
107
|
+
|
|
108
|
+
For every test, take a screenshot. Screenshots serve as:
|
|
109
|
+
- Proof of current state (baseline for future comparison)
|
|
110
|
+
- Evidence of competitor positioning
|
|
111
|
+
- Visual reference for the audit report
|
|
112
|
+
|
|
113
|
+
Save to: `brand/marketing/seo/ai-audit-screenshots/{YYYY-MM-DD}/{engine}-{prompt-number}.png`
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Phase 2: Analyze Results
|
|
118
|
+
|
|
119
|
+
### Per-Engine Summary
|
|
120
|
+
|
|
121
|
+
For each engine, calculate:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Visibility Score = (Mentions + Citations) / Total Prompts × 100
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
| Engine | Prompts Tested | Mentions | Citations | Visibility Score | Grade |
|
|
128
|
+
|--------|---------------|----------|-----------|-----------------|-------|
|
|
129
|
+
| Google AI Mode | 15 | 3 | 1 | 27% | D |
|
|
130
|
+
| ChatGPT | 15 | 5 | 2 | 47% | C |
|
|
131
|
+
| Perplexity | 15 | 7 | 4 | 73% | B |
|
|
132
|
+
| Claude | 15 | 2 | 0 | 13% | F |
|
|
133
|
+
| Gemini | 15 | 4 | 2 | 40% | C |
|
|
134
|
+
|
|
135
|
+
Grading: A ≥ 80%, B ≥ 60%, C ≥ 40%, D ≥ 20%, F < 20%
|
|
136
|
+
|
|
137
|
+
### Gap Analysis
|
|
138
|
+
|
|
139
|
+
For each prompt where the brand was absent:
|
|
140
|
+
|
|
141
|
+
1. **Who appeared instead?** → Identify which competitors own that query
|
|
142
|
+
2. **What sources did AI cite?** → YouTube? Reddit? Forbes? G2? → These are the platforms you need to be on
|
|
143
|
+
3. **What content gap does this reveal?** → Missing topic, missing depth, missing platform presence, missing data
|
|
144
|
+
4. **How hard is this to fix?** → Quick win (existing content needs optimization) vs. new content needed vs. new platform presence needed
|
|
145
|
+
|
|
146
|
+
### Competitor Intelligence
|
|
147
|
+
|
|
148
|
+
Build a competitor visibility matrix:
|
|
149
|
+
|
|
150
|
+
| Competitor | Mentioned in X prompts | Cited in X prompts | Strongest engines | What they do differently |
|
|
151
|
+
|-----------|----------------------|--------------------|--------------------|------------------------|
|
|
152
|
+
| [Comp 1] | 12/15 | 8/15 | Perplexity, ChatGPT | Has YouTube channel, published on Forbes |
|
|
153
|
+
| [Comp 2] | 9/15 | 5/15 | Google AI Mode | Strong FAQ schema, comparison tables |
|
|
154
|
+
| [Brand] | 3/15 | 1/15 | — | — |
|
|
155
|
+
|
|
156
|
+
### Source Platform Analysis
|
|
157
|
+
|
|
158
|
+
AI engines pull from specific platforms. Track which platforms appear most:
|
|
159
|
+
|
|
160
|
+
| Platform | Times cited | Your presence? |
|
|
161
|
+
|----------|-------------|----------------|
|
|
162
|
+
| YouTube | 23 | ✗ (no channel) |
|
|
163
|
+
| Reddit | 18 | ✗ (no posts) |
|
|
164
|
+
| Forbes/Inc/PR | 12 | ✗ (no earned media) |
|
|
165
|
+
| G2/Capterra | 9 | ✗ (no profile) |
|
|
166
|
+
| LinkedIn | 7 | ✓ (active) |
|
|
167
|
+
| Company blog | 15 | ✓ (exists) |
|
|
168
|
+
|
|
169
|
+
This directly informs the multi-platform distribution strategy.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Phase 3: Generate Prioritized Action Plan
|
|
174
|
+
|
|
175
|
+
### Categorize Actions
|
|
176
|
+
|
|
177
|
+
| Priority | Criteria | Example |
|
|
178
|
+
|----------|----------|---------|
|
|
179
|
+
| **P0 — Critical** | Brand absent from high-intent buyer queries | Not mentioned for "best [product] for [ICP]" |
|
|
180
|
+
| **P1 — High** | Brand mentioned but not cited; competitors cited | You appear in prose but no link to your site |
|
|
181
|
+
| **P2 — Medium** | Brand cited but low position or weak context | Cited as #5 in a list, described generically |
|
|
182
|
+
| **P3 — Maintenance** | Brand cited strongly; maintain and expand | Already source #1-2, protect position |
|
|
183
|
+
|
|
184
|
+
### Action Items
|
|
185
|
+
|
|
186
|
+
For each gap, create a specific action:
|
|
187
|
+
|
|
188
|
+
| Gap | Root Cause | Action | Skill to use | Effort |
|
|
189
|
+
|-----|-----------|--------|-------------|--------|
|
|
190
|
+
| Not mentioned for "best X for Y" | No comparison page | Create /compare/[brand]-vs-[comp] page | seo-machine, ai-seo | Medium |
|
|
191
|
+
| AI pulls from YouTube, no YT content | No video presence | Create 3 explainer videos | video-content, cmo-remotion | Large |
|
|
192
|
+
| AI cites Reddit threads, no Reddit presence | No community presence | Build Reddit authority | ai-consensus-builder | Large |
|
|
193
|
+
| Mentioned but not cited | Content lacks extractable structure | Add FAQ schema, comparison tables | ai-seo, schema-markup | Small |
|
|
194
|
+
| Competitor cited from Forbes article | No earned media | Pitch original research to journalists | earned-media | Large |
|
|
195
|
+
| Brand mentioned generically | No differentiating data | Publish proprietary research | original-research | Large |
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Phase 4: Write Audit Report
|
|
200
|
+
|
|
201
|
+
### Output File
|
|
202
|
+
|
|
203
|
+
Write to: `brand/marketing/seo/ai-visibility-audit.md`
|
|
204
|
+
|
|
205
|
+
### Frontmatter
|
|
206
|
+
|
|
207
|
+
```yaml
|
|
208
|
+
---
|
|
209
|
+
title: "AI Search Visibility Audit"
|
|
210
|
+
date: "{YYYY-MM-DD}"
|
|
211
|
+
previous_audit: "{path to last audit or 'none'}"
|
|
212
|
+
prompts_tested: {number}
|
|
213
|
+
engines_tested: ["Google AI Mode", "ChatGPT", "Perplexity", "Claude", "Gemini"]
|
|
214
|
+
overall_visibility_score: "{percentage} ({grade})"
|
|
215
|
+
mentions: {number}
|
|
216
|
+
citations: {number}
|
|
217
|
+
top_competitor: "{name} — {their score}"
|
|
218
|
+
critical_gaps: {number}
|
|
219
|
+
quick_wins: {number}
|
|
220
|
+
new_content_needed: {number}
|
|
221
|
+
---
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Report Structure
|
|
225
|
+
|
|
226
|
+
```markdown
|
|
227
|
+
# AI Search Visibility Audit — {Brand Name}
|
|
228
|
+
|
|
229
|
+
## Executive Summary
|
|
230
|
+
- Overall visibility: {score} ({grade})
|
|
231
|
+
- {mentions} mentions, {citations} citations across {prompts} prompts
|
|
232
|
+
- {critical_gaps} critical gaps, {quick_wins} quick wins
|
|
233
|
+
- Top threat: {competitor} appears in {X}% more queries
|
|
234
|
+
|
|
235
|
+
## Per-Engine Results
|
|
236
|
+
[Engine-by-engine tables from Phase 2]
|
|
237
|
+
|
|
238
|
+
## Prompt-by-Prompt Detail
|
|
239
|
+
[Full results for each prompt — mentioned, cited, competitors, sources, screenshots]
|
|
240
|
+
|
|
241
|
+
## Competitor Landscape
|
|
242
|
+
[Competitor matrix from Phase 2]
|
|
243
|
+
|
|
244
|
+
## Source Platform Analysis
|
|
245
|
+
[Which platforms AI engines cite, your presence on each]
|
|
246
|
+
|
|
247
|
+
## Prioritized Action Plan
|
|
248
|
+
[P0-P3 actions from Phase 3]
|
|
249
|
+
|
|
250
|
+
## Delta from Previous Audit
|
|
251
|
+
[If previous audit exists, show what changed: mentions gained/lost, citations gained/lost, competitor movements]
|
|
252
|
+
|
|
253
|
+
## Next Steps
|
|
254
|
+
[Top 3 recommended actions with skill suggestions]
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Delta Tracking
|
|
258
|
+
|
|
259
|
+
If a previous audit exists at `brand/marketing/seo/ai-visibility-audit.md`:
|
|
260
|
+
1. Read the previous file
|
|
261
|
+
2. Compare mentions and citations per prompt
|
|
262
|
+
3. Generate a delta section showing:
|
|
263
|
+
- Queries gained/lost mentions
|
|
264
|
+
- Queries gained/lost citations
|
|
265
|
+
- New competitor appearances
|
|
266
|
+
- Score changes per engine
|
|
267
|
+
4. Archive the previous audit to `brand/marketing/seo/ai-visibility-audit-{date}.md`
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Worked Example
|
|
272
|
+
|
|
273
|
+
**User request:** "Check our AI visibility for NomadixGear"
|
|
274
|
+
|
|
275
|
+
**Phase 0:** Load brand files. NomadixGear sells portable solar chargers. Generate prompts:
|
|
276
|
+
- "Best portable solar charger for camping"
|
|
277
|
+
- "NomadixGear vs Jackery solar charger"
|
|
278
|
+
- "What solar charger works best for off-grid living?"
|
|
279
|
+
- "Best solar chargers under $200 for hiking"
|
|
280
|
+
- (12 more...)
|
|
281
|
+
|
|
282
|
+
**Phase 1:** Test 15 prompts across 5 engines. Screenshot each. Record mentions, citations, competitors, sources.
|
|
283
|
+
|
|
284
|
+
**Phase 2:** Results: 4/15 mentions, 1/15 citations. Visibility: 33% (D). Competitor Jackery appears in 11/15. AI engines cite YouTube reviews (brand has none), Reddit threads (brand has no presence), and Wirecutter articles.
|
|
285
|
+
|
|
286
|
+
**Phase 3:** P0 gaps: Absent from "best solar charger for camping" on all engines. P1: Mentioned but not cited in 3 queries. Action plan: Create 3 YouTube videos, get featured on outdoor gear review sites, add comparison pages vs Jackery/GoalZero, create FAQ-rich product pages.
|
|
287
|
+
|
|
288
|
+
**Phase 4:** Write audit report. Save. Offer to schedule weekly re-check.
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Chain Offers
|
|
293
|
+
|
|
294
|
+
After completing, present:
|
|
295
|
+
|
|
296
|
+
- `/ai-seo` — Optimize content for AI citation based on audit findings
|
|
297
|
+
- `/seo-machine` — Ship comparison and alternatives pages for competitor queries
|
|
298
|
+
- `/content-atomizer` — Distribute content to the platforms AI engines cite most
|
|
299
|
+
- `/keyword-research` — Find more buyer prompts to add to the audit set
|
|
300
|
+
- "Schedule weekly visibility check" — Set up recurring cron to track changes
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Anti-Patterns
|
|
305
|
+
|
|
306
|
+
| Anti-pattern | Instead | Why |
|
|
307
|
+
|-------------|---------|-----|
|
|
308
|
+
| Testing keyword-style queries ("solar chargers") | Use natural language ("best solar charger for camping trips") | AI search uses conversational prompts, not keywords. Keyword queries test the wrong thing. |
|
|
309
|
+
| Testing only Google | Test across 4-5 AI engines minimum | Each engine uses a different index and ranking logic. Google-only audits miss 60%+ of AI search. |
|
|
310
|
+
| One-time audit with no follow-up | Archive each audit, compare deltas weekly | AI visibility is volatile — a single snapshot proves nothing. Trends matter more than points. |
|
|
311
|
+
| Only checking if brand appears | Also record what sources AI pulls from | Knowing AI cites YouTube and Reddit for your category is more actionable than knowing you're absent. |
|
|
312
|
+
| Skipping the screenshot step | Screenshot every response | Screenshots are the only proof of what AI said. Memory of "I think it mentioned us" is useless. |
|
|
313
|
+
| Testing brand name queries ("NomadixGear review") | Test category and problem queries first | Anyone can rank for their brand name. Category queries are where buyers discover you. |
|
|
314
|
+
| Auditing with fewer than 10 prompts | Minimum 10, ideal 15-20 | Too few prompts gives noisy data. One good/bad result swings the whole score. |
|
|
315
|
+
|
|
316
|
+
## YAGNI Principles
|
|
317
|
+
|
|
318
|
+
- Don't try to automate the AI queries with API calls — browser testing captures the real user experience
|
|
319
|
+
- Don't build a dashboard — a markdown file with screenshots is sufficient for weekly tracking
|
|
320
|
+
- Don't score individual prompts on a 1-100 scale — mentioned/cited/absent is granular enough for action
|
|
321
|
+
- Don't test every possible query — 10-15 buyer-focused prompts cover 80% of visibility
|
|
322
|
+
- Don't try to reverse-engineer AI ranking algorithms — focus on what you can control (content, structure, distribution)
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analytics-tracking
|
|
3
|
+
description: Set up and audit analytics tracking (GA4, GTM, events, conversion tracking).
|
|
4
|
+
metadata:
|
|
5
|
+
version: 1.1.0
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Analytics Tracking
|
|
9
|
+
|
|
10
|
+
You are an expert in analytics implementation and measurement. Your goal is to help set up tracking that provides actionable insights for marketing and product decisions.
|
|
11
|
+
|
|
12
|
+
## Initial Assessment
|
|
13
|
+
|
|
14
|
+
**Check for brand-specific assets in businesses/{business}/brand/ first:**
|
|
15
|
+
If `businesses/{business}/brand/` exists (or `businesses/{business}/brand/` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
|
|
16
|
+
|
|
17
|
+
Before implementing tracking, understand:
|
|
18
|
+
|
|
19
|
+
1. **Business Context** - What decisions will this data inform? What are key conversions?
|
|
20
|
+
2. **Current State** - What tracking exists? What tools are in use?
|
|
21
|
+
3. **Technical Context** - What's the tech stack? Any privacy/compliance requirements?
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Core Principles
|
|
26
|
+
|
|
27
|
+
### 1. Track for Decisions, Not Data
|
|
28
|
+
- Every event should inform a decision
|
|
29
|
+
- Avoid vanity metrics
|
|
30
|
+
- Quality > quantity of events
|
|
31
|
+
|
|
32
|
+
### 2. Start with the Questions
|
|
33
|
+
- What do you need to know?
|
|
34
|
+
- What actions will you take based on this data?
|
|
35
|
+
- Work backwards to what you need to track
|
|
36
|
+
|
|
37
|
+
### 3. Name Things Consistently
|
|
38
|
+
- Naming conventions matter
|
|
39
|
+
- Establish patterns before implementing
|
|
40
|
+
- Document everything
|
|
41
|
+
|
|
42
|
+
### 4. Maintain Data Quality
|
|
43
|
+
- Validate implementation
|
|
44
|
+
- Monitor for issues
|
|
45
|
+
- Clean data > more data
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Tracking Plan Framework
|
|
50
|
+
|
|
51
|
+
### Structure
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Event Name | Category | Properties | Trigger | Notes
|
|
55
|
+
---------- | -------- | ---------- | ------- | -----
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Event Types
|
|
59
|
+
|
|
60
|
+
| Type | Examples |
|
|
61
|
+
|------|----------|
|
|
62
|
+
| Pageviews | Automatic, enhanced with metadata |
|
|
63
|
+
| User Actions | Button clicks, form submissions, feature usage |
|
|
64
|
+
| System Events | Signup completed, purchase, subscription changed |
|
|
65
|
+
| Custom Conversions | Goal completions, funnel stages |
|
|
66
|
+
|
|
67
|
+
**For comprehensive event lists**: See [references/event-library.md](references/event-library.md)
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Event Naming Conventions
|
|
72
|
+
|
|
73
|
+
### Recommended Format: Object-Action
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
signup_completed
|
|
77
|
+
button_clicked
|
|
78
|
+
form_submitted
|
|
79
|
+
article_read
|
|
80
|
+
checkout_payment_completed
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Best Practices
|
|
84
|
+
- Lowercase with underscores
|
|
85
|
+
- Be specific: `cta_hero_clicked` vs. `button_clicked`
|
|
86
|
+
- Include context in properties, not event name
|
|
87
|
+
- Avoid spaces and special characters
|
|
88
|
+
- Document decisions
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Essential Events
|
|
93
|
+
|
|
94
|
+
### Marketing Site
|
|
95
|
+
|
|
96
|
+
| Event | Properties |
|
|
97
|
+
|-------|------------|
|
|
98
|
+
| cta_clicked | button_text, location |
|
|
99
|
+
| form_submitted | form_type |
|
|
100
|
+
| signup_completed | method, source |
|
|
101
|
+
| demo_requested | - |
|
|
102
|
+
|
|
103
|
+
### Product/App
|
|
104
|
+
|
|
105
|
+
| Event | Properties |
|
|
106
|
+
|-------|------------|
|
|
107
|
+
| onboarding_step_completed | step_number, step_name |
|
|
108
|
+
| feature_used | feature_name |
|
|
109
|
+
| purchase_completed | plan, value |
|
|
110
|
+
| subscription_cancelled | reason |
|
|
111
|
+
|
|
112
|
+
**For full event library by business type**: See [references/event-library.md](references/event-library.md)
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Event Properties
|
|
117
|
+
|
|
118
|
+
### Standard Properties
|
|
119
|
+
|
|
120
|
+
| Category | Properties |
|
|
121
|
+
|----------|------------|
|
|
122
|
+
| Page | page_title, page_location, page_referrer |
|
|
123
|
+
| User | user_id, user_type, account_id, plan_type |
|
|
124
|
+
| Campaign | source, medium, campaign, content, term |
|
|
125
|
+
| Product | product_id, product_name, category, price |
|
|
126
|
+
|
|
127
|
+
### Best Practices
|
|
128
|
+
- Use consistent property names
|
|
129
|
+
- Include relevant context
|
|
130
|
+
- Don't duplicate automatic properties
|
|
131
|
+
- Avoid PII in properties
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## GA4 Implementation
|
|
136
|
+
|
|
137
|
+
### Quick Setup
|
|
138
|
+
|
|
139
|
+
1. Create GA4 property and data stream
|
|
140
|
+
2. Install gtag.js or GTM
|
|
141
|
+
3. Enable enhanced measurement
|
|
142
|
+
4. Configure custom events
|
|
143
|
+
5. Mark conversions in Admin
|
|
144
|
+
|
|
145
|
+
### Custom Event Example
|
|
146
|
+
|
|
147
|
+
```javascript
|
|
148
|
+
gtag('event', 'signup_completed', {
|
|
149
|
+
'method': 'email',
|
|
150
|
+
'plan': 'free'
|
|
151
|
+
});
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**For detailed GA4 implementation**: See [references/ga4-implementation.md](references/ga4-implementation.md)
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Google Tag Manager
|
|
159
|
+
|
|
160
|
+
### Container Structure
|
|
161
|
+
|
|
162
|
+
| Component | Purpose |
|
|
163
|
+
|-----------|---------|
|
|
164
|
+
| Tags | Code that executes (GA4, pixels) |
|
|
165
|
+
| Triggers | When tags fire (page view, click) |
|
|
166
|
+
| Variables | Dynamic values (click text, data layer) |
|
|
167
|
+
|
|
168
|
+
### Data Layer Pattern
|
|
169
|
+
|
|
170
|
+
```javascript
|
|
171
|
+
dataLayer.push({
|
|
172
|
+
'event': 'form_submitted',
|
|
173
|
+
'form_name': 'contact',
|
|
174
|
+
'form_location': 'footer'
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**For detailed GTM implementation**: See [references/gtm-implementation.md](references/gtm-implementation.md)
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## UTM Parameter Strategy
|
|
183
|
+
|
|
184
|
+
### Standard Parameters
|
|
185
|
+
|
|
186
|
+
| Parameter | Purpose | Example |
|
|
187
|
+
|-----------|---------|---------|
|
|
188
|
+
| utm_source | Traffic source | google, newsletter |
|
|
189
|
+
| utm_medium | Marketing medium | cpc, email, social |
|
|
190
|
+
| utm_campaign | Campaign name | spring_sale |
|
|
191
|
+
| utm_content | Differentiate versions | hero_cta |
|
|
192
|
+
| utm_term | Paid search keywords | running+shoes |
|
|
193
|
+
|
|
194
|
+
### Naming Conventions
|
|
195
|
+
- Lowercase everything
|
|
196
|
+
- Use underscores or hyphens consistently
|
|
197
|
+
- Be specific but concise: `blog_footer_cta`, not `cta1`
|
|
198
|
+
- Document all UTMs in a spreadsheet
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Debugging and Validation
|
|
203
|
+
|
|
204
|
+
### Testing Tools
|
|
205
|
+
|
|
206
|
+
| Tool | Use For |
|
|
207
|
+
|------|---------|
|
|
208
|
+
| GA4 DebugView | Real-time event monitoring |
|
|
209
|
+
| GTM Preview Mode | Test triggers before publish |
|
|
210
|
+
| Browser Extensions | Tag Assistant, dataLayer Inspector |
|
|
211
|
+
|
|
212
|
+
### Validation Checklist
|
|
213
|
+
|
|
214
|
+
- [ ] Events firing on correct triggers
|
|
215
|
+
- [ ] Property values populating correctly
|
|
216
|
+
- [ ] No duplicate events
|
|
217
|
+
- [ ] Works across browsers and mobile
|
|
218
|
+
- [ ] Conversions recorded correctly
|
|
219
|
+
- [ ] No PII leaking
|
|
220
|
+
|
|
221
|
+
### Common Issues
|
|
222
|
+
|
|
223
|
+
| Issue | Check |
|
|
224
|
+
|-------|-------|
|
|
225
|
+
| Events not firing | Trigger config, GTM loaded |
|
|
226
|
+
| Wrong values | Variable path, data layer structure |
|
|
227
|
+
| Duplicate events | Multiple containers, trigger firing twice |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Privacy and Compliance
|
|
232
|
+
|
|
233
|
+
### Considerations
|
|
234
|
+
- Cookie consent required in EU/UK/CA
|
|
235
|
+
- No PII in analytics properties
|
|
236
|
+
- Data retention settings
|
|
237
|
+
- User deletion capabilities
|
|
238
|
+
|
|
239
|
+
### Implementation
|
|
240
|
+
- Use consent mode (wait for consent)
|
|
241
|
+
- IP anonymization
|
|
242
|
+
- Only collect what you need
|
|
243
|
+
- Integrate with consent management platform
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Output Format
|
|
248
|
+
|
|
249
|
+
### Tracking Plan Document
|
|
250
|
+
|
|
251
|
+
```markdown
|
|
252
|
+
# [Site/Product] Tracking Plan
|
|
253
|
+
|
|
254
|
+
## Overview
|
|
255
|
+
- Tools: GA4, GTM
|
|
256
|
+
- Last updated: [Date]
|
|
257
|
+
|
|
258
|
+
## Events
|
|
259
|
+
|
|
260
|
+
| Event Name | Description | Properties | Trigger |
|
|
261
|
+
|------------|-------------|------------|---------|
|
|
262
|
+
| signup_completed | User completes signup | method, plan | Success page |
|
|
263
|
+
|
|
264
|
+
## Custom Dimensions
|
|
265
|
+
|
|
266
|
+
| Name | Scope | Parameter |
|
|
267
|
+
|------|-------|-----------|
|
|
268
|
+
| user_type | User | user_type |
|
|
269
|
+
|
|
270
|
+
## Conversions
|
|
271
|
+
|
|
272
|
+
| Conversion | Event | Counting |
|
|
273
|
+
|------------|-------|----------|
|
|
274
|
+
| Signup | signup_completed | Once per session |
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Task-Specific Questions
|
|
280
|
+
|
|
281
|
+
1. What tools are you using (GA4, Mixpanel, etc.)?
|
|
282
|
+
2. What key actions do you want to track?
|
|
283
|
+
3. What decisions will this data inform?
|
|
284
|
+
4. Who implements - dev team or marketing?
|
|
285
|
+
5. Are there privacy/consent requirements?
|
|
286
|
+
6. What's already tracked?
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Tool Integrations
|
|
291
|
+
|
|
292
|
+
For implementation, see the [tools registry](../../tools/REGISTRY.md). Key analytics tools:
|
|
293
|
+
|
|
294
|
+
| Tool | Best For | MCP | Guide |
|
|
295
|
+
|------|----------|:---:|-------|
|
|
296
|
+
| **GA4** | Web analytics, Google ecosystem | ✓ | [ga4.md](../../tools/integrations/ga4.md) |
|
|
297
|
+
| **Mixpanel** | Product analytics, event tracking | - | [mixpanel.md](../../tools/integrations/mixpanel.md) |
|
|
298
|
+
| **Amplitude** | Product analytics, cohort analysis | - | [amplitude.md](../../tools/integrations/amplitude.md) |
|
|
299
|
+
| **PostHog** | Open-source analytics, session replay | - | [posthog.md](../../tools/integrations/posthog.md) |
|
|
300
|
+
| **Segment** | Customer data platform, routing | - | [segment.md](../../tools/integrations/segment.md) |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Related Skills
|
|
305
|
+
|
|
306
|
+
- **ab-test-setup**: For experiment tracking
|
|
307
|
+
- **seo-audit**: For organic traffic analysis
|
|
308
|
+
- **page-cro**: For conversion optimization (uses this data)
|
|
309
|
+
- **revops**: For pipeline metrics, CRM tracking, and revenue attribution
|