@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,405 @@
|
|
|
1
|
+
# AI Slop Detection Patterns
|
|
2
|
+
|
|
3
|
+
Comprehensive list of artificial-sounding patterns that indicate content generated by AI without proper human refinement. These patterns make content feel generic, corporate, and inauthentic.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Category 1: Corporate Buzzwords
|
|
8
|
+
|
|
9
|
+
### High-Severity (Always Flag)
|
|
10
|
+
- **"leverage"** - Use "use" instead
|
|
11
|
+
- **"synergy"** - Be specific about what works together
|
|
12
|
+
- **"ecosystem"** - Say "system", "network", or be specific
|
|
13
|
+
- **"paradigm shift"** - Describe the actual change
|
|
14
|
+
- **"game-changer"** - Explain why it matters specifically
|
|
15
|
+
- **"circle back"** - Say "follow up" or "discuss later"
|
|
16
|
+
- **"touch base"** - Say "connect", "talk", or "check in"
|
|
17
|
+
- **"deep dive"** - Say "detailed look" or "analyze"
|
|
18
|
+
- **"drill down"** - Say "examine" or "look closely at"
|
|
19
|
+
- **"unpack"** - Say "explain" or "break down"
|
|
20
|
+
- **"robust"** - Be specific about capabilities
|
|
21
|
+
- **"scalable"** - Explain how it scales
|
|
22
|
+
- **"best practices"** - Show the actual practices
|
|
23
|
+
- **"thought leadership"** - Demonstrate expertise instead
|
|
24
|
+
- **"end-to-end"** - Describe the complete process
|
|
25
|
+
- **"holistic"** - Say "complete" or "comprehensive"
|
|
26
|
+
- **"streamline"** - Explain how it's simplified
|
|
27
|
+
- **"optimize"** - Show specific improvements
|
|
28
|
+
- **"bandwidth"** - Say "time" or "capacity"
|
|
29
|
+
- **"ping"** - Say "message" or "contact"
|
|
30
|
+
|
|
31
|
+
### Medium-Severity (Warn)
|
|
32
|
+
- **"solution"** (overused) - Be specific about what it solves
|
|
33
|
+
- **"platform"** (generic) - Describe what it actually is
|
|
34
|
+
- **"framework"** (vague) - Show the structure
|
|
35
|
+
- **"approach"** (overused) - Describe the method
|
|
36
|
+
- **"strategy"** (generic) - Detail the plan
|
|
37
|
+
- **"innovative"** - Show what's new
|
|
38
|
+
- **"cutting-edge"** - Prove it's advanced
|
|
39
|
+
- **"state-of-the-art"** - Demonstrate superiority
|
|
40
|
+
- **"next-generation"** - Explain the improvement
|
|
41
|
+
- **"world-class"** - Provide evidence
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Category 2: Excessive Politeness
|
|
46
|
+
|
|
47
|
+
### Email/DM Patterns
|
|
48
|
+
- **"I'd love to hear your thoughts"** → "What do you think?"
|
|
49
|
+
- **"I'd be happy to..."** → "I can..." or "Let me..."
|
|
50
|
+
- **"Please let me know"** → "Let me know" or "Tell me"
|
|
51
|
+
- **"If you could..."** → "Can you..."
|
|
52
|
+
- **"Would you mind..."** → "Could you..."
|
|
53
|
+
- **"I hope this helps"** → Remove (implicit)
|
|
54
|
+
- **"Feel free to..."** → "You can..." or direct instruction
|
|
55
|
+
- **"Don't hesitate to..."** → "Just..." or direct instruction
|
|
56
|
+
|
|
57
|
+
### Social Media Patterns
|
|
58
|
+
- **"I'd love to hear from you in the comments"** → "Drop your experience below"
|
|
59
|
+
- **"Please share your thoughts"** → "What's your take?"
|
|
60
|
+
- **"I'd be curious to know"** → "Which one works for you?"
|
|
61
|
+
- **"Let me know what you think"** → "Think I'm wrong? Prove it."
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Category 3: Formal Transitions
|
|
66
|
+
|
|
67
|
+
### Addition Transitions
|
|
68
|
+
- **"Furthermore"** → "Also", "Plus", or new sentence
|
|
69
|
+
- **"Additionally"** → "And", "Also", or remove
|
|
70
|
+
- **"Moreover"** → Remove or start new paragraph
|
|
71
|
+
- **"In addition"** → "Also" or restructure
|
|
72
|
+
- **"What's more"** → Remove or use "And"
|
|
73
|
+
|
|
74
|
+
### Conclusion Transitions
|
|
75
|
+
- **"In conclusion"** → Remove (structure shows conclusion)
|
|
76
|
+
- **"To summarize"** → Remove or "Here's what matters:"
|
|
77
|
+
- **"In essence"** → Remove or "Simply:"
|
|
78
|
+
- **"Ultimately"** → "The result:" or remove
|
|
79
|
+
- **"At the end of the day"** → Remove or specific outcome
|
|
80
|
+
|
|
81
|
+
### Contrast Transitions
|
|
82
|
+
- **"However"** → "But", or new sentence with contrast
|
|
83
|
+
- **"Nevertheless"** → "But still" or "Even so"
|
|
84
|
+
- **"Nonetheless"** → "Still" or remove
|
|
85
|
+
- **"On the contrary"** → "Actually" or remove
|
|
86
|
+
- **"Conversely"** → "Instead" or restructure
|
|
87
|
+
|
|
88
|
+
### Example Transitions
|
|
89
|
+
- **"For instance"** → "Like:" or just show example
|
|
90
|
+
- **"For example"** → Remove and show example
|
|
91
|
+
- **"Such as"** → "like" or list examples
|
|
92
|
+
- **"Namely"** → ":" or restructure
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Category 4: Generic Enthusiasm
|
|
97
|
+
|
|
98
|
+
### Excitement Markers
|
|
99
|
+
- **"Amazing!"** → Describe why it's good specifically
|
|
100
|
+
- **"Incredible!"** → Show the impressive part
|
|
101
|
+
- **"Awesome!"** → Be specific about value
|
|
102
|
+
- **"Fantastic!"** → Detail what's good
|
|
103
|
+
- **"Wonderful!"** → Explain the benefit
|
|
104
|
+
- **"Excellent!"** → Show excellence
|
|
105
|
+
|
|
106
|
+
### Announcement Patterns
|
|
107
|
+
- **"Excited to share!"** → Remove, just share
|
|
108
|
+
- **"Thrilled to announce..."** → Remove, just announce
|
|
109
|
+
- **"Happy to present..."** → Remove, just present
|
|
110
|
+
- **"Delighted to introduce..."** → Remove, just introduce
|
|
111
|
+
- **"Proud to showcase..."** → Remove, just showcase
|
|
112
|
+
- **"Can't wait to..."** → Remove or "Coming:" with date
|
|
113
|
+
- **"Stay tuned!"** → Specific date/time or remove
|
|
114
|
+
- **"Coming soon!"** → Give actual date or remove
|
|
115
|
+
- **"More to come!"** → Be specific about what and when
|
|
116
|
+
|
|
117
|
+
### Gratitude Overuse
|
|
118
|
+
- **"Thank you so much for..."** (in content) → One "thanks" is enough
|
|
119
|
+
- **"I really appreciate..."** (in content) → Show appreciation through value
|
|
120
|
+
- **"Huge thanks to..."** (every post) → Occasional only
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Category 5: Hedge Language
|
|
125
|
+
|
|
126
|
+
### Uncertainty Markers
|
|
127
|
+
- **"I think"** → State directly or remove
|
|
128
|
+
- **"Perhaps"** → Be definitive or explain uncertainty
|
|
129
|
+
- **"Maybe"** → Choose or explain options
|
|
130
|
+
- **"Possibly"** → Commit or explain variables
|
|
131
|
+
- **"Probably"** → Be specific about likelihood
|
|
132
|
+
- **"Potentially"** → Show potential or remove
|
|
133
|
+
- **"It seems"** → Verify or state clearly
|
|
134
|
+
- **"Appears to be"** → Confirm or specify
|
|
135
|
+
- **"Could be"** → Investigate or state
|
|
136
|
+
- **"Might"** → Be more certain or explain conditions
|
|
137
|
+
- **"May"** → Be specific about conditions
|
|
138
|
+
- **"Somewhat"** → Quantify or remove
|
|
139
|
+
- **"Rather"** → Be definitive
|
|
140
|
+
- **"Fairly"** → Quantify specifically
|
|
141
|
+
- **"Quite"** → Remove or be specific
|
|
142
|
+
|
|
143
|
+
### Qualification Softeners
|
|
144
|
+
- **"In my opinion"** → Implied, remove
|
|
145
|
+
- **"I believe"** → State directly
|
|
146
|
+
- **"It's my understanding that"** → "It is" or verify
|
|
147
|
+
- **"From my perspective"** → Implied, remove
|
|
148
|
+
- **"As far as I know"** → Verify or state clearly
|
|
149
|
+
- **"To be honest"** → Implies dishonesty otherwise, remove
|
|
150
|
+
- **"To be frank"** → Just be frank
|
|
151
|
+
- **"Generally speaking"** → Be specific or remove
|
|
152
|
+
- **"For the most part"** → Quantify or remove
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Category 6: Passive Voice Overuse
|
|
157
|
+
|
|
158
|
+
### Passive Construction Patterns
|
|
159
|
+
- **"It can be seen that..."** → "You'll see..."
|
|
160
|
+
- **"It should be noted that..."** → Remove, just note it
|
|
161
|
+
- **"It is believed that..."** → "We believe" or "X believes"
|
|
162
|
+
- **"It has been found that..."** → "Studies found" or "X found"
|
|
163
|
+
- **"It is recommended that..."** → "I recommend" or "Do X"
|
|
164
|
+
- **"It is important to..."** → "You should..." or "Do..."
|
|
165
|
+
- **"It is suggested that..."** → "Try..." or "Do..."
|
|
166
|
+
- **"It is worth noting that..."** → Remove and note it
|
|
167
|
+
|
|
168
|
+
### Agency Removal
|
|
169
|
+
- **"Mistakes were made"** → "I/We made mistakes"
|
|
170
|
+
- **"The decision was made"** → "X decided"
|
|
171
|
+
- **"Results were achieved"** → "We achieved results"
|
|
172
|
+
- **"Progress has been made"** → "We've made progress"
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Category 7: Vague Quantifiers
|
|
177
|
+
|
|
178
|
+
### Imprecise Numbers
|
|
179
|
+
- **"Many"** → Give exact number or range
|
|
180
|
+
- **"Several"** → Specify how many
|
|
181
|
+
- **"Various"** → List them
|
|
182
|
+
- **"Numerous"** → Count them
|
|
183
|
+
- **"Countless"** → Estimate or acknowledge limitation
|
|
184
|
+
- **"Significant"** → Quantify the significance
|
|
185
|
+
- **"Substantial"** → Show the size
|
|
186
|
+
- **"Considerable"** → Measure it
|
|
187
|
+
- **"A lot of"** → Count or estimate
|
|
188
|
+
|
|
189
|
+
### Vague Time References
|
|
190
|
+
- **"Soon"** → Give date/timeframe
|
|
191
|
+
- **"Later"** → When specifically?
|
|
192
|
+
- **"Recently"** → When exactly?
|
|
193
|
+
- **"In the near future"** → Specify timeline
|
|
194
|
+
- **"Shortly"** → Give timeframe
|
|
195
|
+
- **"Eventually"** → When?
|
|
196
|
+
- **"Ongoing"** → Since when? Until when?
|
|
197
|
+
|
|
198
|
+
### Vague Quality Descriptors
|
|
199
|
+
- **"Good"** → Define criteria
|
|
200
|
+
- **"Better"** → Better how? By what measure?
|
|
201
|
+
- **"Improved"** → Improved in what way? By how much?
|
|
202
|
+
- **"Enhanced"** → What enhancement?
|
|
203
|
+
- **"Optimized"** → Optimized how?
|
|
204
|
+
- **"Efficient"** → Efficient compared to what?
|
|
205
|
+
- **"Effective"** → Define effectiveness metric
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Category 8: Cliché Phrases
|
|
210
|
+
|
|
211
|
+
### Business Clichés
|
|
212
|
+
- **"Think outside the box"** → Describe creative approach
|
|
213
|
+
- **"Move the needle"** → Show specific impact
|
|
214
|
+
- **"Low-hanging fruit"** → "Easy wins" or be specific
|
|
215
|
+
- **"Win-win situation"** → Explain benefits to each party
|
|
216
|
+
- **"At the end of the day"** → Remove or "Ultimately"
|
|
217
|
+
- **"Take it to the next level"** → Describe improvement
|
|
218
|
+
- **"Hit the ground running"** → "Start immediately with X"
|
|
219
|
+
- **"Get the ball rolling"** → "Start by..."
|
|
220
|
+
- **"Keep your eye on the ball"** → "Focus on X"
|
|
221
|
+
- **"Step up to the plate"** → "Take responsibility for X"
|
|
222
|
+
|
|
223
|
+
### Achievement Clichés
|
|
224
|
+
- **"Going above and beyond"** → Show what extra was done
|
|
225
|
+
- **"Pushing the envelope"** → Explain innovation
|
|
226
|
+
- **"Breaking new ground"** → Detail the breakthrough
|
|
227
|
+
- **"Paving the way"** → Show leadership
|
|
228
|
+
- **"Raising the bar"** → Quantify improvement
|
|
229
|
+
|
|
230
|
+
### Tech/AI Clichés (2024-2025)
|
|
231
|
+
- **"Unlock the power of..."** → "Use X to do Y"
|
|
232
|
+
- **"Harness the potential of..."** → "X enables you to..."
|
|
233
|
+
- **"Transform your..."** → Show specific changes
|
|
234
|
+
- **"Revolutionize..."** → Explain actual change
|
|
235
|
+
- **"Supercharge your..."** → Quantify improvement
|
|
236
|
+
- **"Take control of..."** → "Manage X by..."
|
|
237
|
+
- **"Master the art of..."** → "Get good at X by..."
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Category 9: Filler Words & Phrases
|
|
242
|
+
|
|
243
|
+
### Content Padding
|
|
244
|
+
- **"It goes without saying"** → Then don't say it
|
|
245
|
+
- **"Needless to say"** → Don't say it
|
|
246
|
+
- **"It is worth mentioning"** → Just mention it
|
|
247
|
+
- **"As you may know"** → Assume they don't, explain
|
|
248
|
+
- **"As previously mentioned"** → Reference or remove
|
|
249
|
+
- **"In other words"** → Pick better words first time
|
|
250
|
+
- **"That being said"** → Restructure without
|
|
251
|
+
- **"Having said that"** → Remove and make point
|
|
252
|
+
- **"All things considered"** → Consider them, don't announce it
|
|
253
|
+
- **"When all is said and done"** → Skip to conclusion
|
|
254
|
+
|
|
255
|
+
### Redundant Pairs
|
|
256
|
+
- **"Each and every"** → "Each" or "every"
|
|
257
|
+
- **"First and foremost"** → "First" or "most important"
|
|
258
|
+
- **"Any and all"** → "All"
|
|
259
|
+
- **"Hopes and dreams"** → "Goals"
|
|
260
|
+
- **"Tips and tricks"** → "Tips" or "tactics"
|
|
261
|
+
- **"Ways and means"** → "Methods"
|
|
262
|
+
- **"Pick and choose"** → "Choose"
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Category 10: Question Patterns
|
|
267
|
+
|
|
268
|
+
### Rhetorical Questions (Overused)
|
|
269
|
+
- **"So what does this mean?"** → Just explain it
|
|
270
|
+
- **"What's the takeaway?"** → Just give takeaway
|
|
271
|
+
- **"Why does this matter?"** → Just show why
|
|
272
|
+
- **"How can you apply this?"** → Just show application
|
|
273
|
+
- **"What can we learn from this?"** → Just share lesson
|
|
274
|
+
|
|
275
|
+
### Good Question Patterns (Keep These)
|
|
276
|
+
- Direct engagement: "Which one worked for you?"
|
|
277
|
+
- Specific debate: "Think AI will replace X? Why?"
|
|
278
|
+
- Experience sharing: "Ever tried this?"
|
|
279
|
+
- Tactical choice: "Option A or B for your use case?"
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Category 11: Listicle Intro Phrases
|
|
284
|
+
|
|
285
|
+
### Generic List Intros (Overused)
|
|
286
|
+
- **"Here are X ways to..."** → Just list them
|
|
287
|
+
- **"In this post, I'll share..."** → Just share it
|
|
288
|
+
- **"Today, we're going to explore..."** → Just explore
|
|
289
|
+
- **"Let's dive into..."** → Just dive in
|
|
290
|
+
- **"Without further ado..."** → Remove completely
|
|
291
|
+
- **"So let's get started..."** → Already started
|
|
292
|
+
|
|
293
|
+
### Better Alternatives
|
|
294
|
+
- Hook with outcome: "5 mistakes costing you $50K+"
|
|
295
|
+
- Lead with problem: "Your automation fails because..."
|
|
296
|
+
- Start with claim: "Product-ified services beat agencies. Here's why:"
|
|
297
|
+
- Open with question: "Why do 80% of AI agencies fail?"
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Category 12: Call-to-Action Patterns
|
|
302
|
+
|
|
303
|
+
### Weak CTAs (Generic)
|
|
304
|
+
- **"Let me know your thoughts in the comments"** → Specific question
|
|
305
|
+
- **"Share this if you found it helpful"** → Reason to share
|
|
306
|
+
- **"Follow for more content like this"** → Value promise
|
|
307
|
+
- **"Hit the like button"** → Remove (begging)
|
|
308
|
+
- **"Subscribe to my newsletter"** → What they'll get
|
|
309
|
+
- **"Check out the link in bio"** → What's at link?
|
|
310
|
+
|
|
311
|
+
### Strong CTAs (Specific)
|
|
312
|
+
- **"Drop your stack below"** - Action + topic
|
|
313
|
+
- **"Which model fits your niche? Reply."** - Specific question
|
|
314
|
+
- **"RT if FIXED > CUSTOM resonates"** - Tie to content
|
|
315
|
+
- **"Grab the playbook → [link]"** - Clear offer
|
|
316
|
+
- **"Try this today and tell me what breaks"** - Action + engagement
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Detection Strategy
|
|
321
|
+
|
|
322
|
+
### Automated Scanning
|
|
323
|
+
1. **Word frequency analysis** - Flag words appearing >2x in same piece
|
|
324
|
+
2. **Phrase matching** - Check against pattern library
|
|
325
|
+
3. **Passive voice ratio** - Flag if >20% of sentences
|
|
326
|
+
4. **Question frequency** - Flag if >3 rhetorical questions
|
|
327
|
+
5. **Transition density** - Flag excessive formal transitions
|
|
328
|
+
|
|
329
|
+
### Manual Review
|
|
330
|
+
1. **Read aloud test** - Does it sound like a human talking?
|
|
331
|
+
2. **Specificity check** - Can vague terms be replaced with specifics?
|
|
332
|
+
3. **Voice match** - Does it match brand voice profile?
|
|
333
|
+
4. **Engagement test** - Would you stop scrolling for this?
|
|
334
|
+
|
|
335
|
+
### Severity Scoring
|
|
336
|
+
- **High (3 points)**: Corporate buzzwords, generic enthusiasm
|
|
337
|
+
- **Medium (2 points)**: Excessive politeness, formal transitions
|
|
338
|
+
- **Low (1 point)**: Minor hedge language, filler words
|
|
339
|
+
|
|
340
|
+
**Total Score Interpretation**:
|
|
341
|
+
- 0-3 points: Clean, authentic voice
|
|
342
|
+
- 4-7 points: Needs polish
|
|
343
|
+
- 8-12 points: Significant AI slop, major revision
|
|
344
|
+
- 13+ points: Start over, too generic
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Brand-Specific Exceptions
|
|
349
|
+
|
|
350
|
+
### withjai-weekly (Farm-to-Founder Voice)
|
|
351
|
+
**Allowed "AI slop" in context**:
|
|
352
|
+
- "Amazing" - Only when describing genuinely surprising results
|
|
353
|
+
- "Excited" - Only in product announcements
|
|
354
|
+
- "Game-changer" - Only with proof (revenue impact, time savings)
|
|
355
|
+
|
|
356
|
+
**Encouraged patterns**:
|
|
357
|
+
- Conversational asides: "Sounds wild—until..."
|
|
358
|
+
- Direct commands: "Drop yours below"
|
|
359
|
+
- Bold claims: "FIXED > CUSTOM"
|
|
360
|
+
- No em-dashes (strict rule)
|
|
361
|
+
|
|
362
|
+
### enchantents (Luxury Hospitality Voice)
|
|
363
|
+
**Allowed formal language**:
|
|
364
|
+
- "Exceptional" - Appropriate for luxury positioning
|
|
365
|
+
- "Transform" - Guest experience transformation is key messaging
|
|
366
|
+
- "Elevated" - Premium positioning word
|
|
367
|
+
|
|
368
|
+
**Avoid casualizing**:
|
|
369
|
+
- Keep professional tone (not too casual)
|
|
370
|
+
- "Amazing" is okay for guest experiences
|
|
371
|
+
- More formal than withjai-weekly (intentional)
|
|
372
|
+
|
|
373
|
+
### xelite-one (Premium Coaching Voice)
|
|
374
|
+
**Allowed authority language**:
|
|
375
|
+
- "Transform" - Core messaging for coaching
|
|
376
|
+
- "Leverage" - In context of assets/advantages
|
|
377
|
+
- "Framework" - When describing methodology
|
|
378
|
+
|
|
379
|
+
**Avoid softening**:
|
|
380
|
+
- No hedge language (undermines authority)
|
|
381
|
+
- Bold claims supported by proof
|
|
382
|
+
- Direct, confident statements
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Replacement Suggestions by Context
|
|
387
|
+
|
|
388
|
+
### Technical Content
|
|
389
|
+
- ❌ "Leverage the API" → ✅ "Use the API"
|
|
390
|
+
- ❌ "Optimize your workflow" → ✅ "Cut your workflow from 40 to 4 hours"
|
|
391
|
+
- ❌ "Robust solution" → ✅ "Handles 10K requests/second"
|
|
392
|
+
|
|
393
|
+
### Business Content
|
|
394
|
+
- ❌ "Game-changing approach" → ✅ "Increased revenue 4x in 6 months"
|
|
395
|
+
- ❌ "Streamline operations" → ✅ "Reduced costs by 30%"
|
|
396
|
+
- ❌ "Paradigm shift" → ✅ "From custom → fixed deliverables"
|
|
397
|
+
|
|
398
|
+
### Social Content
|
|
399
|
+
- ❌ "Amazing insights!" → ✅ "These 5 models generate $40K+ monthly"
|
|
400
|
+
- ❌ "Excited to share" → ✅ [Just share it]
|
|
401
|
+
- ❌ "Let me know your thoughts" → ✅ "Which one fits your niche?"
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
This reference helps identify and eliminate AI-generated patterns that make content feel inauthentic, generic, or overly polished. Use it during voice validation to maintain human, engaging content across all platforms.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
const contentPath = args[0];
|
|
7
|
+
const brand = args[1] || 'ai.withjai';
|
|
8
|
+
const checks = args[2] || 'ai-slop,voice-patterns,icp-alignment';
|
|
9
|
+
|
|
10
|
+
if (!contentPath || !fs.existsSync(contentPath)) {
|
|
11
|
+
console.error('Usage: node scripts/validation/gemini-voice-validator.js <contentPath> <brand> [checks]');
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const content = fs.readFileSync(contentPath, 'utf-8');
|
|
16
|
+
const checkList = checks.split(',');
|
|
17
|
+
|
|
18
|
+
const issues = [];
|
|
19
|
+
|
|
20
|
+
if (checkList.includes('ai-slop')) {
|
|
21
|
+
const slopPatterns = [
|
|
22
|
+
{ pattern: /\bI'd love to\b/i, severity: 'warning', label: 'excessive-politeness' },
|
|
23
|
+
{ pattern: /\bIn today's digital\s+(age|world|landscape)\b/i, severity: 'critical', label: 'cliche-opening' },
|
|
24
|
+
{ pattern: /\bit is important to note\b/i, severity: 'warning', label: 'hedging' },
|
|
25
|
+
{ pattern: /\bthis is why\b/i, severity: 'info', label: 'weak-transition' },
|
|
26
|
+
{ pattern: /\bwhen it comes to\b/i, severity: 'warning', label: 'wordy-intro' },
|
|
27
|
+
{ pattern: /\bin the world of\b/i, severity: 'critical', label: 'cliche-phrase' },
|
|
28
|
+
{ pattern: /\bthe key to\b/i, severity: 'info', label: 'weak-opener' },
|
|
29
|
+
{ pattern: /\bultimately\b/i, severity: 'info', label: 'filler-word' },
|
|
30
|
+
{ pattern: /\bessentially\b/i, severity: 'info', label: 'filler-word' },
|
|
31
|
+
{ pattern: /\bbasically\b/i, severity: 'info', label: 'filler-word' },
|
|
32
|
+
{ pattern: /\bunlock\s+(your\s+)?(potential|success|growth)\b/i, severity: 'critical', label: 'buzzword' },
|
|
33
|
+
{ pattern: /\bgame[-\s]changer\b/i, severity: 'critical', label: 'overused-term' },
|
|
34
|
+
{ pattern: /\brevolutioniz(?:e|ing)\b/i, severity: 'critical', label: 'hyperbole' },
|
|
35
|
+
{ pattern: /\btransformative\b/i, severity: 'warning', label: 'vague-claim' },
|
|
36
|
+
{ pattern: /\bin this article, we will\b/i, severity: 'warning', label: 'robust-intro' },
|
|
37
|
+
{ pattern: /\bdive (?:into|deep)\b/i, severity: 'warning', label: 'cliche-phrase' },
|
|
38
|
+
{ pattern: /\blet's (?:dive|explore|take a look)\b/i, severity: 'warning', label: 'robust-transition' },
|
|
39
|
+
{ pattern: /\bin order to\b/i, severity: 'info', label: 'wordy-phrase' },
|
|
40
|
+
{ pattern: /\blook no further\b/i, severity: 'critical', label: 'cliche-cta' },
|
|
41
|
+
{ pattern: /\bIf you're (?:looking|searching)\b/i, severity: 'warning', label: 'generic-opener' },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const lines = content.split('\n');
|
|
45
|
+
for (let i = 0; i < lines.length; i++) {
|
|
46
|
+
for (const sp of slopPatterns) {
|
|
47
|
+
if (sp.pattern.test(lines[i])) {
|
|
48
|
+
const match = lines[i].match(sp.pattern);
|
|
49
|
+
issues.push({
|
|
50
|
+
severity: sp.severity,
|
|
51
|
+
category: 'ai-slop',
|
|
52
|
+
pattern: sp.label,
|
|
53
|
+
issue: `Found '${match[0]}' in paragraph ${i + 1}`,
|
|
54
|
+
line: i + 1,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (checkList.includes('voice-patterns')) {
|
|
62
|
+
const voiceIssues = [
|
|
63
|
+
{ pattern: /\bwe believe\b/i, severity: 'info', label: 'generic-opinion' },
|
|
64
|
+
{ pattern: /\bI think\b/i, severity: 'warning', label: 'weak-stance' },
|
|
65
|
+
];
|
|
66
|
+
const lines = content.split('\n');
|
|
67
|
+
for (let i = 0; i < lines.length; i++) {
|
|
68
|
+
for (const vp of voiceIssues) {
|
|
69
|
+
if (vp.pattern.test(lines[i])) {
|
|
70
|
+
const match = lines[i].match(vp.pattern);
|
|
71
|
+
issues.push({
|
|
72
|
+
severity: vp.severity,
|
|
73
|
+
category: 'voice-patterns',
|
|
74
|
+
pattern: vp.label,
|
|
75
|
+
issue: `Found '${match[0]}' in paragraph ${i + 1}`,
|
|
76
|
+
line: i + 1,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const criticalCount = issues.filter(i => i.severity === 'critical').length;
|
|
84
|
+
const warningCount = issues.filter(i => i.severity === 'warning').length;
|
|
85
|
+
|
|
86
|
+
const score = Math.max(0, Math.min(10, 10 - (criticalCount * 1.5) - (warningCount * 0.3)));
|
|
87
|
+
|
|
88
|
+
const result = {
|
|
89
|
+
score,
|
|
90
|
+
issues,
|
|
91
|
+
summary: `${issues.length} issues found: ${criticalCount} critical, ${warningCount} warnings, ${issues.length - criticalCount - warningCount} info`,
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
console.log(JSON.stringify(result, null, 2));
|
|
95
|
+
|
|
96
|
+
if (criticalCount > 0) process.exitCode = 1;
|