@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,234 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: voice-extraction
|
|
3
|
+
description: "Reverse-engineer any person's writing voice from their content. Paste in posts, articles, tweets, or essays and this skill launches 10 parallel..."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /voice-extraction — Universal Voice DNA Extraction
|
|
7
|
+
|
|
8
|
+
Reverse-engineer anyone's writing voice from their actual writing. Produces a structured `voice-dna.md` that lets any writer or AI replicate that voice accurately.
|
|
9
|
+
|
|
10
|
+
Works with any source: files, NLM notebooks, URLs, raw text, social archives. Model-agnostic — runs on whatever model is in the session (GLM-5.1, Gemini Flash, Qwen, etc.). No Anthropic dependency.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- "Extract my voice from these journal entries"
|
|
17
|
+
- "Analyze how this person writes"
|
|
18
|
+
- "Build a voice profile from my content"
|
|
19
|
+
- "Match this voice" / "Make me sound like this"
|
|
20
|
+
- "Study this writing and create a voice file"
|
|
21
|
+
- Replacing a generic voice-profile.md with one built from real source material
|
|
22
|
+
- Setting up brand voice before any content generation
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Three Modes
|
|
27
|
+
|
|
28
|
+
| Mode | Input | Output |
|
|
29
|
+
|------|-------|--------|
|
|
30
|
+
| **extract** | Source material (any combination) | `voice-dna.md` |
|
|
31
|
+
| **validate** | Content draft + `voice-dna.md` | Score (0-100) + specific fixes |
|
|
32
|
+
| **inject** | `voice-dna.md` + target context | System prompt addition |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Mode 1: Extract
|
|
37
|
+
|
|
38
|
+
### Step 1: Collect Sources
|
|
39
|
+
|
|
40
|
+
Gather writing samples from one or more sources. Minimum: 500 words (one article, 5+ posts, or 10+ tweets). More is better — patterns need repetition.
|
|
41
|
+
|
|
42
|
+
**Source types supported:**
|
|
43
|
+
|
|
44
|
+
| Source | How to Collect |
|
|
45
|
+
|--------|---------------|
|
|
46
|
+
| **Local files** | Glob for `.md`, `.txt` files — `--files "~/journals/*.md"` |
|
|
47
|
+
| **NLM notebook** | Query via `nlm` CLI — `--nlm "<notebook-id>"` |
|
|
48
|
+
| **URLs** | Fetch web pages — `--url "https://..."` |
|
|
49
|
+
| **Raw text** | Paste directly — `--text "..."` |
|
|
50
|
+
| **birdclaw DB** | Pull original tweets — `--birdclaw "@handle"` |
|
|
51
|
+
| **Stdin** | Pipe text in — `echo "text" \| --stdin` |
|
|
52
|
+
|
|
53
|
+
Use `scripts/collect-sources.sh` for automated collection:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# From local files
|
|
57
|
+
bash scripts/collect-sources.sh --files "~/writing/*.md" --output corpus.txt
|
|
58
|
+
|
|
59
|
+
# From NLM notebook
|
|
60
|
+
bash scripts/collect-sources.sh --nlm "notebook-id-here" --output corpus.txt
|
|
61
|
+
|
|
62
|
+
# Mixed sources
|
|
63
|
+
bash scripts/collect-sources.sh --files "~/drafts/*.md" --url "https://blog.com/post" --output corpus.txt
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Or collect manually — the corpus is just text. The skill doesn't require the script.
|
|
67
|
+
|
|
68
|
+
### Step 2: Normalize (Optional)
|
|
69
|
+
|
|
70
|
+
If the corpus has YAML frontmatter, source markers, or messy formatting:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
node scripts/build-corpus.js raw-input.txt --output clean-corpus.txt
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This strips frontmatter, normalizes whitespace, and reports word count.
|
|
77
|
+
|
|
78
|
+
### Step 3: Run Extraction
|
|
79
|
+
|
|
80
|
+
Load `references/extraction-prompt.md` and feed it the corpus. This is a single deep analysis pass — no multi-subagent fan-out needed. The large context windows of modern models (GLM-5.1 at 200K, Gemini Flash at 1M, Qwen at 1M) handle the full corpus in one shot.
|
|
81
|
+
|
|
82
|
+
**For large corpora (50K+ words):**
|
|
83
|
+
|
|
84
|
+
1. Split into sections of ~30K words each
|
|
85
|
+
2. Run the extraction prompt on each section
|
|
86
|
+
3. Run the synthesis prompt (in `extraction-prompt.md`) to combine the section analyses into one voice-dna.md
|
|
87
|
+
|
|
88
|
+
**For small corpora (under 500 words):**
|
|
89
|
+
|
|
90
|
+
Use the Quick Extraction Prompt instead — it's lighter and faster.
|
|
91
|
+
|
|
92
|
+
### Step 4: Save Output
|
|
93
|
+
|
|
94
|
+
Save the result following `references/voice-dna-template.md` format.
|
|
95
|
+
|
|
96
|
+
**Location:**
|
|
97
|
+
- If this is the canonical brand voice: `brand/voice-dna.md`
|
|
98
|
+
- If extracting a specific person's voice: `brand/voices/[name].md`
|
|
99
|
+
- If standalone: `./voice-dna.md`
|
|
100
|
+
|
|
101
|
+
**Important:** If a `voice-profile.md` exists in the same brand directory, the new `voice-dna.md` supersedes it. Note this in the output and flag for the correction leak prevention step (grep for stale references to the old file).
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Mode 2: Validate
|
|
106
|
+
|
|
107
|
+
Score content against an existing `voice-dna.md`.
|
|
108
|
+
|
|
109
|
+
### Process
|
|
110
|
+
|
|
111
|
+
1. Load the `voice-dna.md`
|
|
112
|
+
2. Load the content draft to validate
|
|
113
|
+
3. Check against the **Validation Criteria** section of the voice-dna:
|
|
114
|
+
- Count how many MUST HAVE patterns are present
|
|
115
|
+
- Count how many SHOULD HAVE patterns are present
|
|
116
|
+
- Check for any KILL FLAGS (instant fail patterns)
|
|
117
|
+
4. Output:
|
|
118
|
+
- Overall score (0-100, weighted)
|
|
119
|
+
- Category breakdown
|
|
120
|
+
- Specific fixes needed (quote the voice-dna rule, show what to change)
|
|
121
|
+
- Verdict: PASS / REVISE / FAIL
|
|
122
|
+
|
|
123
|
+
### Scoring
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
MUST HAVE patterns (each present = +15 pts, max 60)
|
|
127
|
+
SHOULD HAVE patterns (each present = +10 pts, max 30)
|
|
128
|
+
No KILL FLAGS (each kill flag = -25 pts)
|
|
129
|
+
Natural feel bonus (reviewer judgment = 0-10 pts)
|
|
130
|
+
|
|
131
|
+
PASS = 80+
|
|
132
|
+
REVISE = 60-79
|
|
133
|
+
FAIL = <60 or any KILL FLAG triggered
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Mode 3: Inject
|
|
139
|
+
|
|
140
|
+
Wire a `voice-dna.md` into a content generation context.
|
|
141
|
+
|
|
142
|
+
### Process
|
|
143
|
+
|
|
144
|
+
1. Load the `voice-dna.md`
|
|
145
|
+
2. Identify the target context (a skill, a system prompt, a content brief)
|
|
146
|
+
3. Extract the most relevant sections for the target:
|
|
147
|
+
- For tweets: Voice Signatures + DO/DON'T pairs + Twitter platform adaptation
|
|
148
|
+
- For blog posts: Sentence Architecture + Thematic Anchors + Blog platform adaptation
|
|
149
|
+
- For newsletters: Emotional Patterns + Newsletter platform adaptation + Thematic Anchors
|
|
150
|
+
4. Format as a system prompt addition:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
## Voice DNA (MUST FOLLOW)
|
|
154
|
+
|
|
155
|
+
### Voice Signatures
|
|
156
|
+
[Relevant signatures with examples]
|
|
157
|
+
|
|
158
|
+
### DO / DON'T
|
|
159
|
+
[Relevant pairs]
|
|
160
|
+
|
|
161
|
+
### Kill Flags
|
|
162
|
+
[What to never do]
|
|
163
|
+
|
|
164
|
+
### Validation Checklist
|
|
165
|
+
[MUST HAVE / KILL FLAGS for self-checking]
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
5. Inject into the target context
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Extraction Quality Rules
|
|
173
|
+
|
|
174
|
+
### The output must be CONCRETE, not abstract
|
|
175
|
+
|
|
176
|
+
| BAD (useless) | GOOD (actionable) |
|
|
177
|
+
|---------------|-------------------|
|
|
178
|
+
| "Confident tone" | "Uses 2-4 word fragments for emphasis: 'Four hours daily. Copying. Pasting.'" |
|
|
179
|
+
| "Professional voice" | "Opens with a provocation, never a pleasantry. First sentence always makes a claim." |
|
|
180
|
+
| "Engaging writing" | "Alternates between 3-word fragments and 25-word explanation sentences. The rhythm creates tension." |
|
|
181
|
+
| "Authentic" | "Shares specific failures ('lost $6,500 to an agent error') before sharing wins." |
|
|
182
|
+
|
|
183
|
+
### Every claim needs evidence
|
|
184
|
+
|
|
185
|
+
- Every voice signature must have 2-3 verbatim quotes from the corpus
|
|
186
|
+
- Every DO/DON'T pair must be based on observed patterns, not guesses
|
|
187
|
+
- If the corpus doesn't show enough evidence for a section, say "Insufficient data" rather than guessing
|
|
188
|
+
|
|
189
|
+
### Anti-patterns to avoid in the output
|
|
190
|
+
|
|
191
|
+
- Generic personality descriptors ("confident", "professional", "authentic")
|
|
192
|
+
- Advice instead of analysis ("be more specific" is advice, not a pattern)
|
|
193
|
+
- Summarizing content instead of analyzing voice (WHAT they write about, not HOW)
|
|
194
|
+
- Vague hedge words ("tends to", "often", "generally") — quote the text or don't claim it
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## File Structure
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
voice-extraction/
|
|
202
|
+
├── SKILL.md # This file
|
|
203
|
+
├── scripts/
|
|
204
|
+
│ ├── collect-sources.sh # Multi-source text collection
|
|
205
|
+
│ └── build-corpus.js # Normalize + combine sources
|
|
206
|
+
└── references/
|
|
207
|
+
├── extraction-prompt.md # Master analysis prompt (core IP)
|
|
208
|
+
├── voice-dna-template.md # Output format specification
|
|
209
|
+
└── voice-elements.md # Prior extraction example (Jairo's journal)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Model Compatibility
|
|
215
|
+
|
|
216
|
+
This skill is model-agnostic. It works with:
|
|
217
|
+
|
|
218
|
+
- **GLM-5.1** (200K context) — handles ~30K word corpora in one pass
|
|
219
|
+
- **Gemini 2.5 Flash** (1M context) — handles ~150K word corpora in one pass
|
|
220
|
+
- **Qwen3 Coder** (1M context) — handles ~150K word corpora in one pass
|
|
221
|
+
- **Any model with 32K+ context** — use chunked extraction for larger corpora
|
|
222
|
+
|
|
223
|
+
**No Anthropic dependency.** No Claude-specific tools. No "Claude in Chrome." No multi-subagent fan-out. The extraction is a single deep analysis pass leveraging large context windows.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Related Skills
|
|
228
|
+
|
|
229
|
+
- **brand-voice** — builds voice from interview or website scrape (lighter weight)
|
|
230
|
+
- **x-post-generator-openclaw** — reads voice-dna.md for tweet generation
|
|
231
|
+
- **copywriting** — reads voice-dna.md for marketing copy
|
|
232
|
+
- **hook-generator** — reads voice-dna.md for hook pattern matching
|
|
233
|
+
- **quality-gate** — can use voice-dna validation criteria for scoring
|
|
234
|
+
- **notebooklm-journal-voice** — legacy NLM-specific skill, now superseded by this skill's NLM source adapter
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Voice DNA Extraction Prompt
|
|
2
|
+
|
|
3
|
+
The master analysis prompt. This is the core IP of the skill.
|
|
4
|
+
Feed it a corpus of someone's writing and it produces a structured voice-dna.md.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## How to Use
|
|
9
|
+
|
|
10
|
+
1. Collect writing samples into a single corpus (see collect-sources.sh)
|
|
11
|
+
2. Paste the corpus below where indicated
|
|
12
|
+
3. Run the full prompt through any model with sufficient context (GLM-5.1 200K+, Gemini Flash 1M+, Qwen 1M+)
|
|
13
|
+
4. The output IS the voice-dna.md — save it directly
|
|
14
|
+
|
|
15
|
+
For corpora larger than the context window: split into sections, run extraction on each, then run a synthesis pass combining all section analyses into one voice-dna.md.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## The Prompt
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
You are a voice DNA analyst. Your job is to reverse-engineer a person's writing voice from their actual writing and produce a structured voice profile that lets any writer or AI replicate that voice accurately.
|
|
23
|
+
|
|
24
|
+
Below is a corpus of writing by the author. Analyze it deeply and produce a Voice DNA document following the exact format specified.
|
|
25
|
+
|
|
26
|
+
=== CORPUS START ===
|
|
27
|
+
[CORPUS_GOES_HERE]
|
|
28
|
+
=== CORPUS END ===
|
|
29
|
+
|
|
30
|
+
Analyze the corpus and extract the following. Be SPECIFIC and CONCRETE — quote actual sentences from the corpus as evidence. Generic abstractions like "confident tone" or "professional voice" are useless. If you can't find an example in the text, don't claim it.
|
|
31
|
+
|
|
32
|
+
## 1. VOICE SIGNATURES (3-5 patterns)
|
|
33
|
+
|
|
34
|
+
The 3-5 patterns that, if removed, would make the writing sound like someone else entirely. These are the fingerprints.
|
|
35
|
+
|
|
36
|
+
For each signature:
|
|
37
|
+
- Name it (e.g., "Fragment Punches", "Contrast Collisions")
|
|
38
|
+
- Describe the mechanical pattern (what the sentence does)
|
|
39
|
+
- Give 2-3 verbatim examples from the corpus
|
|
40
|
+
- Explain WHY it works (what effect it creates)
|
|
41
|
+
|
|
42
|
+
## 2. SENTENCE ARCHITECTURE
|
|
43
|
+
|
|
44
|
+
How this author builds sentences. Extract the actual patterns:
|
|
45
|
+
|
|
46
|
+
- **Preferred lengths**: What's their default sentence length? When do they go short? When long?
|
|
47
|
+
- **Opening moves**: How do they start sentences/paragraphs? (Quote 5 examples)
|
|
48
|
+
- **Closing moves**: How do they end? Where does the punch land? (Quote 5 examples)
|
|
49
|
+
- **Fragment usage**: Do they use incomplete sentences? How often and why? (Quote examples)
|
|
50
|
+
- **List patterns**: Do they list? How? (Comma-separated, line breaks, numbered?)
|
|
51
|
+
- **Transitions**: How do they connect ideas? Or do they just jump?
|
|
52
|
+
|
|
53
|
+
## 3. VOCABULARY MAP
|
|
54
|
+
|
|
55
|
+
- **Signature terms**: Words/phrases the author coined or uses idiosyncratically (with definitions and example usage)
|
|
56
|
+
- **Reach-for words**: Words this author gravitates toward that most people wouldn't (quote with context)
|
|
57
|
+
- **Banned words**: Words the author would NEVER use (infer from what they use instead)
|
|
58
|
+
- **Profanity gauge**: None / occasional / frequent / signature. If used, how and why?
|
|
59
|
+
- **Jargon gauge**: Do they use technical terms? Do they explain them or assume knowledge?
|
|
60
|
+
|
|
61
|
+
## 4. RHETORICAL DEVICES
|
|
62
|
+
|
|
63
|
+
Identify which devices this author actually uses (with examples):
|
|
64
|
+
- Contrast / juxtaposition
|
|
65
|
+
- Repetition / anaphora
|
|
66
|
+
- Rhetorical questions
|
|
67
|
+
- Direct address ("you")
|
|
68
|
+
- Metaphor / analogy
|
|
69
|
+
- Hyperbole
|
|
70
|
+
- Understatement
|
|
71
|
+
- Lists / enumeration
|
|
72
|
+
- Rule of three
|
|
73
|
+
- Callback / callback humor
|
|
74
|
+
|
|
75
|
+
Score each device: FREQUENT / OCCASIONAL / RARE / NEVER
|
|
76
|
+
|
|
77
|
+
## 5. EMOTIONAL PATTERNS
|
|
78
|
+
|
|
79
|
+
- **How they express conviction**: Do they state beliefs flatly? Argue? Show through story?
|
|
80
|
+
- **How they express frustration**: Direct accusation? Dry humor? Philosophical resignation?
|
|
81
|
+
- **How they express excitement**: Exclamation points? Pace change? Just... more words?
|
|
82
|
+
- **How they connect with the reader**: Peer-to-peer? Authority figure? Friend? Provocateur?
|
|
83
|
+
- **Vulnerability level**: Do they share personal details? How deep? What do they hold back?
|
|
84
|
+
|
|
85
|
+
## 6. DO / DON'T PAIRS
|
|
86
|
+
|
|
87
|
+
Create 5-8 before/after pairs showing what this author WOULD write vs what they WOULD NOT write. This is the most important section for AI replication.
|
|
88
|
+
|
|
89
|
+
Format:
|
|
90
|
+
> DON'T (generic version): "[generic sentence any AI would write]"
|
|
91
|
+
> DO (this author's version): "[how this author would say the same thing]"
|
|
92
|
+
> WHY: [1 sentence explaining the difference]
|
|
93
|
+
|
|
94
|
+
Base these on actual patterns observed in the corpus, not guesses.
|
|
95
|
+
|
|
96
|
+
## 7. THEMATIC ANCHORS
|
|
97
|
+
|
|
98
|
+
What subjects, experiences, and references does the author draw from repeatedly?
|
|
99
|
+
- Core life contexts (location, occupation, family, projects)
|
|
100
|
+
- Recurring metaphors or comparisons
|
|
101
|
+
- Philosophical stance (in 2-3 sentences, with supporting quotes)
|
|
102
|
+
- What they care about most (ranked, with evidence)
|
|
103
|
+
|
|
104
|
+
## 8. PLATFORM ADAPTATIONS
|
|
105
|
+
|
|
106
|
+
How does (or would) this author's voice change across platforms? For each:
|
|
107
|
+
- What stays constant (the voice core)
|
|
108
|
+
- What adapts (length, format, energy)
|
|
109
|
+
- Example opening line for: Twitter/X, LinkedIn, Blog intro, Newsletter opening
|
|
110
|
+
|
|
111
|
+
## 9. VALIDATION CRITERIA
|
|
112
|
+
|
|
113
|
+
A checklist for scoring whether content matches this voice:
|
|
114
|
+
- MUST HAVE (at least 2): [voice signatures that must be present]
|
|
115
|
+
- SHOULD HAVE (at least 1): [secondary patterns]
|
|
116
|
+
- KILL FLAGS (any of these = fail): [patterns that would immediately reveal it's NOT this author]
|
|
117
|
+
|
|
118
|
+
Output the complete Voice DNA document now. Use markdown formatting with clear headers.
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Synthesis Prompt (for multi-chunk corpora)
|
|
124
|
+
|
|
125
|
+
When the corpus is too large for one pass, extract from each chunk separately, then synthesize:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Below are voice analyses extracted from different sections of one author's writing corpus.
|
|
129
|
+
Synthesize them into a single unified Voice DNA document. Resolve any contradictions by
|
|
130
|
+
going with the most frequently observed pattern. Merge duplicate findings. Produce the
|
|
131
|
+
final document in the standard Voice DNA format.
|
|
132
|
+
|
|
133
|
+
=== SECTION ANALYSES ===
|
|
134
|
+
[PASTE EACH SECTION'S ANALYSIS HERE]
|
|
135
|
+
=== END SECTION ANALYSES ===
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Quick Extraction Prompt (for smaller corpora or time-constrained runs)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Analyze the writing voice in this corpus and extract:
|
|
144
|
+
1. 5 signature patterns (with examples from the text)
|
|
145
|
+
2. Vocabulary the author reaches for + words they avoid
|
|
146
|
+
3. 5 DO/DON'T sentence pairs showing their voice vs generic writing
|
|
147
|
+
4. Their default sentence rhythm and structure
|
|
148
|
+
5. What makes this voice unmistakably theirs (not anyone else's)
|
|
149
|
+
|
|
150
|
+
=== CORPUS ===
|
|
151
|
+
[CORPUS]
|
|
152
|
+
=== END ===
|
|
153
|
+
|
|
154
|
+
Be concrete. Quote the text. Generic descriptors like "confident" or "professional" are banned — show the actual words.
|
|
155
|
+
```
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Voice DNA Template
|
|
2
|
+
|
|
3
|
+
This is the output format for a voice-dna.md file. Every extraction should produce this structure.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Voice DNA: [AUTHOR NAME]
|
|
11
|
+
|
|
12
|
+
> Extracted: [DATE]
|
|
13
|
+
> Sources: [LIST OF SOURCES]
|
|
14
|
+
> Corpus size: [WORD COUNT] words across [N] documents
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Voice Signatures
|
|
19
|
+
|
|
20
|
+
### 1. [SIGNATURE NAME]
|
|
21
|
+
**Pattern:** [What the sentence does mechanically]
|
|
22
|
+
**Effect:** [Why it works — what feeling it creates]
|
|
23
|
+
**Examples:**
|
|
24
|
+
- "[verbatim quote from corpus]"
|
|
25
|
+
- "[verbatim quote from corpus]"
|
|
26
|
+
- "[verbatim quote from corpus]"
|
|
27
|
+
|
|
28
|
+
### 2. [SIGNATURE NAME]
|
|
29
|
+
[...]
|
|
30
|
+
|
|
31
|
+
[Repeat for 3-5 signatures]
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Sentence Architecture
|
|
36
|
+
|
|
37
|
+
**Default length:** [X-Y words typically]
|
|
38
|
+
**When they go short:** [trigger/condition]
|
|
39
|
+
**When they go long:** [trigger/condition]
|
|
40
|
+
|
|
41
|
+
**Opening moves:**
|
|
42
|
+
- "[example 1]"
|
|
43
|
+
- "[example 2]"
|
|
44
|
+
- "[example 3]"
|
|
45
|
+
- "[example 4]"
|
|
46
|
+
- "[example 5]"
|
|
47
|
+
|
|
48
|
+
**Closing moves:**
|
|
49
|
+
- "[example 1]"
|
|
50
|
+
- "[example 2]"
|
|
51
|
+
- "[example 3]"
|
|
52
|
+
- "[example 4]"
|
|
53
|
+
- "[example 5]"
|
|
54
|
+
|
|
55
|
+
**Fragments:** [Yes/No] — [how and why, with examples]
|
|
56
|
+
**Lists:** [pattern description with example]
|
|
57
|
+
**Transitions:** [how they connect ideas]
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Vocabulary Map
|
|
62
|
+
|
|
63
|
+
### Signature Terms
|
|
64
|
+
| Term | Meaning | Example Usage |
|
|
65
|
+
|------|---------|---------------|
|
|
66
|
+
| "[term]" | [definition] | "[example sentence]" |
|
|
67
|
+
|
|
68
|
+
### Reach-For Words
|
|
69
|
+
- "[word]" — [context where they use it]
|
|
70
|
+
- "[word]" — [context]
|
|
71
|
+
|
|
72
|
+
### Banned Words
|
|
73
|
+
- "[word]" — they use "[alternative]" instead
|
|
74
|
+
- "[word]" — they use "[alternative]" instead
|
|
75
|
+
|
|
76
|
+
### Profanity: [None / Occasional / Frequent / Signature]
|
|
77
|
+
[Jow and why, if applicable]
|
|
78
|
+
|
|
79
|
+
### Jargon: [None / Light / Heavy]
|
|
80
|
+
[Do they explain terms or assume knowledge?]
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Rhetorical Devices
|
|
85
|
+
|
|
86
|
+
| Device | Frequency | Example |
|
|
87
|
+
|--------|-----------|---------|
|
|
88
|
+
| Contrast/juxtaposition | FREQUENT | "[example]" |
|
|
89
|
+
| Repetition | OCCASIONAL | "[example]" |
|
|
90
|
+
| Direct address | [freq] | "[example]" |
|
|
91
|
+
| [device] | [freq] | "[example]" |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Emotional Patterns
|
|
96
|
+
|
|
97
|
+
**Conviction:** [how they state beliefs, with example]
|
|
98
|
+
**Frustration:** [how they express it, with example]
|
|
99
|
+
**Excitement:** [how they show it, with example]
|
|
100
|
+
**Reader connection:** [peer/authority/friend/provocateur — with evidence]
|
|
101
|
+
**Vulnerability:** [level and what they share/hide]
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## DO / DON'T Pairs
|
|
106
|
+
|
|
107
|
+
> **DON'T (generic):** "[generic AI sentence]"
|
|
108
|
+
> **DO (this voice):** "[how this author says it]"
|
|
109
|
+
> **WHY:** [1 sentence]
|
|
110
|
+
|
|
111
|
+
> **DON'T (generic):** "[generic AI sentence]"
|
|
112
|
+
> **DO (this voice):** "[how this author says it]"
|
|
113
|
+
> **WHY:** [1 sentence]
|
|
114
|
+
|
|
115
|
+
[5-8 pairs total]
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Thematic Anchors
|
|
120
|
+
|
|
121
|
+
**Core contexts:** [location, work, family, projects]
|
|
122
|
+
**Recurring metaphors:** [list with examples]
|
|
123
|
+
**Philosophy:** [2-3 sentences with supporting quotes]
|
|
124
|
+
**What they care about (ranked):**
|
|
125
|
+
1. [value] — "[evidence quote]"
|
|
126
|
+
2. [value] — "[evidence quote]"
|
|
127
|
+
3. [value] — "[evidence quote]"
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Platform Adaptations
|
|
132
|
+
|
|
133
|
+
### Twitter/X
|
|
134
|
+
**Constant:** [what never changes]
|
|
135
|
+
**Adapts:** [what shifts]
|
|
136
|
+
**Example opening:** "[sample line]"
|
|
137
|
+
|
|
138
|
+
### LinkedIn
|
|
139
|
+
**Constant:** [what never changes]
|
|
140
|
+
**Adapts:** [what shifts]
|
|
141
|
+
**Example opening:** "[sample line]"
|
|
142
|
+
|
|
143
|
+
### Blog
|
|
144
|
+
**Constant:** [what never changes]
|
|
145
|
+
**Adapts:** [what shifts]
|
|
146
|
+
**Example opening:** "[sample line]"
|
|
147
|
+
|
|
148
|
+
### Newsletter
|
|
149
|
+
**Constant:** [what never changes]
|
|
150
|
+
**Adapts:** [what shifts]
|
|
151
|
+
**Example opening:** "[sample line]"
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Validation Criteria
|
|
156
|
+
|
|
157
|
+
**MUST HAVE (at least 2):**
|
|
158
|
+
- [ ] [signature pattern 1]
|
|
159
|
+
- [ ] [signature pattern 2]
|
|
160
|
+
- [ ] [signature pattern 3]
|
|
161
|
+
|
|
162
|
+
**SHOULD HAVE (at least 1):**
|
|
163
|
+
- [ ] [secondary pattern]
|
|
164
|
+
|
|
165
|
+
**KILL FLAGS (any = fail):**
|
|
166
|
+
- [ ] [anti-pattern that reveals it's NOT this author]
|
|
167
|
+
- [ ] [anti-pattern]
|
|
168
|
+
```
|