agim-cli 1.2.147 → 1.2.149
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/CHANGELOG.md +158 -0
- package/dist/core/skills/builtin/ECC_LICENSE +21 -0
- package/dist/core/skills/builtin/ECC_NOTICE.md +28 -0
- package/dist/core/skills/builtin/accessibility/SKILL.md +146 -0
- package/dist/core/skills/builtin/agent-eval/SKILL.md +145 -0
- package/dist/core/skills/builtin/agent-harness-construction/SKILL.md +73 -0
- package/dist/core/skills/builtin/agent-introspection-debugging/SKILL.md +153 -0
- package/dist/core/skills/builtin/agentic-engineering/SKILL.md +63 -0
- package/dist/core/skills/builtin/ai-first-engineering/SKILL.md +51 -0
- package/dist/core/skills/builtin/ai-regression-testing/SKILL.md +385 -0
- package/dist/core/skills/builtin/android-clean-architecture/SKILL.md +339 -0
- package/dist/core/skills/builtin/angular-developer/SKILL.md +154 -0
- package/dist/core/skills/builtin/angular-developer/references/angular-animations.md +160 -0
- package/dist/core/skills/builtin/angular-developer/references/angular-aria.md +410 -0
- package/dist/core/skills/builtin/angular-developer/references/cli.md +86 -0
- package/dist/core/skills/builtin/angular-developer/references/component-harnesses.md +59 -0
- package/dist/core/skills/builtin/angular-developer/references/component-styling.md +91 -0
- package/dist/core/skills/builtin/angular-developer/references/components.md +117 -0
- package/dist/core/skills/builtin/angular-developer/references/creating-services.md +97 -0
- package/dist/core/skills/builtin/angular-developer/references/data-resolvers.md +69 -0
- package/dist/core/skills/builtin/angular-developer/references/define-routes.md +67 -0
- package/dist/core/skills/builtin/angular-developer/references/defining-providers.md +72 -0
- package/dist/core/skills/builtin/angular-developer/references/di-fundamentals.md +120 -0
- package/dist/core/skills/builtin/angular-developer/references/e2e-testing.md +56 -0
- package/dist/core/skills/builtin/angular-developer/references/effects.md +83 -0
- package/dist/core/skills/builtin/angular-developer/references/hierarchical-injectors.md +43 -0
- package/dist/core/skills/builtin/angular-developer/references/host-elements.md +80 -0
- package/dist/core/skills/builtin/angular-developer/references/injection-context.md +63 -0
- package/dist/core/skills/builtin/angular-developer/references/inputs.md +101 -0
- package/dist/core/skills/builtin/angular-developer/references/linked-signal.md +59 -0
- package/dist/core/skills/builtin/angular-developer/references/loading-strategies.md +61 -0
- package/dist/core/skills/builtin/angular-developer/references/mcp.md +108 -0
- package/dist/core/skills/builtin/angular-developer/references/navigate-to-routes.md +69 -0
- package/dist/core/skills/builtin/angular-developer/references/outputs.md +86 -0
- package/dist/core/skills/builtin/angular-developer/references/reactive-forms.md +122 -0
- package/dist/core/skills/builtin/angular-developer/references/rendering-strategies.md +44 -0
- package/dist/core/skills/builtin/angular-developer/references/resource.md +77 -0
- package/dist/core/skills/builtin/angular-developer/references/route-animations.md +56 -0
- package/dist/core/skills/builtin/angular-developer/references/route-guards.md +52 -0
- package/dist/core/skills/builtin/angular-developer/references/router-lifecycle.md +45 -0
- package/dist/core/skills/builtin/angular-developer/references/router-testing.md +87 -0
- package/dist/core/skills/builtin/angular-developer/references/show-routes-with-outlets.md +68 -0
- package/dist/core/skills/builtin/angular-developer/references/signal-forms.md +795 -0
- package/dist/core/skills/builtin/angular-developer/references/signals-overview.md +94 -0
- package/dist/core/skills/builtin/angular-developer/references/tailwind-css.md +69 -0
- package/dist/core/skills/builtin/angular-developer/references/template-driven-forms.md +114 -0
- package/dist/core/skills/builtin/angular-developer/references/testing-fundamentals.md +65 -0
- package/dist/core/skills/builtin/api-connector-builder/SKILL.md +120 -0
- package/dist/core/skills/builtin/api-design/SKILL.md +523 -0
- package/dist/core/skills/builtin/architecture-decision-records/SKILL.md +179 -0
- package/dist/core/skills/builtin/article-writing/SKILL.md +79 -0
- package/dist/core/skills/builtin/automation-audit-ops/SKILL.md +142 -0
- package/dist/core/skills/builtin/autonomous-agent-harness/SKILL.md +273 -0
- package/dist/core/skills/builtin/autonomous-loops/SKILL.md +610 -0
- package/dist/core/skills/builtin/backend-patterns/SKILL.md +561 -0
- package/dist/core/skills/builtin/benchmark/SKILL.md +93 -0
- package/dist/core/skills/builtin/benchmark-optimization-loop/SKILL.md +69 -0
- package/dist/core/skills/builtin/blueprint/SKILL.md +105 -0
- package/dist/core/skills/builtin/browser-qa/SKILL.md +87 -0
- package/dist/core/skills/builtin/bun-runtime/SKILL.md +84 -0
- package/dist/core/skills/builtin/cisco-ios-patterns/SKILL.md +163 -0
- package/dist/core/skills/builtin/claude-devfleet/SKILL.md +111 -0
- package/dist/core/skills/builtin/click-path-audit/SKILL.md +244 -0
- package/dist/core/skills/builtin/clickhouse-io/SKILL.md +439 -0
- package/dist/core/skills/builtin/code-tour/SKILL.md +236 -0
- package/dist/core/skills/builtin/codebase-onboarding/SKILL.md +233 -0
- package/dist/core/skills/builtin/codehealth-mcp/SKILL.md +166 -0
- package/dist/core/skills/builtin/coding-standards/SKILL.md +550 -0
- package/dist/core/skills/builtin/compose-multiplatform-patterns/SKILL.md +299 -0
- package/dist/core/skills/builtin/config-gc/SKILL.md +119 -0
- package/dist/core/skills/builtin/content-engine/SKILL.md +131 -0
- package/dist/core/skills/builtin/content-hash-cache-pattern/SKILL.md +161 -0
- package/dist/core/skills/builtin/context-budget/SKILL.md +135 -0
- package/dist/core/skills/builtin/continuous-agent-loop/SKILL.md +45 -0
- package/dist/core/skills/builtin/continuous-learning/SKILL.md +131 -0
- package/dist/core/skills/builtin/continuous-learning/config.json +18 -0
- package/dist/core/skills/builtin/continuous-learning/evaluate-session.sh +69 -0
- package/dist/core/skills/builtin/continuous-learning-v2/SKILL.md +360 -0
- package/dist/core/skills/builtin/continuous-learning-v2/agents/observer-loop.sh +335 -0
- package/dist/core/skills/builtin/continuous-learning-v2/agents/observer.md +198 -0
- package/dist/core/skills/builtin/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/dist/core/skills/builtin/continuous-learning-v2/agents/start-observer.sh +248 -0
- package/dist/core/skills/builtin/continuous-learning-v2/config.json +8 -0
- package/dist/core/skills/builtin/continuous-learning-v2/hooks/observe.sh +498 -0
- package/dist/core/skills/builtin/continuous-learning-v2/scripts/detect-project.sh +322 -0
- package/dist/core/skills/builtin/continuous-learning-v2/scripts/instinct-cli.py +1914 -0
- package/dist/core/skills/builtin/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
- package/dist/core/skills/builtin/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
- package/dist/core/skills/builtin/continuous-learning-v2/scripts/test_parse_instinct.py +1045 -0
- package/dist/core/skills/builtin/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/dist/core/skills/builtin/cost-tracking/SKILL.md +147 -0
- package/dist/core/skills/builtin/council/SKILL.md +203 -0
- package/dist/core/skills/builtin/cpp-coding-standards/SKILL.md +723 -0
- package/dist/core/skills/builtin/cpp-testing/SKILL.md +324 -0
- package/dist/core/skills/builtin/crosspost/SKILL.md +111 -0
- package/dist/core/skills/builtin/csharp-testing/SKILL.md +321 -0
- package/dist/core/skills/builtin/customs-trade-compliance/SKILL.md +263 -0
- package/dist/core/skills/builtin/dart-flutter-patterns/SKILL.md +563 -0
- package/dist/core/skills/builtin/dashboard-builder/SKILL.md +108 -0
- package/dist/core/skills/builtin/data-scraper-agent/SKILL.md +764 -0
- package/dist/core/skills/builtin/data-throughput-accelerator/SKILL.md +72 -0
- package/dist/core/skills/builtin/database-migrations/SKILL.md +429 -0
- package/dist/core/skills/builtin/deep-research/SKILL.md +159 -0
- package/dist/core/skills/builtin/defi-amm-security/SKILL.md +166 -0
- package/dist/core/skills/builtin/deployment-patterns/SKILL.md +427 -0
- package/dist/core/skills/builtin/design-system/SKILL.md +82 -0
- package/dist/core/skills/builtin/django-celery/SKILL.md +457 -0
- package/dist/core/skills/builtin/django-patterns/SKILL.md +734 -0
- package/dist/core/skills/builtin/django-security/SKILL.md +593 -0
- package/dist/core/skills/builtin/django-tdd/SKILL.md +729 -0
- package/dist/core/skills/builtin/django-verification/SKILL.md +469 -0
- package/dist/core/skills/builtin/dmux-workflows/SKILL.md +191 -0
- package/dist/core/skills/builtin/docker-patterns/SKILL.md +364 -0
- package/dist/core/skills/builtin/documentation-lookup/SKILL.md +90 -0
- package/dist/core/skills/builtin/dotnet-patterns/SKILL.md +321 -0
- package/dist/core/skills/builtin/dynamic-workflow-mode/SKILL.md +123 -0
- package/dist/core/skills/builtin/e2e-testing/SKILL.md +326 -0
- package/dist/core/skills/builtin/email-ops/SKILL.md +121 -0
- package/dist/core/skills/builtin/energy-procurement/SKILL.md +228 -0
- package/dist/core/skills/builtin/enterprise-agent-ops/SKILL.md +50 -0
- package/dist/core/skills/builtin/error-handling/SKILL.md +376 -0
- package/dist/core/skills/builtin/eval-harness/SKILL.md +270 -0
- package/dist/core/skills/builtin/evm-token-decimals/SKILL.md +130 -0
- package/dist/core/skills/builtin/exa-search/SKILL.md +107 -0
- package/dist/core/skills/builtin/fal-ai-media/SKILL.md +288 -0
- package/dist/core/skills/builtin/fastapi-patterns/SKILL.md +513 -0
- package/dist/core/skills/builtin/finance-billing-ops/SKILL.md +127 -0
- package/dist/core/skills/builtin/flox-environments/SKILL.md +496 -0
- package/dist/core/skills/builtin/flutter-dart-code-review/SKILL.md +435 -0
- package/dist/core/skills/builtin/foundation-models-on-device/SKILL.md +243 -0
- package/dist/core/skills/builtin/frontend-a11y/SKILL.md +445 -0
- package/dist/core/skills/builtin/frontend-design-direction/SKILL.md +92 -0
- package/dist/core/skills/builtin/frontend-patterns/SKILL.md +656 -0
- package/dist/core/skills/builtin/frontend-slides/SKILL.md +184 -0
- package/dist/core/skills/builtin/frontend-slides/STYLE_PRESETS.md +330 -0
- package/dist/core/skills/builtin/frontend-slides/animation-patterns.md +122 -0
- package/dist/core/skills/builtin/frontend-slides/html-template.md +419 -0
- package/dist/core/skills/builtin/frontend-slides/scripts/export-pdf.sh +418 -0
- package/dist/core/skills/builtin/frontend-slides/scripts/extract-pptx.py +96 -0
- package/dist/core/skills/builtin/frontend-slides/viewport-base.css +153 -0
- package/dist/core/skills/builtin/fsharp-testing/SKILL.md +280 -0
- package/dist/core/skills/builtin/gan-style-harness/SKILL.md +278 -0
- package/dist/core/skills/builtin/gateguard/SKILL.md +132 -0
- package/dist/core/skills/builtin/git-workflow/SKILL.md +715 -0
- package/dist/core/skills/builtin/github-ops/SKILL.md +144 -0
- package/dist/core/skills/builtin/golang-patterns/SKILL.md +674 -0
- package/dist/core/skills/builtin/golang-testing/SKILL.md +720 -0
- package/dist/core/skills/builtin/healthcare-cdss-patterns/SKILL.md +245 -0
- package/dist/core/skills/builtin/healthcare-emr-patterns/SKILL.md +159 -0
- package/dist/core/skills/builtin/healthcare-eval-harness/SKILL.md +207 -0
- package/dist/core/skills/builtin/healthcare-phi-compliance/SKILL.md +145 -0
- package/dist/core/skills/builtin/hermes-imports/SKILL.md +88 -0
- package/dist/core/skills/builtin/hexagonal-architecture/SKILL.md +276 -0
- package/dist/core/skills/builtin/hipaa-compliance/SKILL.md +78 -0
- package/dist/core/skills/builtin/hookify-rules/SKILL.md +128 -0
- package/dist/core/skills/builtin/inherit-legacy-style/SKILL.md +156 -0
- package/dist/core/skills/builtin/intent-driven-development/SKILL.md +360 -0
- package/dist/core/skills/builtin/inventory-demand-planning/SKILL.md +247 -0
- package/dist/core/skills/builtin/ios-icon-gen/SKILL.md +157 -0
- package/dist/core/skills/builtin/ios-icon-gen/scripts/generate_icons.swift +258 -0
- package/dist/core/skills/builtin/ios-icon-gen/scripts/iconify_gen.sh +235 -0
- package/dist/core/skills/builtin/iterative-retrieval/SKILL.md +211 -0
- package/dist/core/skills/builtin/java-coding-standards/SKILL.md +383 -0
- package/dist/core/skills/builtin/jira-integration/SKILL.md +302 -0
- package/dist/core/skills/builtin/jpa-patterns/SKILL.md +151 -0
- package/dist/core/skills/builtin/knowledge-ops/SKILL.md +154 -0
- package/dist/core/skills/builtin/kotlin-coroutines-flows/SKILL.md +284 -0
- package/dist/core/skills/builtin/kotlin-exposed-patterns/SKILL.md +719 -0
- package/dist/core/skills/builtin/kotlin-ktor-patterns/SKILL.md +689 -0
- package/dist/core/skills/builtin/kotlin-patterns/SKILL.md +711 -0
- package/dist/core/skills/builtin/kotlin-testing/SKILL.md +824 -0
- package/dist/core/skills/builtin/kubernetes-patterns/SKILL.md +755 -0
- package/dist/core/skills/builtin/laravel-patterns/SKILL.md +415 -0
- package/dist/core/skills/builtin/laravel-plugin-discovery/SKILL.md +229 -0
- package/dist/core/skills/builtin/laravel-security/SKILL.md +947 -0
- package/dist/core/skills/builtin/laravel-tdd/SKILL.md +674 -0
- package/dist/core/skills/builtin/laravel-verification/SKILL.md +179 -0
- package/dist/core/skills/builtin/latency-critical-systems/SKILL.md +73 -0
- package/dist/core/skills/builtin/lead-intelligence/SKILL.md +321 -0
- package/dist/core/skills/builtin/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/dist/core/skills/builtin/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/dist/core/skills/builtin/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/dist/core/skills/builtin/lead-intelligence/agents/signal-scorer.md +60 -0
- package/dist/core/skills/builtin/liquid-glass-design/SKILL.md +279 -0
- package/dist/core/skills/builtin/llm-trading-agent-security/SKILL.md +146 -0
- package/dist/core/skills/builtin/logistics-exception-management/SKILL.md +222 -0
- package/dist/core/skills/builtin/make-interfaces-feel-better/SKILL.md +151 -0
- package/dist/core/skills/builtin/market-research/SKILL.md +75 -0
- package/dist/core/skills/builtin/marketing-campaign/SKILL.md +113 -0
- package/dist/core/skills/builtin/mcp-server-patterns/SKILL.md +69 -0
- package/dist/core/skills/builtin/messages-ops/SKILL.md +104 -0
- package/dist/core/skills/builtin/mle-workflow/SKILL.md +346 -0
- package/dist/core/skills/builtin/motion-advanced/SKILL.md +596 -0
- package/dist/core/skills/builtin/motion-foundations/SKILL.md +299 -0
- package/dist/core/skills/builtin/motion-patterns/SKILL.md +434 -0
- package/dist/core/skills/builtin/motion-ui/SKILL.md +575 -0
- package/dist/core/skills/builtin/mysql-patterns/SKILL.md +412 -0
- package/dist/core/skills/builtin/nanoclaw-repl/SKILL.md +33 -0
- package/dist/core/skills/builtin/nestjs-patterns/SKILL.md +230 -0
- package/dist/core/skills/builtin/netmiko-ssh-automation/SKILL.md +173 -0
- package/dist/core/skills/builtin/network-bgp-diagnostics/SKILL.md +167 -0
- package/dist/core/skills/builtin/network-config-validation/SKILL.md +210 -0
- package/dist/core/skills/builtin/network-interface-health/SKILL.md +152 -0
- package/dist/core/skills/builtin/nextjs-turbopack/SKILL.md +57 -0
- package/dist/core/skills/builtin/nodejs-keccak256/SKILL.md +102 -0
- package/dist/core/skills/builtin/nutrient-document-processing/SKILL.md +167 -0
- package/dist/core/skills/builtin/nuxt4-patterns/SKILL.md +100 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/SKILL.md +288 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/gacha.py +224 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/gacha.sh +5 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/references/error-handling.md +53 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/references/naming-system.md +39 -0
- package/dist/core/skills/builtin/openclaw-persona-forge/references/output-template.md +166 -0
- package/dist/core/skills/builtin/opensource-pipeline/SKILL.md +255 -0
- package/dist/core/skills/builtin/orch-add-feature/SKILL.md +44 -0
- package/dist/core/skills/builtin/orch-build-mvp/SKILL.md +48 -0
- package/dist/core/skills/builtin/orch-change-feature/SKILL.md +42 -0
- package/dist/core/skills/builtin/orch-fix-defect/SKILL.md +42 -0
- package/dist/core/skills/builtin/orch-pipeline/SKILL.md +120 -0
- package/dist/core/skills/builtin/orch-refine-code/SKILL.md +43 -0
- package/dist/core/skills/builtin/parallel-execution-optimizer/SKILL.md +72 -0
- package/dist/core/skills/builtin/perl-patterns/SKILL.md +504 -0
- package/dist/core/skills/builtin/perl-security/SKILL.md +503 -0
- package/dist/core/skills/builtin/perl-testing/SKILL.md +475 -0
- package/dist/core/skills/builtin/plan-orchestrate/SKILL.md +262 -0
- package/dist/core/skills/builtin/plankton-code-quality/SKILL.md +236 -0
- package/dist/core/skills/builtin/postgres-patterns/SKILL.md +147 -0
- package/dist/core/skills/builtin/prediction-market-oracle-research/SKILL.md +63 -0
- package/dist/core/skills/builtin/prediction-market-risk-review/SKILL.md +60 -0
- package/dist/core/skills/builtin/prisma-patterns/SKILL.md +371 -0
- package/dist/core/skills/builtin/product-capability/SKILL.md +141 -0
- package/dist/core/skills/builtin/product-lens/SKILL.md +92 -0
- package/dist/core/skills/builtin/production-audit/SKILL.md +206 -0
- package/dist/core/skills/builtin/production-scheduling/SKILL.md +238 -0
- package/dist/core/skills/builtin/prompt-optimizer/SKILL.md +398 -0
- package/dist/core/skills/builtin/python-patterns/SKILL.md +750 -0
- package/dist/core/skills/builtin/python-testing/SKILL.md +816 -0
- package/dist/core/skills/builtin/pytorch-patterns/SKILL.md +396 -0
- package/dist/core/skills/builtin/quality-nonconformance/SKILL.md +260 -0
- package/dist/core/skills/builtin/quarkus-patterns/SKILL.md +722 -0
- package/dist/core/skills/builtin/quarkus-security/SKILL.md +467 -0
- package/dist/core/skills/builtin/quarkus-tdd/SKILL.md +811 -0
- package/dist/core/skills/builtin/quarkus-verification/SKILL.md +479 -0
- package/dist/core/skills/builtin/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/dist/core/skills/builtin/react-patterns/SKILL.md +341 -0
- package/dist/core/skills/builtin/react-performance/SKILL.md +574 -0
- package/dist/core/skills/builtin/react-testing/SKILL.md +423 -0
- package/dist/core/skills/builtin/recsys-pipeline-architect/SKILL.md +114 -0
- package/dist/core/skills/builtin/recursive-decision-ledger/SKILL.md +79 -0
- package/dist/core/skills/builtin/redis-patterns/SKILL.md +403 -0
- package/dist/core/skills/builtin/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/dist/core/skills/builtin/repo-scan/SKILL.md +78 -0
- package/dist/core/skills/builtin/research-ops/SKILL.md +112 -0
- package/dist/core/skills/builtin/returns-reverse-logistics/SKILL.md +240 -0
- package/dist/core/skills/builtin/rules-distill/SKILL.md +264 -0
- package/dist/core/skills/builtin/rules-distill/scripts/scan-rules.sh +58 -0
- package/dist/core/skills/builtin/rules-distill/scripts/scan-skills.sh +129 -0
- package/dist/core/skills/builtin/rust-patterns/SKILL.md +499 -0
- package/dist/core/skills/builtin/rust-testing/SKILL.md +500 -0
- package/dist/core/skills/builtin/safety-guard/SKILL.md +75 -0
- package/dist/core/skills/builtin/santa-method/SKILL.md +306 -0
- package/dist/core/skills/builtin/scientific-db-pubmed-database/SKILL.md +175 -0
- package/dist/core/skills/builtin/scientific-db-uspto-database/SKILL.md +177 -0
- package/dist/core/skills/builtin/scientific-pkg-gget/SKILL.md +166 -0
- package/dist/core/skills/builtin/scientific-thinking-literature-review/SKILL.md +192 -0
- package/dist/core/skills/builtin/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
- package/dist/core/skills/builtin/search-first/SKILL.md +182 -0
- package/dist/core/skills/builtin/security-bounty-hunter/SKILL.md +99 -0
- package/dist/core/skills/builtin/security-review/SKILL.md +503 -0
- package/dist/core/skills/builtin/security-review/cloud-infrastructure-security.md +361 -0
- package/dist/core/skills/builtin/security-scan/SKILL.md +165 -0
- package/dist/core/skills/builtin/seo/SKILL.md +154 -0
- package/dist/core/skills/builtin/skill-comply/SKILL.md +58 -0
- package/dist/core/skills/builtin/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/dist/core/skills/builtin/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/dist/core/skills/builtin/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/dist/core/skills/builtin/skill-comply/prompts/classifier.md +24 -0
- package/dist/core/skills/builtin/skill-comply/prompts/scenario_generator.md +62 -0
- package/dist/core/skills/builtin/skill-comply/prompts/spec_generator.md +42 -0
- package/dist/core/skills/builtin/skill-comply/pyproject.toml +15 -0
- package/dist/core/skills/builtin/skill-comply/scripts/__init__.py +0 -0
- package/dist/core/skills/builtin/skill-comply/scripts/classifier.py +85 -0
- package/dist/core/skills/builtin/skill-comply/scripts/grader.py +124 -0
- package/dist/core/skills/builtin/skill-comply/scripts/parser.py +107 -0
- package/dist/core/skills/builtin/skill-comply/scripts/report.py +170 -0
- package/dist/core/skills/builtin/skill-comply/scripts/run.py +127 -0
- package/dist/core/skills/builtin/skill-comply/scripts/runner.py +186 -0
- package/dist/core/skills/builtin/skill-comply/scripts/scenario_generator.py +70 -0
- package/dist/core/skills/builtin/skill-comply/scripts/spec_generator.py +72 -0
- package/dist/core/skills/builtin/skill-comply/scripts/utils.py +13 -0
- package/dist/core/skills/builtin/skill-comply/tests/test_grader.py +197 -0
- package/dist/core/skills/builtin/skill-comply/tests/test_parser.py +90 -0
- package/dist/core/skills/builtin/skill-comply/tests/test_runner.py +172 -0
- package/dist/core/skills/builtin/skill-scout/SKILL.md +140 -0
- package/dist/core/skills/builtin/skill-stocktake/SKILL.md +194 -0
- package/dist/core/skills/builtin/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/dist/core/skills/builtin/skill-stocktake/scripts/save-results.sh +56 -0
- package/dist/core/skills/builtin/skill-stocktake/scripts/scan.sh +170 -0
- package/dist/core/skills/builtin/springboot-patterns/SKILL.md +314 -0
- package/dist/core/skills/builtin/springboot-security/SKILL.md +272 -0
- package/dist/core/skills/builtin/springboot-tdd/SKILL.md +158 -0
- package/dist/core/skills/builtin/springboot-verification/SKILL.md +231 -0
- package/dist/core/skills/builtin/strategic-compact/SKILL.md +135 -0
- package/dist/core/skills/builtin/swift-actor-persistence/SKILL.md +143 -0
- package/dist/core/skills/builtin/swift-concurrency-6-2/SKILL.md +216 -0
- package/dist/core/skills/builtin/swift-protocol-di-testing/SKILL.md +190 -0
- package/dist/core/skills/builtin/swiftui-patterns/SKILL.md +259 -0
- package/dist/core/skills/builtin/tdd-workflow/SKILL.md +463 -0
- package/dist/core/skills/builtin/team-agent-orchestration/SKILL.md +110 -0
- package/dist/core/skills/builtin/team-builder/SKILL.md +168 -0
- package/dist/core/skills/builtin/terminal-ops/SKILL.md +109 -0
- package/dist/core/skills/builtin/tinystruct-patterns/SKILL.md +203 -0
- package/dist/core/skills/builtin/tinystruct-patterns/references/architecture.md +90 -0
- package/dist/core/skills/builtin/tinystruct-patterns/references/data-handling.md +60 -0
- package/dist/core/skills/builtin/tinystruct-patterns/references/database.md +99 -0
- package/dist/core/skills/builtin/tinystruct-patterns/references/routing.md +64 -0
- package/dist/core/skills/builtin/tinystruct-patterns/references/system-usage.md +97 -0
- package/dist/core/skills/builtin/tinystruct-patterns/references/testing.md +72 -0
- package/dist/core/skills/builtin/token-budget-advisor/SKILL.md +133 -0
- package/dist/core/skills/builtin/ui-demo/SKILL.md +465 -0
- package/dist/core/skills/builtin/ui-to-vue/SKILL.md +134 -0
- package/dist/core/skills/builtin/uncloud/SKILL.md +343 -0
- package/dist/core/skills/builtin/unified-notifications-ops/SKILL.md +187 -0
- package/dist/core/skills/builtin/verification-loop/SKILL.md +126 -0
- package/dist/core/skills/builtin/video-editing/SKILL.md +310 -0
- package/dist/core/skills/builtin/videodb/SKILL.md +374 -0
- package/dist/core/skills/builtin/videodb/reference/api-reference.md +550 -0
- package/dist/core/skills/builtin/videodb/reference/capture-reference.md +407 -0
- package/dist/core/skills/builtin/videodb/reference/capture.md +101 -0
- package/dist/core/skills/builtin/videodb/reference/editor.md +443 -0
- package/dist/core/skills/builtin/videodb/reference/generative.md +331 -0
- package/dist/core/skills/builtin/videodb/reference/rtstream-reference.md +564 -0
- package/dist/core/skills/builtin/videodb/reference/rtstream.md +65 -0
- package/dist/core/skills/builtin/videodb/reference/search.md +230 -0
- package/dist/core/skills/builtin/videodb/reference/streaming.md +406 -0
- package/dist/core/skills/builtin/videodb/reference/use-cases.md +118 -0
- package/dist/core/skills/builtin/videodb/scripts/ws_listener.py +282 -0
- package/dist/core/skills/builtin/visa-doc-translate/README.md +86 -0
- package/dist/core/skills/builtin/visa-doc-translate/SKILL.md +117 -0
- package/dist/core/skills/builtin/vite-patterns/SKILL.md +449 -0
- package/dist/core/skills/builtin/windows-desktop-e2e/SKILL.md +887 -0
- package/dist/core/skills/builtin/x-api/SKILL.md +234 -0
- package/dist/core/skills/loader.d.ts +23 -12
- package/dist/core/skills/loader.d.ts.map +1 -1
- package/dist/core/skills/loader.js +105 -2
- package/dist/core/skills/loader.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,164 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.2.149] - 2026-06-12
|
|
8
|
+
|
|
9
|
+
### Fixed (ECC pack — folded-description parser bug)
|
|
10
|
+
|
|
11
|
+
v1.2.148 的 bulk-import 脚本对 YAML 折叠语法(`description: >-\n text...`)
|
|
12
|
+
处理错误:把 `[ECC]` 前缀注入到 `>-` 那行而不是续行,导致 11 个 SKILL.md
|
|
13
|
+
的 description 被解析成字面 `[ECC] >-` / `[ECC] >`:
|
|
14
|
+
|
|
15
|
+
- 影响 skill:blueprint / customs-trade-compliance / energy-procurement /
|
|
16
|
+
frontend-a11y / inventory-demand-planning / logistics-exception-management /
|
|
17
|
+
production-scheduling / prompt-optimizer / quality-nonconformance /
|
|
18
|
+
returns-reverse-logistics / token-budget-advisor
|
|
19
|
+
- 修复:从 ECC 源重新拷贝 + 智能注入(识别 YAML 块标量 marker,把 `[ECC] `
|
|
20
|
+
加到展开后的第一段文本,而非 marker 行)
|
|
21
|
+
- 加固:`src/core/skills/loader.ts` `parseSkill` 加防御性 fallback——
|
|
22
|
+
description 解析后若是字面 `>-` / `|` / `>` / `|-`,自动用 fallback 文案
|
|
23
|
+
+ `log.warn` 留审计(防未来同类静默失败)
|
|
24
|
+
|
|
25
|
+
### Added (priority-bucket sort for system-prompt injection)
|
|
26
|
+
|
|
27
|
+
`agim` 是 IM ↔ Agent 通用桥接框架,不应假设运营者的业务。但 builtin/ 加完
|
|
28
|
+
229 ECC pack 后,**system prompt 前 32 个 skill 全是字母排序前段的 ECC 通用
|
|
29
|
+
开发工具**,agim 自带框架 skill(`agim-*`)有 4 个能露脸,而非 ECC builtin
|
|
30
|
+
(`github` / `image-generation` / `tmux` / `weather` 等)和精选 ECC 都被挤
|
|
31
|
+
到字母序后段。
|
|
32
|
+
|
|
33
|
+
#### 新策略(按设计意图)
|
|
34
|
+
|
|
35
|
+
`src/core/skills/loader.ts` 新增 `rankSkillBucket(s)` 函数 + `ECC_TOP_PICKS`
|
|
36
|
+
常量。`buildSkillsSummary` 改为"先按桶排序、桶内字母序":
|
|
37
|
+
|
|
38
|
+
| Bucket | 内容 |
|
|
39
|
+
|---|---|
|
|
40
|
+
| 0 | `agim-*` 框架 skill(4 个)|
|
|
41
|
+
| 1 | 非 ECC builtin(8 个:github / image-generation / long-goal / my / skill-creator / summarize / tmux / weather)|
|
|
42
|
+
| 2 | ECC 精选(20 个)— agent harness 工程 11 + 跨语言方法论 + 内容创作 9 |
|
|
43
|
+
| 3 | 工作区运营者 skill(业务域)+ ECC 余下 210 |
|
|
44
|
+
|
|
45
|
+
4 + 8 + 20 = 32 正好填满;bucket 3 全部靠 description match + 显式
|
|
46
|
+
`mcp__imhub__read_skill('name')` 触发,不强占系统提示门面。
|
|
47
|
+
|
|
48
|
+
#### ECC 精选清单(20 个)
|
|
49
|
+
|
|
50
|
+
- **agent harness 工程(11)**:agentic-engineering / agent-eval /
|
|
51
|
+
agent-introspection-debugging / agent-harness-construction /
|
|
52
|
+
autonomous-agent-harness / autonomous-loops / continuous-learning-v2 /
|
|
53
|
+
verification-loop / prompt-optimizer / cost-aware-llm-pipeline /
|
|
54
|
+
context-budget
|
|
55
|
+
- **跨语言方法论 + 内容(9)**:blueprint / coding-standards /
|
|
56
|
+
architecture-decision-records / code-tour / tdd-workflow /
|
|
57
|
+
security-review / benchmark / article-writing / content-engine
|
|
58
|
+
|
|
59
|
+
#### 实测前 32 名(agim 默认)
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
1. agim-memory 2. agim-reminders 3. agim-self
|
|
63
|
+
4. agim-skill-discovery 5. github 6. image-generation
|
|
64
|
+
7. long-goal 8. my 9. skill-creator
|
|
65
|
+
10. summarize 11. tmux 12. weather
|
|
66
|
+
13. agent-eval 14. agent-harness-construction
|
|
67
|
+
15. agent-introspection-debugging 16. agentic-engineering
|
|
68
|
+
17. architecture-decision-records 18. article-writing
|
|
69
|
+
19. autonomous-agent-harness 20. autonomous-loops
|
|
70
|
+
21. benchmark 22. blueprint 23. code-tour
|
|
71
|
+
24. coding-standards 25. content-engine 26. context-budget
|
|
72
|
+
27. continuous-learning-v2 28. cost-aware-llm-pipeline
|
|
73
|
+
29. prompt-optimizer 30. security-review 31. tdd-workflow
|
|
74
|
+
32. verification-loop
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### ECC 识别
|
|
78
|
+
|
|
79
|
+
ECC pack 的 SKILL.md 各家 `origin:` 值不统一(`ECC` / `community` / `ECC
|
|
80
|
+
direct-port adaptation` …),不能靠 frontmatter 严格等于 `ECC` 来判定。本
|
|
81
|
+
轮以 description 的 `[ECC] ` 前缀作为可靠 marker(packaging 阶段统一打入),
|
|
82
|
+
辅以 `origin:` 起始 `ECC` 的宽松匹配(前向兼容)。
|
|
83
|
+
|
|
84
|
+
### Added (operator-decision re-import)
|
|
85
|
+
|
|
86
|
+
- `content-engine` — 此前归入"ECC operator 工作流"剔除清单(v1.2.148),
|
|
87
|
+
本轮按设计决策复进 builtin/,跟 `article-writing` 一起作为内容创作类
|
|
88
|
+
ECC 精选。`ECC_NOTICE.md` 排除清单从 33 → 32,注明操作员决策。
|
|
89
|
+
|
|
90
|
+
### Tests
|
|
91
|
+
|
|
92
|
+
`src/core/skills/loader.test.ts` 新增 1 case 覆盖 `rankSkillBucket` 四桶分
|
|
93
|
+
类 + `buildSkillsSummary` 输出顺序(agim-* < github/* < agent-eval (ECC 精
|
|
94
|
+
选) < kotlin-* (ECC 余下) / fin-data-* (工作区))。typecheck 双 pass 全绿;
|
|
95
|
+
loader 套件 37/37 通过;build 7.5s。
|
|
96
|
+
|
|
97
|
+
### 文件
|
|
98
|
+
|
|
99
|
+
- `src/core/skills/loader.ts` — `SkillMeta.origin` 字段、`parseSkill` 抽
|
|
100
|
+
origin 并字面 block-scalar fallback、`ECC_TOP_PICKS` + `rankSkillBucket`
|
|
101
|
+
导出、`buildSkillsSummary` bucket-aware sort
|
|
102
|
+
- `src/core/skills/loader.test.ts` — `rankSkillBucket` + sort 测试
|
|
103
|
+
- `src/core/skills/builtin/<11 skill>/SKILL.md` — 折叠描述修复
|
|
104
|
+
- `src/core/skills/builtin/content-engine/` — 复进 230 entry
|
|
105
|
+
- `src/core/skills/builtin/ECC_NOTICE.md` — 233/32 + 复进说明
|
|
106
|
+
|
|
107
|
+
## [1.2.148] - 2026-06-12
|
|
108
|
+
|
|
109
|
+
### Added (built-in ECC skill pack — 229 skills)
|
|
110
|
+
|
|
111
|
+
打包入了 [ECC](https://github.com/affaan-m/ECC) 项目 `skills/` 目录的精选子集:
|
|
112
|
+
**229 个 skill**(占 ECC 全部 262 个的 87%),覆盖通用 dev 工作流、各语言
|
|
113
|
+
patterns / testing / security / build-resolver、各主流框架(Django / Laravel /
|
|
114
|
+
Spring Boot / Quarkus / NestJS / React / Vue / Nuxt 等)、agent harness 工程、
|
|
115
|
+
verification 循环、cost-aware LLM 流水线等。MIT 许可,license 文件归档于
|
|
116
|
+
`src/core/skills/builtin/ECC_LICENSE`。
|
|
117
|
+
|
|
118
|
+
#### 标识
|
|
119
|
+
|
|
120
|
+
- frontmatter `origin: ECC`
|
|
121
|
+
- description 加 `[ECC]` 前缀(便于在 system prompt 一眼区分来源)
|
|
122
|
+
|
|
123
|
+
#### env switch
|
|
124
|
+
|
|
125
|
+
- `IMHUB_INCLUDE_ECC_SKILLS=off` (或 `0`/`false`/`no`/`disable`)→ loader 跳过
|
|
126
|
+
所有 `origin: ECC` 的 skill。默认 ON,保留新装 agim 用户的开箱即用体验。
|
|
127
|
+
- 仅过滤 ECC pack;用户自己写 SKILL.md 时若复用 `origin: ECC` 字段是允许的
|
|
128
|
+
(但显式标记 ECC pack 的 description `[ECC]` 前缀已写死,不影响 user skill)。
|
|
129
|
+
|
|
130
|
+
#### 33 项排除清单(不导入)
|
|
131
|
+
|
|
132
|
+
- ECC 内部:`configure-ecc` / `ecc-guide` / `ecc-tools-cost-audit` / `workspace-surface-audit`
|
|
133
|
+
- ECC operator 工作流:`brand-voice` / `customer-billing-ops` / `google-workspace-ops`
|
|
134
|
+
/ `project-flow-ops` / `social-graph-ranker` / `social-publisher` /
|
|
135
|
+
`investor-materials` / `investor-outreach` / `carrier-relationship-management`
|
|
136
|
+
/ `connections-optimizer` / `content-engine`
|
|
137
|
+
- 视频生成:`manim-video` / `remotion-video-creation` / `blender-motion-state-inspection`
|
|
138
|
+
- 预测市场(ito-*):4 个
|
|
139
|
+
- 家庭实验室(homelab-*):5 个
|
|
140
|
+
- 其他:`agent-architecture-audit` / `agent-payment-x402` / `agent-sort` /
|
|
141
|
+
`agentic-os` / `canary-watch` / `ck`
|
|
142
|
+
|
|
143
|
+
#### 文件
|
|
144
|
+
|
|
145
|
+
- 新增 `src/core/skills/builtin/<229 个目录>/` —— ECC skill 树原样拷贝
|
|
146
|
+
(部分含 scripts/references/templates 子目录),description 行加 `[ECC]` 前缀
|
|
147
|
+
- 新增 `src/core/skills/builtin/ECC_LICENSE` —— MIT, © Affaan Mustafa
|
|
148
|
+
- 新增 `src/core/skills/builtin/ECC_NOTICE.md` —— 归属说明 + 排除清单
|
|
149
|
+
- `src/core/skills/loader.ts` —— `parseSkill` 加 IMHUB_INCLUDE_ECC_SKILLS 过滤
|
|
150
|
+
- `src/core/skills/loader.test.ts` —— 新增 1 case 覆盖 env switch(默认 ON / off /
|
|
151
|
+
unrecognized 三态)
|
|
152
|
+
|
|
153
|
+
#### 体积
|
|
154
|
+
|
|
155
|
+
- builtin/ 从 12 个目录 → 241 个目录(含原 12 + 新 229)
|
|
156
|
+
- 磁盘 ~80 KB → ~4.4 MB
|
|
157
|
+
- 预估 npm tarball 增量约 +1.5 MB(gzip 后)
|
|
158
|
+
|
|
159
|
+
#### 注意事项(agim user 视角)
|
|
160
|
+
|
|
161
|
+
- system prompt 仍只列前 32 个 skill(`MAX_INJECTED_SKILLS=32`),不会爆 context
|
|
162
|
+
- 其余 200+ 个仍可通过 `mcp__imhub__read_skill('name')` 主动调
|
|
163
|
+
- 同名 workspace skill 会 shadow builtin(用户自定义优先)
|
|
164
|
+
|
|
7
165
|
## [1.2.147] - 2026-06-12
|
|
8
166
|
|
|
9
167
|
### Added (native harness — framework-level tool-call discipline + detector 双保险)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Affaan Mustafa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# ECC skill pack — attribution
|
|
2
|
+
|
|
3
|
+
Agim v1.2.148+ ships a curated subset of **230 skills** from the
|
|
4
|
+
[ECC](https://github.com/affaan-m/ECC) project (commit cloned 2026-06-12),
|
|
5
|
+
licensed under MIT. Each ECC-origin skill is identifiable by:
|
|
6
|
+
|
|
7
|
+
- `origin: ECC` in its `SKILL.md` frontmatter
|
|
8
|
+
- `[ECC]` prefix in its description (added at packaging time)
|
|
9
|
+
|
|
10
|
+
Operators can disable the entire ECC skill pack via:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
IMHUB_INCLUDE_ECC_SKILLS=off
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Original license: `ECC_LICENSE` (MIT, © affaan-m).
|
|
17
|
+
|
|
18
|
+
Excluded from the import (32 skills): ECC-internal tooling
|
|
19
|
+
(configure-ecc, ecc-tools-*), ECC operator workflows (brand-voice,
|
|
20
|
+
customer-billing-ops, google-workspace-ops, project-flow-ops, …),
|
|
21
|
+
ito-* (4) prediction-market pack, homelab-* (5), video-generation
|
|
22
|
+
(manim/remotion/blender), social-publisher, investor-materials/outreach.
|
|
23
|
+
|
|
24
|
+
Re-imported after the initial cut (operator decision):
|
|
25
|
+
- `content-engine` — cross-platform content systems (X / LinkedIn /
|
|
26
|
+
TikTok / YouTube / newsletter / repurposing). Originally excluded
|
|
27
|
+
with the operator-workflow group; promoted into the recommended-32
|
|
28
|
+
injection list as a general content-writing tool.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessibility
|
|
3
|
+
description: [ECC] Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA
|
|
4
|
+
standards. Use this skill to generate semantic ARIA for Web and accessibility traits for Web and Native platforms (iOS/Android).
|
|
5
|
+
origin: ECC
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Accessibility (WCAG 2.2)
|
|
9
|
+
|
|
10
|
+
This skill ensures that digital interfaces are Perceivable, Operable, Understandable, and Robust (POUR) for all users, including those using screen readers, switch controls, or keyboard navigation. It focuses on the technical implementation of WCAG 2.2 success criteria.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
- Defining UI component specifications for Web, iOS, or Android.
|
|
15
|
+
- Auditing existing code for accessibility barriers or compliance gaps.
|
|
16
|
+
- Implementing new WCAG 2.2 standards like Target Size (Minimum) and Focus Appearance.
|
|
17
|
+
- Mapping high-level design requirements to technical attributes (ARIA roles, traits, hints).
|
|
18
|
+
|
|
19
|
+
## Core Concepts
|
|
20
|
+
|
|
21
|
+
- **POUR Principles**: The foundation of WCAG (Perceivable, Operable, Understandable, Robust).
|
|
22
|
+
- **Semantic Mapping**: Using native elements over generic containers to provide built-in accessibility.
|
|
23
|
+
- **Accessibility Tree**: The representation of the UI that assistive technologies actually "read."
|
|
24
|
+
- **Focus Management**: Controlling the order and visibility of the keyboard/screen reader cursor.
|
|
25
|
+
- **Labeling & Hints**: Providing context through `aria-label`, `accessibilityLabel`, and `contentDescription`.
|
|
26
|
+
|
|
27
|
+
## How It Works
|
|
28
|
+
|
|
29
|
+
### Step 1: Identify the Component Role
|
|
30
|
+
|
|
31
|
+
Determine the functional purpose (e.g., Is this a button, a link, or a tab?). Use the most semantic native element available before resorting to custom roles.
|
|
32
|
+
|
|
33
|
+
### Step 2: Define Perceivable Attributes
|
|
34
|
+
|
|
35
|
+
- Ensure text contrast meets **4.5:1** (normal) or **3:1** (large/UI).
|
|
36
|
+
- Add text alternatives for non-text content (images, icons).
|
|
37
|
+
- Implement responsive reflow (up to 400% zoom without loss of function).
|
|
38
|
+
|
|
39
|
+
### Step 3: Implement Operable Controls
|
|
40
|
+
|
|
41
|
+
- Ensure a minimum **24x24 CSS pixel** target size (WCAG 2.2 SC 2.5.8).
|
|
42
|
+
- Verify all interactive elements are reachable via keyboard and have a visible focus indicator (SC 2.4.11).
|
|
43
|
+
- Provide single-pointer alternatives for dragging movements.
|
|
44
|
+
|
|
45
|
+
### Step 4: Ensure Understandable Logic
|
|
46
|
+
|
|
47
|
+
- Use consistent navigation patterns.
|
|
48
|
+
- Provide descriptive error messages and suggestions for correction (SC 3.3.3).
|
|
49
|
+
- Implement "Redundant Entry" (SC 3.3.7) to prevent asking for the same data twice.
|
|
50
|
+
|
|
51
|
+
### Step 5: Verify Robust Compatibility
|
|
52
|
+
|
|
53
|
+
- Use correct `Name, Role, Value` patterns.
|
|
54
|
+
- Implement `aria-live` or live regions for dynamic status updates.
|
|
55
|
+
|
|
56
|
+
## Accessibility Architecture Diagram
|
|
57
|
+
|
|
58
|
+
```mermaid
|
|
59
|
+
flowchart TD
|
|
60
|
+
UI["UI Component"] --> Platform{Platform?}
|
|
61
|
+
Platform -->|Web| ARIA["WAI-ARIA + HTML5"]
|
|
62
|
+
Platform -->|iOS| SwiftUI["Accessibility Traits + Labels"]
|
|
63
|
+
Platform -->|Android| Compose["Semantics + ContentDesc"]
|
|
64
|
+
|
|
65
|
+
ARIA --> AT["Assistive Technology (Screen Readers, Switches)"]
|
|
66
|
+
SwiftUI --> AT
|
|
67
|
+
Compose --> AT
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Cross-Platform Mapping
|
|
71
|
+
|
|
72
|
+
| Feature | Web (HTML/ARIA) | iOS (SwiftUI) | Android (Compose) |
|
|
73
|
+
| :----------------- | :----------------------- | :----------------------------------- | :---------------------------------------------------------- |
|
|
74
|
+
| **Primary Label** | `aria-label` / `<label>` | `.accessibilityLabel()` | `contentDescription` |
|
|
75
|
+
| **Secondary Hint** | `aria-describedby` | `.accessibilityHint()` | `Modifier.semantics { stateDescription = ... }` |
|
|
76
|
+
| **Action Role** | `role="button"` | `.accessibilityAddTraits(.isButton)` | `Modifier.semantics { role = Role.Button }` |
|
|
77
|
+
| **Live Updates** | `aria-live="polite"` | `.accessibilityLiveRegion(.polite)` | `Modifier.semantics { liveRegion = LiveRegionMode.Polite }` |
|
|
78
|
+
|
|
79
|
+
## Examples
|
|
80
|
+
|
|
81
|
+
### Web: Accessible Search
|
|
82
|
+
|
|
83
|
+
```html
|
|
84
|
+
<form role="search">
|
|
85
|
+
<label for="search-input" class="sr-only">Search products</label>
|
|
86
|
+
<input type="search" id="search-input" placeholder="Search..." />
|
|
87
|
+
<button type="submit" aria-label="Submit Search">
|
|
88
|
+
<svg aria-hidden="true">...</svg>
|
|
89
|
+
</button>
|
|
90
|
+
</form>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### iOS: Accessible Action Button
|
|
94
|
+
|
|
95
|
+
```swift
|
|
96
|
+
Button(action: deleteItem) {
|
|
97
|
+
Image(systemName: "trash")
|
|
98
|
+
}
|
|
99
|
+
.accessibilityLabel("Delete item")
|
|
100
|
+
.accessibilityHint("Permanently removes this item from your list")
|
|
101
|
+
.accessibilityAddTraits(.isButton)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Android: Accessible Toggle
|
|
105
|
+
|
|
106
|
+
```kotlin
|
|
107
|
+
Switch(
|
|
108
|
+
checked = isEnabled,
|
|
109
|
+
onCheckedChange = { onToggle() },
|
|
110
|
+
modifier = Modifier.semantics {
|
|
111
|
+
contentDescription = "Enable notifications"
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Anti-Patterns to Avoid
|
|
117
|
+
|
|
118
|
+
- **Div-Buttons**: Using a `<div>` or `<span>` for a click event without adding a role and keyboard support.
|
|
119
|
+
- **Color-Only Meaning**: Indicating an error or status _only_ with a color change (e.g., turning a border red).
|
|
120
|
+
- **Uncontained Modal Focus**: Modals that don't trap focus, allowing keyboard users to navigate background content while the modal is open. Focus must be contained _and_ escapable via the `Escape` key or an explicit close button (WCAG SC 2.1.2).
|
|
121
|
+
- **Redundant Alt Text**: Using "Image of..." or "Picture of..." in alt text (screen readers already announce the role "Image").
|
|
122
|
+
|
|
123
|
+
## Best Practices Checklist
|
|
124
|
+
|
|
125
|
+
- [ ] Interactive elements meet the **24x24px** (Web) or **44x44pt** (Native) target size.
|
|
126
|
+
- [ ] Focus indicators are clearly visible and high-contrast.
|
|
127
|
+
- [ ] Modals **contain focus** while open, and release it cleanly on close (`Escape` key or close button).
|
|
128
|
+
- [ ] Dropdowns and menus restore focus to the trigger element on close.
|
|
129
|
+
- [ ] Forms provide text-based error suggestions.
|
|
130
|
+
- [ ] All icon-only buttons have a descriptive text label.
|
|
131
|
+
- [ ] Content reflows properly when text is scaled.
|
|
132
|
+
|
|
133
|
+
## References
|
|
134
|
+
|
|
135
|
+
- [WCAG 2.2 Guidelines](https://www.w3.org/TR/WCAG22/)
|
|
136
|
+
- [WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices/)
|
|
137
|
+
- [iOS Accessibility Programming Guide](https://developer.apple.com/documentation/accessibility)
|
|
138
|
+
- [iOS Human Interface Guidelines - Accessibility](https://developer.apple.com/design/human-interface-guidelines/accessibility)
|
|
139
|
+
- [Android Accessibility Developer Guide](https://developer.android.com/guide/topics/ui/accessibility)
|
|
140
|
+
|
|
141
|
+
## Related Skills
|
|
142
|
+
|
|
143
|
+
- `frontend-patterns`
|
|
144
|
+
- `design-system`
|
|
145
|
+
- `liquid-glass-design`
|
|
146
|
+
- `swiftui-patterns`
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-eval
|
|
3
|
+
description: [ECC] Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics
|
|
4
|
+
origin: ECC
|
|
5
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Agent Eval Skill
|
|
9
|
+
|
|
10
|
+
A lightweight CLI tool for comparing coding agents head-to-head on reproducible tasks. Every "which coding agent is best?" comparison runs on vibes — this tool systematizes it.
|
|
11
|
+
|
|
12
|
+
## When to Activate
|
|
13
|
+
|
|
14
|
+
- Comparing coding agents (Claude Code, Aider, Codex, etc.) on your own codebase
|
|
15
|
+
- Measuring agent performance before adopting a new tool or model
|
|
16
|
+
- Running regression checks when an agent updates its model or tooling
|
|
17
|
+
- Producing data-backed agent selection decisions for a team
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
> **Note:** Install agent-eval from its repository after reviewing the source.
|
|
22
|
+
|
|
23
|
+
## Core Concepts
|
|
24
|
+
|
|
25
|
+
### YAML Task Definitions
|
|
26
|
+
|
|
27
|
+
Define tasks declaratively. Each task specifies what to do, which files to touch, and how to judge success:
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
name: add-retry-logic
|
|
31
|
+
description: Add exponential backoff retry to the HTTP client
|
|
32
|
+
repo: ./my-project
|
|
33
|
+
files:
|
|
34
|
+
- src/http_client.py
|
|
35
|
+
prompt: |
|
|
36
|
+
Add retry logic with exponential backoff to all HTTP requests.
|
|
37
|
+
Max 3 retries. Initial delay 1s, max delay 30s.
|
|
38
|
+
judge:
|
|
39
|
+
- type: pytest
|
|
40
|
+
command: pytest tests/test_http_client.py -v
|
|
41
|
+
- type: grep
|
|
42
|
+
pattern: "exponential_backoff|retry"
|
|
43
|
+
files: src/http_client.py
|
|
44
|
+
commit: "abc1234" # pin to specific commit for reproducibility
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Git Worktree Isolation
|
|
48
|
+
|
|
49
|
+
Each agent run gets its own git worktree — no Docker required. This provides reproducibility isolation so agents cannot interfere with each other or corrupt the base repo.
|
|
50
|
+
|
|
51
|
+
### Metrics Collected
|
|
52
|
+
|
|
53
|
+
| Metric | What It Measures |
|
|
54
|
+
|--------|-----------------|
|
|
55
|
+
| Pass rate | Did the agent produce code that passes the judge? |
|
|
56
|
+
| Cost | API spend per task (when available) |
|
|
57
|
+
| Time | Wall-clock seconds to completion |
|
|
58
|
+
| Consistency | Pass rate across repeated runs (e.g., 3/3 = 100%) |
|
|
59
|
+
|
|
60
|
+
## Workflow
|
|
61
|
+
|
|
62
|
+
### 1. Define Tasks
|
|
63
|
+
|
|
64
|
+
Create a `tasks/` directory with YAML files, one per task:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
mkdir tasks
|
|
68
|
+
# Write task definitions (see template above)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. Run Agents
|
|
72
|
+
|
|
73
|
+
Execute agents against your tasks:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
agent-eval run --task tasks/add-retry-logic.yaml --agent claude-code --agent aider --runs 3
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Each run:
|
|
80
|
+
1. Creates a fresh git worktree from the specified commit
|
|
81
|
+
2. Hands the prompt to the agent
|
|
82
|
+
3. Runs the judge criteria
|
|
83
|
+
4. Records pass/fail, cost, and time
|
|
84
|
+
|
|
85
|
+
### 3. Compare Results
|
|
86
|
+
|
|
87
|
+
Generate a comparison report:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
agent-eval report --format table
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Task: add-retry-logic (3 runs each)
|
|
95
|
+
┌──────────────┬───────────┬────────┬────────┬─────────────┐
|
|
96
|
+
│ Agent │ Pass Rate │ Cost │ Time │ Consistency │
|
|
97
|
+
├──────────────┼───────────┼────────┼────────┼─────────────┤
|
|
98
|
+
│ claude-code │ 3/3 │ $0.12 │ 45s │ 100% │
|
|
99
|
+
│ aider │ 2/3 │ $0.08 │ 38s │ 67% │
|
|
100
|
+
└──────────────┴───────────┴────────┴────────┴─────────────┘
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Judge Types
|
|
104
|
+
|
|
105
|
+
### Code-Based (deterministic)
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
judge:
|
|
109
|
+
- type: pytest
|
|
110
|
+
command: pytest tests/ -v
|
|
111
|
+
- type: command
|
|
112
|
+
command: npm run build
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Pattern-Based
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
judge:
|
|
119
|
+
- type: grep
|
|
120
|
+
pattern: "class.*Retry"
|
|
121
|
+
files: src/**/*.py
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Model-Based (LLM-as-judge)
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
judge:
|
|
128
|
+
- type: llm
|
|
129
|
+
prompt: |
|
|
130
|
+
Does this implementation correctly handle exponential backoff?
|
|
131
|
+
Check for: max retries, increasing delays, jitter.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Best Practices
|
|
135
|
+
|
|
136
|
+
- **Start with 3-5 tasks** that represent your real workload, not toy examples
|
|
137
|
+
- **Run at least 3 trials** per agent to capture variance — agents are non-deterministic
|
|
138
|
+
- **Pin the commit** in your task YAML so results are reproducible across days/weeks
|
|
139
|
+
- **Include at least one deterministic judge** (tests, build) per task — LLM judges add noise
|
|
140
|
+
- **Track cost alongside pass rate** — a 95% agent at 10x the cost may not be the right choice
|
|
141
|
+
- **Version your task definitions** — they are test fixtures, treat them as code
|
|
142
|
+
|
|
143
|
+
## Links
|
|
144
|
+
|
|
145
|
+
- Repository: [github.com/joaquinhuigomez/agent-eval](https://github.com/joaquinhuigomez/agent-eval)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-harness-construction
|
|
3
|
+
description: [ECC] Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates.
|
|
4
|
+
origin: ECC
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agent Harness Construction
|
|
8
|
+
|
|
9
|
+
Use this skill when you are improving how an agent plans, calls tools, recovers from errors, and converges on completion.
|
|
10
|
+
|
|
11
|
+
## Core Model
|
|
12
|
+
|
|
13
|
+
Agent output quality is constrained by:
|
|
14
|
+
1. Action space quality
|
|
15
|
+
2. Observation quality
|
|
16
|
+
3. Recovery quality
|
|
17
|
+
4. Context budget quality
|
|
18
|
+
|
|
19
|
+
## Action Space Design
|
|
20
|
+
|
|
21
|
+
1. Use stable, explicit tool names.
|
|
22
|
+
2. Keep inputs schema-first and narrow.
|
|
23
|
+
3. Return deterministic output shapes.
|
|
24
|
+
4. Avoid catch-all tools unless isolation is impossible.
|
|
25
|
+
|
|
26
|
+
## Granularity Rules
|
|
27
|
+
|
|
28
|
+
- Use micro-tools for high-risk operations (deploy, migration, permissions).
|
|
29
|
+
- Use medium tools for common edit/read/search loops.
|
|
30
|
+
- Use macro-tools only when round-trip overhead is the dominant cost.
|
|
31
|
+
|
|
32
|
+
## Observation Design
|
|
33
|
+
|
|
34
|
+
Every tool response should include:
|
|
35
|
+
- `status`: success|warning|error
|
|
36
|
+
- `summary`: one-line result
|
|
37
|
+
- `next_actions`: actionable follow-ups
|
|
38
|
+
- `artifacts`: file paths / IDs
|
|
39
|
+
|
|
40
|
+
## Error Recovery Contract
|
|
41
|
+
|
|
42
|
+
For every error path, include:
|
|
43
|
+
- root cause hint
|
|
44
|
+
- safe retry instruction
|
|
45
|
+
- explicit stop condition
|
|
46
|
+
|
|
47
|
+
## Context Budgeting
|
|
48
|
+
|
|
49
|
+
1. Keep system prompt minimal and invariant.
|
|
50
|
+
2. Move large guidance into skills loaded on demand.
|
|
51
|
+
3. Prefer references to files over inlining long documents.
|
|
52
|
+
4. Compact at phase boundaries, not arbitrary token thresholds.
|
|
53
|
+
|
|
54
|
+
## Architecture Pattern Guidance
|
|
55
|
+
|
|
56
|
+
- ReAct: best for exploratory tasks with uncertain path.
|
|
57
|
+
- Function-calling: best for structured deterministic flows.
|
|
58
|
+
- Hybrid (recommended): ReAct planning + typed tool execution.
|
|
59
|
+
|
|
60
|
+
## Benchmarking
|
|
61
|
+
|
|
62
|
+
Track:
|
|
63
|
+
- completion rate
|
|
64
|
+
- retries per task
|
|
65
|
+
- pass@1 and pass@3
|
|
66
|
+
- cost per successful task
|
|
67
|
+
|
|
68
|
+
## Anti-Patterns
|
|
69
|
+
|
|
70
|
+
- Too many tools with overlapping semantics.
|
|
71
|
+
- Opaque tool output with no recovery hints.
|
|
72
|
+
- Error-only output without next steps.
|
|
73
|
+
- Context overloading with irrelevant references.
|