@jairodri/huckleberry-cli 1.0.2 → 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 +347 -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,177 @@
|
|
|
1
|
+
# Post Format Templates
|
|
2
|
+
|
|
3
|
+
Ready-to-use templates for different platforms and content types.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
- LinkedIn Post Templates (The Story Post, The Contrarian Take, The List Post, The How-To)
|
|
7
|
+
- Twitter/X Thread Templates (The Tutorial Thread, The Story Thread, The Breakdown Thread)
|
|
8
|
+
- Instagram Templates (The Carousel Hook, The Reel Script)
|
|
9
|
+
- Hook Formulas (Curiosity Hooks, Story Hooks, Value Hooks, Contrarian Hooks, Social Proof Hooks)
|
|
10
|
+
|
|
11
|
+
## LinkedIn Post Templates
|
|
12
|
+
|
|
13
|
+
### The Story Post
|
|
14
|
+
```
|
|
15
|
+
[Hook: Unexpected outcome or lesson]
|
|
16
|
+
|
|
17
|
+
[Set the scene: When/where this happened]
|
|
18
|
+
|
|
19
|
+
[The challenge you faced]
|
|
20
|
+
|
|
21
|
+
[What you tried / what happened]
|
|
22
|
+
|
|
23
|
+
[The turning point]
|
|
24
|
+
|
|
25
|
+
[The result]
|
|
26
|
+
|
|
27
|
+
[The lesson for readers]
|
|
28
|
+
|
|
29
|
+
[Question to prompt engagement]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### The Contrarian Take
|
|
33
|
+
```
|
|
34
|
+
[Unpopular opinion stated boldly]
|
|
35
|
+
|
|
36
|
+
Here's why:
|
|
37
|
+
|
|
38
|
+
[Reason 1]
|
|
39
|
+
[Reason 2]
|
|
40
|
+
[Reason 3]
|
|
41
|
+
|
|
42
|
+
[What you recommend instead]
|
|
43
|
+
|
|
44
|
+
[Invite discussion: "Am I wrong?"]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### The List Post
|
|
48
|
+
```
|
|
49
|
+
[X things I learned about [topic] after [credibility builder]:
|
|
50
|
+
|
|
51
|
+
1. [Point] — [Brief explanation]
|
|
52
|
+
|
|
53
|
+
2. [Point] — [Brief explanation]
|
|
54
|
+
|
|
55
|
+
3. [Point] — [Brief explanation]
|
|
56
|
+
|
|
57
|
+
[Wrap-up insight]
|
|
58
|
+
|
|
59
|
+
Which resonates most with you?
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### The How-To
|
|
63
|
+
```
|
|
64
|
+
How to [achieve outcome] in [timeframe]:
|
|
65
|
+
|
|
66
|
+
Step 1: [Action]
|
|
67
|
+
↳ [Why this matters]
|
|
68
|
+
|
|
69
|
+
Step 2: [Action]
|
|
70
|
+
↳ [Key detail]
|
|
71
|
+
|
|
72
|
+
Step 3: [Action]
|
|
73
|
+
↳ [Common mistake to avoid]
|
|
74
|
+
|
|
75
|
+
[Result you can expect]
|
|
76
|
+
|
|
77
|
+
[CTA or question]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Twitter/X Thread Templates
|
|
83
|
+
|
|
84
|
+
### The Tutorial Thread
|
|
85
|
+
```
|
|
86
|
+
Tweet 1: [Hook + promise of value]
|
|
87
|
+
|
|
88
|
+
"Here's exactly how to [outcome] (step-by-step):"
|
|
89
|
+
|
|
90
|
+
Tweet 2-7: [One step per tweet with details]
|
|
91
|
+
|
|
92
|
+
Final tweet: [Summary + CTA]
|
|
93
|
+
|
|
94
|
+
"If this was helpful, follow me for more on [topic]"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### The Story Thread
|
|
98
|
+
```
|
|
99
|
+
Tweet 1: [Intriguing hook]
|
|
100
|
+
|
|
101
|
+
"[Time] ago, [unexpected thing happened]. Here's the full story:"
|
|
102
|
+
|
|
103
|
+
Tweet 2-6: [Story beats, building tension]
|
|
104
|
+
|
|
105
|
+
Tweet 7: [Resolution and lesson]
|
|
106
|
+
|
|
107
|
+
Final tweet: [Takeaway + engagement ask]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### The Breakdown Thread
|
|
111
|
+
```
|
|
112
|
+
Tweet 1: [Company/person] just [did thing].
|
|
113
|
+
|
|
114
|
+
Here's why it's genius (and what you can learn):
|
|
115
|
+
|
|
116
|
+
Tweet 2-6: [Analysis points]
|
|
117
|
+
|
|
118
|
+
Tweet 7: [Your key takeaway]
|
|
119
|
+
|
|
120
|
+
"[Related insight + follow CTA]"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Instagram Templates
|
|
126
|
+
|
|
127
|
+
### The Carousel Hook
|
|
128
|
+
```
|
|
129
|
+
[Slide 1: Bold statement or question]
|
|
130
|
+
[Slides 2-9: One point per slide, visual + text]
|
|
131
|
+
[Slide 10: Summary + CTA]
|
|
132
|
+
|
|
133
|
+
Caption: [Expand on the topic, add context, include CTA]
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### The Reel Script
|
|
137
|
+
```
|
|
138
|
+
Hook (0-2 sec): [Pattern interrupt or bold claim]
|
|
139
|
+
Setup (2-5 sec): [Context for the tip]
|
|
140
|
+
Value (5-25 sec): [The actual advice/content]
|
|
141
|
+
CTA (25-30 sec): [Follow, comment, share, link]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Hook Formulas
|
|
147
|
+
|
|
148
|
+
The first line determines whether anyone reads the rest.
|
|
149
|
+
|
|
150
|
+
### Curiosity Hooks
|
|
151
|
+
- "I was wrong about [common belief]."
|
|
152
|
+
- "The real reason [outcome] happens isn't what you think."
|
|
153
|
+
- "[Impressive result] — and it only took [surprisingly short time]."
|
|
154
|
+
- "Nobody talks about [insider knowledge]."
|
|
155
|
+
|
|
156
|
+
### Story Hooks
|
|
157
|
+
- "Last week, [unexpected thing] happened."
|
|
158
|
+
- "I almost [big mistake/failure]."
|
|
159
|
+
- "3 years ago, I [past state]. Today, [current state]."
|
|
160
|
+
- "[Person] told me something I'll never forget."
|
|
161
|
+
|
|
162
|
+
### Value Hooks
|
|
163
|
+
- "How to [desirable outcome] (without [common pain]):"
|
|
164
|
+
- "[Number] [things] that [outcome]:"
|
|
165
|
+
- "The simplest way to [outcome]:"
|
|
166
|
+
- "Stop [common mistake]. Do this instead:"
|
|
167
|
+
|
|
168
|
+
### Contrarian Hooks
|
|
169
|
+
- "Unpopular opinion: [bold statement]"
|
|
170
|
+
- "[Common advice] is wrong. Here's why:"
|
|
171
|
+
- "I stopped [common practice] and [positive result]."
|
|
172
|
+
- "Everyone says [X]. The truth is [Y]."
|
|
173
|
+
|
|
174
|
+
### Social Proof Hooks
|
|
175
|
+
- "We [achieved result] in [timeframe]. Here's the full story:"
|
|
176
|
+
- "[Number] people asked me about [topic]. Here's my answer:"
|
|
177
|
+
- "[Authority figure] taught me [lesson]."
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Reverse Engineering Viral Content
|
|
2
|
+
|
|
3
|
+
Instead of guessing what works, systematically analyze top-performing content in your niche and extract proven patterns.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
- The 6-Step Framework (Niche ID, Scrape, Analyze, Playbook, Layer Voice, Convert)
|
|
7
|
+
- The Formula
|
|
8
|
+
- Reverse Engineering Checklist
|
|
9
|
+
|
|
10
|
+
## The 6-Step Framework
|
|
11
|
+
|
|
12
|
+
### 1. NICHE ID — Find Top Creators
|
|
13
|
+
|
|
14
|
+
Identify 10-20 creators in your space who consistently get high engagement:
|
|
15
|
+
|
|
16
|
+
**Selection criteria:**
|
|
17
|
+
- Posting consistently (3+ times/week)
|
|
18
|
+
- High engagement rate relative to follower count
|
|
19
|
+
- Audience overlap with your target market
|
|
20
|
+
- Mix of established and rising creators
|
|
21
|
+
|
|
22
|
+
**Where to find them:**
|
|
23
|
+
- LinkedIn: Search by industry keywords, check "People also viewed"
|
|
24
|
+
- Twitter/X: Check who your target audience follows and engages with
|
|
25
|
+
- Use tools like SparkToro, Followerwonk, or manual research
|
|
26
|
+
- Look at who gets featured in industry newsletters
|
|
27
|
+
|
|
28
|
+
### 2. SCRAPE — Collect Posts at Scale
|
|
29
|
+
|
|
30
|
+
Gather 500-1000+ posts from your identified creators for analysis:
|
|
31
|
+
|
|
32
|
+
**Tools:**
|
|
33
|
+
- **Apify** — LinkedIn scraper, Twitter scraper actors
|
|
34
|
+
- **Phantom Buster** — Multi-platform automation
|
|
35
|
+
- **Export tools** — Platform-specific export features
|
|
36
|
+
- **Manual collection** — For smaller datasets, copy/paste into spreadsheet
|
|
37
|
+
|
|
38
|
+
**Data to collect:**
|
|
39
|
+
- Post text/content
|
|
40
|
+
- Engagement metrics (likes, comments, shares, saves)
|
|
41
|
+
- Post format (text-only, carousel, video, image)
|
|
42
|
+
- Posting time/day
|
|
43
|
+
- Hook/first line
|
|
44
|
+
- CTA used
|
|
45
|
+
- Topic/theme
|
|
46
|
+
|
|
47
|
+
### 3. ANALYZE — Extract What Actually Works
|
|
48
|
+
|
|
49
|
+
Sort and analyze the data to find patterns:
|
|
50
|
+
|
|
51
|
+
**Quantitative analysis:**
|
|
52
|
+
- Rank posts by engagement rate
|
|
53
|
+
- Identify top 10% performers
|
|
54
|
+
- Look for format patterns (do carousels outperform?)
|
|
55
|
+
- Check timing patterns (best days/times)
|
|
56
|
+
- Compare topic performance
|
|
57
|
+
|
|
58
|
+
**Qualitative analysis:**
|
|
59
|
+
- What hooks do top posts use?
|
|
60
|
+
- How long are high-performing posts?
|
|
61
|
+
- What emotional triggers appear?
|
|
62
|
+
- What formats repeat?
|
|
63
|
+
- What topics consistently perform?
|
|
64
|
+
|
|
65
|
+
**Questions to answer:**
|
|
66
|
+
- What's the average length of top posts?
|
|
67
|
+
- Which hook types appear most in top 10%?
|
|
68
|
+
- What CTAs drive most comments?
|
|
69
|
+
- What topics get saved/shared most?
|
|
70
|
+
|
|
71
|
+
### 4. PLAYBOOK — Codify Patterns
|
|
72
|
+
|
|
73
|
+
Document repeatable patterns you can use:
|
|
74
|
+
|
|
75
|
+
**Hook patterns to codify:**
|
|
76
|
+
```
|
|
77
|
+
Pattern: "I [unexpected action] and [surprising result]"
|
|
78
|
+
Example: "I stopped posting daily and my engagement doubled"
|
|
79
|
+
Why it works: Curiosity gap + contrarian
|
|
80
|
+
|
|
81
|
+
Pattern: "[Specific number] [things] that [outcome]:"
|
|
82
|
+
Example: "7 pricing mistakes that cost me $50K:"
|
|
83
|
+
Why it works: Specificity + loss aversion
|
|
84
|
+
|
|
85
|
+
Pattern: "[Controversial take]"
|
|
86
|
+
Example: "Cold outreach is dead."
|
|
87
|
+
Why it works: Pattern interrupt + invites debate
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Format patterns:**
|
|
91
|
+
- Carousel: Hook slide → Problem → Solution steps → CTA
|
|
92
|
+
- Thread: Hook → Promise → Deliver → Recap → CTA
|
|
93
|
+
- Story post: Hook → Setup → Conflict → Resolution → Lesson
|
|
94
|
+
|
|
95
|
+
**CTA patterns:**
|
|
96
|
+
- Question: "What would you add?"
|
|
97
|
+
- Agreement: "Agree or disagree?"
|
|
98
|
+
- Share: "Tag someone who needs this"
|
|
99
|
+
- Save: "Save this for later"
|
|
100
|
+
|
|
101
|
+
### 5. LAYER VOICE — Apply Direct Response Principles
|
|
102
|
+
|
|
103
|
+
Take proven patterns and make them yours with these voice principles:
|
|
104
|
+
|
|
105
|
+
**"Smart friend who figured something out"**
|
|
106
|
+
- Write like you're texting advice to a friend
|
|
107
|
+
- Share discoveries, not lectures
|
|
108
|
+
- Use "I found that..." not "You should..."
|
|
109
|
+
- Be helpful, not preachy
|
|
110
|
+
|
|
111
|
+
**Specific > Vague**
|
|
112
|
+
```
|
|
113
|
+
❌ "I made good revenue"
|
|
114
|
+
✅ "I made $47,329"
|
|
115
|
+
|
|
116
|
+
❌ "It took a while"
|
|
117
|
+
✅ "It took 47 days"
|
|
118
|
+
|
|
119
|
+
❌ "A lot of people"
|
|
120
|
+
✅ "2,847 people"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Short. Breathe. Land.**
|
|
124
|
+
- One idea per sentence
|
|
125
|
+
- Use line breaks liberally
|
|
126
|
+
- Let important points stand alone
|
|
127
|
+
- Create rhythm: short, short, longer explanation
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
❌ "I spent three years building my business the wrong way before I finally realized that the key to success was focusing on fewer things and doing them exceptionally well."
|
|
131
|
+
|
|
132
|
+
✅ "I built wrong for 3 years.
|
|
133
|
+
|
|
134
|
+
Then I figured it out.
|
|
135
|
+
|
|
136
|
+
Focus on less.
|
|
137
|
+
Do it exceptionally well.
|
|
138
|
+
|
|
139
|
+
Everything changed."
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Write from emotion**
|
|
143
|
+
- Start with how you felt, not what you did
|
|
144
|
+
- Use emotional words: frustrated, excited, terrified, obsessed
|
|
145
|
+
- Show vulnerability when authentic
|
|
146
|
+
- Connect the feeling to the lesson
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
❌ "Here's what I learned about pricing"
|
|
150
|
+
|
|
151
|
+
✅ "I was terrified to raise my prices.
|
|
152
|
+
|
|
153
|
+
My hands were shaking when I sent the email.
|
|
154
|
+
|
|
155
|
+
Here's what happened..."
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 6. CONVERT — Turn Attention into Action
|
|
159
|
+
|
|
160
|
+
Bridge from engagement to business results:
|
|
161
|
+
|
|
162
|
+
**Soft conversions:**
|
|
163
|
+
- Newsletter signups in bio/comments
|
|
164
|
+
- Free resource offers in follow-up comments
|
|
165
|
+
- DM triggers ("Comment X and I'll send you...")
|
|
166
|
+
- Profile visits → optimized profile with clear CTA
|
|
167
|
+
|
|
168
|
+
**Direct conversions:**
|
|
169
|
+
- Link in comments (not post body on LinkedIn)
|
|
170
|
+
- Contextual product mentions within valuable content
|
|
171
|
+
- Case study posts that naturally showcase your work
|
|
172
|
+
- "If you want help with this, DM me" (sparingly)
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## The Formula
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
1. Find what's already working (don't guess)
|
|
180
|
+
2. Extract the patterns (hooks, formats, CTAs)
|
|
181
|
+
3. Layer your authentic voice on top
|
|
182
|
+
4. Test and iterate based on your own data
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Reverse Engineering Checklist
|
|
186
|
+
|
|
187
|
+
- [ ] Identified 10-20 top creators in niche
|
|
188
|
+
- [ ] Collected 500+ posts for analysis
|
|
189
|
+
- [ ] Ranked by engagement rate
|
|
190
|
+
- [ ] Documented top 10 hook patterns
|
|
191
|
+
- [ ] Documented top 5 format patterns
|
|
192
|
+
- [ ] Documented top 5 CTA patterns
|
|
193
|
+
- [ ] Created voice guidelines (specificity, brevity, emotion)
|
|
194
|
+
- [ ] Built template library from patterns
|
|
195
|
+
- [ ] Set up tracking for your own content performance
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: social-worker
|
|
3
|
+
description: Humanize and format social media content from NLM research for X, LinkedIn, Instagram. Follows guardrail framework.
|
|
4
|
+
depends-on:
|
|
5
|
+
- hook-generator
|
|
6
|
+
license: Internal use only
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# GUARDRAILS FRAMEWORK
|
|
10
|
+
|
|
11
|
+
This skill follows the mandatory guardrail protocol. See: .claude/skills/guardrail-framework/SKILL.md
|
|
12
|
+
|
|
13
|
+
## Pre-Execution Protocol
|
|
14
|
+
1. Read ENTIRE skill before executing ANY step
|
|
15
|
+
2. Copy-paste exact prompts — never paraphrase
|
|
16
|
+
3. Update pipeline-registry.json before each action
|
|
17
|
+
4. If uncertain, ask human before proceeding
|
|
18
|
+
5. **Funnel grounding** (if `funnel_id` provided): Read `funnels/{funnel_id}-*.md` from the brand's `funnels/` directory. Every post MUST include `funnel_id`, `buyer_stage`, `cta`, `icp_segment`. Use the funnel's CTA — not a generic one.
|
|
19
|
+
6. **Awareness Gate** — determine target audience awareness level before any copy work (see below).
|
|
20
|
+
|
|
21
|
+
## ✅ ALLOWED
|
|
22
|
+
- Run humanizer skill on NLM social drafts
|
|
23
|
+
- Format for X (single, thread, article)
|
|
24
|
+
- Format for LinkedIn (post, article, carousel)
|
|
25
|
+
- Format for Instagram (caption, hashtags)
|
|
26
|
+
- Extract visual prompts from NLM outputs
|
|
27
|
+
- Present drafts to human for review
|
|
28
|
+
- Update registry
|
|
29
|
+
|
|
30
|
+
## ❌ FORBIDDEN
|
|
31
|
+
- Generate original social content
|
|
32
|
+
- Post without human approval
|
|
33
|
+
- Skip humanization step
|
|
34
|
+
- Make platform decisions without human
|
|
35
|
+
- Skip checkpoint gates
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Pipeline Registry Update (START)
|
|
40
|
+
|
|
41
|
+
Update `businesses/{business}/content/pipeline-registry.json`:
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"runId": "from-orchestrator",
|
|
45
|
+
"currentSkill": "social-worker",
|
|
46
|
+
"currentStep": 1,
|
|
47
|
+
"stepName": "find_social_drafts",
|
|
48
|
+
"status": "in_progress"
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Step 1: Find NLM Social Drafts
|
|
55
|
+
|
|
56
|
+
Location: `businesses/{business}/evergreen.mdcompetitor-intel/{date}-{topic-slug}/`
|
|
57
|
+
|
|
58
|
+
Files to find:
|
|
59
|
+
- `x-posts.md` - X post drafts
|
|
60
|
+
- `linkedin-article.md` - LinkedIn article draft
|
|
61
|
+
- `linkedin-infographic.md` - Infographic prompts
|
|
62
|
+
- `slide-deck-short.md` - Slide content for visual worker
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Step 2: Humanize X Content
|
|
67
|
+
|
|
68
|
+
Run: `Skill: humanizer`
|
|
69
|
+
|
|
70
|
+
Input: NLM x-posts.md
|
|
71
|
+
Output: Cleaned X posts in `businesses/{business}/content/social/x-posts-humanized.md`
|
|
72
|
+
|
|
73
|
+
**Platform requirements**:
|
|
74
|
+
- Single post: 280 chars max
|
|
75
|
+
- Thread: 15-25 posts, each under 280 chars
|
|
76
|
+
- Article: Full article with hook
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## CHECKPOINT: X Content Review
|
|
81
|
+
|
|
82
|
+
> "X content humanized. Ready as [single/thread/article]. Waiting for your go-ahead."
|
|
83
|
+
|
|
84
|
+
[WAIT for go-ahead before proceeding to LinkedIn]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Step 3: Humanize LinkedIn Content
|
|
89
|
+
|
|
90
|
+
Run: `Skill: humanizer` (or use X content if approved)
|
|
91
|
+
|
|
92
|
+
Input: NLM linkedin-article.md
|
|
93
|
+
Output: Cleaned LinkedIn content in `businesses/{business}/content/social/linkedin-article-humanized.md`
|
|
94
|
+
|
|
95
|
+
**Platform requirements**:
|
|
96
|
+
- Post: 3000 chars max, first 200 chars critical
|
|
97
|
+
- Article: Full article with 3-5 section headers
|
|
98
|
+
- Carousel: 10 slides, hook in first
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## CHECKPOINT: LinkedIn Content Review
|
|
103
|
+
|
|
104
|
+
> "LinkedIn content humanized. Ready as [post/article/carousel]. Waiting for your go-ahead."
|
|
105
|
+
|
|
106
|
+
[WAIT for go-ahead before proceeding to Instagram]
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Step 4: Format Instagram Content
|
|
111
|
+
|
|
112
|
+
From NLM outputs or LinkedIn content, create:
|
|
113
|
+
- Caption: Hook (first 125 chars) + body + hashtags
|
|
114
|
+
|
|
115
|
+
**Hook-generator integration:** Spawn a hook-generator subagent for Instagram caption opening hooks:
|
|
116
|
+
```
|
|
117
|
+
Load the hook-generator skill and execute the full Phase 1-6 pipeline with this context.
|
|
118
|
+
Context:
|
|
119
|
+
- WHO: <audience from brand>
|
|
120
|
+
- WHAT/WHY: <post's core value or insight>
|
|
121
|
+
- Knife: <pain this content addresses>
|
|
122
|
+
- Platform: instagram
|
|
123
|
+
- Brand: <brand name>
|
|
124
|
+
- Target Score: 85
|
|
125
|
+
Return ONLY this JSON array: [{"hook":"...","score":<0-100>,"pattern":"...","formula":"..."}]
|
|
126
|
+
```
|
|
127
|
+
Use top-scored hook as first 125 chars. If subagent fails, write hook manually per NLM output.
|
|
128
|
+
- Hashtags: 3-5 relevant, niche-specific
|
|
129
|
+
|
|
130
|
+
Save to: `businesses/{business}/content/social/instagram-caption.md`
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Step 5: Extract Visual Prompts
|
|
135
|
+
|
|
136
|
+
From NLM outputs, extract prompts for:
|
|
137
|
+
- X images (if needed)
|
|
138
|
+
- LinkedIn infographic
|
|
139
|
+
- Instagram visuals
|
|
140
|
+
|
|
141
|
+
Save to: `businesses/{business}/content/social/visual-prompts.md`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Pipeline Registry Update (COMPLETE)
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"status": "completed",
|
|
150
|
+
"completedAt": "2026-04-05T12:45:00Z",
|
|
151
|
+
"outputFiles": [
|
|
152
|
+
"04-ready/social/x-posts-humanized.md",
|
|
153
|
+
"04-ready/social/linkedin-article-humanized.md",
|
|
154
|
+
"04-ready/social/instagram-caption.md",
|
|
155
|
+
"04-ready/social/visual-prompts.md"
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## STEP N: Copywriting Tournament (RECOMMENDED for post hooks)
|
|
163
|
+
|
|
164
|
+
Generate 3-5 variants of the key post hooks, then run them through 5 parallel judge personas to find the winner:
|
|
165
|
+
|
|
166
|
+
1. Generate 3-5 variants (different angles, formulas, or approaches)
|
|
167
|
+
2. Save each to: `content/tournaments/{slug}/variant-1.md` through `variant-N.md`
|
|
168
|
+
3. Spawn 5 PARALLEL `build` subagents (one per judge persona):
|
|
169
|
+
- `~/.claude/skills/quality-gate/judge-personas/skeptic.md`
|
|
170
|
+
- `~/.claude/skills/quality-gate/judge-personas/scanner.md`
|
|
171
|
+
- `~/.claude/skills/quality-gate/judge-personas/buyer.md`
|
|
172
|
+
- `~/.claude/skills/quality-gate/judge-personas/expert.md`
|
|
173
|
+
- `~/.claude/skills/quality-gate/judge-personas/outsider.md`
|
|
174
|
+
- Each gets: tournament_dir, variant_count, mode=`social`, original_prompt
|
|
175
|
+
4. Collect all 5 JSON results, aggregate: sum weighted_avg per variant across judges
|
|
176
|
+
5. Pick winner, apply recommended_edits, save as draft
|
|
177
|
+
6. Winner enters standard quality-gate below
|
|
178
|
+
|
|
179
|
+
**When to use:** For the opening line of social content
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## FINAL STEP: Quality Gate (MANDATORY — DO NOT SKIP)
|
|
184
|
+
|
|
185
|
+
Before presenting ANY draft to Jairo, run the quality gate:
|
|
186
|
+
|
|
187
|
+
1. Save your complete draft to a file (e.g., `content/drafts/{slug}.md` or a temp file)
|
|
188
|
+
2. Spawn a `build` subagent using the Task tool with the quality-gate prompt from `Skill: quality-gate`
|
|
189
|
+
3. Pass these inputs to the subagent:
|
|
190
|
+
- **draft_path**: absolute path to the saved draft
|
|
191
|
+
- **mode**: `social`
|
|
192
|
+
- **original_prompt**: the writing prompt that started this task
|
|
193
|
+
- **attempt**: current attempt number (start at 1)
|
|
194
|
+
4. Parse the JSON result from the subagent
|
|
195
|
+
5. If FAIL and attempt < 3:
|
|
196
|
+
- Rewrite the draft addressing the specific `rewrite_instructions` from the quality gate
|
|
197
|
+
- Save the new draft (overwrite or new file)
|
|
198
|
+
- Spawn another subagent with attempt + 1
|
|
199
|
+
6. If FAIL and attempt = 3:
|
|
200
|
+
- Present to Jairo with all score reports attached
|
|
201
|
+
- Say: "Couldn't pass quality gate after 3 attempts. Here's what's wrong and what I tried to fix."
|
|
202
|
+
7. If PASS:
|
|
203
|
+
- Present to Jairo as normal (do NOT show scores — they're internal)
|
|
204
|
+
8. NEVER present a draft that hasn't passed quality gate (except after 3 failed attempts)
|