agim-cli 1.2.144 → 1.2.148
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 +159 -0
- package/dist/cli-ui/setup-llm.d.ts.map +1 -1
- package/dist/cli-ui/setup-llm.js +3 -1
- package/dist/cli-ui/setup-llm.js.map +1 -1
- package/dist/core/circuit-breaker.d.ts +28 -0
- package/dist/core/circuit-breaker.d.ts.map +1 -1
- package/dist/core/circuit-breaker.js +45 -0
- package/dist/core/circuit-breaker.js.map +1 -1
- package/dist/core/intent.d.ts.map +1 -1
- package/dist/core/intent.js +3 -1
- package/dist/core/intent.js.map +1 -1
- package/dist/core/llm/agent-loop.d.ts +9 -1
- package/dist/core/llm/agent-loop.d.ts.map +1 -1
- package/dist/core/llm/agent-loop.js +80 -1
- package/dist/core/llm/agent-loop.js.map +1 -1
- package/dist/core/llm/anthropic-provider.d.ts.map +1 -1
- package/dist/core/llm/anthropic-provider.js +18 -4
- package/dist/core/llm/anthropic-provider.js.map +1 -1
- package/dist/core/llm/hallucination-detector.d.ts +33 -0
- package/dist/core/llm/hallucination-detector.d.ts.map +1 -0
- package/dist/core/llm/hallucination-detector.js +103 -0
- package/dist/core/llm/hallucination-detector.js.map +1 -0
- package/dist/core/llm/imhub-dispatcher.d.ts.map +1 -1
- package/dist/core/llm/imhub-dispatcher.js +7 -0
- package/dist/core/llm/imhub-dispatcher.js.map +1 -1
- package/dist/core/llm/provider-base.d.ts +9 -0
- package/dist/core/llm/provider-base.d.ts.map +1 -1
- package/dist/core/llm/provider-base.js.map +1 -1
- package/dist/core/memory-distill.d.ts.map +1 -1
- package/dist/core/memory-distill.js +18 -3
- package/dist/core/memory-distill.js.map +1 -1
- package/dist/core/memory.d.ts +14 -0
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +39 -0
- package/dist/core/memory.js.map +1 -1
- package/dist/core/message-sink.d.ts +6 -0
- package/dist/core/message-sink.d.ts.map +1 -1
- package/dist/core/message-sink.js +18 -3
- package/dist/core/message-sink.js.map +1 -1
- package/dist/core/outbox.d.ts +30 -2
- package/dist/core/outbox.d.ts.map +1 -1
- package/dist/core/outbox.js +102 -10
- package/dist/core/outbox.js.map +1 -1
- package/dist/core/reminders.d.ts.map +1 -1
- package/dist/core/reminders.js +11 -1
- package/dist/core/reminders.js.map +1 -1
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +16 -4
- package/dist/core/router.js.map +1 -1
- package/dist/core/schedule.d.ts +18 -0
- package/dist/core/schedule.d.ts.map +1 -1
- package/dist/core/schedule.js +80 -17
- package/dist/core/schedule.js.map +1 -1
- package/dist/core/sensitive-paths.d.ts.map +1 -1
- package/dist/core/sensitive-paths.js +53 -9
- package/dist/core/sensitive-paths.js.map +1 -1
- package/dist/core/skills/builtin/ECC_LICENSE +21 -0
- package/dist/core/skills/builtin/ECC_NOTICE.md +22 -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-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.js +11 -0
- package/dist/core/skills/loader.js.map +1 -1
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/plugins/agents/native/index.d.ts +47 -8
- package/dist/plugins/agents/native/index.d.ts.map +1 -1
- package/dist/plugins/agents/native/index.js +253 -102
- package/dist/plugins/agents/native/index.js.map +1 -1
- package/dist/plugins/agents/native/tool-registry.d.ts +33 -0
- package/dist/plugins/agents/native/tool-registry.d.ts.map +1 -0
- package/dist/plugins/agents/native/tool-registry.js +82 -0
- package/dist/plugins/agents/native/tool-registry.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-client.d.ts.map +1 -1
- package/dist/plugins/messengers/dingtalk/dingtalk-client.js +11 -11
- package/dist/plugins/messengers/dingtalk/dingtalk-client.js.map +1 -1
- package/dist/plugins/messengers/feishu/feishu-adapter.d.ts.map +1 -1
- package/dist/plugins/messengers/feishu/feishu-adapter.js +9 -5
- package/dist/plugins/messengers/feishu/feishu-adapter.js.map +1 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.d.ts.map +1 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.js +11 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.js.map +1 -1
- package/dist/web/public/assets/{a2a-DczMMkbl.js → a2a-Cll3P4QN.js} +2 -2
- package/dist/web/public/assets/{a2a-DczMMkbl.js.map → a2a-Cll3P4QN.js.map} +1 -1
- package/dist/web/public/assets/{activity-cbLHkzca.js → activity-B7T7YFlD.js} +2 -2
- package/dist/web/public/assets/{activity-cbLHkzca.js.map → activity-B7T7YFlD.js.map} +1 -1
- package/dist/web/public/assets/{admins-C-YsGMj7.js → admins-CN7P018S.js} +2 -2
- package/dist/web/public/assets/{admins-C-YsGMj7.js.map → admins-CN7P018S.js.map} +1 -1
- package/dist/web/public/assets/{agents-BWfov_1-.js → agents-Bqgq7GBF.js} +2 -2
- package/dist/web/public/assets/{agents-BWfov_1-.js.map → agents-Bqgq7GBF.js.map} +1 -1
- package/dist/web/public/assets/{approvals-HSssmXKS.js → approvals-C8IUJQ_A.js} +2 -2
- package/dist/web/public/assets/{approvals-HSssmXKS.js.map → approvals-C8IUJQ_A.js.map} +1 -1
- package/dist/web/public/assets/{arrow-down-BXvC8Al2.js → arrow-down-SLWKqtDc.js} +2 -2
- package/dist/web/public/assets/{arrow-down-BXvC8Al2.js.map → arrow-down-SLWKqtDc.js.map} +1 -1
- package/dist/web/public/assets/{arrow-up-63xELY5Q.js → arrow-up-BOADc9ce.js} +2 -2
- package/dist/web/public/assets/{arrow-up-63xELY5Q.js.map → arrow-up-BOADc9ce.js.map} +1 -1
- package/dist/web/public/assets/{asks-COLEFOvK.js → asks-C-j-DypC.js} +2 -2
- package/dist/web/public/assets/{asks-COLEFOvK.js.map → asks-C-j-DypC.js.map} +1 -1
- package/dist/web/public/assets/{audit-D4ZEiZub.js → audit-DQb-RuXh.js} +2 -2
- package/dist/web/public/assets/{audit-D4ZEiZub.js.map → audit-DQb-RuXh.js.map} +1 -1
- package/dist/web/public/assets/{bell-Cg2Bvv06.js → bell-CV88-ul6.js} +2 -2
- package/dist/web/public/assets/{bell-Cg2Bvv06.js.map → bell-CV88-ul6.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-CEjCzwtd.js → bgjobs-CDrK0d-W.js} +2 -2
- package/dist/web/public/assets/{bgjobs-CEjCzwtd.js.map → bgjobs-CDrK0d-W.js.map} +1 -1
- package/dist/web/public/assets/{brain-euvl6F6C.js → brain-B7HtSOQU.js} +2 -2
- package/dist/web/public/assets/{brain-euvl6F6C.js.map → brain-B7HtSOQU.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-DPWLbCnA.js → briefcase-mdzuIa__.js} +2 -2
- package/dist/web/public/assets/{briefcase-DPWLbCnA.js.map → briefcase-mdzuIa__.js.map} +1 -1
- package/dist/web/public/assets/{browser-ponyfill-BUutOaRz.js → browser-ponyfill-DBWdeCTC.js} +2 -2
- package/dist/web/public/assets/{browser-ponyfill-BUutOaRz.js.map → browser-ponyfill-DBWdeCTC.js.map} +1 -1
- package/dist/web/public/assets/{chat-Dz9kfaxH.js → chat-CSjtY2rN.js} +3 -3
- package/dist/web/public/assets/{chat-Dz9kfaxH.js.map → chat-CSjtY2rN.js.map} +1 -1
- package/dist/web/public/assets/{chevron-left-BeIh5thq.js → chevron-left-uSfPn636.js} +2 -2
- package/dist/web/public/assets/{chevron-left-BeIh5thq.js.map → chevron-left-uSfPn636.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-uP_l9MMb.js → chevron-right-CtelqacW.js} +2 -2
- package/dist/web/public/assets/{chevron-right-uP_l9MMb.js.map → chevron-right-CtelqacW.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-CewnjFgv.js → circle-check-8dbL-u7O.js} +2 -2
- package/dist/web/public/assets/{circle-check-CewnjFgv.js.map → circle-check-8dbL-u7O.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-C2RTc48c.js → circle-check-big-D8-svk9a.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-C2RTc48c.js.map → circle-check-big-D8-svk9a.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-Ccg1HyV-.js → circle-x-rUxzIz5P.js} +2 -2
- package/dist/web/public/assets/{circle-x-Ccg1HyV-.js.map → circle-x-rUxzIz5P.js.map} +1 -1
- package/dist/web/public/assets/{clock-qxbYSynv.js → clock-CG5dlBGB.js} +2 -2
- package/dist/web/public/assets/{clock-qxbYSynv.js.map → clock-CG5dlBGB.js.map} +1 -1
- package/dist/web/public/assets/{confirm-dialog-DmJq4Td9.js → confirm-dialog-DlUsSur3.js} +2 -2
- package/dist/web/public/assets/{confirm-dialog-DmJq4Td9.js.map → confirm-dialog-DlUsSur3.js.map} +1 -1
- package/dist/web/public/assets/{copy-DxSHRdbc.js → copy-DnC76wFT.js} +2 -2
- package/dist/web/public/assets/{copy-DxSHRdbc.js.map → copy-DnC76wFT.js.map} +1 -1
- package/dist/web/public/assets/{data-table-S7rIjwdO.js → data-table-DswkWUfG.js} +2 -2
- package/dist/web/public/assets/{data-table-S7rIjwdO.js.map → data-table-DswkWUfG.js.map} +1 -1
- package/dist/web/public/assets/dialog-Ceo4YuXy.js +6 -0
- package/dist/web/public/assets/dialog-Ceo4YuXy.js.map +1 -0
- package/dist/web/public/assets/{download-OhsGtnO-.js → download-DF-46tS4.js} +2 -2
- package/dist/web/public/assets/{download-OhsGtnO-.js.map → download-DF-46tS4.js.map} +1 -1
- package/dist/web/public/assets/{email-C1-HxWLF.js → email-CZee26-_.js} +3 -3
- package/dist/web/public/assets/{email-C1-HxWLF.js.map → email-CZee26-_.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-C-qjOHyu.js → empty-state-D9Hi0Atm.js} +2 -2
- package/dist/web/public/assets/{empty-state-C-qjOHyu.js.map → empty-state-D9Hi0Atm.js.map} +1 -1
- package/dist/web/public/assets/{external-link-DRVp9-lb.js → external-link-D64iZa9P.js} +2 -2
- package/dist/web/public/assets/{external-link-DRVp9-lb.js.map → external-link-D64iZa9P.js.map} +1 -1
- package/dist/web/public/assets/{eye-CFhg5BTa.js → eye-sY6WZb7D.js} +2 -2
- package/dist/web/public/assets/{eye-CFhg5BTa.js.map → eye-sY6WZb7D.js.map} +1 -1
- package/dist/web/public/assets/{facts-CGaLWhzi.js → facts-B7bGGwvi.js} +2 -2
- package/dist/web/public/assets/{facts-CGaLWhzi.js.map → facts-B7bGGwvi.js.map} +1 -1
- package/dist/web/public/assets/{goals-C-dJANmn.js → goals-BfQbsvZv.js} +2 -2
- package/dist/web/public/assets/{goals-C-dJANmn.js.map → goals-BfQbsvZv.js.map} +1 -1
- package/dist/web/public/assets/{health-CWcti5h3.js → health-Ba_mY0Ts.js} +2 -2
- package/dist/web/public/assets/{health-CWcti5h3.js.map → health-Ba_mY0Ts.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-DmGhKR2W.js → heart-pulse-BjikOVwU.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-DmGhKR2W.js.map → heart-pulse-BjikOVwU.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-kLoGBNCo.js → heartbeat-BM8LlPes.js} +2 -2
- package/dist/web/public/assets/{heartbeat-kLoGBNCo.js.map → heartbeat-BM8LlPes.js.map} +1 -1
- package/dist/web/public/assets/{hot-BITDoax1.js → hot-BtuLL6n8.js} +2 -2
- package/dist/web/public/assets/{hot-BITDoax1.js.map → hot-BtuLL6n8.js.map} +1 -1
- package/dist/web/public/assets/index-DEWFfW_Z.js +199 -0
- package/dist/web/public/assets/index-DEWFfW_Z.js.map +1 -0
- package/dist/web/public/assets/{installed-Co9WrtQ7.js → installed-Xr8p31ij.js} +2 -2
- package/dist/web/public/assets/{installed-Co9WrtQ7.js.map → installed-Xr8p31ij.js.map} +1 -1
- package/dist/web/public/assets/{jobs-hdHhBEvi.js → jobs-Ddy81Udm.js} +2 -2
- package/dist/web/public/assets/{jobs-hdHhBEvi.js.map → jobs-Ddy81Udm.js.map} +1 -1
- package/dist/web/public/assets/{layout-CQtbOBag.js → layout-BL74fT-L.js} +2 -2
- package/dist/web/public/assets/{layout-CQtbOBag.js.map → layout-BL74fT-L.js.map} +1 -1
- package/dist/web/public/assets/{layout-bDMXIKIR.js → layout-Bn2qUxcK.js} +2 -2
- package/dist/web/public/assets/{layout-bDMXIKIR.js.map → layout-Bn2qUxcK.js.map} +1 -1
- package/dist/web/public/assets/{layout-BMXC1Uh1.js → layout-Bp4SAA8_.js} +2 -2
- package/dist/web/public/assets/{layout-BMXC1Uh1.js.map → layout-Bp4SAA8_.js.map} +1 -1
- package/dist/web/public/assets/{layout-CysVsySh.js → layout-CZ9pGnW8.js} +2 -2
- package/dist/web/public/assets/{layout-CysVsySh.js.map → layout-CZ9pGnW8.js.map} +1 -1
- package/dist/web/public/assets/{layout-CyBGneZ9.js → layout-pasFRkKV.js} +2 -2
- package/dist/web/public/assets/{layout-CyBGneZ9.js.map → layout-pasFRkKV.js.map} +1 -1
- package/dist/web/public/assets/llm-yp7b5xxL.js +7 -0
- package/dist/web/public/assets/llm-yp7b5xxL.js.map +1 -0
- package/dist/web/public/assets/{loader-circle-9VUMGitw.js → loader-circle-Bbw4pEyE.js} +2 -2
- package/dist/web/public/assets/{loader-circle-9VUMGitw.js.map → loader-circle-Bbw4pEyE.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-BXYvvHry.js → map-pin-DIXHUQgM.js} +2 -2
- package/dist/web/public/assets/{map-pin-BXYvvHry.js.map → map-pin-DIXHUQgM.js.map} +1 -1
- package/dist/web/public/assets/{mcp-BgLdlwSn.js → mcp-DyaljIM_.js} +2 -2
- package/dist/web/public/assets/{mcp-BgLdlwSn.js.map → mcp-DyaljIM_.js.map} +1 -1
- package/dist/web/public/assets/memos-Dkoc157i.js +12 -0
- package/dist/web/public/assets/memos-Dkoc157i.js.map +1 -0
- package/dist/web/public/assets/{messengers-7Phqea62.js → messengers-CcyGDeUI.js} +2 -2
- package/dist/web/public/assets/{messengers-7Phqea62.js.map → messengers-CcyGDeUI.js.map} +1 -1
- package/dist/web/public/assets/{mobile-CV5b6D2W.js → mobile-DqzIv4Xb.js} +2 -2
- package/dist/web/public/assets/{mobile-CV5b6D2W.js.map → mobile-DqzIv4Xb.js.map} +1 -1
- package/dist/web/public/assets/{native-agent-QvIa6LjE.js → native-agent-BQ7WaRGK.js} +2 -2
- package/dist/web/public/assets/{native-agent-QvIa6LjE.js.map → native-agent-BQ7WaRGK.js.map} +1 -1
- package/dist/web/public/assets/{network-BXhEjGhE.js → network-B_yUFAqC.js} +2 -2
- package/dist/web/public/assets/{network-BXhEjGhE.js.map → network-B_yUFAqC.js.map} +1 -1
- package/dist/web/public/assets/{outbox-DHQL7TQb.js → outbox-l8aVOZqO.js} +2 -2
- package/dist/web/public/assets/{outbox-DHQL7TQb.js.map → outbox-l8aVOZqO.js.map} +1 -1
- package/dist/web/public/assets/{pagination-VKuPb1Ot.js → pagination-BAKRGKa9.js} +2 -2
- package/dist/web/public/assets/{pagination-VKuPb1Ot.js.map → pagination-BAKRGKa9.js.map} +1 -1
- package/dist/web/public/assets/{persona-CWug2GLR.js → persona-D3VL9Rg1.js} +2 -2
- package/dist/web/public/assets/{persona-CWug2GLR.js.map → persona-D3VL9Rg1.js.map} +1 -1
- package/dist/web/public/assets/{plans-CZoEs5SY.js → plans-BBB5e9my.js} +2 -2
- package/dist/web/public/assets/{plans-CZoEs5SY.js.map → plans-BBB5e9my.js.map} +1 -1
- package/dist/web/public/assets/{play-CfSn5Vdl.js → play-7-Wd369f.js} +2 -2
- package/dist/web/public/assets/{play-CfSn5Vdl.js.map → play-7-Wd369f.js.map} +1 -1
- package/dist/web/public/assets/{plus-Z8l4CiqJ.js → plus-B0sfZy-j.js} +2 -2
- package/dist/web/public/assets/{plus-Z8l4CiqJ.js.map → plus-B0sfZy-j.js.map} +1 -1
- package/dist/web/public/assets/{policy-CutDSEPW.js → policy-BM1WRXH0.js} +2 -2
- package/dist/web/public/assets/{policy-CutDSEPW.js.map → policy-BM1WRXH0.js.map} +1 -1
- package/dist/web/public/assets/{qr-code-DgU5aiM6.js → qr-code-DcKs5fi3.js} +2 -2
- package/dist/web/public/assets/{qr-code-DgU5aiM6.js.map → qr-code-DcKs5fi3.js.map} +1 -1
- package/dist/web/public/assets/{react-Cb2sDjhD.js → react-DlP5eolq.js} +2 -2
- package/dist/web/public/assets/{react-Cb2sDjhD.js.map → react-DlP5eolq.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-D2CWiyU_.js → refresh-ccw-uNKeBeRl.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-D2CWiyU_.js.map → refresh-ccw-uNKeBeRl.js.map} +1 -1
- package/dist/web/public/assets/{reminders-Cb6Izedg.js → reminders-DHM8K0_O.js} +2 -2
- package/dist/web/public/assets/{reminders-Cb6Izedg.js.map → reminders-DHM8K0_O.js.map} +1 -1
- package/dist/web/public/assets/{save-DB0BDYTs.js → save-qwJa5_SA.js} +2 -2
- package/dist/web/public/assets/{save-DB0BDYTs.js.map → save-qwJa5_SA.js.map} +1 -1
- package/dist/web/public/assets/{schedules-8mSjE14D.js → schedules-Bcd0wbT4.js} +2 -2
- package/dist/web/public/assets/{schedules-8mSjE14D.js.map → schedules-Bcd0wbT4.js.map} +1 -1
- package/dist/web/public/assets/{search-Con69NhG.js → search-BUlzNWrj.js} +2 -2
- package/dist/web/public/assets/{search-Con69NhG.js.map → search-BUlzNWrj.js.map} +1 -1
- package/dist/web/public/assets/{search-B4fHilZ0.js → search-i1tP2maJ.js} +2 -2
- package/dist/web/public/assets/{search-B4fHilZ0.js.map → search-i1tP2maJ.js.map} +1 -1
- package/dist/web/public/assets/{security-BTe3zUg8.js → security-DgJyTT4g.js} +2 -2
- package/dist/web/public/assets/{security-BTe3zUg8.js.map → security-DgJyTT4g.js.map} +1 -1
- package/dist/web/public/assets/{service-C7SqcwfL.js → service-A0Hzear0.js} +2 -2
- package/dist/web/public/assets/{service-C7SqcwfL.js.map → service-A0Hzear0.js.map} +1 -1
- package/dist/web/public/assets/{shield-alert-CKFVsGgI.js → shield-alert-DrnN6fz_.js} +2 -2
- package/dist/web/public/assets/{shield-alert-CKFVsGgI.js.map → shield-alert-DrnN6fz_.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-BSkpyN4D.js → status-badge-Ryzf96Pl.js} +2 -2
- package/dist/web/public/assets/{status-badge-BSkpyN4D.js.map → status-badge-Ryzf96Pl.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-Bel-I1Sk.js → subtasks-Bzh3o3EF.js} +2 -2
- package/dist/web/public/assets/{subtasks-Bel-I1Sk.js.map → subtasks-Bzh3o3EF.js.map} +1 -1
- package/dist/web/public/assets/{table-CPn1MRcy.js → table-BbAOSyc8.js} +2 -2
- package/dist/web/public/assets/{table-CPn1MRcy.js.map → table-BbAOSyc8.js.map} +1 -1
- package/dist/web/public/assets/{topn-Ba3RjcK1.js → topn-DkhYw-Gp.js} +2 -2
- package/dist/web/public/assets/{topn-Ba3RjcK1.js.map → topn-DkhYw-Gp.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-Dfov8aHD.js → trash-2-CA0cLpnU.js} +2 -2
- package/dist/web/public/assets/{trash-2-Dfov8aHD.js.map → trash-2-CA0cLpnU.js.map} +1 -1
- package/dist/web/public/assets/{use-background-tasks-BQrEeUwY.js → use-background-tasks-B64YjlA8.js} +2 -2
- package/dist/web/public/assets/{use-background-tasks-BQrEeUwY.js.map → use-background-tasks-B64YjlA8.js.map} +1 -1
- package/dist/web/public/assets/{use-event-stream-DgGpGKop.js → use-event-stream-I1lMFEfh.js} +2 -2
- package/dist/web/public/assets/{use-event-stream-DgGpGKop.js.map → use-event-stream-I1lMFEfh.js.map} +1 -1
- package/dist/web/public/assets/{use-llm-admin-DYekqogG.js → use-llm-admin-DY2axI4D.js} +2 -2
- package/dist/web/public/assets/{use-llm-admin-DYekqogG.js.map → use-llm-admin-DY2axI4D.js.map} +1 -1
- package/dist/web/public/assets/{use-memory-DbJ4pP2Z.js → use-memory-BYEjVWbU.js} +2 -2
- package/dist/web/public/assets/{use-memory-DbJ4pP2Z.js.map → use-memory-BYEjVWbU.js.map} +1 -1
- package/dist/web/public/assets/{use-observability-C2M6WZ9W.js → use-observability-Coj02yDo.js} +2 -2
- package/dist/web/public/assets/{use-observability-C2M6WZ9W.js.map → use-observability-Coj02yDo.js.map} +1 -1
- package/dist/web/public/assets/{use-settings-DMdaoWsB.js → use-settings-i1MhlkyC.js} +2 -2
- package/dist/web/public/assets/{use-settings-DMdaoWsB.js.map → use-settings-i1MhlkyC.js.map} +1 -1
- package/dist/web/public/assets/{use-workspace-BHG7h3jQ.js → use-workspace-DgEM35PY.js} +2 -2
- package/dist/web/public/assets/{use-workspace-BHG7h3jQ.js.map → use-workspace-DgEM35PY.js.map} +1 -1
- package/dist/web/public/assets/{useQuery-PdiC7-sY.js → useQuery-CY2iazjN.js} +2 -2
- package/dist/web/public/assets/{useQuery-PdiC7-sY.js.map → useQuery-CY2iazjN.js.map} +1 -1
- package/dist/web/public/assets/{vector-DnZM3OXU.js → vector-Ic76u2hY.js} +2 -2
- package/dist/web/public/assets/{vector-DnZM3OXU.js.map → vector-Ic76u2hY.js.map} +1 -1
- package/dist/web/public/assets/{viewer-Dz6k0YKp.js → viewer-BXbUN1Rl.js} +2 -2
- package/dist/web/public/assets/{viewer-Dz6k0YKp.js.map → viewer-BXbUN1Rl.js.map} +1 -1
- package/dist/web/public/assets/{workspace-BnXrWS3j.js → workspace-CUg0JPn6.js} +3 -3
- package/dist/web/public/assets/{workspace-BnXrWS3j.js.map → workspace-CUg0JPn6.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-CSS_UBEi.js → workspaces-C-wb5FQj.js} +2 -2
- package/dist/web/public/assets/{workspaces-CSS_UBEi.js.map → workspaces-C-wb5FQj.js.map} +1 -1
- package/dist/web/public/assets/{x-DG-JKVw_.js → x-D1iSuoqg.js} +2 -2
- package/dist/web/public/assets/{x-DG-JKVw_.js.map → x-D1iSuoqg.js.map} +1 -1
- package/dist/web/public/index.html +2 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +6 -0
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/web/public/assets/dialog-bAIDaO-6.js +0 -6
- package/dist/web/public/assets/dialog-bAIDaO-6.js.map +0 -1
- package/dist/web/public/assets/index-O0BQoyzo.js +0 -199
- package/dist/web/public/assets/index-O0BQoyzo.js.map +0 -1
- package/dist/web/public/assets/llm-CPIRNQU2.js +0 -7
- package/dist/web/public/assets/llm-CPIRNQU2.js.map +0 -1
- package/dist/web/public/assets/memos-CfneX9DH.js +0 -12
- package/dist/web/public/assets/memos-CfneX9DH.js.map +0 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hookify-rules
|
|
3
|
+
description: [ECC] This skill should be used when the user asks to create a hookify rule, write a hook rule, configure hookify, add a hookify rule, or needs guidance on hookify rule syntax and patterns.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Hookify Rules
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Hookify rules are markdown files with YAML frontmatter that define patterns to watch for and messages to show when those patterns match. Rules are stored in `.claude/hookify.{rule-name}.local.md` files.
|
|
11
|
+
|
|
12
|
+
## Rule File Format
|
|
13
|
+
|
|
14
|
+
### Basic Structure
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+
---
|
|
18
|
+
name: rule-identifier
|
|
19
|
+
enabled: true
|
|
20
|
+
event: bash|file|stop|prompt|all
|
|
21
|
+
pattern: regex-pattern-here
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
Message to show Claude when this rule triggers.
|
|
25
|
+
Can include markdown formatting, warnings, suggestions, etc.
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Frontmatter Fields
|
|
29
|
+
|
|
30
|
+
| Field | Required | Values | Description |
|
|
31
|
+
|-------|----------|--------|-------------|
|
|
32
|
+
| name | Yes | kebab-case string | Unique identifier (verb-first: warn-*, block-*, require-*) |
|
|
33
|
+
| enabled | Yes | true/false | Toggle without deleting |
|
|
34
|
+
| event | Yes | bash/file/stop/prompt/all | Which hook event triggers this |
|
|
35
|
+
| action | No | warn/block | warn (default) shows message; block prevents operation |
|
|
36
|
+
| pattern | Yes* | regex string | Pattern to match (*or use conditions for complex rules) |
|
|
37
|
+
|
|
38
|
+
### Advanced Format (Multiple Conditions)
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
---
|
|
42
|
+
name: warn-env-api-keys
|
|
43
|
+
enabled: true
|
|
44
|
+
event: file
|
|
45
|
+
conditions:
|
|
46
|
+
- field: file_path
|
|
47
|
+
operator: regex_match
|
|
48
|
+
pattern: \.env$
|
|
49
|
+
- field: new_text
|
|
50
|
+
operator: contains
|
|
51
|
+
pattern: API_KEY
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
You're adding an API key to a .env file. Ensure this file is in .gitignore!
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Condition fields by event:**
|
|
58
|
+
- bash: `command`
|
|
59
|
+
- file: `file_path`, `new_text`, `old_text`, `content`
|
|
60
|
+
- prompt: `user_prompt`
|
|
61
|
+
|
|
62
|
+
**Operators:** `regex_match`, `contains`, `equals`, `not_contains`, `starts_with`, `ends_with`
|
|
63
|
+
|
|
64
|
+
All conditions must match for rule to trigger.
|
|
65
|
+
|
|
66
|
+
## Event Type Guide
|
|
67
|
+
|
|
68
|
+
### bash Events
|
|
69
|
+
Match Bash command patterns:
|
|
70
|
+
- Dangerous commands: `rm\s+-rf`, `dd\s+if=`, `mkfs`
|
|
71
|
+
- Privilege escalation: `sudo\s+`, `su\s+`
|
|
72
|
+
- Permission issues: `chmod\s+777`
|
|
73
|
+
|
|
74
|
+
### file Events
|
|
75
|
+
Match Edit/Write/MultiEdit operations:
|
|
76
|
+
- Debug code: `console\.log\(`, `debugger`
|
|
77
|
+
- Security risks: `eval\(`, `innerHTML\s*=`
|
|
78
|
+
- Sensitive files: `\.env$`, `credentials`, `\.pem$`
|
|
79
|
+
|
|
80
|
+
### stop Events
|
|
81
|
+
Completion checks and reminders. Pattern `.*` matches always.
|
|
82
|
+
|
|
83
|
+
### prompt Events
|
|
84
|
+
Match user prompt content for workflow enforcement.
|
|
85
|
+
|
|
86
|
+
## Pattern Writing Tips
|
|
87
|
+
|
|
88
|
+
### Regex Basics
|
|
89
|
+
- Escape special chars: `.` to `\.`, `(` to `\(`
|
|
90
|
+
- `\s` whitespace, `\d` digit, `\w` word char
|
|
91
|
+
- `+` one or more, `*` zero or more, `?` optional
|
|
92
|
+
- `|` OR operator
|
|
93
|
+
|
|
94
|
+
### Common Pitfalls
|
|
95
|
+
- **Too broad**: `log` matches "login", "dialog" — use `console\.log\(`
|
|
96
|
+
- **Too specific**: `rm -rf /tmp` — use `rm\s+-rf`
|
|
97
|
+
- **YAML escaping**: Use unquoted patterns; quoted strings need `\\s`
|
|
98
|
+
|
|
99
|
+
### Testing
|
|
100
|
+
```bash
|
|
101
|
+
python3 -c "import re; print(re.search(r'your_pattern', 'test text'))"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## File Organization
|
|
105
|
+
|
|
106
|
+
- **Location**: `.claude/` directory in project root
|
|
107
|
+
- **Naming**: `.claude/hookify.{descriptive-name}.local.md`
|
|
108
|
+
- **Gitignore**: Add `.claude/*.local.md` to `.gitignore`
|
|
109
|
+
|
|
110
|
+
## Commands
|
|
111
|
+
|
|
112
|
+
- `/hookify [description]` - Create new rules (auto-analyzes conversation if no args)
|
|
113
|
+
- `/hookify-list` - View all rules in table format
|
|
114
|
+
- `/hookify-configure` - Toggle rules on/off interactively
|
|
115
|
+
- `/hookify-help` - Full documentation
|
|
116
|
+
|
|
117
|
+
## Quick Reference
|
|
118
|
+
|
|
119
|
+
Minimum viable rule:
|
|
120
|
+
```markdown
|
|
121
|
+
---
|
|
122
|
+
name: my-rule
|
|
123
|
+
enabled: true
|
|
124
|
+
event: bash
|
|
125
|
+
pattern: dangerous_command
|
|
126
|
+
---
|
|
127
|
+
Warning message here
|
|
128
|
+
```
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: inherit-legacy-style
|
|
3
|
+
description: [ECC] Legacy-project style inheritance skill. Use when the user types /inherit-legacy-style, or when onboarding an AI coding agent onto a hand-written legacy project and you need to prevent "style drift" (the model imposing its pretrained mainstream idioms onto the project). Language- and framework-agnostic — it aligns meta-architecture only, not syntax. Once run, it becomes a behavioral constraint on all subsequent coding tasks. Do NOT use for pure research or one-off questions unrelated to code-style alignment.
|
|
4
|
+
origin: community
|
|
5
|
+
allowed-tools: Read, Glob, Grep, Bash, Edit, Write, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Inherit Legacy Style
|
|
9
|
+
|
|
10
|
+
Prevents AI code style drift in legacy projects by scanning the codebase for implicit conventions across 4 meta-architecture dimensions, resolving conflicts with the user one at a time, and crystallizing the consensus into an enforceable `.ai-style-rules.md`. Fully language- and framework-agnostic.
|
|
11
|
+
|
|
12
|
+
## When to Activate
|
|
13
|
+
|
|
14
|
+
- User types `/inherit-legacy-style`
|
|
15
|
+
- User mentions onboarding AI onto a hand-written legacy project
|
|
16
|
+
- User is worried about AI-generated code "drifting" from existing project conventions
|
|
17
|
+
- User wants to extract and codify their project's implicit coding rules
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Use this skill when you need to preserve legacy project style and prevent AI-generated style drift. See **When to Activate** above for trigger conditions.
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
- Git (recommended; non-Git projects fall back to file timestamps for incremental mode)
|
|
26
|
+
- Read/Write access to the project root (generates `.ai-style-rules.md` and optionally `CLAUDE.md`)
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
### Step 0 — Auto-Detect Mode
|
|
31
|
+
|
|
32
|
+
Silently check for `.ai-style-rules.md` at the project root:
|
|
33
|
+
|
|
34
|
+
| File exists? | Mode |
|
|
35
|
+
|---|---|
|
|
36
|
+
| No | **Branch A — First-time Full-Scan** |
|
|
37
|
+
| Yes | **Branch B — Incremental Sniff** |
|
|
38
|
+
|
|
39
|
+
Announce the mode in one line and proceed — never ask the user to pick.
|
|
40
|
+
|
|
41
|
+
### Branch A — First-time Full-Scan
|
|
42
|
+
|
|
43
|
+
**1. Measure scale, pick a scanning tier**
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git ls-files | grep -cE '\.(js|ts|jsx|tsx|vue|py|go|rs|java|kt|rb|php|cs|swift|c|cpp|h)$'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
| Tier | Source files | Strategy |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| Small | ≲ 50 | Full close-read every source |
|
|
52
|
+
| Medium | 50–500 | Infra layer = full read; business layer = sample 2–3 per dimension |
|
|
53
|
+
| Large | ≳ 500 | Strict sampling + budget cap; `--stat` summary first, then targeted reads |
|
|
54
|
+
|
|
55
|
+
**2. Scan along 4 dimensions**
|
|
56
|
+
|
|
57
|
+
1. **File Anatomy** — in-file declaration order (imports → types → main logic → helpers → export)
|
|
58
|
+
2. **State & Control Flow** — naming conventions for async state, pagination, flags
|
|
59
|
+
3. **Infrastructure** — where cross-cutting utils live (interceptors, formatters, middleware)
|
|
60
|
+
4. **Error Handling** — try/catch vs global interceptor vs Result return; null-check habits
|
|
61
|
+
|
|
62
|
+
**3. Apply signal-threshold noise reduction**
|
|
63
|
+
|
|
64
|
+
Before interrupting the user, evaluate signal strength:
|
|
65
|
+
|
|
66
|
+
- **Weak signal** → auto-suppress: minority <5% AND count <10 → majority wins, minority goes to DONTs
|
|
67
|
+
- **Strong signal** → grill: near-even split, or semantic fork on a core dimension
|
|
68
|
+
- **Small-project exception**: sources ≲50, "3 vs 2" is NOT a majority → grill it
|
|
69
|
+
|
|
70
|
+
**4. Resolve conflicts one at a time (Grilling Protocol)**
|
|
71
|
+
|
|
72
|
+
For each strong-signal conflict, present exactly ONE question with 4 options:
|
|
73
|
+
|
|
74
|
+
> Evidence: `pathA` uses style X, `pathB` uses style Y
|
|
75
|
+
> WARNING: Risk: mixing both fractures the project style
|
|
76
|
+
> Choose: `1` follow X `2` follow Y `3` this is evolution, update rules `4` I have a new rule
|
|
77
|
+
|
|
78
|
+
Suspend until the user answers, then proceed to the next conflict. Never stack questions.
|
|
79
|
+
|
|
80
|
+
**5. Generate `.ai-style-rules.md`** with three mandatory sections:
|
|
81
|
+
- **[Golden Files]** — real exemplar paths annotated with what they demonstrate
|
|
82
|
+
- **[Naming & State-Control Rules]** — concrete, checkable conventions
|
|
83
|
+
- **[DONTs]** — anti-patterns that must not propagate
|
|
84
|
+
|
|
85
|
+
**6. Install the persistent hook**
|
|
86
|
+
|
|
87
|
+
Ask the user for enforcement strength (use `AskUserQuestion`):
|
|
88
|
+
|
|
89
|
+
| Option | Mechanism |
|
|
90
|
+
|---|---|
|
|
91
|
+
| **1** Soft hook (recommended) | Write `@.ai-style-rules.md` reference into project `CLAUDE.md` |
|
|
92
|
+
| **2** Hard hook | Soft hook + `PreToolUse[Write\|Edit\|MultiEdit]` Hook in `settings.json` |
|
|
93
|
+
| **3** No hook | Keep the rules file; user references manually |
|
|
94
|
+
|
|
95
|
+
### Branch B — Incremental Sniff
|
|
96
|
+
|
|
97
|
+
1. Read existing `.ai-style-rules.md`; if it has a commit fingerprint, `git diff <last_hash> HEAD --stat` to pinpoint delta
|
|
98
|
+
2. Read recent Git changes (`git log -3 --stat` → inspect suspect files on demand)
|
|
99
|
+
3. For oversized diffs (>hundreds of files): `--stat` summary only + sample the largest changes
|
|
100
|
+
4. Compare new code against recorded rules → conflicts go through Grilling Protocol
|
|
101
|
+
5. Append evolution log at the end of `.ai-style-rules.md` (never overwrite old rules)
|
|
102
|
+
|
|
103
|
+
### Per-Turn Enforcement
|
|
104
|
+
|
|
105
|
+
When `.ai-style-rules.md` is in context (loaded via CLAUDE.md), every code-writing task must open with a **compliance declaration** in the reasoning chain, naming the exemplar being followed and the DONTs being avoided.
|
|
106
|
+
|
|
107
|
+
## How It Works
|
|
108
|
+
|
|
109
|
+
This skill auto-detects whether it's a first-time or incremental run via `.ai-style-rules.md` presence:
|
|
110
|
+
|
|
111
|
+
- **First-time (Branch A)** — Measures project scale, scans codebase across 4 meta-architecture dimensions (File Anatomy, State & Control Flow, Infrastructure, Error Handling), applies signal-threshold noise reduction to suppress weak conflicts, resolves strong-signal conflicts one-at-a-time with the user, generates `.ai-style-rules.md` with Golden Files / Naming Rules / DONTs, and offers optional enforcement hooks.
|
|
112
|
+
- **Incremental (Branch B)** — Reads existing rules, checks recent Git diffs for new or conflicting patterns, runs the same one-at-a-time grilling protocol for any conflicts found, and appends evolution logs without overwriting existing rules.
|
|
113
|
+
- **Per-Turn Enforcement** — When hooked via `CLAUDE.md`, every code-writing task opens with a compliance declaration naming the exemplar followed and the DONTs avoided.
|
|
114
|
+
|
|
115
|
+
## Output Specification
|
|
116
|
+
|
|
117
|
+
- `.ai-style-rules.md` at project root (with commit fingerprint + scale tier in header)
|
|
118
|
+
- Optionally `CLAUDE.md` with `@.ai-style-rules.md` reference
|
|
119
|
+
- Evolution logs appended as `### [YYYY-MM-DD] Style Evolution Log` entries
|
|
120
|
+
|
|
121
|
+
## Anti-Patterns
|
|
122
|
+
|
|
123
|
+
- FAIL: Do NOT skip the scale measurement step — sampling a 30-file project "starves" it; full-scanning a 5,000-file repo blows up
|
|
124
|
+
- FAIL: Do NOT stack multiple conflict questions at once — grilling is strictly one-at-a-time
|
|
125
|
+
- FAIL: Do NOT overwrite old rules in incremental mode — always append evolution logs
|
|
126
|
+
- FAIL: Do NOT default to "hard hook" without asking — enforcement strength is the user's call
|
|
127
|
+
- FAIL: Do NOT judge syntax or tech-stack quality — this skill aligns meta-architecture only
|
|
128
|
+
- FAIL: Do NOT copy bugs from exemplar files — reuse structure, flag defects
|
|
129
|
+
|
|
130
|
+
## Best Practices
|
|
131
|
+
|
|
132
|
+
- Announce the detected mode (first-time vs incremental) and scale tier in one line before scanning
|
|
133
|
+
- For large projects, read `--stat` summaries first, then targeted `Read` on suspect files
|
|
134
|
+
- Let the signal threshold handle noise — a 843-vs-8 naming split should auto-resolve without user interruption
|
|
135
|
+
- When in doubt about signal strength, lean toward asking
|
|
136
|
+
- The CLAUDE.md soft hook (`@.ai-style-rules.md`) is usually sufficient; hard hook only if the user wants mechanical enforcement
|
|
137
|
+
|
|
138
|
+
## Related Skills
|
|
139
|
+
|
|
140
|
+
- `init` — initialize a new CLAUDE.md with codebase documentation
|
|
141
|
+
- `code-review` — review diffs for correctness and style issues
|
|
142
|
+
- `simplify` — review code for reuse and simplification opportunities
|
|
143
|
+
|
|
144
|
+
## Examples
|
|
145
|
+
|
|
146
|
+
1. **First-time onboarding**
|
|
147
|
+
- User: "Help me onboard AI to this older codebase without changing its style."
|
|
148
|
+
- Action: Run Branch A full-scan → measure scale → scan 4 dimensions → grill conflicts → generate `.ai-style-rules.md` → offer hook strength (soft/hard/none).
|
|
149
|
+
|
|
150
|
+
2. **Incremental update after team changes**
|
|
151
|
+
- User: "We added a new module; keep existing style rules intact."
|
|
152
|
+
- Action: Run Branch B incremental sniff → compare Git deltas to recorded rules → grill any new conflicts → append evolution log without overwriting.
|
|
153
|
+
|
|
154
|
+
3. **Enforcing DONTs via CLAUDE.md**
|
|
155
|
+
- User: "Make sure all new code stays consistent with the project's rules."
|
|
156
|
+
- Action: Soft hook installed → `.ai-style-rules.md` auto-loaded every session → every code-writing task opens with compliance declaration, reusing exemplar patterns and avoiding DONTs.
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-driven-development
|
|
3
|
+
description: [ECC] Turn ambiguous or high-impact product and engineering changes into scoped, verifiable acceptance criteria before or alongside implementation. Use when a user asks to clarify a feature, define acceptance criteria, de-risk a security/data/migration/integration change, prepare implementation requirements for another agent, or make a complex request testable. Do not trigger for trivial edits, straightforward fixes, active debugging, code review, or implementation requests whose acceptance conditions are already clear unless the user explicitly invokes this skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Intent-Driven Development
|
|
7
|
+
|
|
8
|
+
Produce useful acceptance criteria without turning specification into ceremony. Inspect
|
|
9
|
+
available context first, expose genuine ambiguity, and choose verification methods that fit
|
|
10
|
+
the work and its risk.
|
|
11
|
+
|
|
12
|
+
## When to Activate
|
|
13
|
+
|
|
14
|
+
- User asks to clarify a feature, define acceptance criteria, or de-risk a change before implementation
|
|
15
|
+
- Request touches security, authentication, persistent data, migrations, external APIs, or compliance
|
|
16
|
+
- User wants to prepare a handoff artifact for another agent or team
|
|
17
|
+
- Request is ambiguous enough that the expected outcome is not yet observable or testable
|
|
18
|
+
- User explicitly invokes this skill with `/intent-driven-development`
|
|
19
|
+
|
|
20
|
+
Do not activate for trivial edits, straightforward one-line fixes, active debugging sessions,
|
|
21
|
+
code review requests, or implementation requests whose acceptance conditions are already clear.
|
|
22
|
+
|
|
23
|
+
## How It Works
|
|
24
|
+
|
|
25
|
+
1. **Inspect context first** — reads the repository, docs, schemas, and test infrastructure for technical facts before asking any question, while treating product/business constraints as something only the user or a product artifact can supply
|
|
26
|
+
2. **Choose depth** — selects Quick Capture (3-7 criteria, low/moderate risk) or Full Acceptance Brief (security, data, migration, cross-system changes) based on the risk profile
|
|
27
|
+
3. **Ask minimally** — only asks questions whose answers cannot be inferred and that materially change scope or behavior
|
|
28
|
+
4. **Write observable criteria** — each AC-NNN describes a starting condition, trigger, expected outcome, prohibited side effect, verification method, and priority; no vague words like "correctly" or "securely" without evidence
|
|
29
|
+
5. **Proceed or hand off** — for clear requests with no blocking risks, records criteria and continues; for risky changes, presents blockers and waits for confirmation
|
|
30
|
+
6. **Handle revision** — if an AC fails mid-implementation due to architectural constraints, marks it `[revised]`, updates scope or verification method, increments the revision number, and re-presents only the changed criteria
|
|
31
|
+
|
|
32
|
+
## Examples
|
|
33
|
+
|
|
34
|
+
**Quick Capture — "Add CSV export to the dashboard"**
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Goal: Authenticated users can download dashboard data as a CSV file.
|
|
38
|
+
In scope: Export of currently filtered rows; filename includes date.
|
|
39
|
+
Out of scope: Scheduled exports, email delivery, Excel format.
|
|
40
|
+
Assumptions: Max row count is under 10k; no PII in exported fields.
|
|
41
|
+
|
|
42
|
+
AC-001: Export generates file with correct headers
|
|
43
|
+
- Scenario: authenticated user, at least one data row visible
|
|
44
|
+
- Action: click "Export CSV"
|
|
45
|
+
- Expected: browser downloads file with columns [id, name, created_at]
|
|
46
|
+
- Must not: expose internal fields or rows belonging to other users
|
|
47
|
+
- Verification: automated integration test + manual schema spot-check
|
|
48
|
+
- Priority: Required
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Full Acceptance Brief trigger — "Migrate user auth to OAuth"**
|
|
52
|
+
|
|
53
|
+
Auth change + external dependency + existing session data → Full Brief with Risk Review table,
|
|
54
|
+
blocking decisions on session invalidation strategy, and explicit rollback AC.
|
|
55
|
+
|
|
56
|
+
**Existing spec review — user pastes a PRD**
|
|
57
|
+
|
|
58
|
+
Skill reviews it for missing scope boundaries, unverifiable requirements ("the system shall be fast"),
|
|
59
|
+
and silent assumptions, then returns corrected or supplemental criteria without restarting discovery.
|
|
60
|
+
|
|
61
|
+
## Operating Rules
|
|
62
|
+
|
|
63
|
+
1. Inspect the available repository, documentation, issue, design, and test context before
|
|
64
|
+
asking for technical facts that can be discovered locally.
|
|
65
|
+
2. Do not infer product or business constraints from code. Business rules, compliance and
|
|
66
|
+
regulatory obligations, contractual SLAs, pricing, data-retention policy, prioritization,
|
|
67
|
+
and target users cannot be read from a repository. Treat them as unknown until the user
|
|
68
|
+
supplies them or an authoritative product artifact (PRD, contract, policy document) states
|
|
69
|
+
them. Record them as assumptions flagged for confirmation, never as discovered facts. The
|
|
70
|
+
repository tells you how the system behaves today, not what the business requires it to do.
|
|
71
|
+
3. Ask only questions whose answers are required and cannot be safely inferred. Group short,
|
|
72
|
+
related questions when that saves unnecessary turns.
|
|
73
|
+
4. Do not block implementation by default. When the user has asked to implement a sufficiently
|
|
74
|
+
clear change, record key assumptions and acceptance criteria briefly, then proceed or hand
|
|
75
|
+
them to the implementation workflow.
|
|
76
|
+
5. Require explicit user confirmation before proceeding only when an unresolved decision could
|
|
77
|
+
create material security exposure, data loss, irreversible migration, contractual/API
|
|
78
|
+
breakage, meaningful cost, or destructive external action.
|
|
79
|
+
6. Do not write an acceptance document into a repository, alter project files, create a branch,
|
|
80
|
+
commit, or invoke another skill unless the user requests it or the active repository
|
|
81
|
+
workflow explicitly requires it.
|
|
82
|
+
7. Treat automated tests as evidence, not truth. Prefer automation when reliable and
|
|
83
|
+
proportionate; allow manual UX, accessibility, security, legal, or operational verification
|
|
84
|
+
where automation cannot establish the outcome.
|
|
85
|
+
8. Never include real secrets, credentials, tokens, private keys, personal data, or sensitive
|
|
86
|
+
production payloads in acceptance criteria, fixtures, examples, or saved artifacts. Use
|
|
87
|
+
redacted or synthetic values.
|
|
88
|
+
9. Do not run destructive tests, migrations, security probes, load tests, paid external calls,
|
|
89
|
+
or operations against production/live data without explicit authorization and an identified
|
|
90
|
+
safe environment.
|
|
91
|
+
10. When an acceptance criterion cannot be satisfied due to an architectural, platform, or
|
|
92
|
+
external constraint discovered during implementation, do not silently drop or workaround it.
|
|
93
|
+
Update the affected criterion (mark it `[revised]`, state the constraint, and adjust scope or
|
|
94
|
+
verification method), increment the revision number, and re-present only the changed criteria
|
|
95
|
+
to the user before continuing. Require explicit confirmation only if the revision changes a
|
|
96
|
+
blocking decision or materially reduces safety or correctness guarantees.
|
|
97
|
+
|
|
98
|
+
## Choose The Depth
|
|
99
|
+
|
|
100
|
+
Use the smallest useful output.
|
|
101
|
+
|
|
102
|
+
### Quick Capture
|
|
103
|
+
|
|
104
|
+
Use for a clear but non-trivial change with low or moderate risk. Produce:
|
|
105
|
+
|
|
106
|
+
- Goal
|
|
107
|
+
- In scope / out of scope
|
|
108
|
+
- Assumptions
|
|
109
|
+
- 3-7 acceptance criteria with verification methods
|
|
110
|
+
- Blocking questions, if any
|
|
111
|
+
|
|
112
|
+
Do not delay implementation for approval unless a blocking risk from the operating rules
|
|
113
|
+
exists or the user specifically asked for a specification first.
|
|
114
|
+
|
|
115
|
+
### Full Acceptance Brief
|
|
116
|
+
|
|
117
|
+
Use for ambiguous, cross-system, security-sensitive, data-changing, migration, compliance,
|
|
118
|
+
or high-cost changes, or when the user requests a handoff artifact. Produce the full template
|
|
119
|
+
below and request confirmation for unresolved blocking decisions before risky implementation.
|
|
120
|
+
|
|
121
|
+
### Existing Specification Review
|
|
122
|
+
|
|
123
|
+
When the user already supplied a PRD, issue, plan, or acceptance criteria:
|
|
124
|
+
|
|
125
|
+
1. Review it instead of restarting discovery.
|
|
126
|
+
2. Identify missing scope boundaries, unsafe assumptions, contradictions, and unverifiable
|
|
127
|
+
requirements.
|
|
128
|
+
3. Return corrected or supplemental criteria.
|
|
129
|
+
|
|
130
|
+
## Workflow
|
|
131
|
+
|
|
132
|
+
### 1. Establish Goal And Risk
|
|
133
|
+
|
|
134
|
+
Extract or ask for:
|
|
135
|
+
|
|
136
|
+
- The observable outcome for the user or system.
|
|
137
|
+
- The actors affected.
|
|
138
|
+
- The main failure consequence.
|
|
139
|
+
- Risk dimensions that actually apply: security/privacy, persistent data, compatibility/API,
|
|
140
|
+
migration, external dependencies, cost, concurrency, performance, usability/accessibility.
|
|
141
|
+
|
|
142
|
+
Avoid asking generic questions about irrelevant risks.
|
|
143
|
+
|
|
144
|
+
### 2. Discover Context
|
|
145
|
+
|
|
146
|
+
When local or connected artifacts are available, inspect only what is needed:
|
|
147
|
+
|
|
148
|
+
- Existing behavior and directly related files or interfaces.
|
|
149
|
+
- Repository conventions, product docs, API contracts, data schemas, or migration history.
|
|
150
|
+
- Existing verification infrastructure and realistic commands.
|
|
151
|
+
- External dependencies and whether they are testable in isolation.
|
|
152
|
+
|
|
153
|
+
Record discovered facts separately from user-provided assumptions. If context cannot be
|
|
154
|
+
inspected, say what is unknown and ask focused questions.
|
|
155
|
+
|
|
156
|
+
The repository reveals technical facts — how the system behaves today, its conventions, and
|
|
157
|
+
its contracts. It does not reveal product or business constraints: business rules, compliance
|
|
158
|
+
and regulatory obligations, contractual SLAs, pricing, data-retention policy, prioritization,
|
|
159
|
+
and target users. Never reconstruct these from code or naming. Capture them only from the user
|
|
160
|
+
or an authoritative product artifact, and list them as assumptions to confirm until then.
|
|
161
|
+
|
|
162
|
+
### 3. Define Scope
|
|
163
|
+
|
|
164
|
+
State:
|
|
165
|
+
|
|
166
|
+
- Goal: one sentence describing the intended outcome.
|
|
167
|
+
- In scope: behavior this change must deliver.
|
|
168
|
+
- Out of scope: tempting adjacent work explicitly excluded.
|
|
169
|
+
- Assumptions: claims not yet proven.
|
|
170
|
+
- Blocking decisions: unresolved choices that materially affect safety or behavior.
|
|
171
|
+
|
|
172
|
+
### 4. Write Acceptance Criteria
|
|
173
|
+
|
|
174
|
+
Use `AC-001`, `AC-002`, and so on. Each criterion must describe observable behavior and an
|
|
175
|
+
appropriate verification method; criteria and tests are not required to map one-to-one.
|
|
176
|
+
|
|
177
|
+
For each applicable criterion include:
|
|
178
|
+
|
|
179
|
+
- Scenario or starting condition.
|
|
180
|
+
- Action or trigger.
|
|
181
|
+
- Expected observable behavior.
|
|
182
|
+
- Prohibited side effect when meaningful.
|
|
183
|
+
- Verification method: automated test, integration check, manual UX review, accessibility
|
|
184
|
+
check, security review, operational check, or stakeholder acceptance.
|
|
185
|
+
- Environment/safety constraint when verification could affect data, services, cost, or secrets.
|
|
186
|
+
- Priority: required, important, or optional.
|
|
187
|
+
|
|
188
|
+
Do not use words such as "correctly", "securely", "fast", "intuitive", or "robust" without
|
|
189
|
+
defining observable evidence or recording them as a human-review judgment.
|
|
190
|
+
|
|
191
|
+
### 5. Cover Only Relevant Boundaries
|
|
192
|
+
|
|
193
|
+
Consider these categories, but include only categories that apply:
|
|
194
|
+
|
|
195
|
+
| Category | Include when | Typical evidence |
|
|
196
|
+
| --- | --- | --- |
|
|
197
|
+
| Happy path | New or changed user-visible behavior | Successful workflow or state transition |
|
|
198
|
+
| Validation | The change accepts input | Rejected malformed or boundary value without mutation |
|
|
199
|
+
| Authorization/privacy | Data or actions have access boundaries | Denied access and no sensitive disclosure |
|
|
200
|
+
| Persistence/migration | Stored data or schemas change | Backward read, migration, rollback or backup behavior |
|
|
201
|
+
| Compatibility | Public APIs, files, events, or clients may break | Existing contract or fixture remains valid |
|
|
202
|
+
| Failure recovery | Network, service, or asynchronous failure exists | No partial state or clear retry/degraded behavior |
|
|
203
|
+
| Idempotency/concurrency | Repeats or simultaneous writes are plausible | No duplicate side effect or invalid final state |
|
|
204
|
+
| Performance | A user or service threshold matters | Defined measurement conditions and threshold |
|
|
205
|
+
| UX/accessibility | A person interacts with the result | Keyboard, feedback, error recovery, visual/manual review |
|
|
206
|
+
|
|
207
|
+
### 6. Present And Continue
|
|
208
|
+
|
|
209
|
+
- For a clarification/specification request, present the brief and ask for decisions only on
|
|
210
|
+
listed blockers.
|
|
211
|
+
- For an implementation request with no blocker, present a compact criteria summary as part of
|
|
212
|
+
the work and continue with implementation.
|
|
213
|
+
- For handoff to another agent or team, include enough context and verification detail for them
|
|
214
|
+
to act without inventing requirements.
|
|
215
|
+
- Save the brief to a file only when requested. Use a repository-approved path when one exists;
|
|
216
|
+
otherwise ask for or state the chosen destination before writing.
|
|
217
|
+
|
|
218
|
+
## Output Template
|
|
219
|
+
|
|
220
|
+
Use this template for a Full Acceptance Brief. Omit irrelevant sections for Quick Capture.
|
|
221
|
+
|
|
222
|
+
```markdown
|
|
223
|
+
# Acceptance Brief: <Change Name>
|
|
224
|
+
|
|
225
|
+
**Status:** Draft | Approved | Implemented | Verified
|
|
226
|
+
**Revision:** <number>
|
|
227
|
+
**Prepared for:** <user/team/agent, when known>
|
|
228
|
+
**Approval required before risky work:** Yes | No - <reason>
|
|
229
|
+
|
|
230
|
+
## Revision Log
|
|
231
|
+
|
|
232
|
+
| Rev | Date | Changed criteria | Reason |
|
|
233
|
+
| --- | --- | --- | --- |
|
|
234
|
+
| 1 | <date> | — | Initial draft |
|
|
235
|
+
|
|
236
|
+
## Goal
|
|
237
|
+
|
|
238
|
+
<One observable outcome sentence.>
|
|
239
|
+
|
|
240
|
+
## Scope
|
|
241
|
+
|
|
242
|
+
**In scope**
|
|
243
|
+
- <behavior included>
|
|
244
|
+
|
|
245
|
+
**Out of scope**
|
|
246
|
+
- <adjacent work excluded>
|
|
247
|
+
|
|
248
|
+
## Context
|
|
249
|
+
|
|
250
|
+
**Discovered facts** (technical, verified from repository or artifact)
|
|
251
|
+
- <how the system behaves today, conventions, contracts>
|
|
252
|
+
|
|
253
|
+
**Product/business constraints** (supplied by user or product artifact, never inferred from code)
|
|
254
|
+
- <business rule, compliance/SLA obligation, retention policy, priority, target user — or "none supplied yet">
|
|
255
|
+
|
|
256
|
+
**Assumptions**
|
|
257
|
+
- <unverified claim to confirm or validate>
|
|
258
|
+
|
|
259
|
+
**Dependencies and constraints**
|
|
260
|
+
- <external service, local convention, compatibility obligation, environment limit>
|
|
261
|
+
|
|
262
|
+
## Risk Review
|
|
263
|
+
|
|
264
|
+
| Risk area | Applies? | Required handling |
|
|
265
|
+
| --- | --- | --- |
|
|
266
|
+
| Security/privacy | Yes/No | <redaction, authorization, review, etc.> |
|
|
267
|
+
| Persistent data/migration | Yes/No | <compatibility, backup, rollback, etc.> |
|
|
268
|
+
| External effects/cost | Yes/No | <sandbox/test environment/authorization> |
|
|
269
|
+
| Compatibility/API | Yes/No | <contract to preserve or version> |
|
|
270
|
+
| UX/accessibility | Yes/No | <manual or automated evidence> |
|
|
271
|
+
|
|
272
|
+
## Acceptance Criteria
|
|
273
|
+
|
|
274
|
+
### AC-001: <observable behavior>
|
|
275
|
+
- **Scenario:** <starting condition>
|
|
276
|
+
- **Action:** <single trigger>
|
|
277
|
+
- **Expected:** <observable result>
|
|
278
|
+
- **Must not:** <prohibited side effect, if applicable>
|
|
279
|
+
- **Verification:** <method and intended evidence>
|
|
280
|
+
- **Environment/safety:** <constraints, if applicable>
|
|
281
|
+
- **Priority:** Required | Important | Optional
|
|
282
|
+
|
|
283
|
+
## Blocking Decisions
|
|
284
|
+
|
|
285
|
+
- [ ] <only decisions that prevent safe or correct progress>
|
|
286
|
+
|
|
287
|
+
## Verification Plan
|
|
288
|
+
|
|
289
|
+
| Criterion | Verification evidence | Status |
|
|
290
|
+
| --- | --- | --- |
|
|
291
|
+
| AC-001 | <test/check/review command or evidence type> | Pending |
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Pass/Fail Examples
|
|
295
|
+
|
|
296
|
+
Use these to judge whether the skill actually produced a verifiable brief, not planning prose.
|
|
297
|
+
|
|
298
|
+
**A failing acceptance criterion**
|
|
299
|
+
|
|
300
|
+
```
|
|
301
|
+
AC-001: The export works correctly and is secure.
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Fails — "works correctly" and "secure" are not observable, there is no scenario, trigger,
|
|
305
|
+
expected result, or verification method, and nothing states what must not happen. A reader
|
|
306
|
+
cannot tell whether the implementation satisfied it.
|
|
307
|
+
|
|
308
|
+
**A passing acceptance criterion**
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
AC-001: Export generates file with correct headers
|
|
312
|
+
- Scenario: authenticated user, at least one data row visible
|
|
313
|
+
- Action: click "Export CSV"
|
|
314
|
+
- Expected: browser downloads file with columns [id, name, created_at]
|
|
315
|
+
- Must not: expose internal fields or rows belonging to other users
|
|
316
|
+
- Verification: automated integration test + manual schema spot-check
|
|
317
|
+
- Priority: Required
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
Passes — a concrete observable outcome, a prohibited side effect, and a named verification
|
|
321
|
+
method. Two people would agree on whether it was met.
|
|
322
|
+
|
|
323
|
+
**A failing context entry**
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
Discovered facts: Users on the free tier are limited to 100 exports per month.
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Fails — a per-tier limit is a business rule. It must not appear under discovered facts inferred
|
|
330
|
+
from code; it belongs under Product/business constraints, supplied by the user, or be listed as
|
|
331
|
+
an assumption to confirm.
|
|
332
|
+
|
|
333
|
+
### Pass/Fail Rubric
|
|
334
|
+
|
|
335
|
+
A brief passes only if every answer is "yes". Any "no" means revise before returning it.
|
|
336
|
+
|
|
337
|
+
- [ ] Does every required criterion have a scenario, an observable expected result, and a named verification method?
|
|
338
|
+
- [ ] Are all vague terms ("correctly", "secure", "fast", "robust") either replaced with observable evidence or marked as human judgment?
|
|
339
|
+
- [ ] Are product/business constraints listed as supplied/assumed, with none silently inferred from code?
|
|
340
|
+
- [ ] Is scope explicit, with out-of-scope items named?
|
|
341
|
+
- [ ] Are blocking decisions limited to choices that actually affect safety or correctness, not preferences?
|
|
342
|
+
|
|
343
|
+
## Quality Check
|
|
344
|
+
|
|
345
|
+
Before returning the brief, check:
|
|
346
|
+
|
|
347
|
+
- The goal describes an outcome rather than an implementation choice.
|
|
348
|
+
- Scope boundaries and assumptions are explicit.
|
|
349
|
+
- Every required criterion is observable or clearly marked for human judgment.
|
|
350
|
+
- Security, privacy, data, compatibility, external-effect, and UX risks were considered only
|
|
351
|
+
where relevant and not silently ignored.
|
|
352
|
+
- Verification methods identify safe environments for risky operations.
|
|
353
|
+
- No secret or production-sensitive information was copied into the output.
|
|
354
|
+
- No repository mutation or implementation block is imposed without justification or request.
|
|
355
|
+
|
|
356
|
+
## Handoff
|
|
357
|
+
|
|
358
|
+
When another planning or implementation workflow is available, pass the acceptance brief or
|
|
359
|
+
criterion IDs to it. When no dedicated workflow exists, provide the brief directly as the
|
|
360
|
+
implementation reference. Do not assume any named skill or tool is installed.
|