@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,243 @@
|
|
|
1
|
+
# Self-Improving Agent Skill
|
|
2
|
+
|
|
3
|
+
An autonomous learning system that detects expertise gaps, conducts deep research via YouTube + NotebookLM, generates mindmaps, formulates intelligent questions, and persists learned expertise to Inkstone for future agent sessions.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This skill transforms any agent into a self-improving expert. When an agent encounters a topic it doesn't know well, it automatically:
|
|
8
|
+
|
|
9
|
+
1. **Detects the expertise gap** — recognizes when it lacks genuine expertise
|
|
10
|
+
2. **Researches deeply** — pulls from YouTube + curated NLM sources
|
|
11
|
+
3. **Synthesizes intelligence** — generates mindmaps, extracts patterns
|
|
12
|
+
4. **Questions intelligently** — formulates 15+ expert-level NLM queries
|
|
13
|
+
5. **Persists permanently** — saves to Inkstone with full traceability
|
|
14
|
+
6. **Reuses instantly** — future sessions recall the mastered knowledge
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Check if agent has expertise on a topic
|
|
20
|
+
self-improving-agent check "Google Ads conversion tracking"
|
|
21
|
+
|
|
22
|
+
# Full mastery pipeline (research + persist)
|
|
23
|
+
self-improving-agent master "Rust async patterns" --depth=deep
|
|
24
|
+
|
|
25
|
+
# Quick research scan
|
|
26
|
+
self-improving-agent research "WebRTC" --depth=quick
|
|
27
|
+
|
|
28
|
+
# Show all mastered topics for an agent
|
|
29
|
+
self-improving-agent expertise --agent=clawd
|
|
30
|
+
|
|
31
|
+
# Find the best agent for a topic
|
|
32
|
+
self-improving-agent find-expert "vector databases"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Commands
|
|
36
|
+
|
|
37
|
+
| Command | Description |
|
|
38
|
+
|---------|-------------|
|
|
39
|
+
| `check <topic>` | Check if agent has expertise on topic |
|
|
40
|
+
| `research <topic>` | Quick research scan (existing sources only) |
|
|
41
|
+
| `master <topic>` | Full mastery pipeline — research + persist to Inkstone |
|
|
42
|
+
| `status [topic]` | Show expertise status for topic or all topics |
|
|
43
|
+
| `expertise` | List all mastered topics for agent |
|
|
44
|
+
| `find-expert <topic>` | Find best agent for topic across all agents |
|
|
45
|
+
|
|
46
|
+
## Options
|
|
47
|
+
|
|
48
|
+
| Option | Description | Default |
|
|
49
|
+
|--------|-------------|---------|
|
|
50
|
+
| `--agent <name>` | Agent name | `clawd` |
|
|
51
|
+
| `--depth <level>` | Research depth: quick\|standard\|deep | `deep` |
|
|
52
|
+
| `--format <type>` | Output format: json\|markdown | `json` |
|
|
53
|
+
|
|
54
|
+
## Architecture
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
User Query → Expertise Gap Detection → YouTube Research → NLM Curation →
|
|
58
|
+
Mindmap Generation → Intelligent Questions → Inkstone Persistence →
|
|
59
|
+
Expertise Registry Update → Expert Answer
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Phase 1: Expertise Gap Detection
|
|
63
|
+
- Checks agent's Inkstone namespace for existing knowledge
|
|
64
|
+
- Queries expertise registry for confidence scores
|
|
65
|
+
- Triggers research if confidence < 0.7
|
|
66
|
+
|
|
67
|
+
### Phase 2: YouTube Deep Research
|
|
68
|
+
- Searches YouTube for top 10-20 videos on topic
|
|
69
|
+
- Extracts transcripts, key points, expert interviews
|
|
70
|
+
- Identifies thought leaders and contrarian views
|
|
71
|
+
|
|
72
|
+
### Phase 3: NLM Curation (with source pruning)
|
|
73
|
+
- Deep research finds related web pages + documents automatically — **but pulls irrelevant stuff**, so curation runs at two stages:
|
|
74
|
+
- **Import-time:** `--cited-only` — only sources NLM cited in its research summary get imported
|
|
75
|
+
- **Post-import:** every source scored (domain reputation + topic-title overlap + spam patterns), below-threshold sources deleted, floor of 5 sources protected
|
|
76
|
+
- Auditable curation reports in `memory/curation-reports/`
|
|
77
|
+
- Generates mindmap from the **curated** source set
|
|
78
|
+
|
|
79
|
+
### Phase 4: Intelligent Question Formulation
|
|
80
|
+
Generates 15+ questions across 8 categories:
|
|
81
|
+
- **Foundational** — First principles
|
|
82
|
+
- **Expert Patterns** — Top 1% practices
|
|
83
|
+
- **Contrarian** — Common wisdom that's wrong
|
|
84
|
+
- **Implementation** — Production code walkthroughs
|
|
85
|
+
- **Failure Modes** — Common production failures
|
|
86
|
+
- **Evolution** — Recent changes and future trends
|
|
87
|
+
- **Integration** — Real integration with our stack
|
|
88
|
+
- **Metrics** — Success measurement frameworks
|
|
89
|
+
|
|
90
|
+
### Phase 5: Inkstone Persistence
|
|
91
|
+
Saves to agent-specific namespaces:
|
|
92
|
+
```
|
|
93
|
+
/business/aiwithjai/agents/{agent}/expertise/{topic}/
|
|
94
|
+
├── mindmap/ # Structured mindmap
|
|
95
|
+
├── qa/ # Expert Q&A pairs (15+)
|
|
96
|
+
├── sources/ # Source metadata & bibliography
|
|
97
|
+
├── patterns/ # Implementation patterns
|
|
98
|
+
├── contrarian/ # Contrarian viewpoints
|
|
99
|
+
└── metrics/ # Evaluation frameworks
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Phase 6: Expertise Registry
|
|
103
|
+
Global registry at `memory/agent-expertise-registry.json` tracks:
|
|
104
|
+
- Per-agent topic mastery with confidence scores
|
|
105
|
+
- Cross-agent expertise discovery
|
|
106
|
+
- Source counts and notebook references
|
|
107
|
+
- Last researched timestamps
|
|
108
|
+
|
|
109
|
+
## Auto-Detection Integration
|
|
110
|
+
|
|
111
|
+
Agents can automatically detect expertise gaps in user queries:
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
from scripts.auto_detect import AutoExpertiseDetector
|
|
115
|
+
|
|
116
|
+
detector = AutoExpertiseDetector("clawd", auto_research=True)
|
|
117
|
+
analysis = detector.analyze_query("How do I set up a vector database for RAG?")
|
|
118
|
+
# Returns: topics detected, gaps found, recommendations
|
|
119
|
+
|
|
120
|
+
# Or auto-trigger research
|
|
121
|
+
result = detector.auto_research_if_needed(user_query)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Integration with Existing Skills
|
|
125
|
+
|
|
126
|
+
### Required Skills (auto-loaded)
|
|
127
|
+
- `notebooklm` — canonical NLM operations
|
|
128
|
+
- `nlm-cli` — batch, cross-notebook, pipeline commands
|
|
129
|
+
- `youtube-summarize` — video content extraction
|
|
130
|
+
- `inkstone-admin` — advanced memory operations
|
|
131
|
+
- `agent-reach` — YouTube search (free transcripts)
|
|
132
|
+
|
|
133
|
+
### Complementary Skills
|
|
134
|
+
- `nlm-hub-spoke` — hub/spoke articles from mindmaps
|
|
135
|
+
- `nlm-grounded-writer` — mega-prompt writing with brand context
|
|
136
|
+
- `self-improve` — outcome journaling for learning loop
|
|
137
|
+
- `routine-capture` — turn successful runs into skills
|
|
138
|
+
|
|
139
|
+
## Configuration
|
|
140
|
+
|
|
141
|
+
### Environment Variables
|
|
142
|
+
```bash
|
|
143
|
+
GEMINI_API_KEY=xxx # For youtube-summarize
|
|
144
|
+
NOTEBOLLM_COOKIES_PATH=~/.notebooklm # For notebooklm auth
|
|
145
|
+
SELF_IMPROVING_AGENT_DEPTH=deep # quick|standard|deep
|
|
146
|
+
SELF_IMPROVING_AGENT_MAX_VIDEOS=20
|
|
147
|
+
SELF_IMPROVING_AGENT_MAX_SOURCES=50
|
|
148
|
+
SELF_IMPROVING_AGENT_CONFIDENCE_THRESHOLD=0.7
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Example Usage
|
|
152
|
+
|
|
153
|
+
### Agent Encounters Unknown Topic
|
|
154
|
+
```
|
|
155
|
+
User: "How do I set up a high-frequency trading bot with Rust?"
|
|
156
|
+
Agent (internal): No expertise in HFT + Rust. Triggering self-improving-agent...
|
|
157
|
+
→ Researches: YouTube (QuantConnect, TradeBot, Quantopian videos)
|
|
158
|
+
→ Curates: NLM notebook with 15 sources
|
|
159
|
+
→ Mindmap: Architecture, risk management, latency optimization, Rust crates
|
|
160
|
+
→ Questions: "What's the minimum viable latency for crypto HFT in Rust?"
|
|
161
|
+
→ Persists: Full mastery to Inkstone
|
|
162
|
+
→ Answers: Comprehensive technical response with code patterns
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Proactive Mastery Building
|
|
166
|
+
```
|
|
167
|
+
User: "/self-improving-agent master 'AI agent memory systems'"
|
|
168
|
+
→ Creates comprehensive expertise in:
|
|
169
|
+
- Vector databases (Pinecone, Weaviate, Qdrant)
|
|
170
|
+
- Embedding strategies (OpenAI, Cohere, local)
|
|
171
|
+
- Retrieval patterns (RAG, GraphRAG, HyDE)
|
|
172
|
+
- Context window optimization
|
|
173
|
+
- Long-term vs working memory architectures
|
|
174
|
+
→ Saves to all agent namespaces for cross-agent reuse
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Cross-Agent Expertise Sharing
|
|
178
|
+
```
|
|
179
|
+
Agent A masters "WebRTC for real-time collaboration"
|
|
180
|
+
→ Saved to /business/aiwithjai/agents/A/expertise/webrtc
|
|
181
|
+
→ Registry updated: Agent A confidence 0.94
|
|
182
|
+
|
|
183
|
+
Agent B needs WebRTC knowledge
|
|
184
|
+
→ Checks registry → finds Agent A mastery
|
|
185
|
+
→ Loads Agent A's Inkstone namespace
|
|
186
|
+
→ Instantly has expert-level knowledge without re-research
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Quality Gates
|
|
190
|
+
|
|
191
|
+
### Research Quality Checks
|
|
192
|
+
- **YouTube**: ≥ 5 videos from distinct channels
|
|
193
|
+
- **Web**: ≥ 10 articles from authoritative domains
|
|
194
|
+
- **PDF/Papers**: ≥ 3 technical papers/reports
|
|
195
|
+
- **Mindmap**: Depth ≥ 3 levels, ≥ 20 leaf nodes
|
|
196
|
+
- **Questions**: ≥ 15 questions covering all 8 categories
|
|
197
|
+
- **Answers**: Each ≥ 300 words with citations
|
|
198
|
+
|
|
199
|
+
### Persistence Verification
|
|
200
|
+
```bash
|
|
201
|
+
# After save, verify retrieval
|
|
202
|
+
inkstone_search(query="topic", namespace="agent/expertise/topic")
|
|
203
|
+
# Must return: mindmap + ≥ 10 Q&A pairs + sources
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Monitoring
|
|
207
|
+
|
|
208
|
+
Track in `memory/self-improving-agent.log`:
|
|
209
|
+
- Topics researched per agent per week
|
|
210
|
+
- Average confidence improvement (pre/post research)
|
|
211
|
+
- Reuse rate (how often saved expertise is recalled)
|
|
212
|
+
- Time saved vs manual research
|
|
213
|
+
- User satisfaction with expert answers
|
|
214
|
+
|
|
215
|
+
## Files Structure
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
.claude/skills/self-improving-agent/
|
|
219
|
+
├── SKILL.md # This documentation
|
|
220
|
+
├── scripts/
|
|
221
|
+
│ ├── __init__.py # Package exports
|
|
222
|
+
│ ├── self_improving_agent.py # Core pipeline implementation
|
|
223
|
+
│ ├── self-improving-agent # CLI wrapper (executable)
|
|
224
|
+
│ ├── nlm_curation.py # Deep research + source scoring/pruning
|
|
225
|
+
│ ├── auto_detect.py # Auto-detection integration
|
|
226
|
+
│ ├── init_expertise_registry.py # Registry initialization
|
|
227
|
+
│ ├── test_self_improving.py # Test suite
|
|
228
|
+
│ └── test_curation_scorer.py # Curation scorer unit test
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Testing
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Run full test suite
|
|
235
|
+
cd scripts && python3 test_self_improving.py
|
|
236
|
+
|
|
237
|
+
# Test individual components
|
|
238
|
+
python3 -c "from auto_detect import AutoExpertiseDetector; d=AutoExpertiseDetector('clawd'); print(d.analyze_query('How to optimize PostgreSQL?'))"
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## License
|
|
242
|
+
|
|
243
|
+
MIT — Part of the OpenClaw skill ecosystem.
|
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: self-improving-agent
|
|
3
|
+
description: "Autonomous expertise building: when an agent lacks knowledge on a topic, research it deeply via YouTube + NotebookLM deep research with source curation, generate a mindmap, ask expert questions, and persist mastery to Inkstone. USE WHEN: about to say 'I don't know' on a technical/business topic, user says 'become an expert on X' / 'master X' / 'research X deeply', confidence gap detected, unfamiliar domain encountered, need grounded answers on a new subject."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: self-improving-agent
|
|
7
|
+
|
|
8
|
+
# Self-Improving Agent System
|
|
9
|
+
|
|
10
|
+
An autonomous learning system that detects expertise gaps, conducts deep research via YouTube + NotebookLM, generates mindmaps, formulates intelligent questions, and persists learned expertise to Inkstone for future agent sessions.
|
|
11
|
+
|
|
12
|
+
## Core Philosophy
|
|
13
|
+
|
|
14
|
+
**Every agent becomes a master at any topic it encounters** — no more "I don't know" or generic responses. When an agent hits a knowledge boundary, it:
|
|
15
|
+
|
|
16
|
+
1. **Detects the gap** — recognizes when it lacks genuine expertise
|
|
17
|
+
2. **Researches deeply** — pulls from YouTube + curated NLM sources
|
|
18
|
+
3. **Synthesizes intelligence** — generates mindmaps, extracts patterns
|
|
19
|
+
4. **Questions intelligently** — formulates expert-level NLM queries
|
|
20
|
+
5. **Persists permanently** — saves to Inkstone with full traceability
|
|
21
|
+
6. **Reuses instantly** — future sessions recall the mastered knowledge
|
|
22
|
+
|
|
23
|
+
## Architecture
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
27
|
+
│ EXPERTISE GAP DETECTED │
|
|
28
|
+
└──────────────────────────────┬──────────────────────────────┘
|
|
29
|
+
│
|
|
30
|
+
▼
|
|
31
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
32
|
+
│ YOUTUBE RESEARCH (youtube-summarize + agent-reach) │
|
|
33
|
+
│ • Find top 10-20 videos on topic │
|
|
34
|
+
│ • Extract transcripts, key points, expert interviews │
|
|
35
|
+
│ • Identify thought leaders, contrarian views │
|
|
36
|
+
└──────────────────────────────┬──────────────────────────────┘
|
|
37
|
+
│
|
|
38
|
+
▼
|
|
39
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
40
|
+
│ NLM CURATED RESEARCH (notebooklm + nlm-cli) │
|
|
41
|
+
│ • Create/load topic-specific notebook │
|
|
42
|
+
│ • Add YouTube sources + web articles + PDFs │
|
|
43
|
+
│ • Generate mindmap (hub & spoke structure) │
|
|
44
|
+
│ • Run cross-notebook synthesis │
|
|
45
|
+
└──────────────────────────────┬──────────────────────────────┘
|
|
46
|
+
│
|
|
47
|
+
▼
|
|
48
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
49
|
+
│ INTELLIGENT QUESTION FORMULATION │
|
|
50
|
+
│ • Gap-analysis questions (what's missing?) │
|
|
51
|
+
│ • Contrarian questions (what do experts disagree on?) │
|
|
52
|
+
│ • Application questions (how to implement?) │
|
|
53
|
+
│ • Future-projection questions (where is this going?) │
|
|
54
|
+
└──────────────────────────────┬──────────────────────────────┘
|
|
55
|
+
│
|
|
56
|
+
▼
|
|
57
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
58
|
+
│ INKSTONE PERSISTENCE (inkstone-admin) │
|
|
59
|
+
│ • Save mindmap as structured memory │
|
|
60
|
+
│ • Save expert Q&A pairs │
|
|
61
|
+
│ • Save contrarian viewpoints │
|
|
62
|
+
│ • Save implementation patterns │
|
|
63
|
+
│ • Link to agent expertise registry │
|
|
64
|
+
└──────────────────────────────┬──────────────────────────────┘
|
|
65
|
+
│
|
|
66
|
+
▼
|
|
67
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
68
|
+
│ AGENT EXPERTISE REGISTRY │
|
|
69
|
+
│ • Topic → Agent mastery mapping │
|
|
70
|
+
│ • Confidence scores per topic │
|
|
71
|
+
│ • Last researched timestamp │
|
|
72
|
+
│ • Source traceability │
|
|
73
|
+
└─────────────────────────────────────────────────────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## When to Trigger
|
|
77
|
+
|
|
78
|
+
**AUTOMATIC TRIGGERS (agent detects internally):**
|
|
79
|
+
- Query topic not in agent's Inkstone expertise namespace
|
|
80
|
+
- Confidence score < 0.7 for topic in expertise registry
|
|
81
|
+
- User asks "how do I..." or "what's the best way to..." on unfamiliar topic
|
|
82
|
+
- Agent would otherwise say "I don't know" or give generic answer
|
|
83
|
+
|
|
84
|
+
**MANUAL TRIGGERS (user invocation):**
|
|
85
|
+
- `/self-improving-agent research <topic>`
|
|
86
|
+
- `/self-improving-agent master <topic>`
|
|
87
|
+
- Explicit request: "become an expert on X"
|
|
88
|
+
|
|
89
|
+
## Core Commands
|
|
90
|
+
|
|
91
|
+
### 1. Research & Master a Topic
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Full research pipeline
|
|
95
|
+
self-improving-agent master "topic name" [--agent=clawd] [--depth=deep]
|
|
96
|
+
|
|
97
|
+
# Quick research (existing sources only)
|
|
98
|
+
self-improving-agent research "topic name" [--sources=existing]
|
|
99
|
+
|
|
100
|
+
# Check current expertise level
|
|
101
|
+
self-improving-agent status "topic name"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 2. Query Agent Expertise
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# What does this agent know?
|
|
108
|
+
self-improving-agent expertise [--agent=clawd] [--topic="*"]
|
|
109
|
+
|
|
110
|
+
# Find best agent for topic
|
|
111
|
+
self-improving-agent find-expert "topic name"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 3. Manage Knowledge
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Refresh outdated knowledge
|
|
118
|
+
self-improving-agent refresh "topic name" [--force]
|
|
119
|
+
|
|
120
|
+
# List all mastered topics
|
|
121
|
+
self-improving-agent topics [--agent=clawd]
|
|
122
|
+
|
|
123
|
+
# Export knowledge for sharing
|
|
124
|
+
self-improving-agent export "topic name" --format=markdown
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Implementation Details
|
|
128
|
+
|
|
129
|
+
### Phase 1: Expertise Gap Detection
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
# Check Inkstone for existing expertise
|
|
133
|
+
namespace = f"/business/aiwithjai/agents/{agent_name}/expertise/{topic_slug}"
|
|
134
|
+
existing = inkstone_search(query=topic, namespace=namespace)
|
|
135
|
+
|
|
136
|
+
# Check expertise registry
|
|
137
|
+
registry_key = f"{agent_name}:{topic_slug}"
|
|
138
|
+
confidence = get_expertise_confidence(registry_key)
|
|
139
|
+
|
|
140
|
+
if not existing or confidence < 0.7:
|
|
141
|
+
trigger_research_pipeline(topic, agent_name)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Phase 2: YouTube Deep Research
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Find top videos (using agent-reach or youtube-search)
|
|
148
|
+
agent-reach search "topic" --platform youtube --limit 20
|
|
149
|
+
|
|
150
|
+
# For each video: extract insights
|
|
151
|
+
youtube-summarize "URL" --mode key_points --json
|
|
152
|
+
youtube-summarize "URL" --mode transcript
|
|
153
|
+
youtube-summarize "URL" --mode ideas
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Phase 3: NLM Curation (with source pruning)
|
|
157
|
+
|
|
158
|
+
NLM deep research finds related web pages + documents automatically, but pulls irrelevant stuff. Two-stage curation fixes this:
|
|
159
|
+
|
|
160
|
+
**Stage 1 — Import-time (`--cited-only`):** research completes → only sources NLM actually cited in its research summary get imported. Built-in first filter.
|
|
161
|
+
|
|
162
|
+
**Stage 2 — Post-import scoring (`scripts/nlm_curation.py`):** every imported source scored on:
|
|
163
|
+
- **Domain reputation** — authoritative domains (arxiv, official docs, github) up; aggregators (pinterest, quora, tiktok) down
|
|
164
|
+
- **Topic-token overlap** — keyword match between topic and source title
|
|
165
|
+
- **Spam patterns** — listicle/SEO titles ("Top 10...", "you won't believe...") penalized
|
|
166
|
+
- **Floor protection** — never prunes below 5 sources; rescues best scorers if needed
|
|
167
|
+
|
|
168
|
+
Sources below threshold (default 0.35) are deleted. Every run writes an auditable report to `memory/curation-reports/`.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# Score + report only (dry-run, default)
|
|
172
|
+
python3 scripts/nlm_curation.py curate --topic "vector databases" --notebook <id>
|
|
173
|
+
|
|
174
|
+
# Score + actually delete below-threshold sources
|
|
175
|
+
python3 scripts/nlm_curation.py curate --topic "vector databases" --notebook <id> --execute
|
|
176
|
+
|
|
177
|
+
# Full: deep research → cited-only import → post-import pruning
|
|
178
|
+
python3 scripts/nlm_curation.py research --topic "vector databases" --notebook <id> --mode deep --execute
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Then:
|
|
182
|
+
```bash
|
|
183
|
+
# Add our own chosen sources (YouTube provenance: we picked them)
|
|
184
|
+
notebooklm source add "https://youtube.com/..." -n <notebook_id> --json
|
|
185
|
+
|
|
186
|
+
# Generate mindmap from the CURATED source set (note-backed, sync)
|
|
187
|
+
notebooklm generate mind-map --kind note-backed -n <notebook_id> --json
|
|
188
|
+
|
|
189
|
+
# Grounded queries against the curated notebook
|
|
190
|
+
notebooklm ask "question" -n <notebook_id> --json
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Phase 4: Intelligent Question Formulation
|
|
194
|
+
|
|
195
|
+
**Question Templates by Category:**
|
|
196
|
+
|
|
197
|
+
| Category | Template | Purpose |
|
|
198
|
+
|----------|----------|---------|
|
|
199
|
+
| **Foundational** | "What are the first principles of {topic}?" | Build ground-up understanding |
|
|
200
|
+
| **Expert Patterns** | "What do the top 1% of practitioners do differently in {topic}?" | Extract elite practices |
|
|
201
|
+
| **Contrarian** | "What common wisdom about {topic} is wrong? What's the evidence?" | Find edge cases |
|
|
202
|
+
| **Implementation** | "Walk me through a production implementation of {topic} with error handling" | Practical application |
|
|
203
|
+
| **Failure Modes** | "What are the most common ways {topic} fails in production?" | Risk mitigation |
|
|
204
|
+
| **Evolution** | "How has {topic} changed in the last 12 months? What's next?" | Future-proofing |
|
|
205
|
+
| **Integration** | "How does {topic} integrate with {our_stack}? Show real code." | Contextual application |
|
|
206
|
+
| **Metrics** | "What are the key metrics to measure success in {topic}?" | Evaluation framework |
|
|
207
|
+
|
|
208
|
+
### Phase 5: Inkstone Persistence
|
|
209
|
+
|
|
210
|
+
```python
|
|
211
|
+
# Save mindmap structure
|
|
212
|
+
inkstone_write(
|
|
213
|
+
text=mindmap_markdown,
|
|
214
|
+
namespace=f"/business/aiwithjai/agents/{agent}/expertise/{topic}",
|
|
215
|
+
knowledgeType="procedural",
|
|
216
|
+
tags=["mindmap", "mastery", topic],
|
|
217
|
+
confidence=0.95,
|
|
218
|
+
source=f"self-improving-agent:master:{topic}:{timestamp}"
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
# Save each Q&A pair
|
|
222
|
+
for q, a in qa_pairs:
|
|
223
|
+
inkstone_write(
|
|
224
|
+
text=f"Q: {q}\n\nA: {a}",
|
|
225
|
+
namespace=f"/business/aiwithjai/agents/{agent}/expertise/{topic}/qa",
|
|
226
|
+
knowledgeType="factual",
|
|
227
|
+
tags=["qa", "expert-answer", topic],
|
|
228
|
+
confidence=0.9,
|
|
229
|
+
source=f"self-improving-agent:qa:{topic}:{timestamp}"
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
# Update expertise registry
|
|
233
|
+
update_expertise_registry(agent, topic, confidence=0.95, notebook_id=notebook_id)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Phase 6: Expertise Registry
|
|
237
|
+
|
|
238
|
+
**Storage:** `memory/agent-expertise-registry.json`
|
|
239
|
+
|
|
240
|
+
```json
|
|
241
|
+
{
|
|
242
|
+
"clawd": {
|
|
243
|
+
"google-ads": {
|
|
244
|
+
"confidence": 0.95,
|
|
245
|
+
"last_researched": "2026-09-12",
|
|
246
|
+
"notebook_id": "abc-123",
|
|
247
|
+
"topics_mastered": ["campaign structure", "keyword research", "conversion tracking"],
|
|
248
|
+
"source_count": 47
|
|
249
|
+
},
|
|
250
|
+
"remotion": {
|
|
251
|
+
"confidence": 0.88,
|
|
252
|
+
"last_researched": "2026-08-20",
|
|
253
|
+
"notebook_id": "def-456",
|
|
254
|
+
"topics_mastered": ["animation patterns", "rendering optimization", "audio sync"],
|
|
255
|
+
"source_count": 32
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## Integration with Existing Skills
|
|
262
|
+
|
|
263
|
+
### Required Skills (auto-loaded)
|
|
264
|
+
- `notebooklm` — canonical NLM operations
|
|
265
|
+
- `nlm-cli` — batch, cross-notebook, pipeline commands
|
|
266
|
+
- `youtube-summarize` — video content extraction
|
|
267
|
+
- `inkstone-admin` — advanced memory operations
|
|
268
|
+
- `agent-reach` — YouTube search (free transcripts alternative)
|
|
269
|
+
|
|
270
|
+
### Complementary Skills
|
|
271
|
+
- `nlm-hub-spoke` — hub/spoke article generation from mindmaps
|
|
272
|
+
- `nlm-grounded-writer` — mega-prompt writing with brand context
|
|
273
|
+
- `self-improve` — outcome journaling for learning loop
|
|
274
|
+
- `routine-capture` — turn successful research runs into skills
|
|
275
|
+
|
|
276
|
+
## Usage Examples
|
|
277
|
+
|
|
278
|
+
### Example 1: Agent encounters unknown topic
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
User: "How do I set up a high-frequency trading bot with Rust?"
|
|
282
|
+
Agent (internal): No expertise in HFT + Rust. Triggering self-improving-agent...
|
|
283
|
+
→ Researches: YouTube (QuantConnect, TradeBot, Quantopian videos)
|
|
284
|
+
→ Curates: NLM notebook with 15 sources
|
|
285
|
+
→ Mindmap: Architecture, risk management, latency optimization, Rust crates
|
|
286
|
+
→ Questions: "What's the minimum viable latency for crypto HFT in Rust?"
|
|
287
|
+
→ Persists: Full mastery to Inkstone
|
|
288
|
+
→ Answers: Comprehensive technical response with code patterns
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Example 2: Proactive mastery building
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
User: "/self-improving-agent master 'AI agent memory systems'"
|
|
295
|
+
→ Creates comprehensive expertise in:
|
|
296
|
+
- Vector databases (Pinecone, Weaviate, Qdrant)
|
|
297
|
+
- Embedding strategies (OpenAI, Cohere, local)
|
|
298
|
+
- Retrieval patterns (RAG, GraphRAG, HyDE)
|
|
299
|
+
- Context window optimization
|
|
300
|
+
- Long-term vs working memory architectures
|
|
301
|
+
→ Saves to all agent namespaces for cross-agent reuse
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Example 3: Cross-agent expertise sharing
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
Agent A masters "WebRTC for real-time collaboration"
|
|
308
|
+
→ Saved to /business/aiwithjai/agents/A/expertise/webrtc
|
|
309
|
+
→ Registry updated: Agent A confidence 0.94
|
|
310
|
+
|
|
311
|
+
Agent B needs WebRTC knowledge
|
|
312
|
+
→ Checks registry → finds Agent A mastery
|
|
313
|
+
→ Loads Agent A's Inkstone namespace
|
|
314
|
+
→ Instantly has expert-level knowledge without re-research
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Configuration
|
|
318
|
+
|
|
319
|
+
### Environment Variables
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
# Required
|
|
323
|
+
GEMINI_API_KEY=xxx # For youtube-summarize
|
|
324
|
+
NOTEBOLLM_COOKIES_PATH=~/.notebooklm # For notebooklm auth
|
|
325
|
+
|
|
326
|
+
# Optional
|
|
327
|
+
SELF_IMPROVING_AGENT_DEPTH=deep # quick|standard|deep
|
|
328
|
+
SELF_IMPROVING_AGENT_MAX_VIDEOS=20
|
|
329
|
+
SELF_IMPROVING_AGENT_MAX_SOURCES=50
|
|
330
|
+
SELF_IMPROVING_AGENT_CONFIDENCE_THRESHOLD=0.7
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Inkstone Namespaces
|
|
334
|
+
|
|
335
|
+
Per-agent expertise stored at:
|
|
336
|
+
```
|
|
337
|
+
/business/aiwithjai/agents/{agent_name}/expertise/{topic_slug}/
|
|
338
|
+
├── mindmap/ # Structured mindmap
|
|
339
|
+
├── qa/ # Expert Q&A pairs
|
|
340
|
+
├── sources/ # Source metadata
|
|
341
|
+
├── patterns/ # Implementation patterns
|
|
342
|
+
├── contrarian/ # Contrarian viewpoints
|
|
343
|
+
└── metrics/ # Evaluation frameworks
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
Global registry at:
|
|
347
|
+
```
|
|
348
|
+
/system/agent-expertise-registry/
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
## Verification & Quality Gates
|
|
352
|
+
|
|
353
|
+
### Research Quality Checks
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# Minimum sources
|
|
357
|
+
- YouTube: ≥ 5 videos from distinct channels
|
|
358
|
+
- Web: ≥ 10 articles from authoritative domains
|
|
359
|
+
- PDF/Papers: ≥ 3 technical papers/reports
|
|
360
|
+
|
|
361
|
+
# Mindmap quality
|
|
362
|
+
- Depth ≥ 3 levels
|
|
363
|
+
- ≥ 20 nodes at leaf level
|
|
364
|
+
- Cross-references between branches
|
|
365
|
+
|
|
366
|
+
# Question quality
|
|
367
|
+
- ≥ 15 intelligent questions formulated
|
|
368
|
+
- Coverage across all 8 question categories
|
|
369
|
+
- Each question answered with ≥ 300 words
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Persistence Verification
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
# After save, verify retrieval
|
|
376
|
+
inkstone_search(query="topic", namespace="agent/expertise/topic")
|
|
377
|
+
# Must return: mindmap + ≥ 10 Q&A pairs + sources
|
|
378
|
+
|
|
379
|
+
# Registry consistency
|
|
380
|
+
# Agent expertise confidence must match saved content quality
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## Error Handling & Fallbacks
|
|
384
|
+
|
|
385
|
+
| Failure Point | Fallback |
|
|
386
|
+
|---------------|----------|
|
|
387
|
+
| YouTube blocked | Use agent-reach free transcripts |
|
|
388
|
+
| NLM auth expired | Use local Inkstone + Gemini File Search |
|
|
389
|
+
| Mindmap generation fails | Build manual mindmap from Q&A |
|
|
390
|
+
| Inkstone write fails | Queue for retry, save to local JSON |
|
|
391
|
+
| Registry corrupted | Rebuild from Inkstone namespaces |
|
|
392
|
+
|
|
393
|
+
## Monitoring & Analytics
|
|
394
|
+
|
|
395
|
+
Track in `memory/self-improving-agent.log`:
|
|
396
|
+
- Topics researched per agent per week
|
|
397
|
+
- Average confidence improvement (pre/post research)
|
|
398
|
+
- Reuse rate (how often saved expertise is recalled)
|
|
399
|
+
- Time saved vs manual research
|
|
400
|
+
- User satisfaction with expert answers
|
|
401
|
+
|
|
402
|
+
## Quick Start
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
# 1. Install dependencies
|
|
406
|
+
pip install notebooklm-py[browser] # if not already
|
|
407
|
+
npm install -g @anthropic/claude-code # for agent integration
|
|
408
|
+
|
|
409
|
+
# 2. Verify auth
|
|
410
|
+
~/clawdbot/clawd/scripts/nlm_auth_preflight.sh
|
|
411
|
+
nlm login --check
|
|
412
|
+
|
|
413
|
+
# 3. Test the pipeline
|
|
414
|
+
self-improving-agent master "test topic" --depth=quick
|
|
415
|
+
|
|
416
|
+
# 4. Verify expertise saved
|
|
417
|
+
self-improving-agent status "test topic"
|
|
418
|
+
self-improving-agent expertise --agent=clawd
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
## Advanced: Batch Mastery
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
# Master multiple related topics
|
|
425
|
+
self-improving-agent batch-master \
|
|
426
|
+
"Rust async patterns" \
|
|
427
|
+
"Tokio runtime internals" \
|
|
428
|
+
"Async-graphQL in Rust" \
|
|
429
|
+
--shared-notebook="Rust Async Mastery"
|
|
430
|
+
|
|
431
|
+
# This creates ONE notebook with all topics,
|
|
432
|
+
# cross-linked mindmap, shared Q&A context
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
**Remember:** The goal is not just to answer the current question — it's to permanently upgrade the agent's intelligence so every future session benefits from this research. The knowledge compounds across all agents, all sessions, all time.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Self-Improving Agent Package
|
|
3
|
+
Provides autonomous expertise building for AI agents.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from .self_improving_agent import ExpertiseGapDetector, ResearchPipeline
|
|
7
|
+
from .auto_detect import AutoExpertiseDetector, check_and_research
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"ExpertiseGapDetector",
|
|
11
|
+
"ResearchPipeline",
|
|
12
|
+
"AutoExpertiseDetector",
|
|
13
|
+
"check_and_research"
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
__version__ = "1.0.0"
|