@rubix0270/arboris 1.0.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 +151 -0
- package/cli/manifest.json +323 -0
- package/dist/cli.mjs +376 -0
- package/package.json +81 -0
- package/prisma/skills/accessibility/SKILL.md +147 -0
- package/prisma/skills/agent-architecture-audit/SKILL.md +257 -0
- package/prisma/skills/agent-eval/SKILL.md +146 -0
- package/prisma/skills/agent-harness-construction/SKILL.md +74 -0
- package/prisma/skills/agent-introspection-debugging/SKILL.md +154 -0
- package/prisma/skills/agent-payment-x402/SKILL.md +225 -0
- package/prisma/skills/agent-self-evaluation/SKILL.md +182 -0
- package/prisma/skills/agent-self-evaluation/examples/high-score-example.md +87 -0
- package/prisma/skills/agent-self-evaluation/examples/low-score-example.md +86 -0
- package/prisma/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -0
- package/prisma/skills/agent-self-evaluation/references/hook-integration.md +64 -0
- package/prisma/skills/agent-self-evaluation/scripts/evaluate.py +408 -0
- package/prisma/skills/agent-self-evaluation/templates/evaluation-report.md +86 -0
- package/prisma/skills/agent-sort/SKILL.md +216 -0
- package/prisma/skills/agentic-engineering/SKILL.md +64 -0
- package/prisma/skills/agentic-os/SKILL.md +388 -0
- package/prisma/skills/ai-first-engineering/SKILL.md +52 -0
- package/prisma/skills/ai-regression-testing/SKILL.md +386 -0
- package/prisma/skills/android-clean-architecture/SKILL.md +340 -0
- package/prisma/skills/angular-developer/SKILL.md +155 -0
- package/prisma/skills/angular-developer/references/angular-animations.md +160 -0
- package/prisma/skills/angular-developer/references/angular-aria.md +410 -0
- package/prisma/skills/angular-developer/references/cli.md +86 -0
- package/prisma/skills/angular-developer/references/component-harnesses.md +59 -0
- package/prisma/skills/angular-developer/references/component-styling.md +91 -0
- package/prisma/skills/angular-developer/references/components.md +117 -0
- package/prisma/skills/angular-developer/references/creating-services.md +97 -0
- package/prisma/skills/angular-developer/references/data-resolvers.md +69 -0
- package/prisma/skills/angular-developer/references/define-routes.md +67 -0
- package/prisma/skills/angular-developer/references/defining-providers.md +72 -0
- package/prisma/skills/angular-developer/references/di-fundamentals.md +120 -0
- package/prisma/skills/angular-developer/references/e2e-testing.md +56 -0
- package/prisma/skills/angular-developer/references/effects.md +83 -0
- package/prisma/skills/angular-developer/references/hierarchical-injectors.md +43 -0
- package/prisma/skills/angular-developer/references/host-elements.md +80 -0
- package/prisma/skills/angular-developer/references/injection-context.md +63 -0
- package/prisma/skills/angular-developer/references/inputs.md +101 -0
- package/prisma/skills/angular-developer/references/linked-signal.md +59 -0
- package/prisma/skills/angular-developer/references/loading-strategies.md +61 -0
- package/prisma/skills/angular-developer/references/mcp.md +108 -0
- package/prisma/skills/angular-developer/references/navigate-to-routes.md +69 -0
- package/prisma/skills/angular-developer/references/outputs.md +86 -0
- package/prisma/skills/angular-developer/references/reactive-forms.md +122 -0
- package/prisma/skills/angular-developer/references/rendering-strategies.md +44 -0
- package/prisma/skills/angular-developer/references/resource.md +77 -0
- package/prisma/skills/angular-developer/references/route-animations.md +56 -0
- package/prisma/skills/angular-developer/references/route-guards.md +52 -0
- package/prisma/skills/angular-developer/references/router-lifecycle.md +45 -0
- package/prisma/skills/angular-developer/references/router-testing.md +87 -0
- package/prisma/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
- package/prisma/skills/angular-developer/references/signal-forms.md +795 -0
- package/prisma/skills/angular-developer/references/signals-overview.md +94 -0
- package/prisma/skills/angular-developer/references/tailwind-css.md +69 -0
- package/prisma/skills/angular-developer/references/template-driven-forms.md +114 -0
- package/prisma/skills/angular-developer/references/testing-fundamentals.md +65 -0
- package/prisma/skills/api-connector-builder/SKILL.md +121 -0
- package/prisma/skills/api-design/SKILL.md +524 -0
- package/prisma/skills/architecture-decision-records/SKILL.md +180 -0
- package/prisma/skills/article-writing/SKILL.md +80 -0
- package/prisma/skills/automation-audit-ops/SKILL.md +143 -0
- package/prisma/skills/autonomous-agent-harness/SKILL.md +274 -0
- package/prisma/skills/autonomous-loops/SKILL.md +611 -0
- package/prisma/skills/backend-patterns/SKILL.md +562 -0
- package/prisma/skills/benchmark/SKILL.md +94 -0
- package/prisma/skills/benchmark-methodology/SKILL.md +190 -0
- package/prisma/skills/benchmark-optimization-loop/SKILL.md +70 -0
- package/prisma/skills/blender-motion-state-inspection/SKILL.md +165 -0
- package/prisma/skills/blueprint/SKILL.md +106 -0
- package/prisma/skills/brand-discovery/SKILL.md +145 -0
- package/prisma/skills/brand-discovery/references/10_purpose-why.md +40 -0
- package/prisma/skills/brand-discovery/references/20_positioning.md +44 -0
- package/prisma/skills/brand-discovery/references/30_audience-niche.md +52 -0
- package/prisma/skills/brand-discovery/references/40_personality-archetype.md +57 -0
- package/prisma/skills/brand-discovery/references/50_voice-tone.md +59 -0
- package/prisma/skills/brand-discovery/references/60_narrative-story.md +50 -0
- package/prisma/skills/brand-discovery/references/70_founder-tension.md +49 -0
- package/prisma/skills/brand-discovery/references/90_SYNTHESIS.md +133 -0
- package/prisma/skills/brand-voice/SKILL.md +98 -0
- package/prisma/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/prisma/skills/browser-qa/SKILL.md +105 -0
- package/prisma/skills/bun-runtime/SKILL.md +85 -0
- package/prisma/skills/canary-watch/SKILL.md +108 -0
- package/prisma/skills/carrier-relationship-management/SKILL.md +212 -0
- package/prisma/skills/cisco-ios-patterns/SKILL.md +164 -0
- package/prisma/skills/ck/SKILL.md +148 -0
- package/prisma/skills/ck/commands/forget.mjs +44 -0
- package/prisma/skills/ck/commands/info.mjs +24 -0
- package/prisma/skills/ck/commands/init.mjs +143 -0
- package/prisma/skills/ck/commands/list.mjs +40 -0
- package/prisma/skills/ck/commands/migrate.mjs +202 -0
- package/prisma/skills/ck/commands/resume.mjs +36 -0
- package/prisma/skills/ck/commands/save.mjs +210 -0
- package/prisma/skills/ck/commands/shared.mjs +387 -0
- package/prisma/skills/ck/hooks/session-start.mjs +224 -0
- package/prisma/skills/claude-devfleet/SKILL.md +112 -0
- package/prisma/skills/click-path-audit/SKILL.md +245 -0
- package/prisma/skills/clickhouse-io/SKILL.md +440 -0
- package/prisma/skills/code-tour/SKILL.md +254 -0
- package/prisma/skills/codebase-onboarding/SKILL.md +234 -0
- package/prisma/skills/codehealth-mcp/SKILL.md +167 -0
- package/prisma/skills/coding-standards/SKILL.md +551 -0
- package/prisma/skills/competitive-platform-analysis/SKILL.md +214 -0
- package/prisma/skills/competitive-report-structure/SKILL.md +162 -0
- package/prisma/skills/compose-multiplatform-patterns/SKILL.md +300 -0
- package/prisma/skills/config-gc/SKILL.md +120 -0
- package/prisma/skills/configure-ecc/SKILL.md +385 -0
- package/prisma/skills/connections-optimizer/SKILL.md +190 -0
- package/prisma/skills/content-engine/SKILL.md +132 -0
- package/prisma/skills/content-hash-cache-pattern/SKILL.md +162 -0
- package/prisma/skills/context-budget/SKILL.md +136 -0
- package/prisma/skills/continuous-agent-loop/SKILL.md +46 -0
- package/prisma/skills/continuous-learning/SKILL.md +132 -0
- package/prisma/skills/continuous-learning/config.json +18 -0
- package/prisma/skills/continuous-learning/evaluate-session.sh +69 -0
- package/prisma/skills/continuous-learning-v2/SKILL.md +361 -0
- package/prisma/skills/continuous-learning-v2/agents/observer-loop.sh +359 -0
- package/prisma/skills/continuous-learning-v2/agents/observer.md +189 -0
- package/prisma/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/prisma/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
- package/prisma/skills/continuous-learning-v2/config.json +8 -0
- package/prisma/skills/continuous-learning-v2/hooks/observe.sh +585 -0
- package/prisma/skills/continuous-learning-v2/scripts/detect-project.sh +322 -0
- package/prisma/skills/continuous-learning-v2/scripts/instinct-cli.py +1956 -0
- package/prisma/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
- package/prisma/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +68 -0
- package/prisma/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1421 -0
- package/prisma/skills/cost-aware-llm-pipeline/SKILL.md +184 -0
- package/prisma/skills/cost-tracking/SKILL.md +97 -0
- package/prisma/skills/council/SKILL.md +204 -0
- package/prisma/skills/cpp-coding-standards/SKILL.md +724 -0
- package/prisma/skills/cpp-testing/SKILL.md +325 -0
- package/prisma/skills/crosspost/SKILL.md +112 -0
- package/prisma/skills/csharp-testing/SKILL.md +322 -0
- package/prisma/skills/customer-billing-ops/SKILL.md +141 -0
- package/prisma/skills/customs-trade-compliance/SKILL.md +263 -0
- package/prisma/skills/dart-flutter-patterns/SKILL.md +564 -0
- package/prisma/skills/dashboard-builder/SKILL.md +109 -0
- package/prisma/skills/data-scraper-agent/SKILL.md +765 -0
- package/prisma/skills/data-throughput-accelerator/SKILL.md +73 -0
- package/prisma/skills/database-migrations/SKILL.md +430 -0
- package/prisma/skills/deep-research/SKILL.md +160 -0
- package/prisma/skills/defi-amm-security/SKILL.md +167 -0
- package/prisma/skills/delivery-gate/SKILL.md +126 -0
- package/prisma/skills/delivery-gate/hooks/quality-gate.py +220 -0
- package/prisma/skills/deployment-patterns/SKILL.md +428 -0
- package/prisma/skills/design-system/SKILL.md +83 -0
- package/prisma/skills/django-celery/SKILL.md +458 -0
- package/prisma/skills/django-patterns/SKILL.md +735 -0
- package/prisma/skills/django-security/SKILL.md +644 -0
- package/prisma/skills/django-tdd/SKILL.md +730 -0
- package/prisma/skills/django-verification/SKILL.md +470 -0
- package/prisma/skills/dmux-workflows/SKILL.md +192 -0
- package/prisma/skills/docker-patterns/SKILL.md +365 -0
- package/prisma/skills/documentation-lookup/SKILL.md +91 -0
- package/prisma/skills/dotnet-patterns/SKILL.md +322 -0
- package/prisma/skills/dynamic-workflow-mode/SKILL.md +124 -0
- package/prisma/skills/e2e-testing/SKILL.md +327 -0
- package/prisma/skills/ecc-guide/SKILL.md +190 -0
- package/prisma/skills/ecc-recipes/SKILL.md +149 -0
- package/prisma/skills/ecc-tools-cost-audit/SKILL.md +161 -0
- package/prisma/skills/email-ops/SKILL.md +122 -0
- package/prisma/skills/energy-procurement/SKILL.md +228 -0
- package/prisma/skills/enterprise-agent-ops/SKILL.md +51 -0
- package/prisma/skills/error-handling/SKILL.md +377 -0
- package/prisma/skills/eval-harness/SKILL.md +271 -0
- package/prisma/skills/evm-token-decimals/SKILL.md +131 -0
- package/prisma/skills/exa-search/SKILL.md +108 -0
- package/prisma/skills/fal-ai-media/SKILL.md +289 -0
- package/prisma/skills/fastapi-patterns/SKILL.md +514 -0
- package/prisma/skills/finance-billing-ops/SKILL.md +128 -0
- package/prisma/skills/flox-environments/SKILL.md +497 -0
- package/prisma/skills/flutter-dart-code-review/SKILL.md +436 -0
- package/prisma/skills/foundation-models-on-device/SKILL.md +243 -0
- package/prisma/skills/frontend-a11y/SKILL.md +446 -0
- package/prisma/skills/frontend-design-direction/SKILL.md +93 -0
- package/prisma/skills/frontend-patterns/SKILL.md +657 -0
- package/prisma/skills/frontend-slides/SKILL.md +185 -0
- package/prisma/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/prisma/skills/frontend-slides/animation-patterns.md +122 -0
- package/prisma/skills/frontend-slides/html-template.md +419 -0
- package/prisma/skills/frontend-slides/scripts/export-pdf.sh +418 -0
- package/prisma/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/prisma/skills/frontend-slides/viewport-base.css +153 -0
- package/prisma/skills/fsharp-testing/SKILL.md +281 -0
- package/prisma/skills/gan-style-harness/SKILL.md +279 -0
- package/prisma/skills/gateguard/SKILL.md +133 -0
- package/prisma/skills/generating-python-installer/SKILL.md +820 -0
- package/prisma/skills/git-workflow/SKILL.md +716 -0
- package/prisma/skills/github-ops/SKILL.md +145 -0
- package/prisma/skills/golang-patterns/SKILL.md +675 -0
- package/prisma/skills/golang-testing/SKILL.md +721 -0
- package/prisma/skills/google-workspace-ops/SKILL.md +96 -0
- package/prisma/skills/growth-log/SKILL.md +128 -0
- package/prisma/skills/healthcare-cdss-patterns/SKILL.md +246 -0
- package/prisma/skills/healthcare-emr-patterns/SKILL.md +160 -0
- package/prisma/skills/healthcare-eval-harness/SKILL.md +208 -0
- package/prisma/skills/healthcare-phi-compliance/SKILL.md +146 -0
- package/prisma/skills/hermes-imports/SKILL.md +89 -0
- package/prisma/skills/hexagonal-architecture/SKILL.md +277 -0
- package/prisma/skills/hipaa-compliance/SKILL.md +79 -0
- package/prisma/skills/homelab-network-readiness/SKILL.md +170 -0
- package/prisma/skills/homelab-network-setup/SKILL.md +130 -0
- package/prisma/skills/homelab-pihole-dns/SKILL.md +275 -0
- package/prisma/skills/homelab-vlan-segmentation/SKILL.md +312 -0
- package/prisma/skills/homelab-wireguard-vpn/SKILL.md +306 -0
- package/prisma/skills/hookify-rules/SKILL.md +128 -0
- package/prisma/skills/inherit-legacy-style/SKILL.md +157 -0
- package/prisma/skills/intent-driven-development/SKILL.md +360 -0
- package/prisma/skills/inventory-demand-planning/SKILL.md +247 -0
- package/prisma/skills/investor-materials/SKILL.md +97 -0
- package/prisma/skills/investor-outreach/SKILL.md +92 -0
- package/prisma/skills/ios-icon-gen/SKILL.md +158 -0
- package/prisma/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
- package/prisma/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
- package/prisma/skills/iterative-retrieval/SKILL.md +212 -0
- package/prisma/skills/ito-basket-compare/SKILL.md +64 -0
- package/prisma/skills/ito-data-atlas-agent/SKILL.md +64 -0
- package/prisma/skills/ito-market-intelligence/SKILL.md +61 -0
- package/prisma/skills/ito-trade-planner/SKILL.md +68 -0
- package/prisma/skills/java-coding-standards/SKILL.md +384 -0
- package/prisma/skills/jira-integration/SKILL.md +303 -0
- package/prisma/skills/jpa-patterns/SKILL.md +152 -0
- package/prisma/skills/knowledge-ops/SKILL.md +155 -0
- package/prisma/skills/kotlin-coroutines-flows/SKILL.md +285 -0
- package/prisma/skills/kotlin-exposed-patterns/SKILL.md +720 -0
- package/prisma/skills/kotlin-ktor-patterns/SKILL.md +690 -0
- package/prisma/skills/kotlin-patterns/SKILL.md +712 -0
- package/prisma/skills/kotlin-testing/SKILL.md +825 -0
- package/prisma/skills/kubernetes-patterns/SKILL.md +756 -0
- package/prisma/skills/laravel-patterns/SKILL.md +416 -0
- package/prisma/skills/laravel-plugin-discovery/SKILL.md +230 -0
- package/prisma/skills/laravel-security/SKILL.md +948 -0
- package/prisma/skills/laravel-tdd/SKILL.md +675 -0
- package/prisma/skills/laravel-verification/SKILL.md +180 -0
- package/prisma/skills/latency-critical-systems/SKILL.md +74 -0
- package/prisma/skills/lead-intelligence/SKILL.md +322 -0
- package/prisma/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/prisma/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/prisma/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/prisma/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/prisma/skills/liquid-glass-design/SKILL.md +279 -0
- package/prisma/skills/llm-trading-agent-security/SKILL.md +147 -0
- package/prisma/skills/logistics-exception-management/SKILL.md +222 -0
- package/prisma/skills/loop-design-check/SKILL.md +143 -0
- package/prisma/skills/mailtrap-email-integration/SKILL.md +77 -0
- package/prisma/skills/make-interfaces-feel-better/SKILL.md +152 -0
- package/prisma/skills/manim-video/SKILL.md +90 -0
- package/prisma/skills/manim-video/assets/network_graph_scene.py +52 -0
- package/prisma/skills/market-research/SKILL.md +76 -0
- package/prisma/skills/marketing-campaign/SKILL.md +114 -0
- package/prisma/skills/mcp-server-patterns/SKILL.md +70 -0
- package/prisma/skills/messages-ops/SKILL.md +105 -0
- package/prisma/skills/ml-adoption-playbook/SKILL.md +57 -0
- package/prisma/skills/mle-workflow/SKILL.md +347 -0
- package/prisma/skills/motion-advanced/SKILL.md +596 -0
- package/prisma/skills/motion-foundations/SKILL.md +299 -0
- package/prisma/skills/motion-patterns/SKILL.md +434 -0
- package/prisma/skills/motion-ui/SKILL.md +576 -0
- package/prisma/skills/mysql-patterns/SKILL.md +413 -0
- package/prisma/skills/nanoclaw-repl/SKILL.md +34 -0
- package/prisma/skills/nestjs-patterns/SKILL.md +231 -0
- package/prisma/skills/netmiko-ssh-automation/SKILL.md +174 -0
- package/prisma/skills/network-bgp-diagnostics/SKILL.md +168 -0
- package/prisma/skills/network-config-validation/SKILL.md +211 -0
- package/prisma/skills/network-interface-health/SKILL.md +153 -0
- package/prisma/skills/nextjs-turbopack/SKILL.md +58 -0
- package/prisma/skills/nodejs-keccak256/SKILL.md +103 -0
- package/prisma/skills/nutrient-document-processing/SKILL.md +168 -0
- package/prisma/skills/nuxt4-patterns/SKILL.md +101 -0
- package/prisma/skills/openclaw-persona-forge/SKILL.md +289 -0
- package/prisma/skills/openclaw-persona-forge/gacha.py +224 -0
- package/prisma/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/prisma/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/prisma/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/prisma/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/prisma/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/prisma/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/prisma/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/prisma/skills/opensource-pipeline/SKILL.md +256 -0
- package/prisma/skills/orch-add-feature/SKILL.md +45 -0
- package/prisma/skills/orch-build-mvp/SKILL.md +49 -0
- package/prisma/skills/orch-change-feature/SKILL.md +43 -0
- package/prisma/skills/orch-fix-defect/SKILL.md +43 -0
- package/prisma/skills/orch-pipeline/SKILL.md +121 -0
- package/prisma/skills/orch-refine-code/SKILL.md +44 -0
- package/prisma/skills/parallel-execution-optimizer/SKILL.md +73 -0
- package/prisma/skills/perl-patterns/SKILL.md +505 -0
- package/prisma/skills/perl-security/SKILL.md +504 -0
- package/prisma/skills/perl-testing/SKILL.md +476 -0
- package/prisma/skills/plan-orchestrate/SKILL.md +263 -0
- package/prisma/skills/plankton-code-quality/SKILL.md +237 -0
- package/prisma/skills/postgres-patterns/SKILL.md +148 -0
- package/prisma/skills/prediction-market-oracle-research/SKILL.md +64 -0
- package/prisma/skills/prediction-market-risk-review/SKILL.md +61 -0
- package/prisma/skills/prisma-patterns/SKILL.md +401 -0
- package/prisma/skills/product-capability/SKILL.md +142 -0
- package/prisma/skills/product-lens/SKILL.md +93 -0
- package/prisma/skills/production-audit/SKILL.md +207 -0
- package/prisma/skills/production-scheduling/SKILL.md +238 -0
- package/prisma/skills/project-flow-ops/SKILL.md +112 -0
- package/prisma/skills/prompt-optimizer/SKILL.md +398 -0
- package/prisma/skills/python-patterns/SKILL.md +751 -0
- package/prisma/skills/python-testing/SKILL.md +817 -0
- package/prisma/skills/pytorch-patterns/SKILL.md +397 -0
- package/prisma/skills/quality-nonconformance/SKILL.md +260 -0
- package/prisma/skills/quarkus-patterns/SKILL.md +723 -0
- package/prisma/skills/quarkus-security/SKILL.md +468 -0
- package/prisma/skills/quarkus-tdd/SKILL.md +812 -0
- package/prisma/skills/quarkus-verification/SKILL.md +480 -0
- package/prisma/skills/ralphinho-rfc-pipeline/SKILL.md +68 -0
- package/prisma/skills/react-native-patterns/SKILL.md +326 -0
- package/prisma/skills/react-patterns/SKILL.md +342 -0
- package/prisma/skills/react-performance/SKILL.md +575 -0
- package/prisma/skills/react-testing/SKILL.md +424 -0
- package/prisma/skills/recsys-pipeline-architect/SKILL.md +115 -0
- package/prisma/skills/recursive-decision-ledger/SKILL.md +80 -0
- package/prisma/skills/redis-patterns/SKILL.md +404 -0
- package/prisma/skills/regex-vs-llm-structured-text/SKILL.md +221 -0
- package/prisma/skills/remotion-video-creation/SKILL.md +43 -0
- package/prisma/skills/remotion-video-creation/rules/3d.md +86 -0
- package/prisma/skills/remotion-video-creation/rules/animations.md +29 -0
- package/prisma/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/prisma/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/prisma/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/prisma/skills/remotion-video-creation/rules/assets.md +78 -0
- package/prisma/skills/remotion-video-creation/rules/audio.md +172 -0
- package/prisma/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/prisma/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/prisma/skills/remotion-video-creation/rules/charts.md +58 -0
- package/prisma/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/prisma/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/prisma/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/prisma/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/prisma/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/prisma/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/prisma/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/prisma/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/prisma/skills/remotion-video-creation/rules/images.md +130 -0
- package/prisma/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/prisma/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/prisma/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/prisma/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/prisma/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/prisma/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/prisma/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/prisma/skills/remotion-video-creation/rules/timing.md +179 -0
- package/prisma/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/prisma/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/prisma/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/prisma/skills/remotion-video-creation/rules/videos.md +171 -0
- package/prisma/skills/repo-scan/SKILL.md +79 -0
- package/prisma/skills/research-ops/SKILL.md +113 -0
- package/prisma/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/prisma/skills/rules-distill/SKILL.md +265 -0
- package/prisma/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/prisma/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/prisma/skills/rust-patterns/SKILL.md +500 -0
- package/prisma/skills/rust-testing/SKILL.md +501 -0
- package/prisma/skills/safety-guard/SKILL.md +76 -0
- package/prisma/skills/santa-method/SKILL.md +307 -0
- package/prisma/skills/scientific-db-pubmed-database/SKILL.md +176 -0
- package/prisma/skills/scientific-db-uspto-database/SKILL.md +178 -0
- package/prisma/skills/scientific-pkg-gget/SKILL.md +167 -0
- package/prisma/skills/scientific-thinking-literature-review/SKILL.md +193 -0
- package/prisma/skills/scientific-thinking-scholar-evaluation/SKILL.md +161 -0
- package/prisma/skills/search-first/SKILL.md +183 -0
- package/prisma/skills/security-bounty-hunter/SKILL.md +100 -0
- package/prisma/skills/security-review/SKILL.md +504 -0
- package/prisma/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/prisma/skills/security-scan/SKILL.md +166 -0
- package/prisma/skills/seo/SKILL.md +155 -0
- package/prisma/skills/skill-comply/SKILL.md +59 -0
- package/prisma/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/prisma/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/prisma/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/prisma/skills/skill-comply/prompts/classifier.md +24 -0
- package/prisma/skills/skill-comply/prompts/scenario_generator.md +62 -0
- package/prisma/skills/skill-comply/prompts/spec_generator.md +42 -0
- package/prisma/skills/skill-comply/pyproject.toml +15 -0
- package/prisma/skills/skill-comply/scripts/__init__.py +0 -0
- package/prisma/skills/skill-comply/scripts/classifier.py +85 -0
- package/prisma/skills/skill-comply/scripts/grader.py +124 -0
- package/prisma/skills/skill-comply/scripts/parser.py +107 -0
- package/prisma/skills/skill-comply/scripts/report.py +170 -0
- package/prisma/skills/skill-comply/scripts/run.py +127 -0
- package/prisma/skills/skill-comply/scripts/runner.py +194 -0
- package/prisma/skills/skill-comply/scripts/scenario_generator.py +70 -0
- package/prisma/skills/skill-comply/scripts/spec_generator.py +72 -0
- package/prisma/skills/skill-comply/scripts/utils.py +13 -0
- package/prisma/skills/skill-comply/tests/test_grader.py +197 -0
- package/prisma/skills/skill-comply/tests/test_parser.py +90 -0
- package/prisma/skills/skill-comply/tests/test_runner.py +172 -0
- package/prisma/skills/skill-scout/SKILL.md +141 -0
- package/prisma/skills/skill-stocktake/SKILL.md +195 -0
- package/prisma/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/prisma/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/prisma/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/prisma/skills/social-graph-ranker/SKILL.md +155 -0
- package/prisma/skills/social-publisher/SKILL.md +130 -0
- package/prisma/skills/springboot-patterns/SKILL.md +315 -0
- package/prisma/skills/springboot-security/SKILL.md +273 -0
- package/prisma/skills/springboot-tdd/SKILL.md +159 -0
- package/prisma/skills/springboot-verification/SKILL.md +232 -0
- package/prisma/skills/strategic-compact/SKILL.md +136 -0
- package/prisma/skills/swift-actor-persistence/SKILL.md +144 -0
- package/prisma/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/prisma/skills/swift-protocol-di-testing/SKILL.md +191 -0
- package/prisma/skills/swiftui-patterns/SKILL.md +259 -0
- package/prisma/skills/taste/SKILL.md +264 -0
- package/prisma/skills/taste/references/genre-taxonomy.md +87 -0
- package/prisma/skills/tdd-workflow/SKILL.md +583 -0
- package/prisma/skills/team-agent-orchestration/SKILL.md +111 -0
- package/prisma/skills/team-builder/SKILL.md +169 -0
- package/prisma/skills/terminal-ops/SKILL.md +110 -0
- package/prisma/skills/tinystruct-patterns/SKILL.md +279 -0
- package/prisma/skills/tinystruct-patterns/references/architecture.md +90 -0
- package/prisma/skills/tinystruct-patterns/references/data-handling.md +60 -0
- package/prisma/skills/tinystruct-patterns/references/database.md +99 -0
- package/prisma/skills/tinystruct-patterns/references/routing.md +64 -0
- package/prisma/skills/tinystruct-patterns/references/system-usage.md +97 -0
- package/prisma/skills/tinystruct-patterns/references/testing.md +72 -0
- package/prisma/skills/token-budget-advisor/SKILL.md +134 -0
- package/prisma/skills/ui-demo/SKILL.md +466 -0
- package/prisma/skills/ui-to-vue/SKILL.md +135 -0
- package/prisma/skills/uncloud/SKILL.md +344 -0
- package/prisma/skills/unified-notifications-ops/SKILL.md +188 -0
- package/prisma/skills/verification-loop/SKILL.md +127 -0
- package/prisma/skills/video-editing/SKILL.md +311 -0
- package/prisma/skills/videodb/SKILL.md +375 -0
- package/prisma/skills/videodb/reference/api-reference.md +550 -0
- package/prisma/skills/videodb/reference/capture-reference.md +407 -0
- package/prisma/skills/videodb/reference/capture.md +101 -0
- package/prisma/skills/videodb/reference/editor.md +443 -0
- package/prisma/skills/videodb/reference/generative.md +331 -0
- package/prisma/skills/videodb/reference/rtstream-reference.md +564 -0
- package/prisma/skills/videodb/reference/rtstream.md +65 -0
- package/prisma/skills/videodb/reference/search.md +230 -0
- package/prisma/skills/videodb/reference/streaming.md +406 -0
- package/prisma/skills/videodb/reference/use-cases.md +118 -0
- package/prisma/skills/videodb/scripts/ws_listener.py +282 -0
- package/prisma/skills/visa-doc-translate/README.md +86 -0
- package/prisma/skills/visa-doc-translate/SKILL.md +117 -0
- package/prisma/skills/vite-patterns/SKILL.md +450 -0
- package/prisma/skills/vue-patterns/SKILL.md +471 -0
- package/prisma/skills/windows-desktop-e2e/SKILL.md +888 -0
- package/prisma/skills/workspace-surface-audit/SKILL.md +126 -0
- package/prisma/skills/x-api/SKILL.md +235 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-payment-x402
|
|
3
|
+
description: Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol.
|
|
4
|
+
metadata:
|
|
5
|
+
origin: community
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Agent Payment Execution (x402)
|
|
9
|
+
|
|
10
|
+
Enable AI agents to make policy-gated payments with built-in spending controls. Uses the x402 HTTP payment protocol and MCP tools so agents can pay for external services, APIs, or other agents without custodial risk.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
Use when: your agent needs to pay for an API call, purchase a service, settle with another agent, enforce per-task spending limits, or manage a non-custodial wallet. Pairs naturally with cost-aware-llm-pipeline and security-review skills.
|
|
15
|
+
|
|
16
|
+
## Decision Tree
|
|
17
|
+
|
|
18
|
+
Choose the integration path based on whether your agent is buying access to a paid API or charging others for one:
|
|
19
|
+
|
|
20
|
+
| Need | Recommended path |
|
|
21
|
+
|------|------------------|
|
|
22
|
+
| Agent pays a 402-gated API on Base or another agentwallet-supported chain | Use `agentwallet-sdk` as an MCP payment server with strict spending policy |
|
|
23
|
+
| Agent pays a 402-gated API on X Layer | Use OKX Agent Payments Protocol from `okx/onchainos-skills`; `okx-x402-payment` is a deprecated legacy alias |
|
|
24
|
+
| TypeScript API charges agents | Use OKX Payments TypeScript seller SDK docs for Express, Hono, Fastify, or Next.js |
|
|
25
|
+
| Go API charges agents | Use OKX Payments Go seller SDK docs for Gin, Echo, or `net/http` |
|
|
26
|
+
| Rust API charges agents | Use OKX Payments Rust seller SDK docs for Axum |
|
|
27
|
+
| Java API charges agents | Use OKX Payments Java seller SDK docs for Spring Boot 2/3, Java EE, or Jakarta |
|
|
28
|
+
| Python API charges agents | Check the current OKX Payments repository before implementation; a Python seller guide may not be available |
|
|
29
|
+
|
|
30
|
+
## Supported Networks
|
|
31
|
+
|
|
32
|
+
- `agentwallet-sdk`: use the package docs to confirm current network coverage before production. Base Sepolia is the safest development default; Base mainnet is the production path called out by the original skill.
|
|
33
|
+
- OKX Payments / X Layer: current seller docs target X Layer (`eip155:196`) and USDT0 settlement. Fetch current SDK docs before generating production code because payment packages and facilitator behavior can change quickly.
|
|
34
|
+
|
|
35
|
+
## How It Works
|
|
36
|
+
|
|
37
|
+
### x402 Protocol
|
|
38
|
+
x402 extends HTTP 402 (Payment Required) into a machine-negotiable flow. When a server returns `402`, the agent's payment tool negotiates price, checks budget, signs a transaction, and retries only inside the policy and confirmation boundary set by the orchestrator.
|
|
39
|
+
|
|
40
|
+
### Spending Controls
|
|
41
|
+
Every payment tool call enforces a `SpendingPolicy`:
|
|
42
|
+
- **Per-task budget** — max spend for a single agent action
|
|
43
|
+
- **Per-session budget** — cumulative limit across an entire session
|
|
44
|
+
- **Allowlisted recipients** — restrict which addresses/services the agent can pay
|
|
45
|
+
- **Rate limits** — max transactions per minute/hour
|
|
46
|
+
|
|
47
|
+
### Non-Custodial Wallets
|
|
48
|
+
Agents hold their own keys via ERC-4337 smart accounts. The orchestrator sets policy before delegation; the agent can only spend within bounds. No pooled funds, no custodial risk.
|
|
49
|
+
|
|
50
|
+
## MCP Integration
|
|
51
|
+
|
|
52
|
+
The payment layer exposes standard MCP tools that slot into any Claude Code or agent harness setup.
|
|
53
|
+
|
|
54
|
+
> **Security note**: Always pin the package version. This tool manages private keys — unpinned `npx` installs introduce supply-chain risk.
|
|
55
|
+
|
|
56
|
+
### Option A: agentwallet-sdk (Base / multi-chain)
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"mcpServers": {
|
|
61
|
+
"agentpay": {
|
|
62
|
+
"command": "npx",
|
|
63
|
+
"args": ["agentwallet-sdk@6.0.0"]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Available Tools (agent-callable)
|
|
70
|
+
|
|
71
|
+
| Tool | Purpose |
|
|
72
|
+
|------|---------|
|
|
73
|
+
| `get_balance` | Check agent wallet balance |
|
|
74
|
+
| `send_payment` | Send payment to address or ENS |
|
|
75
|
+
| `check_spending` | Query remaining budget |
|
|
76
|
+
| `list_transactions` | Audit trail of all payments |
|
|
77
|
+
|
|
78
|
+
> **Note**: Spending policy is set by the **orchestrator** before delegating to the agent — not by the agent itself. This prevents agents from escalating their own spending limits. Configure policy via `set_policy` in your orchestration layer or pre-task hook, never as an agent-callable tool.
|
|
79
|
+
|
|
80
|
+
### Option B: OKX Agent Payments Protocol (X Layer)
|
|
81
|
+
|
|
82
|
+
Use this path for X Layer x402, Multi-Party Payment (MPP), session payment, charge, and A2A charge flows.
|
|
83
|
+
|
|
84
|
+
For buyer-side agent flows:
|
|
85
|
+
|
|
86
|
+
1. Install or reference the current `okx/onchainos-skills` repository.
|
|
87
|
+
2. Use `skills/okx-agent-payments-protocol/SKILL.md` as the dispatcher.
|
|
88
|
+
3. Treat `skills/okx-x402-payment/SKILL.md` as a deprecated compatibility alias, not as the canonical skill.
|
|
89
|
+
4. Require explicit user confirmation before wallet status checks or payment actions. Do not hide payment execution behind a generic tool call.
|
|
90
|
+
|
|
91
|
+
For seller-side API flows, fetch the latest language-specific guide before generating code:
|
|
92
|
+
|
|
93
|
+
| Runtime | Current guide |
|
|
94
|
+
|---------|---------------|
|
|
95
|
+
| TypeScript | `https://raw.githubusercontent.com/okx/payments/main/typescript/SELLER.md` |
|
|
96
|
+
| Go | `https://raw.githubusercontent.com/okx/payments/main/go/x402/SELLER.md` |
|
|
97
|
+
| Rust | `https://raw.githubusercontent.com/okx/payments/main/rust/x402/SELLER.md` |
|
|
98
|
+
| Java | `https://raw.githubusercontent.com/okx/payments/main/java/SELLER.md` |
|
|
99
|
+
|
|
100
|
+
Do not copy examples from older docs without checking the current OKX repository. Current OKX guidance uses `okx-agent-payments-protocol` as the dispatcher, and Java seller docs are now available.
|
|
101
|
+
|
|
102
|
+
## Examples
|
|
103
|
+
|
|
104
|
+
### Budget enforcement in an MCP client
|
|
105
|
+
|
|
106
|
+
When building an orchestrator that calls the agentpay MCP server, enforce budgets before dispatching paid tool calls.
|
|
107
|
+
|
|
108
|
+
> **Prerequisites**: Install the package before adding the MCP config — `npx` without `-y` will prompt for confirmation in non-interactive environments, causing the server to hang: `npm install -g agentwallet-sdk@6.0.0`
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
112
|
+
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
113
|
+
|
|
114
|
+
async function main() {
|
|
115
|
+
// 1. Validate credentials before constructing the transport.
|
|
116
|
+
// A missing key must fail immediately — never let the subprocess start without auth.
|
|
117
|
+
const walletKey = process.env.WALLET_PRIVATE_KEY;
|
|
118
|
+
if (!walletKey) {
|
|
119
|
+
throw new Error("WALLET_PRIVATE_KEY is not set — refusing to start payment server");
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Connect to the agentpay MCP server via stdio transport.
|
|
123
|
+
// Whitelist only the env vars the server needs — never forward all of process.env
|
|
124
|
+
// to a third-party subprocess that manages private keys.
|
|
125
|
+
const transport = new StdioClientTransport({
|
|
126
|
+
command: "npx",
|
|
127
|
+
args: ["agentwallet-sdk@6.0.0"],
|
|
128
|
+
env: {
|
|
129
|
+
PATH: process.env.PATH ?? "",
|
|
130
|
+
NODE_ENV: process.env.NODE_ENV ?? "production",
|
|
131
|
+
WALLET_PRIVATE_KEY: walletKey,
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
const agentpay = new Client({ name: "orchestrator", version: "1.0.0" });
|
|
135
|
+
await agentpay.connect(transport);
|
|
136
|
+
|
|
137
|
+
// 2. Set spending policy before delegating to the agent.
|
|
138
|
+
// Always verify success — a silent failure means no controls are active.
|
|
139
|
+
const policyResult = await agentpay.callTool({
|
|
140
|
+
name: "set_policy",
|
|
141
|
+
arguments: {
|
|
142
|
+
per_task_budget: 0.50,
|
|
143
|
+
per_session_budget: 5.00,
|
|
144
|
+
allowlisted_recipients: ["api.example.com"],
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
if (policyResult.isError) {
|
|
148
|
+
throw new Error(
|
|
149
|
+
`Failed to set spending policy — do not delegate: ${JSON.stringify(policyResult.content)}`
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// 3. Use preToolCheck before any paid action
|
|
154
|
+
await preToolCheck(agentpay, 0.01);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Pre-tool hook: fail-closed budget enforcement with four distinct error paths.
|
|
158
|
+
async function preToolCheck(agentpay: Client, apiCost: number): Promise<void> {
|
|
159
|
+
// Path 1: Reject invalid input (NaN/Infinity bypass the < comparison)
|
|
160
|
+
if (!Number.isFinite(apiCost) || apiCost < 0) {
|
|
161
|
+
throw new Error(`Invalid apiCost: ${apiCost} — action blocked`);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Path 2: Transport/connectivity failure
|
|
165
|
+
let result;
|
|
166
|
+
try {
|
|
167
|
+
result = await agentpay.callTool({ name: "check_spending" });
|
|
168
|
+
} catch (err) {
|
|
169
|
+
throw new Error(`Payment service unreachable — action blocked: ${err}`);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Path 3: Tool returned an error (e.g., auth failure, wallet not initialised)
|
|
173
|
+
if (result.isError) {
|
|
174
|
+
throw new Error(
|
|
175
|
+
`check_spending failed — action blocked: ${JSON.stringify(result.content)}`
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Path 4: Parse and validate the response shape
|
|
180
|
+
let remaining: number;
|
|
181
|
+
try {
|
|
182
|
+
const parsed = JSON.parse(
|
|
183
|
+
(result.content as Array<{ text: string }>)[0].text
|
|
184
|
+
);
|
|
185
|
+
if (!Number.isFinite(parsed?.remaining)) {
|
|
186
|
+
throw new TypeError("missing or non-finite 'remaining' field");
|
|
187
|
+
}
|
|
188
|
+
remaining = parsed.remaining;
|
|
189
|
+
} catch (err) {
|
|
190
|
+
throw new Error(
|
|
191
|
+
`check_spending returned unexpected format — action blocked: ${err}`
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Path 5: Budget exceeded
|
|
196
|
+
if (remaining < apiCost) {
|
|
197
|
+
throw new Error(
|
|
198
|
+
`Budget exceeded: need $${apiCost} but only $${remaining} remaining`
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
main().catch((err) => {
|
|
204
|
+
console.error(err);
|
|
205
|
+
process.exitCode = 1;
|
|
206
|
+
});
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Best Practices
|
|
210
|
+
|
|
211
|
+
- **Set budgets before delegation**: When spawning sub-agents, attach a SpendingPolicy via your orchestration layer. Never give an agent unlimited spend.
|
|
212
|
+
- **Pin your dependencies**: Always specify an exact version in your MCP config (e.g., `agentwallet-sdk@6.0.0`). Verify package integrity before deploying to production.
|
|
213
|
+
- **Audit trails**: Use `list_transactions` in post-task hooks to log what was spent and why.
|
|
214
|
+
- **Fail closed**: If the payment tool is unreachable, block the paid action — don't fall back to unmetered access.
|
|
215
|
+
- **Pair with security-review**: Payment tools are high-privilege. Apply the same scrutiny as shell access.
|
|
216
|
+
- **Test with testnets first**: Use Base Sepolia for development; switch to Base mainnet for production.
|
|
217
|
+
|
|
218
|
+
## Production Reference
|
|
219
|
+
|
|
220
|
+
- **npm**: [`agentwallet-sdk`](https://www.npmjs.com/package/agentwallet-sdk)
|
|
221
|
+
- **Merged into NVIDIA NeMo Agent Toolkit**: [PR #17](https://github.com/NVIDIA/NeMo-Agent-Toolkit-Examples/pull/17) — x402 payment tool for NVIDIA's agent examples
|
|
222
|
+
- **Protocol spec**: [x402.org](https://x402.org)
|
|
223
|
+
- **OKX Payments SDKs**: [`okx/payments`](https://github.com/okx/payments) — TypeScript, Go, Rust, and Java seller integrations for X Layer x402
|
|
224
|
+
- **OKX Agent Payments Protocol skill**: [`okx/onchainos-skills`](https://github.com/okx/onchainos-skills/tree/main/skills/okx-agent-payments-protocol)
|
|
225
|
+
- **OKX Payments overview**: [web3.okx.com/onchainos/dev-docs/payments/overview](https://web3.okx.com/onchainos/dev-docs/payments/overview)
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-self-evaluation
|
|
3
|
+
description: Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.
|
|
4
|
+
origin: ECC
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agent Self-Evaluation
|
|
8
|
+
|
|
9
|
+
After completing a complex task, the agent pauses to rate its own output against a structured 5-axis rubric. This is NOT a pass/fail gate — it's a deliberate reflection step that catches omissions, flags overconfidence, and surface areas for improvement before the user has to.
|
|
10
|
+
|
|
11
|
+
## When to Activate
|
|
12
|
+
|
|
13
|
+
- After writing code that spans 3+ files or 50+ lines
|
|
14
|
+
- After completing a multi-step workflow (implement → test → review)
|
|
15
|
+
- After a debugging session that involved 3+ attempts
|
|
16
|
+
- After producing a design document, architecture decision, or written analysis
|
|
17
|
+
- When the user asks "how good was that?" or "rate yourself"
|
|
18
|
+
- At the end of any session Stop hook (if configured — see `references/hook-integration.md`)
|
|
19
|
+
|
|
20
|
+
## Core Concepts
|
|
21
|
+
|
|
22
|
+
### The 5 Evaluation Axes
|
|
23
|
+
|
|
24
|
+
| Axis | Question | What it catches |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| **Accuracy** | Are the facts, claims, and outputs correct? | Hallucinations, wrong API names, incorrect syntax, false statements |
|
|
27
|
+
| **Completeness** | Did it cover everything the user asked for? | Missed edge cases, unhandled error paths, forgotten requirements, skipped subtasks |
|
|
28
|
+
| **Clarity** | Is the explanation understandable and well-structured? | Confusing explanations, jargon without definition, missing context, rambling |
|
|
29
|
+
| **Actionability** | Can the user act on the output immediately? | Vague suggestions, missing steps, "you should X" without showing how, no verification path |
|
|
30
|
+
| **Conciseness** | Did it use the minimum words/tokens needed? | Redundancy, over-explanation, repeating the user's question verbatim, filler content |
|
|
31
|
+
|
|
32
|
+
### Scoring Scale
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
5 — Exceptional: no reasonable improvement possible
|
|
36
|
+
4 — Good: minor nits only, no substantive gaps
|
|
37
|
+
3 — Adequate: meets the request but has a notable weakness on at least one axis
|
|
38
|
+
2 — Weak: has a clear gap that affects usability or correctness
|
|
39
|
+
1 — Poor: fundamentally misses the request or contains significant errors
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### The Evidence Rule
|
|
43
|
+
|
|
44
|
+
Every score below 5 MUST cite specific evidence. A score of 3 cannot just say "could be better" — it must say exactly what is missing or wrong. The mantra: **"Show the gap, don't just name it."**
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
### Step 1: Collect the Raw Material
|
|
49
|
+
|
|
50
|
+
Gather what you'll evaluate:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
- The original user request (read back from conversation)
|
|
54
|
+
- Your final response/output (the deliverable)
|
|
55
|
+
- Any tool outputs that verify correctness (test results, exit codes, lint output)
|
|
56
|
+
- Any user feedback received during the task (corrections, "try again", "that's not right")
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 2: Score Each Axis Independently
|
|
60
|
+
|
|
61
|
+
Work through the 5 axes one at a time. For each:
|
|
62
|
+
|
|
63
|
+
1. Read the axis question
|
|
64
|
+
2. Find evidence (or lack of evidence) in the output
|
|
65
|
+
3. Assign a score 1-5
|
|
66
|
+
4. If score < 5, write a one-sentence improvement note citing the gap
|
|
67
|
+
|
|
68
|
+
Do NOT average the scores in your head first and then work backwards. Score each axis fresh.
|
|
69
|
+
|
|
70
|
+
### Step 3: Produce the Evaluation Report
|
|
71
|
+
|
|
72
|
+
Use the template from `templates/evaluation-report.md`. The report must include:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
- One-line summary
|
|
76
|
+
- 5-axis scorecard (score + evidence per axis)
|
|
77
|
+
- Overall score (simple average, rounded to 1 decimal)
|
|
78
|
+
- 1-3 specific improvements ranked by impact
|
|
79
|
+
- Self-check: "Would the user agree with this assessment?"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Step 4: Apply the Improvement
|
|
83
|
+
|
|
84
|
+
If any axis scored 3 or below:
|
|
85
|
+
|
|
86
|
+
1. State what you would do differently
|
|
87
|
+
2. If the gap is fixable in < 30 seconds (missing link, unclear phrasing), fix it now
|
|
88
|
+
3. If the gap requires rework, flag it explicitly: "This axis scored [reason] because [evidence]. Re-running with [specific fix] would likely raise it to [score]."
|
|
89
|
+
|
|
90
|
+
## Code Examples
|
|
91
|
+
|
|
92
|
+
### Example: Good Evaluation (Score 4+)
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Task: Add retry logic to HTTP client
|
|
96
|
+
|
|
97
|
+
Scorecard:
|
|
98
|
+
Accuracy: 5 — All API calls correct. Verified: retries use
|
|
99
|
+
exponential backoff. No hallucinated methods.
|
|
100
|
+
Completeness: 4 — Covered happy path + 3 error cases. Missing:
|
|
101
|
+
timeout handling for hung connections.
|
|
102
|
+
Clarity: 5 — Code comments explain backoff formula.
|
|
103
|
+
PR description links to incident that motivated this.
|
|
104
|
+
Actionability:5 — Single merge. No follow-up tasks. Tests pass.
|
|
105
|
+
Conciseness: 4 — 47 lines total. The retry loop could be extracted
|
|
106
|
+
into a helper to drop ~8 lines.
|
|
107
|
+
|
|
108
|
+
Overall: 4.6 — One gap (timeout handling). Fix before merging.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Example: Weak Evaluation (Score 2-3)
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Task: Add retry logic to HTTP client
|
|
115
|
+
|
|
116
|
+
Scorecard:
|
|
117
|
+
Accuracy: 2 — Used urllib3 which doesn't match our
|
|
118
|
+
httpx-based codebase. Wrong library.
|
|
119
|
+
Completeness: 3 — Works for GET. POST/PUT not handled (user
|
|
120
|
+
said "all HTTP requests").
|
|
121
|
+
Clarity: 4 — Code is readable. Good variable names.
|
|
122
|
+
Actionability:2 — "Add tests" mentioned but no test file created.
|
|
123
|
+
User has to write tests before merging.
|
|
124
|
+
Conciseness: 3 — 120 lines. The retry config is duplicated in
|
|
125
|
+
3 places instead of one shared RetryConfig object.
|
|
126
|
+
|
|
127
|
+
Overall: 2.8 — Wrong library used. Needs httpx rewrite.
|
|
128
|
+
Fix accuracy first (switch to httpx), then extend to all
|
|
129
|
+
HTTP methods, then consolidate config.
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Anti-Patterns
|
|
133
|
+
|
|
134
|
+
### "Everything is a 5"
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
FAIL: Accuracy: 5 — All good.
|
|
138
|
+
Completeness: 5 — Everything covered.
|
|
139
|
+
Clarity: 5 — Clear.
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
No evidence cited. This is self-congratulation, not evaluation. A real 5 requires proving there's nothing to improve.
|
|
143
|
+
|
|
144
|
+
### Over-penalizing for scope creep
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
FAIL: Completeness: 2 — Didn't handle WebSocket connections or
|
|
148
|
+
gRPC streaming (user didn't ask for these)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Only evaluate against what the user actually requested, not what you could have additionally built.
|
|
152
|
+
|
|
153
|
+
### Using the evaluation to re-litigate
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
FAIL: "As I said earlier, this approach is wrong. Score: 1"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
The evaluation is about the delivered output, not about re-arguing design decisions that were already made. If the approach was wrong, that should have been caught before delivery.
|
|
160
|
+
|
|
161
|
+
### Mixing personal preference with objective gaps
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
FAIL: "Score: 3. I don't like Python decorators."
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
"Don't like" is not evidence. Cite a concrete readability, testability, or correctness concern, or leave the score at 4+.
|
|
168
|
+
|
|
169
|
+
## Best Practices
|
|
170
|
+
|
|
171
|
+
- **Evaluate the output, not the process.** The user cares about what you delivered, not how many iterations you took.
|
|
172
|
+
- **One improvement per weak axis.** Don't list 5 things for one axis — pick the highest-impact gap.
|
|
173
|
+
- **Tie improvements to user impact.** "Missing error handling means the user's API call will crash silently" beats "add error handling."
|
|
174
|
+
- **Be specific about what 'fixed' looks like.** "Re-run with httpx transport configured for retries" beats "fix the library issue."
|
|
175
|
+
- **Use tool outputs as evidence.** If tests passed, cite them. If lint is clean, cite it. Don't guess — grep for the proof.
|
|
176
|
+
- **If you can't find any gaps, try harder.** A perfect score across all 5 axes is rare. Ask: "If I were the user, what would annoy me about this output?"
|
|
177
|
+
|
|
178
|
+
## Related Skills
|
|
179
|
+
|
|
180
|
+
- `agent-eval` — Head-to-head comparison of different coding agents on benchmark tasks
|
|
181
|
+
- `verification-loop` — Systematic verification of outputs against expected results
|
|
182
|
+
- `security-review` — Security-focused code review checklist
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# High-Score Example: Adding Retry Logic
|
|
2
|
+
|
|
3
|
+
## Task
|
|
4
|
+
> Add retry logic with exponential backoff to all HTTP requests in the API client. Max 3 retries, initial delay 1s, max delay 30s.
|
|
5
|
+
|
|
6
|
+
## Agent Output
|
|
7
|
+
|
|
8
|
+
### Summary
|
|
9
|
+
Added `httpx.HTTPTransport` with retry configuration to the shared `ApiClient` class. All HTTP methods (GET, POST, PUT, DELETE) now retry on 429, 5xx, and connection errors with exponential backoff. 42 tests pass. Single PR ready to merge.
|
|
10
|
+
|
|
11
|
+
### Files Changed
|
|
12
|
+
- `src/api_client.py` — Added `RetryTransport` wrapper with `httpx.HTTPTransport(retries=3)` and exponential backoff configured via `httpx.Limits`
|
|
13
|
+
- `tests/test_api_client.py` — Added 8 tests: happy path, retry on 429, retry on 503, max retries exhausted, timeout, backoff timing assertion, idempotent GET retry, no-retry on 4xx (except 429)
|
|
14
|
+
|
|
15
|
+
### Verification
|
|
16
|
+
```
|
|
17
|
+
$ pytest tests/test_api_client.py -v
|
|
18
|
+
42 passed in 2.34s
|
|
19
|
+
|
|
20
|
+
$ grep -r "RetryTransport" src/
|
|
21
|
+
src/api_client.py:23: class RetryTransport(httpx.BaseTransport):
|
|
22
|
+
src/api_client.py:45: self._transport = RetryTransport(...)
|
|
23
|
+
|
|
24
|
+
$ python -c "from src.api_client import ApiClient; c = ApiClient(); print(type(c._transport))"
|
|
25
|
+
<class 'src.api_client.RetryTransport'>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Edge Cases Handled
|
|
29
|
+
- Connection timeouts (retry with backoff)
|
|
30
|
+
- Rate limiting (429 → retry after delay)
|
|
31
|
+
- Server errors (5xx → retry)
|
|
32
|
+
- Client errors except 429 (no retry — 4xx means the request is bad)
|
|
33
|
+
- Idempotency: GET, PUT, DELETE retry; POST does not (configurable)
|
|
34
|
+
|
|
35
|
+
### Merge: [PR #423](https://github.com/example/pr/423)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Evaluation Report
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
============================================================
|
|
43
|
+
AGENT SELF-EVALUATION REPORT
|
|
44
|
+
============================================================
|
|
45
|
+
|
|
46
|
+
Accuracy █████ 5/5
|
|
47
|
+
+ Tests passing
|
|
48
|
+
+ Explicit verification (grep confirmed class exists, import test passed)
|
|
49
|
+
+ Lint clean
|
|
50
|
+
→ All claims backed by tool output. No hedging.
|
|
51
|
+
|
|
52
|
+
Completeness ████░ 4/5
|
|
53
|
+
+ Edge cases addressed (5 specific scenarios listed)
|
|
54
|
+
+ Error handling present across all HTTP methods
|
|
55
|
+
→ Missing: connection pool exhaustion handling (what happens when all
|
|
56
|
+
connections are in retry state?) — minor gap, not blocking.
|
|
57
|
+
|
|
58
|
+
Clarity █████ 5/5
|
|
59
|
+
+ Uses headings for structure
|
|
60
|
+
+ Uses code blocks
|
|
61
|
+
+ Uses bullet points
|
|
62
|
+
+ Summary in first 3 lines
|
|
63
|
+
→ Well-organized. Reader can scan in 10 seconds.
|
|
64
|
+
|
|
65
|
+
Actionability █████ 5/5
|
|
66
|
+
+ PR created and linked
|
|
67
|
+
+ Specific run command given (pytest)
|
|
68
|
+
+ Verification steps included
|
|
69
|
+
→ Single action: merge PR #423. Everything else is done.
|
|
70
|
+
|
|
71
|
+
Conciseness ████░ 4/5
|
|
72
|
+
+ No redundancy detected
|
|
73
|
+
→ The verification section could be slightly tighter (3 commands
|
|
74
|
+
could be 1 with a verification script). Minor.
|
|
75
|
+
|
|
76
|
+
OVERALL 4.6/5
|
|
77
|
+
|
|
78
|
+
TOP IMPROVEMENTS:
|
|
79
|
+
No axes below 4. Strong output across all dimensions.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Why This Scores Well
|
|
83
|
+
|
|
84
|
+
1. **Accuracy pinned to tool output.** Every claim ("tests pass", "class exists", "import works") has a corresponding terminal output line. No "should work" or "probably fine."
|
|
85
|
+
2. **Completeness is explicit about what's covered AND what's not.** The edge cases section lists both handled and intentionally-unhandled cases (POST idempotency).
|
|
86
|
+
3. **Actionability is single-step.** The user only needs to merge one PR. No follow-up tasks, no "then configure X."
|
|
87
|
+
4. **Concision is tight.** The output is ~250 words. The information density is high — every sentence carries weight.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Low-Score Example: Adding Retry Logic
|
|
2
|
+
|
|
3
|
+
## Task
|
|
4
|
+
> Add retry logic with exponential backoff to all HTTP requests in the API client. Max 3 retries, initial delay 1s, max delay 30s.
|
|
5
|
+
|
|
6
|
+
## Agent Output
|
|
7
|
+
|
|
8
|
+
Here's a retry implementation. I think this should work for most cases.
|
|
9
|
+
|
|
10
|
+
I used the urllib3 library since it has built-in retry support. The Retry class handles backoff automatically.
|
|
11
|
+
|
|
12
|
+
```python
|
|
13
|
+
from urllib3.util import Retry
|
|
14
|
+
|
|
15
|
+
# Add this somewhere in your HTTP client
|
|
16
|
+
retry = Retry(
|
|
17
|
+
total=3,
|
|
18
|
+
backoff_factor=1.0,
|
|
19
|
+
status_forcelist=[500, 502, 503, 504]
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
You'll want to test this before deploying. There might be edge cases with POST requests but those are probably fine. I haven't tested the timeout behavior but it should work.
|
|
24
|
+
|
|
25
|
+
Let me know if you need anything else!
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Evaluation Report
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
============================================================
|
|
33
|
+
AGENT SELF-EVALUATION REPORT
|
|
34
|
+
============================================================
|
|
35
|
+
|
|
36
|
+
Accuracy ██░░░ 2/5
|
|
37
|
+
- Hedged claim without verification ("I think this should work")
|
|
38
|
+
- Untested ("I haven't tested the timeout behavior")
|
|
39
|
+
- Speculation without evidence ("those are probably fine")
|
|
40
|
+
→ Wrong library used. Project uses httpx, not urllib3.
|
|
41
|
+
urllib3.util.Retry is incompatible with httpx.
|
|
42
|
+
|
|
43
|
+
Completeness ███░░ 3/5
|
|
44
|
+
- Explicit gap acknowledged ("might be edge cases with POST")
|
|
45
|
+
- Limited scope noted (only mentioned 5xx, not 429 or connection errors)
|
|
46
|
+
→ User asked for "all HTTP requests." Only partial coverage:
|
|
47
|
+
missing 429 handling, connection errors, timeout handling.
|
|
48
|
+
|
|
49
|
+
Clarity ████░ 4/5
|
|
50
|
+
+ Uses code blocks
|
|
51
|
+
→ Code is readable but no explanation of where to add it
|
|
52
|
+
("somewhere in your HTTP client" is vague).
|
|
53
|
+
|
|
54
|
+
Actionability ██░░░ 2/5
|
|
55
|
+
- Defers work to user ("you'll want to test this")
|
|
56
|
+
- Vague suggestion without specifics
|
|
57
|
+
→ No PR, no file created, no test written. User has to:
|
|
58
|
+
1. Figure out where to add the code
|
|
59
|
+
2. Fix the library mismatch (httpx not urllib3)
|
|
60
|
+
3. Write tests
|
|
61
|
+
4. Handle POST idempotency
|
|
62
|
+
5. Test timeout behavior
|
|
63
|
+
|
|
64
|
+
Conciseness ███░░ 3/5
|
|
65
|
+
- Meta-commentary adds words without information
|
|
66
|
+
("Let me know if you need anything else!")
|
|
67
|
+
→ 120 words. Low word count but low information density.
|
|
68
|
+
Half the text is hedging and disclaimers, not substance.
|
|
69
|
+
|
|
70
|
+
OVERALL 2.8/5
|
|
71
|
+
|
|
72
|
+
TOP IMPROVEMENTS (axes scoring < 4):
|
|
73
|
+
[Accuracy] Switch to httpx — grep the codebase to confirm the HTTP
|
|
74
|
+
library before writing code.
|
|
75
|
+
[Actionability] Create a PR with the changed file + test file. Run the
|
|
76
|
+
tests. End with "PR #N ready to merge."
|
|
77
|
+
[Completeness] List what's covered AND what's not. If POST retry is
|
|
78
|
+
unsafe, say so explicitly with reasoning.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Why This Scores Poorly
|
|
82
|
+
|
|
83
|
+
1. **Accuracy fails at the most basic level** — wrong library. One `grep httpx src/` would have caught this. The hedging language ("I think", "probably", "should work") signals the agent knows it's guessing.
|
|
84
|
+
2. **Not actionable.** The user received a code snippet and a list of things they need to do. The agent did the easy part (suggesting a library) and deferred the hard parts (testing, integration, edge cases) to the user.
|
|
85
|
+
3. **Completeness gaps are acknowledged but not fixed.** "Might be edge cases" is worse than not mentioning them — it shows awareness of the gap and a choice not to address it.
|
|
86
|
+
4. **Information density is low.** 120 words, of which ~60 are hedging/disclaimers/politeness. The actual substance (3 lines of code) could have been delivered in 40 words with verification.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Evaluation Criteria — Detailed Scoring Guide
|
|
2
|
+
|
|
3
|
+
This reference provides concrete scoring anchors for each axis. Use it when you're unsure whether a gap merits a 4 vs a 3, or a 2 vs a 1.
|
|
4
|
+
|
|
5
|
+
## Accuracy
|
|
6
|
+
|
|
7
|
+
| Score | Anchor | Example |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| 5 | All facts verified against tool output, docs, or authoritative sources. No errors. | Configured retry via httpx transport — confirmed in httpx docs. All method names verified with grep against codebase. |
|
|
10
|
+
| 4 | One minor inaccuracy that doesn't affect correctness. | Correct library, wrong default value for one parameter (claimed 0.5s, docs say 1.0s). |
|
|
11
|
+
| 3 | One significant factual error, or 3+ minor inaccuracies. | Used `urllib3.Retry` in an httpx codebase. Works in this one case but wrong library. |
|
|
12
|
+
| 2 | Multiple significant errors. Output would fail if followed. | Claimed "add this to package.json" but project uses pyproject.toml. Two other config claims also wrong. |
|
|
13
|
+
| 1 | Fundamentally incorrect. Output contradicts itself or known facts. | Code has syntax errors. API endpoint doesn't exist. Claims a function signature that grep disproves. |
|
|
14
|
+
|
|
15
|
+
## Completeness
|
|
16
|
+
|
|
17
|
+
| Score | Anchor | Example |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 5 | All explicit and implicit requirements covered. Edge cases handled. Error paths addressed. | User said "add retry to all HTTP requests." GET, POST, PUT, DELETE all covered. Timeout, 429, 5xx all handled. |
|
|
20
|
+
| 4 | All explicit requirements covered. One implicit requirement missed. | All HTTP methods covered. Forgot to handle connection timeouts (not mentioned but expected). |
|
|
21
|
+
| 3 | One explicit requirement missed, or 2+ implicit gaps. | User said "add logging too." Retry logic added but no logging. |
|
|
22
|
+
| 2 | Multiple explicit requirements missed. Output is a partial solution. | Asked for retry + circuit breaker. Only retry implemented. |
|
|
23
|
+
| 1 | Misses the core request. Delivers something adjacent to what was asked. | Asked for retry logic. Wrote a health check endpoint instead. |
|
|
24
|
+
|
|
25
|
+
## Clarity
|
|
26
|
+
|
|
27
|
+
| Score | Anchor | Example |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| 5 | Perfectly structured. Jargon explained or avoided. Visual hierarchy helps scanning. No ambiguity. | README with clear sections, code blocks, and a 10-second summary at top. |
|
|
30
|
+
| 4 | Generally clear. One section could be better organized or one term undefined. | Good structure but `exponential backoff` used without explanation — assumes the reader knows it. |
|
|
31
|
+
| 3 | Understandable after re-reading. Multiple organizational issues or undefined terms. | The explanation circles the point before getting to it. Several terms used before defined. |
|
|
32
|
+
| 2 | Confusing in places. Reader would need to ask follow-up questions. | Code works but the PR description doesn't explain why retry was needed or what it fixes. |
|
|
33
|
+
| 1 | Unintelligible or contradictory. Reader cannot determine what was done or why. | Output is a wall of text with no structure. Conclusions contradict earlier statements. |
|
|
34
|
+
|
|
35
|
+
## Actionability
|
|
36
|
+
|
|
37
|
+
| Score | Anchor | Example |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| 5 | Single action required. Verification path included. No implicit steps. | "Merge this PR. Tests pass: `42 passed`. Deploy with `./deploy.sh`." |
|
|
40
|
+
| 4 | Single action required but verification path is implied, not explicit. | "Merge this PR." (Tests exist but weren't cited. User has to check themselves.) |
|
|
41
|
+
| 3 | Multiple actions required, or one action with unclear next step. | "Review and merge. Then update the config." (Which config? Where? No link or path.) |
|
|
42
|
+
| 2 | User must figure out how to use the output. Missing critical instructions. | Code written but no test file, no run instructions, no PR created. User has to assemble everything. |
|
|
43
|
+
| 1 | Output cannot be acted on without significant rework or clarification. | "Here's a design idea." (No code, no file, no PR. User has to start from scratch.) |
|
|
44
|
+
|
|
45
|
+
## Conciseness
|
|
46
|
+
|
|
47
|
+
| Score | Anchor | Example |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| 5 | Every sentence earns its place. No redundancy. Information density is high. | 30 lines that say what 60 lines would. No repeated points. No filler. |
|
|
50
|
+
| 4 | Minor redundancy. One paragraph could be tightened. | Good overall but repeats the motivation in both the PR description and code comments. |
|
|
51
|
+
| 3 | Noticeable redundancy. 20%+ of content could be removed without loss. | Explains the same concept three times (in summary, body, and conclusion). Verbose examples. |
|
|
52
|
+
| 2 | Significantly bloated. 40%+ of content is filler or repetition. | 200 lines for a task that needed 60. Restates the user's question. Includes irrelevant background. |
|
|
53
|
+
| 1 | Noise-to-signal ratio is inverted. More filler than substance. | 500-line response to a 2-line question. Most of it is boilerplate, repetition, or irrelevant context. |
|
|
54
|
+
|
|
55
|
+
## Edge Cases
|
|
56
|
+
|
|
57
|
+
### When the user gave unclear instructions
|
|
58
|
+
|
|
59
|
+
If the user's request was ambiguous, do NOT penalize completeness for not reading minds. Instead, note in the evaluation: "User's request was ambiguous about [scope]. I chose interpretation [chosen interpretation]. If they meant [alternative interpretation], this score would drop to [score]."
|
|
60
|
+
|
|
61
|
+
### When the task is inherently simple
|
|
62
|
+
|
|
63
|
+
A 3-line bug fix can legitimately score 5/5/5/5/5. The rubric scales with complexity — a simple task done perfectly IS a 5.0. Don't invent gaps to justify lower scores.
|
|
64
|
+
|
|
65
|
+
### When you caught your own error mid-task
|
|
66
|
+
|
|
67
|
+
If you made an error, caught it, and fixed it before delivering — that's a 5 on Accuracy for the final output. The evaluation is about what the user received, not your internal process. Note the self-correction as evidence of thoroughness, not as a penalty.
|
|
68
|
+
|
|
69
|
+
### When the tool output contradicts your claim
|
|
70
|
+
|
|
71
|
+
If you claimed "tests pass" but the terminal output shows a failure — that's an automatic Accuracy ≤ 2. Tool output is ground truth. Claims without verification are the most common source of low accuracy scores.
|