claudecode-omc 5.5.1 → 5.6.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 +63 -0
- package/bundled/manifest.json +3 -2
- package/bundled/upstream/ecc/.omc-source/bundle.json +23 -0
- package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +439 -0
- package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +47 -0
- package/bundled/upstream/ecc/agents/a11y-architect.md +141 -0
- package/bundled/upstream/ecc/agents/architect.md +211 -0
- package/bundled/upstream/ecc/agents/build-error-resolver.md +114 -0
- package/bundled/upstream/ecc/agents/chief-of-staff.md +151 -0
- package/bundled/upstream/ecc/agents/code-architect.md +71 -0
- package/bundled/upstream/ecc/agents/code-explorer.md +69 -0
- package/bundled/upstream/ecc/agents/code-reviewer.md +237 -0
- package/bundled/upstream/ecc/agents/code-simplifier.md +47 -0
- package/bundled/upstream/ecc/agents/comment-analyzer.md +45 -0
- package/bundled/upstream/ecc/agents/conversation-analyzer.md +52 -0
- package/bundled/upstream/ecc/agents/cpp-build-resolver.md +90 -0
- package/bundled/upstream/ecc/agents/cpp-reviewer.md +72 -0
- package/bundled/upstream/ecc/agents/csharp-reviewer.md +101 -0
- package/bundled/upstream/ecc/agents/dart-build-resolver.md +201 -0
- package/bundled/upstream/ecc/agents/database-reviewer.md +91 -0
- package/bundled/upstream/ecc/agents/doc-updater.md +107 -0
- package/bundled/upstream/ecc/agents/docs-lookup.md +68 -0
- package/bundled/upstream/ecc/agents/e2e-runner.md +107 -0
- package/bundled/upstream/ecc/agents/flutter-reviewer.md +243 -0
- package/bundled/upstream/ecc/agents/gan-evaluator.md +209 -0
- package/bundled/upstream/ecc/agents/gan-generator.md +131 -0
- package/bundled/upstream/ecc/agents/gan-planner.md +99 -0
- package/bundled/upstream/ecc/agents/go-build-resolver.md +94 -0
- package/bundled/upstream/ecc/agents/go-reviewer.md +76 -0
- package/bundled/upstream/ecc/agents/harness-optimizer.md +35 -0
- package/bundled/upstream/ecc/agents/healthcare-reviewer.md +83 -0
- package/bundled/upstream/ecc/agents/java-build-resolver.md +153 -0
- package/bundled/upstream/ecc/agents/java-reviewer.md +92 -0
- package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +118 -0
- package/bundled/upstream/ecc/agents/kotlin-reviewer.md +159 -0
- package/bundled/upstream/ecc/agents/loop-operator.md +36 -0
- package/bundled/upstream/ecc/agents/opensource-forker.md +198 -0
- package/bundled/upstream/ecc/agents/opensource-packager.md +249 -0
- package/bundled/upstream/ecc/agents/opensource-sanitizer.md +188 -0
- package/bundled/upstream/ecc/agents/performance-optimizer.md +446 -0
- package/bundled/upstream/ecc/agents/planner.md +212 -0
- package/bundled/upstream/ecc/agents/pr-test-analyzer.md +45 -0
- package/bundled/upstream/ecc/agents/python-reviewer.md +98 -0
- package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +120 -0
- package/bundled/upstream/ecc/agents/refactor-cleaner.md +85 -0
- package/bundled/upstream/ecc/agents/rust-build-resolver.md +148 -0
- package/bundled/upstream/ecc/agents/rust-reviewer.md +94 -0
- package/bundled/upstream/ecc/agents/security-reviewer.md +108 -0
- package/bundled/upstream/ecc/agents/seo-specialist.md +62 -0
- package/bundled/upstream/ecc/agents/silent-failure-hunter.md +50 -0
- package/bundled/upstream/ecc/agents/tdd-guide.md +91 -0
- package/bundled/upstream/ecc/agents/type-design-analyzer.md +41 -0
- package/bundled/upstream/ecc/agents/typescript-reviewer.md +112 -0
- package/bundled/upstream/ecc/commands/agent-sort.md +23 -0
- package/bundled/upstream/ecc/commands/aside.md +164 -0
- package/bundled/upstream/ecc/commands/build-fix.md +62 -0
- package/bundled/upstream/ecc/commands/checkpoint.md +74 -0
- package/bundled/upstream/ecc/commands/claw.md +23 -0
- package/bundled/upstream/ecc/commands/code-review.md +289 -0
- package/bundled/upstream/ecc/commands/context-budget.md +23 -0
- package/bundled/upstream/ecc/commands/cpp-build.md +173 -0
- package/bundled/upstream/ecc/commands/cpp-review.md +132 -0
- package/bundled/upstream/ecc/commands/cpp-test.md +251 -0
- package/bundled/upstream/ecc/commands/devfleet.md +23 -0
- package/bundled/upstream/ecc/commands/docs.md +23 -0
- package/bundled/upstream/ecc/commands/e2e.md +268 -0
- package/bundled/upstream/ecc/commands/eval.md +23 -0
- package/bundled/upstream/ecc/commands/evolve.md +178 -0
- package/bundled/upstream/ecc/commands/feature-dev.md +49 -0
- package/bundled/upstream/ecc/commands/flutter-build.md +164 -0
- package/bundled/upstream/ecc/commands/flutter-review.md +116 -0
- package/bundled/upstream/ecc/commands/flutter-test.md +144 -0
- package/bundled/upstream/ecc/commands/gan-build.md +99 -0
- package/bundled/upstream/ecc/commands/gan-design.md +35 -0
- package/bundled/upstream/ecc/commands/go-build.md +183 -0
- package/bundled/upstream/ecc/commands/go-review.md +148 -0
- package/bundled/upstream/ecc/commands/go-test.md +268 -0
- package/bundled/upstream/ecc/commands/gradle-build.md +70 -0
- package/bundled/upstream/ecc/commands/harness-audit.md +73 -0
- package/bundled/upstream/ecc/commands/hookify-configure.md +14 -0
- package/bundled/upstream/ecc/commands/hookify-help.md +46 -0
- package/bundled/upstream/ecc/commands/hookify-list.md +21 -0
- package/bundled/upstream/ecc/commands/hookify.md +50 -0
- package/bundled/upstream/ecc/commands/instinct-export.md +66 -0
- package/bundled/upstream/ecc/commands/instinct-import.md +114 -0
- package/bundled/upstream/ecc/commands/instinct-status.md +59 -0
- package/bundled/upstream/ecc/commands/jira.md +106 -0
- package/bundled/upstream/ecc/commands/kotlin-build.md +174 -0
- package/bundled/upstream/ecc/commands/kotlin-review.md +140 -0
- package/bundled/upstream/ecc/commands/kotlin-test.md +312 -0
- package/bundled/upstream/ecc/commands/learn-eval.md +116 -0
- package/bundled/upstream/ecc/commands/learn.md +70 -0
- package/bundled/upstream/ecc/commands/loop-start.md +32 -0
- package/bundled/upstream/ecc/commands/loop-status.md +24 -0
- package/bundled/upstream/ecc/commands/model-route.md +26 -0
- package/bundled/upstream/ecc/commands/multi-backend.md +158 -0
- package/bundled/upstream/ecc/commands/multi-execute.md +315 -0
- package/bundled/upstream/ecc/commands/multi-frontend.md +158 -0
- package/bundled/upstream/ecc/commands/multi-plan.md +268 -0
- package/bundled/upstream/ecc/commands/multi-workflow.md +191 -0
- package/bundled/upstream/ecc/commands/orchestrate.md +135 -0
- package/bundled/upstream/ecc/commands/plan.md +117 -0
- package/bundled/upstream/ecc/commands/pm2.md +272 -0
- package/bundled/upstream/ecc/commands/projects.md +39 -0
- package/bundled/upstream/ecc/commands/promote.md +41 -0
- package/bundled/upstream/ecc/commands/prompt-optimize.md +23 -0
- package/bundled/upstream/ecc/commands/prp-commit.md +112 -0
- package/bundled/upstream/ecc/commands/prp-implement.md +385 -0
- package/bundled/upstream/ecc/commands/prp-plan.md +502 -0
- package/bundled/upstream/ecc/commands/prp-pr.md +184 -0
- package/bundled/upstream/ecc/commands/prp-prd.md +447 -0
- package/bundled/upstream/ecc/commands/prune.md +31 -0
- package/bundled/upstream/ecc/commands/python-review.md +297 -0
- package/bundled/upstream/ecc/commands/quality-gate.md +29 -0
- package/bundled/upstream/ecc/commands/refactor-clean.md +80 -0
- package/bundled/upstream/ecc/commands/resume-session.md +156 -0
- package/bundled/upstream/ecc/commands/review-pr.md +37 -0
- package/bundled/upstream/ecc/commands/rules-distill.md +20 -0
- package/bundled/upstream/ecc/commands/rust-build.md +187 -0
- package/bundled/upstream/ecc/commands/rust-review.md +142 -0
- package/bundled/upstream/ecc/commands/rust-test.md +308 -0
- package/bundled/upstream/ecc/commands/santa-loop.md +175 -0
- package/bundled/upstream/ecc/commands/save-session.md +275 -0
- package/bundled/upstream/ecc/commands/sessions.md +339 -0
- package/bundled/upstream/ecc/commands/setup-pm.md +80 -0
- package/bundled/upstream/ecc/commands/skill-create.md +174 -0
- package/bundled/upstream/ecc/commands/skill-health.md +54 -0
- package/bundled/upstream/ecc/commands/tdd.md +231 -0
- package/bundled/upstream/ecc/commands/test-coverage.md +69 -0
- package/bundled/upstream/ecc/commands/update-codemaps.md +72 -0
- package/bundled/upstream/ecc/commands/update-docs.md +84 -0
- package/bundled/upstream/ecc/commands/verify.md +23 -0
- package/bundled/upstream/ecc/hooks/README.md +237 -0
- package/bundled/upstream/ecc/hooks/hooks.json +330 -0
- package/bundled/upstream/ecc/skills/accessibility/SKILL.md +146 -0
- package/bundled/upstream/ecc/skills/agent-eval/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/agent-harness-construction/SKILL.md +73 -0
- package/bundled/upstream/ecc/skills/agent-introspection-debugging/SKILL.md +153 -0
- package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +178 -0
- package/bundled/upstream/ecc/skills/agent-sort/SKILL.md +215 -0
- package/bundled/upstream/ecc/skills/agentic-engineering/SKILL.md +63 -0
- package/bundled/upstream/ecc/skills/ai-first-engineering/SKILL.md +51 -0
- package/bundled/upstream/ecc/skills/ai-regression-testing/SKILL.md +385 -0
- package/bundled/upstream/ecc/skills/android-clean-architecture/SKILL.md +339 -0
- package/bundled/upstream/ecc/skills/api-connector-builder/SKILL.md +120 -0
- package/bundled/upstream/ecc/skills/api-design/SKILL.md +523 -0
- package/bundled/upstream/ecc/skills/architecture-decision-records/SKILL.md +179 -0
- package/bundled/upstream/ecc/skills/article-writing/SKILL.md +79 -0
- package/bundled/upstream/ecc/skills/automation-audit-ops/SKILL.md +142 -0
- package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/bundled/upstream/ecc/skills/autonomous-loops/SKILL.md +610 -0
- package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +598 -0
- package/bundled/upstream/ecc/skills/benchmark/SKILL.md +93 -0
- package/bundled/upstream/ecc/skills/blueprint/SKILL.md +105 -0
- package/bundled/upstream/ecc/skills/brand-voice/SKILL.md +97 -0
- package/bundled/upstream/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/bundled/upstream/ecc/skills/browser-qa/SKILL.md +87 -0
- package/bundled/upstream/ecc/skills/bun-runtime/SKILL.md +84 -0
- package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +99 -0
- package/bundled/upstream/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
- package/bundled/upstream/ecc/skills/ck/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/ck/commands/forget.mjs +44 -0
- package/bundled/upstream/ecc/skills/ck/commands/info.mjs +24 -0
- package/bundled/upstream/ecc/skills/ck/commands/init.mjs +143 -0
- package/bundled/upstream/ecc/skills/ck/commands/list.mjs +40 -0
- package/bundled/upstream/ecc/skills/ck/commands/migrate.mjs +202 -0
- package/bundled/upstream/ecc/skills/ck/commands/resume.mjs +36 -0
- package/bundled/upstream/ecc/skills/ck/commands/save.mjs +210 -0
- package/bundled/upstream/ecc/skills/ck/commands/shared.mjs +387 -0
- package/bundled/upstream/ecc/skills/ck/hooks/session-start.mjs +224 -0
- package/bundled/upstream/ecc/skills/claude-api/SKILL.md +337 -0
- package/bundled/upstream/ecc/skills/claude-devfleet/SKILL.md +103 -0
- package/bundled/upstream/ecc/skills/click-path-audit/SKILL.md +244 -0
- package/bundled/upstream/ecc/skills/clickhouse-io/SKILL.md +439 -0
- package/bundled/upstream/ecc/skills/code-tour/SKILL.md +236 -0
- package/bundled/upstream/ecc/skills/codebase-onboarding/SKILL.md +233 -0
- package/bundled/upstream/ecc/skills/coding-standards/SKILL.md +549 -0
- package/bundled/upstream/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +367 -0
- package/bundled/upstream/ecc/skills/connections-optimizer/SKILL.md +189 -0
- package/bundled/upstream/ecc/skills/content-engine/SKILL.md +131 -0
- package/bundled/upstream/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/bundled/upstream/ecc/skills/context-budget/SKILL.md +135 -0
- package/bundled/upstream/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
- package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +123 -0
- package/bundled/upstream/ecc/skills/continuous-learning/config.json +18 -0
- package/bundled/upstream/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +346 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +282 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/config.json +8 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +460 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +243 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
- package/bundled/upstream/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/bundled/upstream/ecc/skills/council/SKILL.md +203 -0
- package/bundled/upstream/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
- package/bundled/upstream/ecc/skills/cpp-testing/SKILL.md +324 -0
- package/bundled/upstream/ecc/skills/crosspost/SKILL.md +111 -0
- package/bundled/upstream/ecc/skills/csharp-testing/SKILL.md +321 -0
- package/bundled/upstream/ecc/skills/customer-billing-ops/SKILL.md +140 -0
- package/bundled/upstream/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
- package/bundled/upstream/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/bundled/upstream/ecc/skills/dashboard-builder/SKILL.md +108 -0
- package/bundled/upstream/ecc/skills/data-scraper-agent/SKILL.md +764 -0
- package/bundled/upstream/ecc/skills/database-migrations/SKILL.md +429 -0
- package/bundled/upstream/ecc/skills/deep-research/SKILL.md +155 -0
- package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +160 -0
- package/bundled/upstream/ecc/skills/deployment-patterns/SKILL.md +427 -0
- package/bundled/upstream/ecc/skills/design-system/SKILL.md +82 -0
- package/bundled/upstream/ecc/skills/django-patterns/SKILL.md +734 -0
- package/bundled/upstream/ecc/skills/django-security/SKILL.md +593 -0
- package/bundled/upstream/ecc/skills/django-tdd/SKILL.md +729 -0
- package/bundled/upstream/ecc/skills/django-verification/SKILL.md +469 -0
- package/bundled/upstream/ecc/skills/dmux-workflows/SKILL.md +191 -0
- package/bundled/upstream/ecc/skills/docker-patterns/SKILL.md +364 -0
- package/bundled/upstream/ecc/skills/documentation-lookup/SKILL.md +90 -0
- package/bundled/upstream/ecc/skills/dotnet-patterns/SKILL.md +321 -0
- package/bundled/upstream/ecc/skills/e2e-testing/SKILL.md +326 -0
- package/bundled/upstream/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
- package/bundled/upstream/ecc/skills/email-ops/SKILL.md +121 -0
- package/bundled/upstream/ecc/skills/energy-procurement/SKILL.md +228 -0
- package/bundled/upstream/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/bundled/upstream/ecc/skills/eval-harness/SKILL.md +270 -0
- package/bundled/upstream/ecc/skills/evm-token-decimals/SKILL.md +130 -0
- package/bundled/upstream/ecc/skills/exa-search/SKILL.md +103 -0
- package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +284 -0
- package/bundled/upstream/ecc/skills/finance-billing-ops/SKILL.md +127 -0
- package/bundled/upstream/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/bundled/upstream/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
- package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/frontend-patterns/SKILL.md +642 -0
- package/bundled/upstream/ecc/skills/frontend-slides/SKILL.md +184 -0
- package/bundled/upstream/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/bundled/upstream/ecc/skills/gan-style-harness/SKILL.md +278 -0
- package/bundled/upstream/ecc/skills/gateguard/SKILL.md +121 -0
- package/bundled/upstream/ecc/skills/git-workflow/SKILL.md +715 -0
- package/bundled/upstream/ecc/skills/github-ops/SKILL.md +144 -0
- package/bundled/upstream/ecc/skills/golang-patterns/SKILL.md +674 -0
- package/bundled/upstream/ecc/skills/golang-testing/SKILL.md +720 -0
- package/bundled/upstream/ecc/skills/google-workspace-ops/SKILL.md +95 -0
- package/bundled/upstream/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/bundled/upstream/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/bundled/upstream/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
- package/bundled/upstream/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
- package/bundled/upstream/ecc/skills/hipaa-compliance/SKILL.md +78 -0
- package/bundled/upstream/ecc/skills/hookify-rules/SKILL.md +128 -0
- package/bundled/upstream/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
- package/bundled/upstream/ecc/skills/investor-materials/SKILL.md +96 -0
- package/bundled/upstream/ecc/skills/investor-outreach/SKILL.md +91 -0
- package/bundled/upstream/ecc/skills/iterative-retrieval/SKILL.md +211 -0
- package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/jira-integration/SKILL.md +293 -0
- package/bundled/upstream/ecc/skills/jpa-patterns/SKILL.md +151 -0
- package/bundled/upstream/ecc/skills/knowledge-ops/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/bundled/upstream/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/bundled/upstream/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/bundled/upstream/ecc/skills/kotlin-patterns/SKILL.md +711 -0
- package/bundled/upstream/ecc/skills/kotlin-testing/SKILL.md +824 -0
- package/bundled/upstream/ecc/skills/laravel-patterns/SKILL.md +415 -0
- package/bundled/upstream/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/bundled/upstream/ecc/skills/laravel-security/SKILL.md +285 -0
- package/bundled/upstream/ecc/skills/laravel-tdd/SKILL.md +283 -0
- package/bundled/upstream/ecc/skills/laravel-verification/SKILL.md +179 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/SKILL.md +321 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/bundled/upstream/ecc/skills/liquid-glass-design/SKILL.md +279 -0
- package/bundled/upstream/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
- package/bundled/upstream/ecc/skills/logistics-exception-management/SKILL.md +222 -0
- package/bundled/upstream/ecc/skills/manim-video/SKILL.md +89 -0
- package/bundled/upstream/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
- package/bundled/upstream/ecc/skills/market-research/SKILL.md +75 -0
- package/bundled/upstream/ecc/skills/mcp-server-patterns/SKILL.md +69 -0
- package/bundled/upstream/ecc/skills/messages-ops/SKILL.md +104 -0
- package/bundled/upstream/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
- package/bundled/upstream/ecc/skills/nestjs-patterns/SKILL.md +230 -0
- package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +44 -0
- package/bundled/upstream/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
- package/bundled/upstream/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
- package/bundled/upstream/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +296 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/bundled/upstream/ecc/skills/opensource-pipeline/SKILL.md +255 -0
- package/bundled/upstream/ecc/skills/perl-patterns/SKILL.md +504 -0
- package/bundled/upstream/ecc/skills/perl-security/SKILL.md +503 -0
- package/bundled/upstream/ecc/skills/perl-testing/SKILL.md +475 -0
- package/bundled/upstream/ecc/skills/plankton-code-quality/SKILL.md +236 -0
- package/bundled/upstream/ecc/skills/postgres-patterns/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/product-capability/SKILL.md +141 -0
- package/bundled/upstream/ecc/skills/product-lens/SKILL.md +92 -0
- package/bundled/upstream/ecc/skills/production-scheduling/SKILL.md +238 -0
- package/bundled/upstream/ecc/skills/project-flow-ops/SKILL.md +111 -0
- package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +397 -0
- package/bundled/upstream/ecc/skills/python-patterns/SKILL.md +750 -0
- package/bundled/upstream/ecc/skills/python-testing/SKILL.md +816 -0
- package/bundled/upstream/ecc/skills/pytorch-patterns/SKILL.md +396 -0
- package/bundled/upstream/ecc/skills/quality-nonconformance/SKILL.md +260 -0
- package/bundled/upstream/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/bundled/upstream/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/SKILL.md +43 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/images.md +130 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
- package/bundled/upstream/ecc/skills/repo-scan/SKILL.md +78 -0
- package/bundled/upstream/ecc/skills/research-ops/SKILL.md +112 -0
- package/bundled/upstream/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/bundled/upstream/ecc/skills/rules-distill/SKILL.md +264 -0
- package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/bundled/upstream/ecc/skills/rust-patterns/SKILL.md +499 -0
- package/bundled/upstream/ecc/skills/rust-testing/SKILL.md +500 -0
- package/bundled/upstream/ecc/skills/safety-guard/SKILL.md +75 -0
- package/bundled/upstream/ecc/skills/santa-method/SKILL.md +306 -0
- package/bundled/upstream/ecc/skills/search-first/SKILL.md +161 -0
- package/bundled/upstream/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
- package/bundled/upstream/ecc/skills/security-review/SKILL.md +495 -0
- package/bundled/upstream/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/bundled/upstream/ecc/skills/security-scan/SKILL.md +165 -0
- package/bundled/upstream/ecc/skills/seo/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/skill-comply/SKILL.md +58 -0
- package/bundled/upstream/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/bundled/upstream/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/bundled/upstream/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/bundled/upstream/ecc/skills/skill-comply/prompts/classifier.md +24 -0
- package/bundled/upstream/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
- package/bundled/upstream/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
- package/bundled/upstream/ecc/skills/skill-comply/pyproject.toml +15 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/__init__.py +0 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/classifier.py +85 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/grader.py +124 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/parser.py +107 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/report.py +170 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/run.py +127 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +161 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/utils.py +13 -0
- package/bundled/upstream/ecc/skills/skill-comply/tests/test_grader.py +197 -0
- package/bundled/upstream/ecc/skills/skill-comply/tests/test_parser.py +90 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +193 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/bundled/upstream/ecc/skills/social-graph-ranker/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/springboot-patterns/SKILL.md +314 -0
- package/bundled/upstream/ecc/skills/springboot-security/SKILL.md +272 -0
- package/bundled/upstream/ecc/skills/springboot-tdd/SKILL.md +158 -0
- package/bundled/upstream/ecc/skills/springboot-verification/SKILL.md +231 -0
- package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +131 -0
- package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
- package/bundled/upstream/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
- package/bundled/upstream/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/bundled/upstream/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/bundled/upstream/ecc/skills/swiftui-patterns/SKILL.md +259 -0
- package/bundled/upstream/ecc/skills/tdd-workflow/SKILL.md +463 -0
- package/bundled/upstream/ecc/skills/team-builder/SKILL.md +168 -0
- package/bundled/upstream/ecc/skills/terminal-ops/SKILL.md +109 -0
- package/bundled/upstream/ecc/skills/token-budget-advisor/SKILL.md +133 -0
- package/bundled/upstream/ecc/skills/ui-demo/SKILL.md +465 -0
- package/bundled/upstream/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
- package/bundled/upstream/ecc/skills/verification-loop/SKILL.md +126 -0
- package/bundled/upstream/ecc/skills/video-editing/SKILL.md +310 -0
- package/bundled/upstream/ecc/skills/videodb/SKILL.md +374 -0
- package/bundled/upstream/ecc/skills/videodb/reference/api-reference.md +550 -0
- package/bundled/upstream/ecc/skills/videodb/reference/capture-reference.md +407 -0
- package/bundled/upstream/ecc/skills/videodb/reference/capture.md +101 -0
- package/bundled/upstream/ecc/skills/videodb/reference/editor.md +443 -0
- package/bundled/upstream/ecc/skills/videodb/reference/generative.md +331 -0
- package/bundled/upstream/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
- package/bundled/upstream/ecc/skills/videodb/reference/rtstream.md +65 -0
- package/bundled/upstream/ecc/skills/videodb/reference/search.md +230 -0
- package/bundled/upstream/ecc/skills/videodb/reference/streaming.md +406 -0
- package/bundled/upstream/ecc/skills/videodb/reference/use-cases.md +118 -0
- package/bundled/upstream/ecc/skills/videodb/scripts/ws_listener.py +282 -0
- package/bundled/upstream/ecc/skills/visa-doc-translate/README.md +86 -0
- package/bundled/upstream/ecc/skills/visa-doc-translate/SKILL.md +117 -0
- package/bundled/upstream/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
- package/bundled/upstream/ecc/skills/x-api/SKILL.md +230 -0
- package/bundled/upstream/superpowers/.omc-source/last-plan-apply.json +22 -0
- package/package.json +3 -1
- package/src/catalog/source-catalog.js +391 -0
- package/src/cli/artifact.js +3 -2
- package/src/cli/doctor.js +25 -4
- package/src/cli/index.js +19 -0
- package/src/cli/plan.js +220 -0
- package/src/cli/setup.js +209 -12
- package/src/cli/source.js +110 -3
- package/src/config/paths.js +31 -0
- package/src/config/sources.js +103 -10
- package/src/merge/hook-merger.js +1 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eval-harness
|
|
3
|
+
description: Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles
|
|
4
|
+
origin: ECC
|
|
5
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Eval Harness Skill
|
|
9
|
+
|
|
10
|
+
A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles.
|
|
11
|
+
|
|
12
|
+
## When to Activate
|
|
13
|
+
|
|
14
|
+
- Setting up eval-driven development (EDD) for AI-assisted workflows
|
|
15
|
+
- Defining pass/fail criteria for Claude Code task completion
|
|
16
|
+
- Measuring agent reliability with pass@k metrics
|
|
17
|
+
- Creating regression test suites for prompt or agent changes
|
|
18
|
+
- Benchmarking agent performance across model versions
|
|
19
|
+
|
|
20
|
+
## Philosophy
|
|
21
|
+
|
|
22
|
+
Eval-Driven Development treats evals as the "unit tests of AI development":
|
|
23
|
+
- Define expected behavior BEFORE implementation
|
|
24
|
+
- Run evals continuously during development
|
|
25
|
+
- Track regressions with each change
|
|
26
|
+
- Use pass@k metrics for reliability measurement
|
|
27
|
+
|
|
28
|
+
## Eval Types
|
|
29
|
+
|
|
30
|
+
### Capability Evals
|
|
31
|
+
Test if Claude can do something it couldn't before:
|
|
32
|
+
```markdown
|
|
33
|
+
[CAPABILITY EVAL: feature-name]
|
|
34
|
+
Task: Description of what Claude should accomplish
|
|
35
|
+
Success Criteria:
|
|
36
|
+
- [ ] Criterion 1
|
|
37
|
+
- [ ] Criterion 2
|
|
38
|
+
- [ ] Criterion 3
|
|
39
|
+
Expected Output: Description of expected result
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Regression Evals
|
|
43
|
+
Ensure changes don't break existing functionality:
|
|
44
|
+
```markdown
|
|
45
|
+
[REGRESSION EVAL: feature-name]
|
|
46
|
+
Baseline: SHA or checkpoint name
|
|
47
|
+
Tests:
|
|
48
|
+
- existing-test-1: PASS/FAIL
|
|
49
|
+
- existing-test-2: PASS/FAIL
|
|
50
|
+
- existing-test-3: PASS/FAIL
|
|
51
|
+
Result: X/Y passed (previously Y/Y)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Grader Types
|
|
55
|
+
|
|
56
|
+
### 1. Code-Based Grader
|
|
57
|
+
Deterministic checks using code:
|
|
58
|
+
```bash
|
|
59
|
+
# Check if file contains expected pattern
|
|
60
|
+
grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"
|
|
61
|
+
|
|
62
|
+
# Check if tests pass
|
|
63
|
+
npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"
|
|
64
|
+
|
|
65
|
+
# Check if build succeeds
|
|
66
|
+
npm run build && echo "PASS" || echo "FAIL"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 2. Model-Based Grader
|
|
70
|
+
Use Claude to evaluate open-ended outputs:
|
|
71
|
+
```markdown
|
|
72
|
+
[MODEL GRADER PROMPT]
|
|
73
|
+
Evaluate the following code change:
|
|
74
|
+
1. Does it solve the stated problem?
|
|
75
|
+
2. Is it well-structured?
|
|
76
|
+
3. Are edge cases handled?
|
|
77
|
+
4. Is error handling appropriate?
|
|
78
|
+
|
|
79
|
+
Score: 1-5 (1=poor, 5=excellent)
|
|
80
|
+
Reasoning: [explanation]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 3. Human Grader
|
|
84
|
+
Flag for manual review:
|
|
85
|
+
```markdown
|
|
86
|
+
[HUMAN REVIEW REQUIRED]
|
|
87
|
+
Change: Description of what changed
|
|
88
|
+
Reason: Why human review is needed
|
|
89
|
+
Risk Level: LOW/MEDIUM/HIGH
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Metrics
|
|
93
|
+
|
|
94
|
+
### pass@k
|
|
95
|
+
"At least one success in k attempts"
|
|
96
|
+
- pass@1: First attempt success rate
|
|
97
|
+
- pass@3: Success within 3 attempts
|
|
98
|
+
- Typical target: pass@3 > 90%
|
|
99
|
+
|
|
100
|
+
### pass^k
|
|
101
|
+
"All k trials succeed"
|
|
102
|
+
- Higher bar for reliability
|
|
103
|
+
- pass^3: 3 consecutive successes
|
|
104
|
+
- Use for critical paths
|
|
105
|
+
|
|
106
|
+
## Eval Workflow
|
|
107
|
+
|
|
108
|
+
### 1. Define (Before Coding)
|
|
109
|
+
```markdown
|
|
110
|
+
## EVAL DEFINITION: feature-xyz
|
|
111
|
+
|
|
112
|
+
### Capability Evals
|
|
113
|
+
1. Can create new user account
|
|
114
|
+
2. Can validate email format
|
|
115
|
+
3. Can hash password securely
|
|
116
|
+
|
|
117
|
+
### Regression Evals
|
|
118
|
+
1. Existing login still works
|
|
119
|
+
2. Session management unchanged
|
|
120
|
+
3. Logout flow intact
|
|
121
|
+
|
|
122
|
+
### Success Metrics
|
|
123
|
+
- pass@3 > 90% for capability evals
|
|
124
|
+
- pass^3 = 100% for regression evals
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 2. Implement
|
|
128
|
+
Write code to pass the defined evals.
|
|
129
|
+
|
|
130
|
+
### 3. Evaluate
|
|
131
|
+
```bash
|
|
132
|
+
# Run capability evals
|
|
133
|
+
[Run each capability eval, record PASS/FAIL]
|
|
134
|
+
|
|
135
|
+
# Run regression evals
|
|
136
|
+
npm test -- --testPathPattern="existing"
|
|
137
|
+
|
|
138
|
+
# Generate report
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 4. Report
|
|
142
|
+
```markdown
|
|
143
|
+
EVAL REPORT: feature-xyz
|
|
144
|
+
========================
|
|
145
|
+
|
|
146
|
+
Capability Evals:
|
|
147
|
+
create-user: PASS (pass@1)
|
|
148
|
+
validate-email: PASS (pass@2)
|
|
149
|
+
hash-password: PASS (pass@1)
|
|
150
|
+
Overall: 3/3 passed
|
|
151
|
+
|
|
152
|
+
Regression Evals:
|
|
153
|
+
login-flow: PASS
|
|
154
|
+
session-mgmt: PASS
|
|
155
|
+
logout-flow: PASS
|
|
156
|
+
Overall: 3/3 passed
|
|
157
|
+
|
|
158
|
+
Metrics:
|
|
159
|
+
pass@1: 67% (2/3)
|
|
160
|
+
pass@3: 100% (3/3)
|
|
161
|
+
|
|
162
|
+
Status: READY FOR REVIEW
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Integration Patterns
|
|
166
|
+
|
|
167
|
+
### Pre-Implementation
|
|
168
|
+
```
|
|
169
|
+
/eval define feature-name
|
|
170
|
+
```
|
|
171
|
+
Creates eval definition file at `.claude/evals/feature-name.md`
|
|
172
|
+
|
|
173
|
+
### During Implementation
|
|
174
|
+
```
|
|
175
|
+
/eval check feature-name
|
|
176
|
+
```
|
|
177
|
+
Runs current evals and reports status
|
|
178
|
+
|
|
179
|
+
### Post-Implementation
|
|
180
|
+
```
|
|
181
|
+
/eval report feature-name
|
|
182
|
+
```
|
|
183
|
+
Generates full eval report
|
|
184
|
+
|
|
185
|
+
## Eval Storage
|
|
186
|
+
|
|
187
|
+
Store evals in project:
|
|
188
|
+
```
|
|
189
|
+
.claude/
|
|
190
|
+
evals/
|
|
191
|
+
feature-xyz.md # Eval definition
|
|
192
|
+
feature-xyz.log # Eval run history
|
|
193
|
+
baseline.json # Regression baselines
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Best Practices
|
|
197
|
+
|
|
198
|
+
1. **Define evals BEFORE coding** - Forces clear thinking about success criteria
|
|
199
|
+
2. **Run evals frequently** - Catch regressions early
|
|
200
|
+
3. **Track pass@k over time** - Monitor reliability trends
|
|
201
|
+
4. **Use code graders when possible** - Deterministic > probabilistic
|
|
202
|
+
5. **Human review for security** - Never fully automate security checks
|
|
203
|
+
6. **Keep evals fast** - Slow evals don't get run
|
|
204
|
+
7. **Version evals with code** - Evals are first-class artifacts
|
|
205
|
+
|
|
206
|
+
## Example: Adding Authentication
|
|
207
|
+
|
|
208
|
+
```markdown
|
|
209
|
+
## EVAL: add-authentication
|
|
210
|
+
|
|
211
|
+
### Phase 1: Define (10 min)
|
|
212
|
+
Capability Evals:
|
|
213
|
+
- [ ] User can register with email/password
|
|
214
|
+
- [ ] User can login with valid credentials
|
|
215
|
+
- [ ] Invalid credentials rejected with proper error
|
|
216
|
+
- [ ] Sessions persist across page reloads
|
|
217
|
+
- [ ] Logout clears session
|
|
218
|
+
|
|
219
|
+
Regression Evals:
|
|
220
|
+
- [ ] Public routes still accessible
|
|
221
|
+
- [ ] API responses unchanged
|
|
222
|
+
- [ ] Database schema compatible
|
|
223
|
+
|
|
224
|
+
### Phase 2: Implement (varies)
|
|
225
|
+
[Write code]
|
|
226
|
+
|
|
227
|
+
### Phase 3: Evaluate
|
|
228
|
+
Run: /eval check add-authentication
|
|
229
|
+
|
|
230
|
+
### Phase 4: Report
|
|
231
|
+
EVAL REPORT: add-authentication
|
|
232
|
+
==============================
|
|
233
|
+
Capability: 5/5 passed (pass@3: 100%)
|
|
234
|
+
Regression: 3/3 passed (pass^3: 100%)
|
|
235
|
+
Status: SHIP IT
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Product Evals (v1.8)
|
|
239
|
+
|
|
240
|
+
Use product evals when behavior quality cannot be captured by unit tests alone.
|
|
241
|
+
|
|
242
|
+
### Grader Types
|
|
243
|
+
|
|
244
|
+
1. Code grader (deterministic assertions)
|
|
245
|
+
2. Rule grader (regex/schema constraints)
|
|
246
|
+
3. Model grader (LLM-as-judge rubric)
|
|
247
|
+
4. Human grader (manual adjudication for ambiguous outputs)
|
|
248
|
+
|
|
249
|
+
### pass@k Guidance
|
|
250
|
+
|
|
251
|
+
- `pass@1`: direct reliability
|
|
252
|
+
- `pass@3`: practical reliability under controlled retries
|
|
253
|
+
- `pass^3`: stability test (all 3 runs must pass)
|
|
254
|
+
|
|
255
|
+
Recommended thresholds:
|
|
256
|
+
- Capability evals: pass@3 >= 0.90
|
|
257
|
+
- Regression evals: pass^3 = 1.00 for release-critical paths
|
|
258
|
+
|
|
259
|
+
### Eval Anti-Patterns
|
|
260
|
+
|
|
261
|
+
- Overfitting prompts to known eval examples
|
|
262
|
+
- Measuring only happy-path outputs
|
|
263
|
+
- Ignoring cost and latency drift while chasing pass rates
|
|
264
|
+
- Allowing flaky graders in release gates
|
|
265
|
+
|
|
266
|
+
### Minimal Eval Artifact Layout
|
|
267
|
+
|
|
268
|
+
- `.claude/evals/<feature>.md` definition
|
|
269
|
+
- `.claude/evals/<feature>.log` run history
|
|
270
|
+
- `docs/releases/<version>/eval-summary.md` release snapshot
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: evm-token-decimals
|
|
3
|
+
description: Prevent silent decimal mismatch bugs across EVM chains. Covers runtime decimal lookup, chain-aware caching, bridged-token precision drift, and safe normalization for bots, dashboards, and DeFi tools.
|
|
4
|
+
origin: ECC direct-port adaptation
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# EVM Token Decimals
|
|
9
|
+
|
|
10
|
+
Silent decimal mismatches are one of the easiest ways to ship balances or USD values that are off by orders of magnitude without throwing an error.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Reading ERC-20 balances in Python, TypeScript, or Solidity
|
|
15
|
+
- Calculating fiat values from on-chain balances
|
|
16
|
+
- Comparing token amounts across multiple EVM chains
|
|
17
|
+
- Handling bridged assets
|
|
18
|
+
- Building portfolio trackers, bots, or aggregators
|
|
19
|
+
|
|
20
|
+
## How It Works
|
|
21
|
+
|
|
22
|
+
Never assume stablecoins use the same decimals everywhere. Query `decimals()` at runtime, cache by `(chain_id, token_address)`, and use decimal-safe math for value calculations.
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Query decimals at runtime
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
from decimal import Decimal
|
|
30
|
+
from web3 import Web3
|
|
31
|
+
|
|
32
|
+
ERC20_ABI = [
|
|
33
|
+
{"name": "decimals", "type": "function", "inputs": [],
|
|
34
|
+
"outputs": [{"type": "uint8"}], "stateMutability": "view"},
|
|
35
|
+
{"name": "balanceOf", "type": "function",
|
|
36
|
+
"inputs": [{"name": "account", "type": "address"}],
|
|
37
|
+
"outputs": [{"type": "uint256"}], "stateMutability": "view"},
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
def get_token_balance(w3: Web3, token_address: str, wallet: str) -> Decimal:
|
|
41
|
+
contract = w3.eth.contract(
|
|
42
|
+
address=Web3.to_checksum_address(token_address),
|
|
43
|
+
abi=ERC20_ABI,
|
|
44
|
+
)
|
|
45
|
+
decimals = contract.functions.decimals().call()
|
|
46
|
+
raw = contract.functions.balanceOf(Web3.to_checksum_address(wallet)).call()
|
|
47
|
+
return Decimal(raw) / Decimal(10 ** decimals)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Do not hardcode `1_000_000` because a symbol usually has 6 decimals somewhere else.
|
|
51
|
+
|
|
52
|
+
### Cache by chain and token
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from functools import lru_cache
|
|
56
|
+
|
|
57
|
+
@lru_cache(maxsize=512)
|
|
58
|
+
def get_decimals(chain_id: int, token_address: str) -> int:
|
|
59
|
+
w3 = get_web3_for_chain(chain_id)
|
|
60
|
+
contract = w3.eth.contract(
|
|
61
|
+
address=Web3.to_checksum_address(token_address),
|
|
62
|
+
abi=ERC20_ABI,
|
|
63
|
+
)
|
|
64
|
+
return contract.functions.decimals().call()
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Handle odd tokens defensively
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
try:
|
|
71
|
+
decimals = contract.functions.decimals().call()
|
|
72
|
+
except Exception:
|
|
73
|
+
logging.warning(
|
|
74
|
+
"decimals() reverted on %s (chain %s), defaulting to 18",
|
|
75
|
+
token_address,
|
|
76
|
+
chain_id,
|
|
77
|
+
)
|
|
78
|
+
decimals = 18
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Log the fallback and keep it visible. Old or non-standard tokens still exist.
|
|
82
|
+
|
|
83
|
+
### Normalize to 18-decimal WAD in Solidity
|
|
84
|
+
|
|
85
|
+
```solidity
|
|
86
|
+
interface IERC20Metadata {
|
|
87
|
+
function decimals() external view returns (uint8);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function normalizeToWad(address token, uint256 amount) internal view returns (uint256) {
|
|
91
|
+
uint8 d = IERC20Metadata(token).decimals();
|
|
92
|
+
if (d == 18) return amount;
|
|
93
|
+
if (d < 18) return amount * 10 ** (18 - d);
|
|
94
|
+
return amount / 10 ** (d - 18);
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### TypeScript with ethers
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
import { Contract, formatUnits } from 'ethers';
|
|
102
|
+
|
|
103
|
+
const ERC20_ABI = [
|
|
104
|
+
'function decimals() view returns (uint8)',
|
|
105
|
+
'function balanceOf(address) view returns (uint256)',
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
async function getBalance(provider: any, tokenAddress: string, wallet: string): Promise<string> {
|
|
109
|
+
const token = new Contract(tokenAddress, ERC20_ABI, provider);
|
|
110
|
+
const [decimals, raw] = await Promise.all([
|
|
111
|
+
token.decimals(),
|
|
112
|
+
token.balanceOf(wallet),
|
|
113
|
+
]);
|
|
114
|
+
return formatUnits(raw, decimals);
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Quick on-chain check
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
cast call <token_address> "decimals()(uint8)" --rpc-url <rpc>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Rules
|
|
125
|
+
|
|
126
|
+
- Always query `decimals()` at runtime
|
|
127
|
+
- Cache by chain plus token address, not symbol
|
|
128
|
+
- Use `Decimal`, `BigInt`, or equivalent exact math, not float
|
|
129
|
+
- Re-query decimals after bridging or wrapper changes
|
|
130
|
+
- Normalize internal accounting consistently before comparison or pricing
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: exa-search
|
|
3
|
+
description: Neural search via Exa MCP for web, code, and company research. Use when the user needs web search, code examples, company intel, people lookup, or AI-powered deep research with Exa's neural search engine.
|
|
4
|
+
origin: ECC
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Exa Search
|
|
8
|
+
|
|
9
|
+
Neural search for web content, code, companies, and people via the Exa MCP server.
|
|
10
|
+
|
|
11
|
+
## When to Activate
|
|
12
|
+
|
|
13
|
+
- User needs current web information or news
|
|
14
|
+
- Searching for code examples, API docs, or technical references
|
|
15
|
+
- Researching companies, competitors, or market players
|
|
16
|
+
- Finding professional profiles or people in a domain
|
|
17
|
+
- Running background research for any development task
|
|
18
|
+
- User says "search for", "look up", "find", or "what's the latest on"
|
|
19
|
+
|
|
20
|
+
## MCP Requirement
|
|
21
|
+
|
|
22
|
+
Exa MCP server must be configured. Add to `~/.claude.json`:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
"exa-web-search": {
|
|
26
|
+
"command": "npx",
|
|
27
|
+
"args": ["-y", "exa-mcp-server"],
|
|
28
|
+
"env": { "EXA_API_KEY": "YOUR_EXA_API_KEY_HERE" }
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Get an API key at [exa.ai](https://exa.ai).
|
|
33
|
+
This repo's current Exa setup documents the tool surface exposed here: `web_search_exa` and `get_code_context_exa`.
|
|
34
|
+
If your Exa server exposes additional tools, verify their exact names before depending on them in docs or prompts.
|
|
35
|
+
|
|
36
|
+
## Core Tools
|
|
37
|
+
|
|
38
|
+
### web_search_exa
|
|
39
|
+
General web search for current information, news, or facts.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
web_search_exa(query: "latest AI developments 2026", numResults: 5)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Parameters:**
|
|
46
|
+
|
|
47
|
+
| Param | Type | Default | Notes |
|
|
48
|
+
|-------|------|---------|-------|
|
|
49
|
+
| `query` | string | required | Search query |
|
|
50
|
+
| `numResults` | number | 8 | Number of results |
|
|
51
|
+
| `type` | string | `auto` | Search mode |
|
|
52
|
+
| `livecrawl` | string | `fallback` | Prefer live crawling when needed |
|
|
53
|
+
| `category` | string | none | Optional focus such as `company` or `research paper` |
|
|
54
|
+
|
|
55
|
+
### get_code_context_exa
|
|
56
|
+
Find code examples and documentation from GitHub, Stack Overflow, and docs sites.
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
get_code_context_exa(query: "Python asyncio patterns", tokensNum: 3000)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Parameters:**
|
|
63
|
+
|
|
64
|
+
| Param | Type | Default | Notes |
|
|
65
|
+
|-------|------|---------|-------|
|
|
66
|
+
| `query` | string | required | Code or API search query |
|
|
67
|
+
| `tokensNum` | number | 5000 | Content tokens (1000-50000) |
|
|
68
|
+
|
|
69
|
+
## Usage Patterns
|
|
70
|
+
|
|
71
|
+
### Quick Lookup
|
|
72
|
+
```
|
|
73
|
+
web_search_exa(query: "Node.js 22 new features", numResults: 3)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Code Research
|
|
77
|
+
```
|
|
78
|
+
get_code_context_exa(query: "Rust error handling patterns Result type", tokensNum: 3000)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Company or People Research
|
|
82
|
+
```
|
|
83
|
+
web_search_exa(query: "Vercel funding valuation 2026", numResults: 3, category: "company")
|
|
84
|
+
web_search_exa(query: "site:linkedin.com/in AI safety researchers Anthropic", numResults: 5)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Technical Deep Dive
|
|
88
|
+
```
|
|
89
|
+
web_search_exa(query: "WebAssembly component model status and adoption", numResults: 5)
|
|
90
|
+
get_code_context_exa(query: "WebAssembly component model examples", tokensNum: 4000)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Tips
|
|
94
|
+
|
|
95
|
+
- Use `web_search_exa` for current information, company lookups, and broad discovery
|
|
96
|
+
- Use search operators like `site:`, quoted phrases, and `intitle:` to narrow results
|
|
97
|
+
- Lower `tokensNum` (1000-2000) for focused code snippets, higher (5000+) for comprehensive context
|
|
98
|
+
- Use `get_code_context_exa` when you need API usage or code examples rather than general web pages
|
|
99
|
+
|
|
100
|
+
## Related Skills
|
|
101
|
+
|
|
102
|
+
- `deep-research` — Full research workflow using firecrawl + exa together
|
|
103
|
+
- `market-research` — Business-oriented research with decision frameworks
|