@jairodri/huckleberry-cli 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -0
- package/agents/cos.json +2 -5
- package/agents/hermes/AGENTS.md +25 -49
- package/agents/hermes/fix-kimaki/SKILL.md +19 -92
- package/agents/hermes/hermes-fixer.md +44 -74
- package/agents/hermes.json +6 -18
- package/kanban/SKILL.md +18 -18
- package/kanban/package.json +1 -1
- package/kanban/src/dispatcher.mjs +1 -1
- package/kanban/templates/blog-social-campaign.yaml +6 -2
- package/kanban/templates/social-campaign.yaml +9 -4
- package/mcp/jev-calibration.mjs +335 -0
- package/mcp/jev-client.mjs +119 -0
- package/mcp/jev-thresholds.json +27 -0
- package/package.json +13 -9
- package/scripts/doctor-watchdog.sh +73 -0
- package/scripts/install-services.sh +34 -27
- package/scripts/self-improve-weekly.sh +34 -0
- package/scripts/sync-skills.mjs +121 -0
- package/skills/ab-test-setup/SKILL.md +266 -0
- package/skills/ab-test-setup/evals/evals.json +105 -0
- package/skills/ab-test-setup/references/sample-size-guide.md +263 -0
- package/skills/ab-test-setup/references/test-templates.md +277 -0
- package/skills/agent-reach/SKILL.md +132 -0
- package/skills/agent-reach/references/career.md +29 -0
- package/skills/agent-reach/references/dev.md +62 -0
- package/skills/agent-reach/references/search.md +33 -0
- package/skills/agent-reach/references/social.md +232 -0
- package/skills/agent-reach/references/video.md +130 -0
- package/skills/agent-reach/references/web.md +50 -0
- package/skills/ai-agent-seo/SKILL.md +450 -0
- package/skills/ai-cold-email-intelligence/SKILL.md +54 -0
- package/skills/ai-cold-email-intelligence/references/prompts.md +21 -0
- package/skills/ai-consensus-builder/SKILL.md +324 -0
- package/skills/ai-seo/SKILL.md +399 -0
- package/skills/ai-seo/evals/evals.json +90 -0
- package/skills/ai-seo/references/content-patterns.md +284 -0
- package/skills/ai-seo/references/platform-ranking-factors.md +152 -0
- package/skills/ai-visibility-audit/SKILL.md +322 -0
- package/skills/analytics-tracking/SKILL.md +309 -0
- package/skills/analytics-tracking/evals/evals.json +90 -0
- package/skills/analytics-tracking/references/event-library.md +260 -0
- package/skills/analytics-tracking/references/ga4-implementation.md +300 -0
- package/skills/analytics-tracking/references/gtm-implementation.md +390 -0
- package/skills/article-generator/SKILL.md +216 -0
- package/skills/auto-indexing/SKILL.md +179 -0
- package/skills/auto-indexing/scripts/auto-indexing.js +257 -0
- package/skills/auto-skill/SKILL.md +151 -0
- package/skills/auto-skill/correction-queue.js +102 -0
- package/skills/auto-skill/dedup.js +97 -0
- package/skills/auto-skill/skill-router.js +224 -0
- package/skills/autoresearch/SKILL.md +334 -0
- package/skills/autoresearch/autoresearch-autoresearch/SKILL.md.baseline +329 -0
- package/skills/autoresearch/autoresearch-autoresearch/changelog.md +34 -0
- package/skills/autoresearch/autoresearch-autoresearch/dashboard.html +116 -0
- package/skills/autoresearch/autoresearch-autoresearch/evals.md +39 -0
- package/skills/autoresearch/autoresearch-autoresearch/results.json +44 -0
- package/skills/autoresearch/autoresearch-autoresearch/results.tsv +3 -0
- package/skills/autoresearch/eval-guide.md +121 -0
- package/skills/b2b-cold-outreach/SKILL.md +322 -0
- package/skills/birdclaw/SKILL.md +82 -0
- package/skills/brainstorm/SKILL.md +168 -0
- package/skills/brand-kit-playground/SKILL.md +312 -0
- package/skills/brand-kit-playground/references/html-architecture.md +316 -0
- package/skills/brand-kit-playground/references/steal-patterns.md +88 -0
- package/skills/brand-voice/SKILL.md +223 -0
- package/skills/brand-voice/references/honesty-as-positioning.md +60 -0
- package/skills/brand-voice/references/voice-modes.md +1158 -0
- package/skills/business-advisory-council/README.md +136 -0
- package/skills/business-advisory-council/SKILL.md +94 -0
- package/skills/business-advisory-council/business-advisory-council.py +492 -0
- package/skills/business-advisory-council/discord-components-decision.json +8 -0
- package/skills/business-advisory-council/examples/steve-conley-partnership.json +6 -0
- package/skills/business-advisory-council/steve-conley-call-brief.json +6 -0
- package/skills/churn-prevention/SKILL.md +305 -0
- package/skills/churn-prevention/evals/evals.json +93 -0
- package/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/skills/churn-prevention/references/dunning-playbook.md +408 -0
- package/skills/claw-compactor/LICENSE +21 -0
- package/skills/claw-compactor/README.md +459 -0
- package/skills/claw-compactor/SKILL.md +329 -0
- package/skills/claw-compactor/benchmark/RESULTS.md +104 -0
- package/skills/claw-compactor/benchmark/__init__.py +1 -0
- package/skills/claw-compactor/benchmark/compressors.py +520 -0
- package/skills/claw-compactor/benchmark/data/sample_01_devops.json +82 -0
- package/skills/claw-compactor/benchmark/data/sample_02_trading.json +54 -0
- package/skills/claw-compactor/benchmark/data/sample_03_ml_short.json +38 -0
- package/skills/claw-compactor/benchmark/data/sample_04_mixed_long.json +318 -0
- package/skills/claw-compactor/benchmark/data/sample_05_sysadmin.json +56 -0
- package/skills/claw-compactor/benchmark/evaluate.py +278 -0
- package/skills/claw-compactor/benchmark/report.py +241 -0
- package/skills/claw-compactor/benchmark/results/benchmark_results.json +405 -0
- package/skills/claw-compactor/benchmark/run_benchmark.py +238 -0
- package/skills/claw-compactor/engram.yaml +49 -0
- package/skills/claw-compactor/proxy/README.md +87 -0
- package/skills/claw-compactor/proxy/dashboard.html +804 -0
- package/skills/claw-compactor/proxy/event-log.mjs +213 -0
- package/skills/claw-compactor/proxy/fair-queue.mjs +288 -0
- package/skills/claw-compactor/proxy/metrics-store.mjs +425 -0
- package/skills/claw-compactor/proxy/package-lock.json +125 -0
- package/skills/claw-compactor/proxy/package.json +15 -0
- package/skills/claw-compactor/proxy/portal.html +360 -0
- package/skills/claw-compactor/proxy/process-registry.mjs +447 -0
- package/skills/claw-compactor/proxy/rate-limiter.mjs +117 -0
- package/skills/claw-compactor/proxy/redis-client.mjs +75 -0
- package/skills/claw-compactor/proxy/retry.mjs +182 -0
- package/skills/claw-compactor/proxy/server.mjs +2100 -0
- package/skills/claw-compactor/proxy/session-affinity.mjs +177 -0
- package/skills/claw-compactor/proxy/start.sh +23 -0
- package/skills/claw-compactor/proxy/test/event-log.test.mjs +237 -0
- package/skills/claw-compactor/proxy/test/helpers.mjs +103 -0
- package/skills/claw-compactor/proxy/test/integration.test.mjs +297 -0
- package/skills/claw-compactor/proxy/test/metrics-store.test.mjs +243 -0
- package/skills/claw-compactor/proxy/test/process-registry.test.mjs +390 -0
- package/skills/claw-compactor/proxy/test/rate-limiter.test.mjs +121 -0
- package/skills/claw-compactor/proxy/test/redis-client.test.mjs +62 -0
- package/skills/claw-compactor/proxy/test/token-tracker.test.mjs +200 -0
- package/skills/claw-compactor/proxy/token-tracker.mjs +482 -0
- package/skills/claw-compactor/pyproject.toml +26 -0
- package/skills/claw-compactor/references/README.md +44 -0
- package/skills/claw-compactor/references/architecture.md +197 -0
- package/skills/claw-compactor/references/benchmarks.md +94 -0
- package/skills/claw-compactor/references/compression-prompts.md +39 -0
- package/skills/claw-compactor/references/compression-techniques.md +219 -0
- package/skills/claw-compactor/references/testing.md +160 -0
- package/skills/claw-compactor/scripts/audit_memory.py +216 -0
- package/skills/claw-compactor/scripts/compress_memory.py +236 -0
- package/skills/claw-compactor/scripts/compressed_context.py +280 -0
- package/skills/claw-compactor/scripts/dedup_memory.py +147 -0
- package/skills/claw-compactor/scripts/dictionary_compress.py +170 -0
- package/skills/claw-compactor/scripts/engram-auto.sh +152 -0
- package/skills/claw-compactor/scripts/engram_auto.py +695 -0
- package/skills/claw-compactor/scripts/engram_cli.py +474 -0
- package/skills/claw-compactor/scripts/estimate_tokens.py +131 -0
- package/skills/claw-compactor/scripts/generate_summary_tiers.py +292 -0
- package/skills/claw-compactor/scripts/lib/__init__.py +34 -0
- package/skills/claw-compactor/scripts/lib/config.py +289 -0
- package/skills/claw-compactor/scripts/lib/dedup.py +119 -0
- package/skills/claw-compactor/scripts/lib/dictionary.py +281 -0
- package/skills/claw-compactor/scripts/lib/engram.py +793 -0
- package/skills/claw-compactor/scripts/lib/engram_prompts.py +175 -0
- package/skills/claw-compactor/scripts/lib/engram_storage.py +254 -0
- package/skills/claw-compactor/scripts/lib/exceptions.py +24 -0
- package/skills/claw-compactor/scripts/lib/markdown.py +312 -0
- package/skills/claw-compactor/scripts/lib/rle.py +165 -0
- package/skills/claw-compactor/scripts/lib/tokenizer_optimizer.py +188 -0
- package/skills/claw-compactor/scripts/lib/tokens.py +68 -0
- package/skills/claw-compactor/scripts/mem_compress.py +788 -0
- package/skills/claw-compactor/scripts/observation_compressor.py +346 -0
- package/skills/claw-compactor/tests/__init__.py +0 -0
- package/skills/claw-compactor/tests/conftest.py +94 -0
- package/skills/claw-compactor/tests/test_audit_comprehensive.py +123 -0
- package/skills/claw-compactor/tests/test_audit_memory.py +67 -0
- package/skills/claw-compactor/tests/test_benchmark.py +122 -0
- package/skills/claw-compactor/tests/test_cli_commands.py +228 -0
- package/skills/claw-compactor/tests/test_compress_memory.py +109 -0
- package/skills/claw-compactor/tests/test_compress_memory_comprehensive.py +191 -0
- package/skills/claw-compactor/tests/test_compressed_context.py +145 -0
- package/skills/claw-compactor/tests/test_config.py +54 -0
- package/skills/claw-compactor/tests/test_dedup_memory.py +124 -0
- package/skills/claw-compactor/tests/test_dictionary.py +327 -0
- package/skills/claw-compactor/tests/test_dictionary_comprehensive.py +241 -0
- package/skills/claw-compactor/tests/test_engram.py +1091 -0
- package/skills/claw-compactor/tests/test_engram_auto.py +529 -0
- package/skills/claw-compactor/tests/test_error_handling.py +194 -0
- package/skills/claw-compactor/tests/test_estimate_tokens.py +99 -0
- package/skills/claw-compactor/tests/test_generate_summary_tiers.py +105 -0
- package/skills/claw-compactor/tests/test_integration.py +249 -0
- package/skills/claw-compactor/tests/test_lib_dedup.py +135 -0
- package/skills/claw-compactor/tests/test_lib_markdown.py +388 -0
- package/skills/claw-compactor/tests/test_lib_tokens.py +82 -0
- package/skills/claw-compactor/tests/test_main_entry.py +176 -0
- package/skills/claw-compactor/tests/test_markdown_advanced.py +284 -0
- package/skills/claw-compactor/tests/test_new_features.py +77 -0
- package/skills/claw-compactor/tests/test_observation_comprehensive.py +261 -0
- package/skills/claw-compactor/tests/test_observation_compressor.py +128 -0
- package/skills/claw-compactor/tests/test_performance.py +172 -0
- package/skills/claw-compactor/tests/test_pipeline.py +109 -0
- package/skills/claw-compactor/tests/test_real_workspace.py +161 -0
- package/skills/claw-compactor/tests/test_rle.py +114 -0
- package/skills/claw-compactor/tests/test_rle_comprehensive.py +151 -0
- package/skills/claw-compactor/tests/test_roundtrip.py +253 -0
- package/skills/claw-compactor/tests/test_roundtrip_comprehensive.py +192 -0
- package/skills/claw-compactor/tests/test_tiers_comprehensive.py +171 -0
- package/skills/claw-compactor/tests/test_token_economics.py +237 -0
- package/skills/claw-compactor/tests/test_tokenizer_optimizer.py +175 -0
- package/skills/claw-compactor/tests/test_tokenizer_optimizer_comprehensive.py +241 -0
- package/skills/claw-compactor/tests/test_tokens.py +27 -0
- package/skills/cmo/CHANGELOG.md +61 -0
- package/skills/cmo/SKILL.md +500 -0
- package/skills/cmo/references/ai-slop-patterns.md +56 -0
- package/skills/cmo/references/analytics-guide.md +152 -0
- package/skills/cmo/references/ideas-library.md +197 -0
- package/skills/cmo/rules/brand-file-map.md +198 -0
- package/skills/cmo/rules/brand-memory.md +158 -0
- package/skills/cmo/rules/cli-runtime-index.md +95 -0
- package/skills/cmo/rules/command-reference.md +167 -0
- package/skills/cmo/rules/communication.md +15 -0
- package/skills/cmo/rules/context-switch.md +101 -0
- package/skills/cmo/rules/ecosystem.md +125 -0
- package/skills/cmo/rules/error-recovery.md +98 -0
- package/skills/cmo/rules/learning-loop.md +170 -0
- package/skills/cmo/rules/monorepo.md +78 -0
- package/skills/cmo/rules/output-format.md +124 -0
- package/skills/cmo/rules/persona.md +15 -0
- package/skills/cmo/rules/playbooks.md +327 -0
- package/skills/cmo/rules/progressive-enhancement.md +231 -0
- package/skills/cmo/rules/publish-index.md +106 -0
- package/skills/cmo/rules/quality-gate.md +90 -0
- package/skills/cmo/rules/recency-grounding.md +124 -0
- package/skills/cmo/rules/safety.md +80 -0
- package/skills/cmo/rules/studio-api-index.md +138 -0
- package/skills/cmo/rules/studio-integration.md +147 -0
- package/skills/cmo/rules/sub-agents.md +167 -0
- package/skills/cold-email/SKILL.md +240 -0
- package/skills/cold-email/evals/evals.json +94 -0
- package/skills/cold-email/references/benchmarks.md +83 -0
- package/skills/cold-email/references/follow-up-sequences.md +81 -0
- package/skills/cold-email/references/frameworks.md +90 -0
- package/skills/cold-email/references/personalization.md +79 -0
- package/skills/cold-email/references/subject-lines.md +53 -0
- package/skills/competitive-intel/SKILL.md +433 -0
- package/skills/competitive-intel/references/competitive-frameworks.md +145 -0
- package/skills/competitor-alternatives/SKILL.md +362 -0
- package/skills/competitor-alternatives/evals/evals.json +93 -0
- package/skills/competitor-alternatives/references/content-architecture.md +271 -0
- package/skills/competitor-alternatives/references/templates.md +223 -0
- package/skills/concreteness-fixer/SKILL.md +483 -0
- package/skills/concreteness-fixer/scripts/validation/concreteness-validator.js +221 -0
- package/skills/concreteness-fixer/utils/execFileNoThrow.js +16 -0
- package/skills/content-atomizer/SKILL.md +424 -0
- package/skills/content-atomizer/references/hook-strategies.md +56 -0
- package/skills/content-atomizer/references/platform-specs.md +118 -0
- package/skills/content-atomizer/references/platforms/bluesky.md +64 -0
- package/skills/content-atomizer/references/platforms/instagram.md +77 -0
- package/skills/content-atomizer/references/platforms/linkedin.md +120 -0
- package/skills/content-atomizer/references/platforms/reddit.md +73 -0
- package/skills/content-atomizer/references/platforms/threads.md +64 -0
- package/skills/content-atomizer/references/platforms/tiktok.md +55 -0
- package/skills/content-atomizer/references/platforms/twitter.md +123 -0
- package/skills/content-atomizer/references/platforms/youtube.md +56 -0
- package/skills/content-atomizer/references/tweet-patterns.md +40 -0
- package/skills/content-repost-manager/SKILL.md +245 -0
- package/skills/content-repost-manager/scripts/content-repost-scan.py +133 -0
- package/skills/context-recovery/.clawdhub/origin.json +7 -0
- package/skills/context-recovery/SKILL.md +198 -0
- package/skills/context-recovery/_meta.json +6 -0
- package/skills/conversion-flow-cro/SKILL.md +248 -0
- package/skills/conversion-flow-cro/references/flow-benchmarks.md +158 -0
- package/skills/copy-editing/SKILL.md +474 -0
- package/skills/copy-editing/evals/evals.json +89 -0
- package/skills/copy-editing/references/plain-english-alternatives.md +394 -0
- package/skills/copywriting/SKILL.md +349 -0
- package/skills/copywriting/evals/evals.json +111 -0
- package/skills/copywriting/references/awareness-level-guide.md +227 -0
- package/skills/copywriting/references/copy-frameworks.md +389 -0
- package/skills/copywriting/references/natural-transitions.md +272 -0
- package/skills/creative/SKILL.md +365 -0
- package/skills/creative/modes/ad-creative.md +1748 -0
- package/skills/creative/modes/product-photo.md +1520 -0
- package/skills/creative/modes/product-video.md +1657 -0
- package/skills/creative/modes/social-graphics.md +1511 -0
- package/skills/creative/modes/talking-head.md +2208 -0
- package/skills/creative/references/VISUAL_INTELLIGENCE.md +1233 -0
- package/skills/deep-serp-article/SKILL.md +677 -0
- package/skills/deep-serp-article/SKILL.md.bak +530 -0
- package/skills/earned-media/SKILL.md +260 -0
- package/skills/email-sequences/SKILL.md +446 -0
- package/skills/email-sequences/references/sequence-templates.md +1217 -0
- package/skills/firecrawl/.skill-meta.json +13 -0
- package/skills/firecrawl/SKILL.md +154 -0
- package/skills/firecrawl/rules/install.md +63 -0
- package/skills/firecrawl/rules/security.md +26 -0
- package/skills/form-cro/SKILL.md +429 -0
- package/skills/form-cro/evals/evals.json +90 -0
- package/skills/free-tool-strategy/SKILL.md +325 -0
- package/skills/free-tool-strategy/evals/evals.json +90 -0
- package/skills/free-tool-strategy/references/tool-types.md +253 -0
- package/skills/frontend-slides/SKILL.md +248 -0
- package/skills/frontend-slides/STYLE_PRESETS.md +347 -0
- package/skills/frontend-slides/animation-patterns.md +110 -0
- package/skills/frontend-slides/html-template.md +347 -0
- package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/skills/frontend-slides/viewport-base.css +153 -0
- package/skills/guardrail-framework/SKILL.md +319 -0
- package/skills/hook-generator/SKILL.md +438 -0
- package/skills/hook-generator/database/2026-PLATFORM-RESEARCH.md +211 -0
- package/skills/hook-generator/database/instagram-hooks.json +591 -0
- package/skills/hook-generator/database/linkedin-hooks.json +502 -0
- package/skills/hook-generator/database/medium-hooks.json +181 -0
- package/skills/hook-generator/database/tiktok-hooks.json +337 -0
- package/skills/hook-generator/database/twitter-hooks.json +567 -0
- package/skills/hook-generator/database/youtube-hooks.json +275 -0
- package/skills/hook-generator/package-lock.json +24 -0
- package/skills/hook-generator/package.json +5 -0
- package/skills/hook-generator/references/hook-generation-system.md +257 -0
- package/skills/hook-generator/references/hook-performance-analysis.json +153 -0
- package/skills/hook-generator/references/hooks-library.md +128 -0
- package/skills/hook-generator/references/platform-hook-frameworks.md +275 -0
- package/skills/hook-generator/scripts/generate-hooks-unified.js +722 -0
- package/skills/hook-generator/scripts/generate-hooks.js +225 -0
- package/skills/hook-generator/scripts/generate.sh +36 -0
- package/skills/hook-generator/scripts/ralph-hook-enhancer.js +864 -0
- package/skills/hook-generator/scripts/test-gemini-output.js +51 -0
- package/skills/humanizer/README.md +120 -0
- package/skills/humanizer/SKILL.md +699 -0
- package/skills/image-gen/SKILL.md +277 -0
- package/skills/image-gen/references/prompt-patterns.md +114 -0
- package/skills/image-gen/references/visual-metaphors.md +51 -0
- package/skills/impeccable/SKILL.md +86 -0
- package/skills/impeccable/reference/adapt.md +312 -0
- package/skills/impeccable/reference/adapt.native.md +58 -0
- package/skills/impeccable/reference/android.md +40 -0
- package/skills/impeccable/reference/animate.md +86 -0
- package/skills/impeccable/reference/audit.md +136 -0
- package/skills/impeccable/reference/audit.native.md +139 -0
- package/skills/impeccable/reference/bolder.md +31 -0
- package/skills/impeccable/reference/clarify.md +94 -0
- package/skills/impeccable/reference/colorize.md +86 -0
- package/skills/impeccable/reference/craft-floor.md +42 -0
- package/skills/impeccable/reference/craft.md +5 -0
- package/skills/impeccable/reference/critique.md +788 -0
- package/skills/impeccable/reference/degraded/asset-producer.md +90 -0
- package/skills/impeccable/reference/degraded/documenter.md +24 -0
- package/skills/impeccable/reference/degraded/finish-reviewer.md +37 -0
- package/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
- package/skills/impeccable/reference/delight.md +70 -0
- package/skills/impeccable/reference/distill.md +111 -0
- package/skills/impeccable/reference/doctor.md +53 -0
- package/skills/impeccable/reference/document.md +416 -0
- package/skills/impeccable/reference/extract.md +69 -0
- package/skills/impeccable/reference/harden.md +336 -0
- package/skills/impeccable/reference/hooks.md +105 -0
- package/skills/impeccable/reference/init.md +125 -0
- package/skills/impeccable/reference/ios.md +45 -0
- package/skills/impeccable/reference/layout.md +84 -0
- package/skills/impeccable/reference/live-setup.md +102 -0
- package/skills/impeccable/reference/live.md +323 -0
- package/skills/impeccable/reference/new-work.md +110 -0
- package/skills/impeccable/reference/onboard.md +234 -0
- package/skills/impeccable/reference/operate.md +61 -0
- package/skills/impeccable/reference/optimize.md +258 -0
- package/skills/impeccable/reference/overdrive.md +127 -0
- package/skills/impeccable/reference/polish.md +97 -0
- package/skills/impeccable/reference/quieter.md +99 -0
- package/skills/impeccable/reference/routing.md +18 -0
- package/skills/impeccable/reference/shape.md +59 -0
- package/skills/impeccable/reference/typeset.md +80 -0
- package/skills/impeccable/reference/visualize.md +49 -0
- package/skills/impeccable/scripts/command-metadata.json +94 -0
- package/skills/impeccable/scripts/concept-seed.mjs +558 -0
- package/skills/impeccable/scripts/context-signals.mjs +334 -0
- package/skills/impeccable/scripts/context.mjs +1467 -0
- package/skills/impeccable/scripts/critique-storage.mjs +213 -0
- package/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/skills/impeccable/scripts/detect.mjs +21 -0
- package/skills/impeccable/scripts/detector/browser/injected/index.mjs +2023 -0
- package/skills/impeccable/scripts/detector/cli/main.mjs +438 -0
- package/skills/impeccable/scripts/detector/design-system.mjs +1046 -0
- package/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +8283 -0
- package/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
- package/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +372 -0
- package/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +1168 -0
- package/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1186 -0
- package/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +264 -0
- package/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/skills/impeccable/scripts/detector/findings.mjs +18 -0
- package/skills/impeccable/scripts/detector/node/file-system.mjs +203 -0
- package/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/skills/impeccable/scripts/detector/registry/antipatterns.mjs +617 -0
- package/skills/impeccable/scripts/detector/rules/checks.mjs +5580 -0
- package/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/skills/impeccable/scripts/detector/shared/constants.mjs +112 -0
- package/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
- package/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/skills/impeccable/scripts/doctor.mjs +336 -0
- package/skills/impeccable/scripts/embed-prompt.mjs +133 -0
- package/skills/impeccable/scripts/generate-image.mjs +240 -0
- package/skills/impeccable/scripts/hook-admin.mjs +801 -0
- package/skills/impeccable/scripts/hook-before-edit.mjs +508 -0
- package/skills/impeccable/scripts/hook-lib.mjs +2153 -0
- package/skills/impeccable/scripts/hook.mjs +78 -0
- package/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
- package/skills/impeccable/scripts/lib/composition-catalog.mjs +200 -0
- package/skills/impeccable/scripts/lib/concept-catalog.mjs +384 -0
- package/skills/impeccable/scripts/lib/design-parser.mjs +925 -0
- package/skills/impeccable/scripts/lib/impeccable-config.mjs +658 -0
- package/skills/impeccable/scripts/lib/impeccable-paths.mjs +137 -0
- package/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
- package/skills/impeccable/scripts/lib/provider.mjs +5 -0
- package/skills/impeccable/scripts/lib/roll-selection.mjs +362 -0
- package/skills/impeccable/scripts/lib/staleness-deep.mjs +478 -0
- package/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
- package/skills/impeccable/scripts/lib/staleness.mjs +457 -0
- package/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
- package/skills/impeccable/scripts/lib/target-args.mjs +42 -0
- package/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
- package/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
- package/skills/impeccable/scripts/live/accept-css.mjs +617 -0
- package/skills/impeccable/scripts/live/accept-verify.mjs +60 -0
- package/skills/impeccable/scripts/live/browser-script-parts.mjs +55 -0
- package/skills/impeccable/scripts/live/completion.mjs +28 -0
- package/skills/impeccable/scripts/live/event-validation.mjs +199 -0
- package/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
- package/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +73 -0
- package/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
- package/skills/impeccable/scripts/live/frameworks/journal.mjs +197 -0
- package/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
- package/skills/impeccable/scripts/live/frameworks/nuxt.mjs +161 -0
- package/skills/impeccable/scripts/live/frameworks/script-src.mjs +17 -0
- package/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
- package/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
- package/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
- package/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
- package/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
- package/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
- package/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
- package/skills/impeccable/scripts/live/instructions.mjs +142 -0
- package/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
- package/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
- package/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
- package/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
- package/skills/impeccable/scripts/live/roots.mjs +508 -0
- package/skills/impeccable/scripts/live/session-store.mjs +563 -0
- package/skills/impeccable/scripts/live/source-lock.mjs +105 -0
- package/skills/impeccable/scripts/live/source-search.mjs +105 -0
- package/skills/impeccable/scripts/live/svelte-ast.mjs +961 -0
- package/skills/impeccable/scripts/live/svelte-component.mjs +1342 -0
- package/skills/impeccable/scripts/live/sveltekit-adapter.mjs +316 -0
- package/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
- package/skills/impeccable/scripts/live/ui-core.mjs +180 -0
- package/skills/impeccable/scripts/live/vocabulary.mjs +171 -0
- package/skills/impeccable/scripts/live-accept.mjs +954 -0
- package/skills/impeccable/scripts/live-browser-dom.js +146 -0
- package/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/skills/impeccable/scripts/live-browser.js +12520 -0
- package/skills/impeccable/scripts/live-commit-manual-edits.mjs +1244 -0
- package/skills/impeccable/scripts/live-complete.mjs +107 -0
- package/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
- package/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
- package/skills/impeccable/scripts/live-inject.mjs +503 -0
- package/skills/impeccable/scripts/live-insert.mjs +292 -0
- package/skills/impeccable/scripts/live-manual-edit-evidence.mjs +368 -0
- package/skills/impeccable/scripts/live-poll.mjs +429 -0
- package/skills/impeccable/scripts/live-resume.mjs +123 -0
- package/skills/impeccable/scripts/live-server.mjs +1669 -0
- package/skills/impeccable/scripts/live-status.mjs +71 -0
- package/skills/impeccable/scripts/live-target.mjs +30 -0
- package/skills/impeccable/scripts/live-wrap.mjs +927 -0
- package/skills/impeccable/scripts/live.mjs +359 -0
- package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/skills/impeccable/scripts/palette.mjs +628 -0
- package/skills/impeccable/scripts/pin.mjs +221 -0
- package/skills/impeccable/scripts/serve-question.mjs +932 -0
- package/skills/impeccable/scripts/surface-brief.mjs +74 -0
- package/skills/inkstone-admin/SKILL.md +66 -0
- package/skills/jev-hook-gate/SKILL.md +111 -0
- package/skills/keyword-research/SKILL.md +503 -0
- package/skills/keyword-research/references/dr-cap-and-confidence.md +62 -0
- package/skills/keyword-research/references/keyword-examples.md +769 -0
- package/skills/landing-page-architect/SKILL.md +585 -0
- package/skills/landing-page-architect/references/architecture-reference.md +32 -0
- package/skills/launch-strategy/SKILL.md +384 -0
- package/skills/launch-strategy/evals/evals.json +91 -0
- package/skills/launch-strategy/references/launch-checklist.md +209 -0
- package/skills/launch-strategy/references/launch-timeline.md +159 -0
- package/skills/lead-email-craft/SKILL.md +522 -0
- package/skills/lead-magnets/SKILL.md +310 -0
- package/skills/lead-magnets/references/benchmarks.md +129 -0
- package/skills/lead-magnets/references/format-guide.md +196 -0
- package/skills/link-building-seo/SKILL.md +210 -0
- package/skills/lint-report.txt +1 -0
- package/skills/manifest.json +129 -0
- package/skills/marketing-demo/SKILL.md +249 -0
- package/skills/marketing-demo/references/remotion-examples.md +281 -0
- package/skills/marketing-ideas/SKILL.md +167 -0
- package/skills/marketing-ideas/evals/evals.json +90 -0
- package/skills/marketing-ideas/references/ideas-by-category.md +366 -0
- package/skills/marketing-psychology/SKILL.md +374 -0
- package/skills/marketing-psychology/evals/evals.json +88 -0
- package/skills/marketing-psychology/references/case-studies.md +148 -0
- package/skills/narrative-research-article/SKILL.md +469 -0
- package/skills/narrative-research-article/references/lanusse-patterns.md +166 -0
- package/skills/notebooklm/SKILL.md +674 -0
- package/skills/off-page-seo/SKILL.md +219 -0
- package/skills/onboarding-cro/SKILL.md +220 -0
- package/skills/onboarding-cro/evals/evals.json +92 -0
- package/skills/onboarding-cro/references/experiments.md +258 -0
- package/skills/original-research/SKILL.md +388 -0
- package/skills/page-cro/SKILL.md +269 -0
- package/skills/page-cro/references/cro-benchmarks.md +140 -0
- package/skills/paper-marketing/SKILL.md +448 -0
- package/skills/paper-marketing/references/agent-quality-rubric.md +68 -0
- package/skills/paper-marketing/references/brand-system-template.md +120 -0
- package/skills/paper-marketing/references/paper-mcp-rules.md +71 -0
- package/skills/paper-marketing/references/platform-conventions.md +43 -0
- package/skills/paywall-upgrade-cro/SKILL.md +227 -0
- package/skills/paywall-upgrade-cro/evals/evals.json +93 -0
- package/skills/paywall-upgrade-cro/references/experiments.md +164 -0
- package/skills/platform-formatting/SKILL.md +51 -0
- package/skills/popup-cro/SKILL.md +454 -0
- package/skills/popup-cro/evals/evals.json +94 -0
- package/skills/positioning-angles/SKILL.md +524 -0
- package/skills/positioning-angles/references/ad-matrix-and-examples.md +176 -0
- package/skills/positioning-angles/references/angle-frameworks.md +187 -0
- package/skills/positioning-angles/references/dunford-positioning.md +135 -0
- package/skills/positioning-angles/references/hormozi-offer.md +247 -0
- package/skills/positioning-angles/references/schwartz-sophistication.md +166 -0
- package/skills/positioning-angles/references/unique-mechanism.md +162 -0
- package/skills/pricing-strategy/SKILL.md +346 -0
- package/skills/pricing-strategy/evals/evals.json +90 -0
- package/skills/pricing-strategy/references/research-methods.md +152 -0
- package/skills/pricing-strategy/references/tier-structure.md +307 -0
- package/skills/programmatic-seo/SKILL.md +238 -0
- package/skills/programmatic-seo/evals/evals.json +94 -0
- package/skills/programmatic-seo/references/playbooks.md +308 -0
- package/skills/project-rag/SKILL.md +127 -0
- package/skills/quality-gate/SKILL.md +519 -0
- package/skills/quality-gate/judge-personas/buyer.md +47 -0
- package/skills/quality-gate/judge-personas/expert.md +47 -0
- package/skills/quality-gate/judge-personas/outsider.md +47 -0
- package/skills/quality-gate/judge-personas/scanner.md +41 -0
- package/skills/quality-gate/judge-personas/skeptic.md +40 -0
- package/skills/referral-program/SKILL.md +290 -0
- package/skills/referral-program/evals/evals.json +89 -0
- package/skills/referral-program/references/affiliate-programs.md +163 -0
- package/skills/referral-program/references/program-examples.md +143 -0
- package/skills/review-sites/SKILL.md +279 -0
- package/skills/revops/SKILL.md +343 -0
- package/skills/revops/evals/evals.json +91 -0
- package/skills/revops/references/automation-playbooks.md +290 -0
- package/skills/revops/references/lifecycle-definitions.md +278 -0
- package/skills/revops/references/routing-rules.md +203 -0
- package/skills/revops/references/scoring-models.md +247 -0
- package/skills/saas-product-seo/SKILL.md +324 -0
- package/skills/sales-enablement/SKILL.md +349 -0
- package/skills/sales-enablement/evals/evals.json +91 -0
- package/skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/skills/sales-enablement/references/demo-scripts.md +355 -0
- package/skills/sales-enablement/references/objection-library.md +270 -0
- package/skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/skills/schema-markup/SKILL.md +179 -0
- package/skills/schema-markup/evals/evals.json +87 -0
- package/skills/schema-markup/references/schema-examples.md +398 -0
- package/skills/self-improve/SKILL.md +166 -0
- package/skills/self-improving-agent/README.md +243 -0
- package/skills/self-improving-agent/SKILL.md +437 -0
- package/skills/self-improving-agent/scripts/__init__.py +16 -0
- package/skills/self-improving-agent/scripts/__pycache__/auto_detect.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/__pycache__/nlm_curation.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/__pycache__/self_improving_agent.cpython-314.pyc +0 -0
- package/skills/self-improving-agent/scripts/auto_detect.py +270 -0
- package/skills/self-improving-agent/scripts/init_expertise_registry.py +89 -0
- package/skills/self-improving-agent/scripts/nlm_curation.py +259 -0
- package/skills/self-improving-agent/scripts/self-improving-agent +113 -0
- package/skills/self-improving-agent/scripts/self_improving_agent.py +603 -0
- package/skills/self-improving-agent/scripts/test_curation_scorer.py +20 -0
- package/skills/self-improving-agent/scripts/test_self_improving.py +184 -0
- package/skills/send-email/SKILL.md +426 -0
- package/skills/send-email/references/batch-email-examples.md +807 -0
- package/skills/send-email/references/best-practices.md +453 -0
- package/skills/send-email/references/installation.md +123 -0
- package/skills/send-email/references/single-email-examples.md +470 -0
- package/skills/send-email/references/webhooks.md +221 -0
- package/skills/seo-audit/SKILL.md +362 -0
- package/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/skills/seo-audit/references/architecture-patterns.md +271 -0
- package/skills/seo-audit/references/schema-templates.md +427 -0
- package/skills/seo-content/SKILL.md +510 -0
- package/skills/seo-content/references/anti-ai-detection.md +184 -0
- package/skills/seo-content/references/content-structures.md +148 -0
- package/skills/seo-content/references/eeat-examples.md +235 -0
- package/skills/seo-content/references/on-page-seo.md +261 -0
- package/skills/seo-content/references/pseo-playbooks.md +226 -0
- package/skills/seo-content/references/schema-templates.md +104 -0
- package/skills/seo-content/references/serp-analysis-format.md +151 -0
- package/skills/seo-machine/SKILL.md +331 -0
- package/skills/seo-machine/assets/brand-template.md +73 -0
- package/skills/seo-machine/assets/link-inventory-template.md +74 -0
- package/skills/seo-machine/assets/roadmap-template.md +184 -0
- package/skills/seo-machine/references/api-stack-recipes.md +230 -0
- package/skills/seo-machine/references/exa-recipes.md +260 -0
- package/skills/seo-machine/references/manual-research.md +73 -0
- package/skills/seo-machine/references/methodology.md +87 -0
- package/skills/seo-machine/references/off-page.md +123 -0
- package/skills/seo-machine/references/patterns/alternatives.md +176 -0
- package/skills/seo-machine/references/patterns/compare.md +105 -0
- package/skills/seo-machine/references/patterns/playbooks.md +106 -0
- package/skills/seo-machine/references/patterns/use-case.md +109 -0
- package/skills/seo-machine/references/quality-bars.md +99 -0
- package/skills/seo-machine/references/stacks/astro.md +156 -0
- package/skills/seo-machine/references/stacks/detection.md +61 -0
- package/skills/seo-machine/references/stacks/markdown-fallback.md +181 -0
- package/skills/seo-machine/references/stacks/nextjs.md +108 -0
- package/skills/seo-machine/references/stacks/rails-inertia.md +99 -0
- package/skills/seo-machine/references/striking-distance.md +116 -0
- package/skills/seo-machine/references/technical-audit.md +153 -0
- package/skills/seo-machine/scripts/link_audit.py +265 -0
- package/skills/seo-machine/scripts/tech_audit.py +221 -0
- package/skills/seo-machine/scripts/word_count.py +154 -0
- package/skills/sharp-thesis-validator/SKILL.md +393 -0
- package/skills/sharp-thesis-validator/examples.md +186 -0
- package/skills/signup-flow-cro/SKILL.md +359 -0
- package/skills/signup-flow-cro/evals/evals.json +88 -0
- package/skills/site-architecture/SKILL.md +357 -0
- package/skills/site-architecture/evals/evals.json +88 -0
- package/skills/site-architecture/references/mermaid-templates.md +216 -0
- package/skills/site-architecture/references/navigation-patterns.md +305 -0
- package/skills/site-architecture/references/site-type-templates.md +293 -0
- package/skills/skill-self-improvement/SKILL.md +151 -0
- package/skills/slideshow-script/SKILL.md +274 -0
- package/skills/slideshow-script/references/content-spec-schema.md +77 -0
- package/skills/slideshow-script/references/frameworks.md +84 -0
- package/skills/slideshow-script/references/paips-framework.md +37 -0
- package/skills/social-campaign/SKILL.md +419 -0
- package/skills/social-campaign/references/paper-mcp-workflow.md +48 -0
- package/skills/social-content/SKILL.md +359 -0
- package/skills/social-content/evals/evals.json +92 -0
- package/skills/social-content/references/platforms.md +170 -0
- package/skills/social-content/references/post-templates.md +177 -0
- package/skills/social-content/references/reverse-engineering.md +195 -0
- package/skills/social-worker/SKILL.md +204 -0
- package/skills/startup-launcher/SKILL.md +252 -0
- package/skills/startup-launcher/references/file-router.md +64 -0
- package/skills/startup-launcher/references/platform-matrix.md +65 -0
- package/skills/startup-launcher/references/platforms/alternativeto.md +283 -0
- package/skills/startup-launcher/references/platforms/appsumo.md +495 -0
- package/skills/startup-launcher/references/platforms/auraplusplus.md +736 -0
- package/skills/startup-launcher/references/platforms/betalist.md +98 -0
- package/skills/startup-launcher/references/platforms/capterra.md +276 -0
- package/skills/startup-launcher/references/platforms/crunchbase.md +514 -0
- package/skills/startup-launcher/references/platforms/dealify.md +291 -0
- package/skills/startup-launcher/references/platforms/dealmirror.md +313 -0
- package/skills/startup-launcher/references/platforms/desifounder.md +490 -0
- package/skills/startup-launcher/references/platforms/devhunt.md +210 -0
- package/skills/startup-launcher/references/platforms/devpost.md +448 -0
- package/skills/startup-launcher/references/platforms/fazier.md +56 -0
- package/skills/startup-launcher/references/platforms/firsto.md +489 -0
- package/skills/startup-launcher/references/platforms/g2.md +226 -0
- package/skills/startup-launcher/references/platforms/hackernews.md +99 -0
- package/skills/startup-launcher/references/platforms/hackernoon.md +385 -0
- package/skills/startup-launcher/references/platforms/indiedeals.md +367 -0
- package/skills/startup-launcher/references/platforms/indiehackers.md +80 -0
- package/skills/startup-launcher/references/platforms/kenmoo.md +231 -0
- package/skills/startup-launcher/references/platforms/labstartups.md +618 -0
- package/skills/startup-launcher/references/platforms/launchboard.md +307 -0
- package/skills/startup-launcher/references/platforms/launchfast.md +560 -0
- package/skills/startup-launcher/references/platforms/launchigniter.md +56 -0
- package/skills/startup-launcher/references/platforms/launchingnext.md +674 -0
- package/skills/startup-launcher/references/platforms/launchit.md +574 -0
- package/skills/startup-launcher/references/platforms/launchyourapp.md +677 -0
- package/skills/startup-launcher/references/platforms/libhunt.md +220 -0
- package/skills/startup-launcher/references/platforms/ltdhunt.md +221 -0
- package/skills/startup-launcher/references/platforms/microlaunch.md +45 -0
- package/skills/startup-launcher/references/platforms/openalternative.md +195 -0
- package/skills/startup-launcher/references/platforms/peerlist.md +56 -0
- package/skills/startup-launcher/references/platforms/peerpush.md +64 -0
- package/skills/startup-launcher/references/platforms/primeclub.md +282 -0
- package/skills/startup-launcher/references/platforms/productcanyon.md +190 -0
- package/skills/startup-launcher/references/platforms/producthunt.md +98 -0
- package/skills/startup-launcher/references/platforms/rankinpublic.md +315 -0
- package/skills/startup-launcher/references/platforms/rockethub.md +374 -0
- package/skills/startup-launcher/references/platforms/saasgenius.md +175 -0
- package/skills/startup-launcher/references/platforms/saashub.md +205 -0
- package/skills/startup-launcher/references/platforms/saasmantra.md +221 -0
- package/skills/startup-launcher/references/platforms/saaspirate.md +287 -0
- package/skills/startup-launcher/references/platforms/saaswarrior.md +190 -0
- package/skills/startup-launcher/references/platforms/saaszilla.md +194 -0
- package/skills/startup-launcher/references/platforms/selected.md +925 -0
- package/skills/startup-launcher/references/platforms/sideprojectors.md +86 -0
- package/skills/startup-launcher/references/platforms/softonic.md +240 -0
- package/skills/startup-launcher/references/platforms/sourceforge.md +251 -0
- package/skills/startup-launcher/references/platforms/stacksocial.md +244 -0
- package/skills/startup-launcher/references/platforms/startupstash.md +326 -0
- package/skills/startup-launcher/references/platforms/theresanaiforthat.md +253 -0
- package/skills/startup-launcher/references/platforms/tinylaunch.md +70 -0
- package/skills/startup-launcher/references/platforms/tinystartups.md +72 -0
- package/skills/startup-launcher/references/platforms/toolfolio.md +291 -0
- package/skills/startup-launcher/references/platforms/trustmrr.md +194 -0
- package/skills/startup-launcher/references/platforms/trylaunch.md +531 -0
- package/skills/startup-launcher/references/platforms/uneed.md +57 -0
- package/skills/startup-launcher/references/templates/asset-checklist.md +218 -0
- package/skills/startup-launcher/references/templates/launch-tracker.md +195 -0
- package/skills/startup-launcher/references/templates/product-brief.md +98 -0
- package/skills/summarize/.skill-meta.json +13 -0
- package/skills/summarize/SKILL.md +170 -0
- package/skills/summarize/rules/install.md +157 -0
- package/skills/summarize/rules/usage.md +207 -0
- package/skills/topical-authority/SKILL.md +307 -0
- package/skills/topical-authority/references/jake-ward-framework.md +201 -0
- package/skills/topical-authority/references/serp-clustering-algorithm.md +325 -0
- package/skills/topical-authority/scripts/orchestrator.js +367 -0
- package/skills/topical-authority/scripts/seo/analyze-competitor-coverage.js +3 -0
- package/skills/topical-authority/scripts/seo/audit-internal-links.js +3 -0
- package/skills/topical-authority/scripts/seo/build-clusters-from-serp.js +3 -0
- package/skills/topical-authority/scripts/seo/extract-keywords-from-forums.js +3 -0
- package/skills/topical-authority/scripts/seo/extract-paa-questions.js +3 -0
- package/skills/topical-authority/scripts/seo/fetch-serp-urls.js +3 -0
- package/skills/topical-authority/scripts/seo/gemini-serp-clustering.js +3 -0
- package/skills/topical-authority/scripts/seo/identify-content-gaps.js +3 -0
- package/skills/topical-authority/scripts/seo/identify-research-gaps.js +3 -0
- package/skills/topical-authority/scripts/seo/scrape-quora-questions.js +3 -0
- package/skills/topical-authority/scripts/seo/scrape-reddit-pain-points.js +3 -0
- package/skills/topical-authority/scripts/seo/weave-internal-links.js +3 -0
- package/skills/visual-style/SKILL.md +199 -0
- package/skills/voice-brand-alignment/SKILL.md +70 -0
- package/skills/voice-brand-alignment/references/ai-slop-patterns.md +405 -0
- package/skills/voice-brand-alignment/scripts/validation/gemini-voice-validator.js +96 -0
- package/skills/voice-extraction/SKILL.md +234 -0
- package/skills/voice-extraction/references/extraction-prompt.md +155 -0
- package/skills/voice-extraction/references/voice-dna-template.md +168 -0
- package/skills/voice-extraction/references/voice-elements.md +259 -0
- package/skills/voice-extraction/scripts/build-corpus.js +120 -0
- package/skills/voice-extraction/scripts/collect-sources.sh +168 -0
- package/skills/warm-outbound/SKILL.md +299 -0
- package/skills/warm-outbound/templates/warm-message.md +39 -0
- package/skills/weekly-newsletter-digest/SKILL.md +78 -0
- package/skills/x-playwriter/SKILL.md +428 -0
- package/skills/x-playwriter/scripts/x-browser.js +185 -0
- package/skills/x-post-generator-openclaw/SKILL.md +138 -0
- package/skills/x-post-generator-openclaw/scripts/generate-x-post.js +537 -0
- package/skills/x-posting-playwriter/SKILL.md +203 -0
- package/skills/x-research/SKILL.md +129 -0
- package/skills/x-research/x-research.sh +85 -0
- package/skills/youtube-summarize/SKILL.md +90 -0
- package/skills/youtube-summarize/scripts/youtube-summarize.sh +143 -0
- package/src/cli.js +349 -172
- package/src/harness/deepseek-adapter.js +102 -0
- package/src/harness/deepseek.js +225 -0
- package/src/harness/opencode-adapter.js +174 -0
- package/src/harness/pi-adapter.js +172 -0
- package/src/harness/registry.js +121 -0
- package/src/harness/telemetry.js +102 -0
- package/src/harness/types.js +165 -0
- package/src/interview.js +36 -4
- package/src/postinstall.js +10 -12
- package/templates/AGENTS.md +17 -17
- package/templates/ORG.md +1 -1
- package/templates/TOOLS.md +7 -2
- package/templates/opencode.json +26 -29
- package/wiki/doctor.md +54 -0
- package/wiki/inkstone.md +4 -4
- package/wiki/opencode.md +3 -3
- package/skills/curated.txt +0 -68
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: claw-compactor
|
|
3
|
+
description: Context window compaction and session management. Optimizes agent context usage during long sessions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
slash_command: false
|
|
7
|
+
name: claw-compactor
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
description: >
|
|
10
|
+
Claw Compactor — 6-layer token compression skill for OpenClaw agents.
|
|
11
|
+
Cuts workspace token spend by 50–97% using deterministic rule-engines plus
|
|
12
|
+
Engram: a real-time, LLM-driven Observational Memory system.
|
|
13
|
+
Run at session start for automatic savings reporting.
|
|
14
|
+
|
|
15
|
+
triggers:
|
|
16
|
+
- "compress memory", "compress workspace", "save tokens", "token savings", "compress context", "run engram", "engram observe", "engram reflect", "memory compression", "benchmark compression"
|
|
17
|
+
|
|
18
|
+
# Claw Compactor — OpenClaw Skill Reference
|
|
19
|
+
|
|
20
|
+
## Overview
|
|
21
|
+
Claw Compactor reduces token usage across the full OpenClaw workspace using
|
|
22
|
+
6 compression layers:
|
|
23
|
+
|
|
24
|
+
1, Name=Rule Engine, Cost=Free, Notes=Dedup, strip filler, merge sections
|
|
25
|
+
2, Name=Dictionary Encoding, Cost=Free, Notes=Auto-codebook, `$XX` substitution
|
|
26
|
+
3, Name=Observation Compression, Cost=Free, Notes=Session JSONL → structured summaries
|
|
27
|
+
4, Name=RLE Patterns, Cost=Free, Notes=Path/IP/enum shorthand
|
|
28
|
+
5, Name=Compressed Context Protocol, Cost=Free, Notes=Format abbreviations
|
|
29
|
+
**6**, Name=**Engram**, Cost=LLM API, Notes=Real-time Observational Memory
|
|
30
|
+
|
|
31
|
+
**Skill location:** `skills/claw-compactor/`
|
|
32
|
+
**Entry point:** `scripts/mem_compress.py`
|
|
33
|
+
**Engram CLI:** `scripts/engram_cli.py`
|
|
34
|
+
|
|
35
|
+
## Auto Mode (Recommended — Run at Session Start)
|
|
36
|
+
```bash
|
|
37
|
+
python3 skills/claw-compactor/scripts/mem_compress.py <workspace> auto
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Automatically compresses all workspace files, tracks token counts between
|
|
41
|
+
runs, and reports savings. Run this at the start of every session.
|
|
42
|
+
|
|
43
|
+
## Core Commands
|
|
44
|
+
|
|
45
|
+
### Full Pipeline (All Layers)
|
|
46
|
+
python3 scripts/mem_compress.py <workspace> full
|
|
47
|
+
Runs all 5 deterministic layers in optimal order. Typical: 50%+ combined savings.
|
|
48
|
+
|
|
49
|
+
### Benchmark (Non-Destructive)
|
|
50
|
+
python3 scripts/mem_compress.py <workspace> benchmark
|
|
51
|
+
|
|
52
|
+
# JSON output:
|
|
53
|
+
python3 scripts/mem_compress.py <workspace> benchmark --json
|
|
54
|
+
Dry-run report showing potential savings without writing any files.
|
|
55
|
+
|
|
56
|
+
# Layer 1: Rule-based compression
|
|
57
|
+
python3 scripts/mem_compress.py <workspace> compress
|
|
58
|
+
|
|
59
|
+
# Layer 2: Dictionary encoding
|
|
60
|
+
python3 scripts/mem_compress.py <workspace> dict
|
|
61
|
+
|
|
62
|
+
# Layer 3: Observation compression (session JSONL → summaries)
|
|
63
|
+
python3 scripts/mem_compress.py <workspace> observe
|
|
64
|
+
|
|
65
|
+
# Layer 5: Tokenizer optimization
|
|
66
|
+
python3 scripts/mem_compress.py <workspace> optimize
|
|
67
|
+
|
|
68
|
+
# Tiered summaries (L0/L1/L2)
|
|
69
|
+
python3 scripts/mem_compress.py <workspace> tiers
|
|
70
|
+
|
|
71
|
+
# Cross-file deduplication
|
|
72
|
+
python3 scripts/mem_compress.py <workspace> dedup
|
|
73
|
+
|
|
74
|
+
# Token count report
|
|
75
|
+
python3 scripts/mem_compress.py <workspace> estimate
|
|
76
|
+
|
|
77
|
+
# Workspace health check
|
|
78
|
+
python3 scripts/mem_compress.py <workspace> audit
|
|
79
|
+
|
|
80
|
+
### Global Options
|
|
81
|
+
--json Machine-readable JSON output
|
|
82
|
+
--dry-run Preview without writing files
|
|
83
|
+
--since DATE Filter sessions by date (YYYY-MM-DD)
|
|
84
|
+
--auto-merge Auto-merge duplicates (dedup command)
|
|
85
|
+
|
|
86
|
+
## Engram — Layer 6: Real-Time Observational Memory
|
|
87
|
+
Engram is the flagship layer. It operates as a live engine alongside conversations,
|
|
88
|
+
automatically compressing messages into structured, priority-annotated knowledge.
|
|
89
|
+
|
|
90
|
+
### Prerequisites
|
|
91
|
+
Configure via `engram.yaml` (recommended) or environment variables:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
|
|
95
|
+
# engram.yaml — place in claw-compactor root
|
|
96
|
+
llm:
|
|
97
|
+
provider: openai-compatible
|
|
98
|
+
base_url: http://localhost:8403
|
|
99
|
+
model: claude-code/sonnet
|
|
100
|
+
max_tokens: 4096
|
|
101
|
+
|
|
102
|
+
threads:
|
|
103
|
+
default:
|
|
104
|
+
observer_threshold: 30000 # pending tokens before Observer fires
|
|
105
|
+
reflector_threshold: 40000 # observation tokens before Reflector fires
|
|
106
|
+
|
|
107
|
+
concurrency:
|
|
108
|
+
max_workers: 4 # parallel thread workers
|
|
109
|
+
|
|
110
|
+
# Alternative: environment variables
|
|
111
|
+
export ANTHROPIC_API_KEY=sk-ant-... # Preferred
|
|
112
|
+
|
|
113
|
+
# or
|
|
114
|
+
export OPENAI_API_KEY=sk-... # OpenAI-compatible fallback
|
|
115
|
+
export OPENAI_BASE_URL=https://... # Optional: custom endpoint (local LLM, etc.)
|
|
116
|
+
|
|
117
|
+
### Engram Auto-Mode (Recommended for Production)
|
|
118
|
+
Auto-detects all active threads and processes them concurrently (4 workers):
|
|
119
|
+
|
|
120
|
+
# Single run — auto-detects all threads
|
|
121
|
+
python3 scripts/engram_auto.py --workspace ~/.openclaw/workspace
|
|
122
|
+
|
|
123
|
+
# Via shell wrapper
|
|
124
|
+
bash scripts/engram-auto.sh
|
|
125
|
+
|
|
126
|
+
# Via CLI
|
|
127
|
+
python3 scripts/engram_cli.py <workspace> auto --config engram.yaml
|
|
128
|
+
python3 scripts/engram_cli.py <workspace> status --thread openclaw-main
|
|
129
|
+
python3 scripts/engram_cli.py <workspace> observe --thread openclaw-main
|
|
130
|
+
python3 scripts/engram_cli.py <workspace> reflect --thread openclaw-main
|
|
131
|
+
|
|
132
|
+
**Retry:** LLM calls retry on 429/5xx with exponential backoff (2s→4s→8s, max 3 attempts).
|
|
133
|
+
No retry on 400/401/403 (fail fast on config errors).
|
|
134
|
+
|
|
135
|
+
# Check all thread statuses
|
|
136
|
+
python3 scripts/mem_compress.py <workspace> engram status
|
|
137
|
+
|
|
138
|
+
# Force Observer for a thread
|
|
139
|
+
python3 scripts/mem_compress.py <workspace> engram observe --thread <thread-id>
|
|
140
|
+
|
|
141
|
+
# Force Reflector for a thread
|
|
142
|
+
python3 scripts/mem_compress.py <workspace> engram reflect --thread <thread-id>
|
|
143
|
+
|
|
144
|
+
# Print injectable context
|
|
145
|
+
python3 scripts/mem_compress.py <workspace> engram context --thread <thread-id>
|
|
146
|
+
|
|
147
|
+
# Status: all threads
|
|
148
|
+
python3 scripts/engram_cli.py <workspace> status
|
|
149
|
+
|
|
150
|
+
# Status: single thread
|
|
151
|
+
python3 scripts/engram_cli.py <workspace> status --thread <thread-id>
|
|
152
|
+
|
|
153
|
+
# Force observe
|
|
154
|
+
python3 scripts/engram_cli.py <workspace> observe --thread <thread-id>
|
|
155
|
+
|
|
156
|
+
# Force reflect
|
|
157
|
+
python3 scripts/engram_cli.py <workspace> reflect --thread <thread-id>
|
|
158
|
+
|
|
159
|
+
# Import conversation from file (JSON array or JSONL)
|
|
160
|
+
python3 scripts/engram_cli.py <workspace> ingest \
|
|
161
|
+
--thread <thread-id> --input /path/to/conversation.jsonl
|
|
162
|
+
|
|
163
|
+
# Get injectable context string (ready for system prompt)
|
|
164
|
+
python3 scripts/engram_cli.py <workspace> context --thread <thread-id>
|
|
165
|
+
|
|
166
|
+
# JSON output for any command
|
|
167
|
+
python3 scripts/engram_cli.py <workspace> status --json
|
|
168
|
+
python3 scripts/engram_cli.py <workspace> context --thread <id> --json
|
|
169
|
+
|
|
170
|
+
# Start daemon, pipe JSONL messages via stdin
|
|
171
|
+
python3 scripts/engram_cli.py <workspace> daemon --thread <thread-id>
|
|
172
|
+
|
|
173
|
+
# Pipe a message:
|
|
174
|
+
echo '{"role":"user","content":"Hello!","timestamp":"12:00"}' | \
|
|
175
|
+
|
|
176
|
+
# Control commands (send as JSONL):
|
|
177
|
+
echo '{"__cmd":"observe"}' # force observe now
|
|
178
|
+
echo '{"__cmd":"reflect"}' # force reflect now
|
|
179
|
+
echo '{"__cmd":"status"}' # print thread status JSON
|
|
180
|
+
echo '{"__cmd":"quit"}' # exit daemon
|
|
181
|
+
|
|
182
|
+
# Quiet mode (suppress startup messages on stderr)
|
|
183
|
+
python3 scripts/engram_cli.py <workspace> daemon --thread <id> --quiet
|
|
184
|
+
|
|
185
|
+
### Engram Python API
|
|
186
|
+
```python
|
|
187
|
+
from scripts.lib.engram import EngramEngine
|
|
188
|
+
|
|
189
|
+
engine = EngramEngine(
|
|
190
|
+
workspace_path="/path/to/workspace",
|
|
191
|
+
observer_threshold=30_000, # tokens before auto-observe
|
|
192
|
+
reflector_threshold=40_000, # tokens before auto-reflect
|
|
193
|
+
anthropic_api_key="sk-ant-...", # or set ANTHROPIC_API_KEY env
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
# Add a message — auto-triggers observe/reflect when thresholds exceeded
|
|
197
|
+
status = engine.add_message("thread-id", role="user", content="Hello!")
|
|
198
|
+
|
|
199
|
+
# Manual trigger regardless of thresholds
|
|
200
|
+
obs_text = engine.observe("thread-id") # returns None if no pending msgs
|
|
201
|
+
ref_text = engine.reflect("thread-id") # returns None if no observations
|
|
202
|
+
|
|
203
|
+
# Get full context dict
|
|
204
|
+
ctx = engine.get_context("thread-id")
|
|
205
|
+
|
|
206
|
+
# Build injectable system context string
|
|
207
|
+
ctx_str = engine.build_system_context("thread-id")
|
|
208
|
+
|
|
209
|
+
# Ready to prepend to system prompt
|
|
210
|
+
|
|
211
|
+
### Engram Configuration Variables
|
|
212
|
+
`ANTHROPIC_API_KEY`, Default=—, Description=Anthropic API key (preferred)
|
|
213
|
+
`OPENAI_API_KEY`, Default=—, Description=OpenAI-compatible API key
|
|
214
|
+
`OPENAI_BASE_URL`, Default=`https://api.openai.com`, Description=Custom endpoint for local LLMs
|
|
215
|
+
`OM_OBSERVER_THRESHOLD`, Default=`30000`, Description=Pending tokens before auto-observe
|
|
216
|
+
`OM_REFLECTOR_THRESHOLD`, Default=`40000`, Description=Observation tokens before auto-reflect
|
|
217
|
+
`OM_MODEL`, Default=`claude-opus-4-5`, Description=LLM model override
|
|
218
|
+
|
|
219
|
+
### Threshold Tuning Quick Reference
|
|
220
|
+
Each Observer call ≈ 2K output tokens (Sonnet). Daily volume at default 30K threshold:
|
|
221
|
+
|
|
222
|
+
#aimm, Daily Tokens=~149K, @30K threshold=~5×/day, @10K threshold=~15×/day
|
|
223
|
+
openclaw-main, Daily Tokens=~138K, @30K threshold=~4.5×/day, @10K threshold=~14×/day
|
|
224
|
+
#open-compress, Daily Tokens=~68K, @30K threshold=~2.3×/day, @10K threshold=~7×/day
|
|
225
|
+
#general, Daily Tokens=~62K, @30K threshold=~2×/day, @10K threshold=~6×/day
|
|
226
|
+
subagent, Daily Tokens=~43K, @30K threshold=~1.4×/day, @10K threshold=~4×/day
|
|
227
|
+
cron, Daily Tokens=~9K, @30K threshold=~0.3×/day, @10K threshold=~1×/day
|
|
228
|
+
**Total**, Daily Tokens=**~470K/day**, @30K threshold=**~16×/day (~32K output tokens)**, @10K threshold=**~47×/day (~94K output tokens)**
|
|
229
|
+
|
|
230
|
+
Start at `observer_threshold: 30000`. Tune down for fresher context; tune up to reduce cost.
|
|
231
|
+
|
|
232
|
+
### Engram Benchmark Summary
|
|
233
|
+
| **Engram (L6)** | **87.5%** | 0.038 | 0.414 | ~35s | 2 |
|
|
234
|
+
| RuleCompressor (L1–5) | 9.0% | 0.923 | 0.958 | ~6ms | 0 |
|
|
235
|
+
| RandomDrop | 21.5% | 0.852 | 0.911 | ~0ms | 0 |
|
|
236
|
+
|
|
237
|
+
- Engram low ROUGE-L = semantic restructuring, not verbatim copy — intent is preserved
|
|
238
|
+
- Use RuleCompressor for instant prompt compression; Engram for long-term memory
|
|
239
|
+
- Full results → `benchmark/RESULTS.md`
|
|
240
|
+
|
|
241
|
+
### Observation Format
|
|
242
|
+
Engram produces structured, bilingual (EN/中文) priority-annotated logs:
|
|
243
|
+
|
|
244
|
+
Date: 2026-03-05
|
|
245
|
+
- 12:10 User building OpenCompress; deadline one week / 用户在构建 OpenCompress,deadline 一周内
|
|
246
|
+
- 12:10 Using ModernBERT-large / 使用 ModernBERT-large
|
|
247
|
+
- 🟡 12:12 Discussed annotation strategy / 讨论了标注策略
|
|
248
|
+
- 🟡 12:30 Deployment pipeline discussion on M3 Ultra
|
|
249
|
+
- 🟢 12:45 User prefers concise replies
|
|
250
|
+
|
|
251
|
+
- **Critical** — goals, deadlines, blockers, key decisions (never dropped)
|
|
252
|
+
- 🟡 **Important** — technical details, ongoing work, preferences
|
|
253
|
+
- 🟢 **Useful** — background, mentions, soft context
|
|
254
|
+
|
|
255
|
+
### Memory Storage Layout
|
|
256
|
+
memory/engram/{thread_id}/
|
|
257
|
+
├── pending.jsonl # Unobserved message buffer (auto-cleared after observe)
|
|
258
|
+
├── observations.md # Observer output — append-only structured log
|
|
259
|
+
├── reflections.md # Reflector output — compressed long-term memory (overwrites)
|
|
260
|
+
└── meta.json # Timestamps and token counts
|
|
261
|
+
|
|
262
|
+
## Integration with OpenClaw Memory System
|
|
263
|
+
|
|
264
|
+
### System Prompt Injection
|
|
265
|
+
Inject Engram context at the start of each session:
|
|
266
|
+
|
|
267
|
+
engine = EngramEngine(workspace_path)
|
|
268
|
+
ctx_str = engine.build_system_context("my-session")
|
|
269
|
+
if ctx_str:
|
|
270
|
+
system_prompt = ctx_str + "\n\n" + base_system_prompt
|
|
271
|
+
|
|
272
|
+
The `build_system_context()` output structure:
|
|
273
|
+
|
|
274
|
+
## Long-Term Memory (Reflections)
|
|
275
|
+
<Reflector output — long-term compressed context>
|
|
276
|
+
|
|
277
|
+
## Recent Observations
|
|
278
|
+
<Last 200 lines of Observer output>
|
|
279
|
+
|
|
280
|
+
<!-- engram_tokens: 1234 -->
|
|
281
|
+
|
|
282
|
+
### Combining Engram with Deterministic Layers
|
|
283
|
+
After an Engram session, run the deterministic pipeline on the output files:
|
|
284
|
+
|
|
285
|
+
# Then apply deterministic compression to further reduce those:
|
|
286
|
+
|
|
287
|
+
### Recommended Workflow for Long-Running Agent Sessions
|
|
288
|
+
1. **Session start:** inject `build_system_context()` into system prompt
|
|
289
|
+
2. **Each message:** call `engine.add_message()` — auto-triggers observe/reflect
|
|
290
|
+
3. **Session end / weekly cron:** run `full` pipeline on workspace
|
|
291
|
+
4. **Multi-session continuity:** context persists in `memory/engram/{thread}/`
|
|
292
|
+
|
|
293
|
+
## OpenClaw Skill Installation
|
|
294
|
+
To install as an OpenClaw skill, ensure the skill directory is available at:
|
|
295
|
+
~/.openclaw/workspace/skills/claw-compactor/
|
|
296
|
+
or configure the path in your OpenClaw skill registry.
|
|
297
|
+
|
|
298
|
+
SKILL.md is read by the OpenClaw agent dispatcher. The `description` and
|
|
299
|
+
`triggers` fields above control when this skill is automatically activated.
|
|
300
|
+
|
|
301
|
+
## Heartbeat / Cron Automation
|
|
302
|
+
```markdown
|
|
303
|
+
|
|
304
|
+
## Memory Maintenance (weekly)
|
|
305
|
+
- python3 skills/claw-compactor/scripts/mem_compress.py <workspace> benchmark
|
|
306
|
+
- If savings > 5%: run full pipeline
|
|
307
|
+
- If pending Engram messages: run engram observe --thread <id>
|
|
308
|
+
|
|
309
|
+
Cron (Sunday 3am):
|
|
310
|
+
0 3 * * 0 cd /path/to/skills/claw-compactor && \
|
|
311
|
+
python3 scripts/mem_compress.py /path/to/workspace full
|
|
312
|
+
|
|
313
|
+
## Output Artifacts Reference
|
|
314
|
+
Dictionary codebook, Location=`memory/.codebook.json`, Description=Must travel with memory files
|
|
315
|
+
Observed session log, Location=`memory/.observed-sessions.json`, Description=Tracks processed transcripts
|
|
316
|
+
Layer 3 summaries, Location=`memory/observations/`, Description=Observation compression output
|
|
317
|
+
Engram observations, Location=`memory/engram/{thread}/observations.md`, Description=Live Observer log
|
|
318
|
+
Engram reflections, Location=`memory/engram/{thread}/reflections.md`, Description=Distilled long-term memory
|
|
319
|
+
Level 0 summary, Location=`memory/MEMORY-L0.md`, Description=~200 token ultra-compressed summary
|
|
320
|
+
Level 1 summary, Location=`memory/MEMORY-L1.md`, Description=~500 token compressed summary
|
|
321
|
+
|
|
322
|
+
## Troubleshooting
|
|
323
|
+
- `FileNotFoundError` on workspace: Point path to workspace root containing `memory/`
|
|
324
|
+
- Dictionary decompression fails: Check `memory/.codebook.json` is valid JSON
|
|
325
|
+
- Zero savings on `benchmark`: Workspace already optimized
|
|
326
|
+
- `observe` finds no transcripts: Check `sessions/` for `.jsonl` files
|
|
327
|
+
- Engram: "no API key configured": Set `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`
|
|
328
|
+
- Engram Observer returns `None`: No pending messages for that thread
|
|
329
|
+
- Token counts seem wrong: Install tiktoken: `pip3 install tiktoken`
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Engram Benchmark Results
|
|
2
|
+
> Run timestamp: 2026-03-06T00:50:38Z
|
|
3
|
+
|
|
4
|
+
## Overview
|
|
5
|
+
This benchmark compares four memory compression strategies for AI conversation context:
|
|
6
|
+
|
|
7
|
+
1, Strategy=**NoCompression**, Description=Raw conversation text — baseline
|
|
8
|
+
2, Strategy=**RandomDrop**, Description=Random token drop at 40% retention — LLMLingua-2 proxy
|
|
9
|
+
3, Strategy=**RuleCompressor**, Description=claw-compactor Layers 1-5 — deterministic rules, zero LLM
|
|
10
|
+
4, Strategy=**Engram**, Description=LLM Observer + Reflector — Layer 6 semantic compression
|
|
11
|
+
|
|
12
|
+
## Summary Table
|
|
13
|
+
Averages across all samples.
|
|
14
|
+
|
|
15
|
+
| **Engram** | 0.125 | 87.5% | 0.038 | 0.414 | 34533 | 2.0 |
|
|
16
|
+
| **RandomDrop** | 0.785 | 21.5% | 0.852 | 0.911 | 0 | 0.0 |
|
|
17
|
+
| **RuleCompressor** | 0.910 | 9.0% | 0.923 | 0.958 | 6 | 0.0 |
|
|
18
|
+
| **NoCompression** | 1.000 | 0.0% | 1.000 | 1.000 | 0 | 0.0 |
|
|
19
|
+
|
|
20
|
+
## Per-Sample Results
|
|
21
|
+
|
|
22
|
+
### sample-01-devops
|
|
23
|
+
*DevOps troubleshooting session — Docker / CI pipeline*
|
|
24
|
+
Original tokens: **4,404**
|
|
25
|
+
|
|
26
|
+
| Engram | 0.122 | 87.8% | 0.029 | 0.452 | 43494 | 2 |
|
|
27
|
+
| RandomDrop | 0.847 | 15.3% | 0.907 | 0.947 | 0 | 0 |
|
|
28
|
+
| RuleCompressor | 0.882 | 11.8% | 0.904 | 0.966 | 8 | 0 |
|
|
29
|
+
| NoCompression | 1.000 | 0.0% | 1.000 | 1.000 | 0 | 0 |
|
|
30
|
+
|
|
31
|
+
### sample-02-trading
|
|
32
|
+
*Quantitative trading strategy discussion session*
|
|
33
|
+
Original tokens: **3,460**
|
|
34
|
+
|
|
35
|
+
| Engram | 0.132 | 86.8% | 0.046 | 0.407 | 38832 | 2 |
|
|
36
|
+
| RandomDrop | 0.763 | 23.7% | 0.847 | 0.846 | 0 | 0 |
|
|
37
|
+
| RuleCompressor | 0.862 | 13.8% | 0.887 | 0.947 | 5 | 0 |
|
|
38
|
+
|
|
39
|
+
### sample-03-ml-short
|
|
40
|
+
*Short ML model training session*
|
|
41
|
+
Original tokens: **1,856**
|
|
42
|
+
|
|
43
|
+
| Engram | 0.155 | 84.5% | 0.055 | 0.384 | 18681 | 2 |
|
|
44
|
+
| RandomDrop | 0.784 | 21.6% | 0.836 | 0.889 | 0 | 0 |
|
|
45
|
+
| RuleCompressor | 0.940 | 6.0% | 0.941 | 0.947 | 3 | 0 |
|
|
46
|
+
|
|
47
|
+
### sample-04-mixed-long
|
|
48
|
+
*Mixed topics long session — system architecture, DB tuning, security*
|
|
49
|
+
Original tokens: **4,597**
|
|
50
|
+
|
|
51
|
+
| Engram | 0.098 | 90.2% | 0.026 | 0.407 | 38377 | 2 |
|
|
52
|
+
| RandomDrop | 0.740 | 26.0% | 0.826 | 0.889 | 0 | 0 |
|
|
53
|
+
| RuleCompressor | 0.933 | 6.7% | 0.939 | 0.966 | 8 | 0 |
|
|
54
|
+
|
|
55
|
+
### sample-05-sysadmin
|
|
56
|
+
*System administration and network configuration session*
|
|
57
|
+
Original tokens: **3,248**
|
|
58
|
+
|
|
59
|
+
| Engram | 0.118 | 88.2% | 0.035 | 0.420 | 33280 | 2 |
|
|
60
|
+
| RandomDrop | 0.793 | 20.7% | 0.843 | 0.983 | 0 | 0 |
|
|
61
|
+
| RuleCompressor | 0.932 | 6.8% | 0.944 | 0.966 | 6 | 0 |
|
|
62
|
+
|
|
63
|
+
## Metric Definitions
|
|
64
|
+
**Compression Ratio**, Definition=`compressed_tokens / original_tokens` — lower means more compact, Better=↓ Lower
|
|
65
|
+
**Saved%**, Definition=`(1 - ratio) × 100` — percentage of tokens eliminated, Better=↑ Higher
|
|
66
|
+
**ROUGE-L**, Definition=LCS-based recall/precision/F1 between compressed and original, Better=↑ Higher
|
|
67
|
+
**IR-F1**, Definition=Information Retention F1 — keyword overlap between original and compressed, Better=↑ Higher
|
|
68
|
+
**Latency**, Definition=Wall-clock compression time in milliseconds, Better=↓ Lower
|
|
69
|
+
**LLM Calls**, Definition=Number of LLM API calls required, Better=↓ Lower
|
|
70
|
+
|
|
71
|
+
## Analysis
|
|
72
|
+
- **Best compression ratio**: Engram (0.125, 87.5% savings)
|
|
73
|
+
- **Best ROUGE-L (text fidelity)**: NoCompression (F1=1.000)
|
|
74
|
+
- **Best IR-F1 (information retention)**: NoCompression (F1=1.000)
|
|
75
|
+
- **Best latency (fastest)**: NoCompression (0ms avg)
|
|
76
|
+
|
|
77
|
+
### Trade-off Analysis
|
|
78
|
+
```
|
|
79
|
+
Strategy Trade-offs:
|
|
80
|
+
|
|
81
|
+
NoCompression → Zero compression, perfect fidelity. Useful as ground truth only.
|
|
82
|
+
RandomDrop → High compression, but random loss degrades quality unpredictably.
|
|
83
|
+
Cannot target important information — acts as adversarial baseline.
|
|
84
|
+
RuleCompressor → Moderate compression via deterministic rules. Zero latency, zero LLM cost.
|
|
85
|
+
Safe and predictable, but limited by rule expressiveness.
|
|
86
|
+
Engram (LLM) → Highest semantic compression. Observer extracts key events;
|
|
87
|
+
Reflector distills to long-term context. Requires LLM calls but
|
|
88
|
+
achieves intent-aware compression that preserves critical information.
|
|
89
|
+
|
|
90
|
+
### Recommendation
|
|
91
|
+
For production AI conversation memory compression:
|
|
92
|
+
|
|
93
|
+
1. **Short-term memory (< 5min old)**: Skip compression — use raw messages
|
|
94
|
+
2. **Medium-term (5min – 2hr)**: Apply RuleCompressor for 20-40% savings at zero cost
|
|
95
|
+
3. **Long-term (> 2hr)**: Apply Engram (Observer + Reflector) for 60-90% savings
|
|
96
|
+
4. **Never use RandomDrop in production** — information loss is uncontrolled
|
|
97
|
+
|
|
98
|
+
## Methodology Notes
|
|
99
|
+
- Token counts use CJK-aware heuristic (4 chars/token for ASCII, 1.5 for CJK)
|
|
100
|
+
- ROUGE-L implemented in pure Python using LCS dynamic programming
|
|
101
|
+
- IR-F1 uses top-30 keyword extraction with stopword filtering
|
|
102
|
+
- RandomDrop uses fixed seed (42) for reproducibility
|
|
103
|
+
- EngramCompressor uses LLM proxy at `http://localhost:8403`, model `claude-code/sonnet`
|
|
104
|
+
- All test data is synthetic / fully anonymized — no real user data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# benchmark package
|