claudecode-omc 5.9.1 → 5.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.local/settings/settings.json +8 -0
- package/.omc-curation/governance.json +3 -0
- package/.omc-curation/sources.lock.json +5 -0
- package/README.md +10 -1
- package/bundled/manifest.json +4 -3
- package/bundled/upstream/anthropic-skills/.omc-source/bundle.json +2 -2
- package/bundled/upstream/anthropic-skills/.omc-source/provenance.json +394 -390
- package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +60 -29
- package/bundled/upstream/anthropic-skills/skills/claude-api/csharp/claude-api.md +46 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +3 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/go/claude-api.md +23 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +32 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +27 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +123 -7
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +13 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +7 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +18 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +9 -7
- package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +27 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/agent-design.md +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/anthropic-cli.md +246 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/claude-platform-on-aws.md +59 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +24 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +8 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +48 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-client-patterns.md +3 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +15 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +10 -6
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-events.md +25 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +48 -18
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +8 -5
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-scheduled-deployments.md +144 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +2 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +46 -9
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +259 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +17 -9
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +55 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/token-counting.md +56 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +22 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +45 -6
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +10 -12
- package/bundled/upstream/anthropic-skills/skills/frontend-design/SKILL.md +39 -26
- package/bundled/upstream/ecc/.omc-source/bundle.json +2 -2
- package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +2 -2
- package/bundled/upstream/ecc/.omc-source/provenance.json +602 -550
- package/bundled/upstream/ecc/agents/agent-evaluator.md +206 -0
- package/bundled/upstream/ecc/agents/performance-optimizer.md +9 -9
- package/bundled/upstream/ecc/agents/php-reviewer.md +109 -0
- package/bundled/upstream/ecc/agents/spec-miner.md +217 -0
- package/bundled/upstream/ecc/agents/vue-reviewer.md +206 -0
- package/bundled/upstream/ecc/commands/cost-report.md +58 -84
- package/bundled/upstream/ecc/commands/epic-claim.md +26 -0
- package/bundled/upstream/ecc/commands/epic-decompose.md +23 -0
- package/bundled/upstream/ecc/commands/epic-publish.md +23 -0
- package/bundled/upstream/ecc/commands/epic-review.md +23 -0
- package/bundled/upstream/ecc/commands/epic-sync.md +23 -0
- package/bundled/upstream/ecc/commands/epic-unblock.md +22 -0
- package/bundled/upstream/ecc/commands/epic-validate.md +22 -0
- package/bundled/upstream/ecc/commands/instinct-status.md +8 -8
- package/bundled/upstream/ecc/commands/multi-backend.md +2 -0
- package/bundled/upstream/ecc/commands/multi-execute.md +2 -0
- package/bundled/upstream/ecc/commands/multi-frontend.md +2 -0
- package/bundled/upstream/ecc/commands/multi-plan.md +2 -0
- package/bundled/upstream/ecc/commands/multi-workflow.md +2 -0
- package/bundled/upstream/ecc/commands/orch-add-feature.md +36 -0
- package/bundled/upstream/ecc/commands/orch-build-mvp.md +36 -0
- package/bundled/upstream/ecc/commands/orch-change-feature.md +38 -0
- package/bundled/upstream/ecc/commands/orch-fix-defect.md +38 -0
- package/bundled/upstream/ecc/commands/orch-refine-code.md +39 -0
- package/bundled/upstream/ecc/commands/quality-gate.md +34 -16
- package/bundled/upstream/ecc/commands/vue-review.md +174 -0
- package/bundled/upstream/ecc/skills/accessibility/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agent-architecture-audit/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agent-eval/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agent-harness-construction/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agent-introspection-debugging/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agent-self-evaluation/SKILL.md +182 -0
- package/bundled/upstream/ecc/skills/agent-self-evaluation/examples/high-score-example.md +87 -0
- package/bundled/upstream/ecc/skills/agent-self-evaluation/examples/low-score-example.md +86 -0
- package/bundled/upstream/ecc/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -0
- package/bundled/upstream/ecc/skills/agent-self-evaluation/references/hook-integration.md +64 -0
- package/bundled/upstream/ecc/skills/agent-self-evaluation/scripts/evaluate.py +408 -0
- package/bundled/upstream/ecc/skills/agent-self-evaluation/templates/evaluation-report.md +86 -0
- package/bundled/upstream/ecc/skills/agent-sort/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agentic-engineering/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/agentic-os/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ai-first-engineering/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ai-regression-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/android-clean-architecture/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/angular-developer/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/api-connector-builder/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/api-design/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/architecture-decision-records/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/article-writing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/automation-audit-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/autonomous-loops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/benchmark/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/benchmark-methodology/SKILL.md +190 -0
- package/bundled/upstream/ecc/skills/benchmark-optimization-loop/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/blender-motion-state-inspection/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/blueprint/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/brand-discovery/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/10_purpose-why.md +40 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/20_positioning.md +44 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/30_audience-niche.md +52 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/40_personality-archetype.md +57 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/50_voice-tone.md +59 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/60_narrative-story.md +50 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/70_founder-tension.md +49 -0
- package/bundled/upstream/ecc/skills/brand-discovery/references/90_SYNTHESIS.md +133 -0
- package/bundled/upstream/ecc/skills/brand-voice/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/browser-qa/SKILL.md +22 -4
- package/bundled/upstream/ecc/skills/bun-runtime/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/carrier-relationship-management/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/cisco-ios-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ck/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/claude-devfleet/SKILL.md +11 -2
- package/bundled/upstream/ecc/skills/click-path-audit/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/clickhouse-io/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/code-tour/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/codebase-onboarding/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/codehealth-mcp/SKILL.md +167 -0
- package/bundled/upstream/ecc/skills/coding-standards/SKILL.md +4 -2
- package/bundled/upstream/ecc/skills/competitive-platform-analysis/SKILL.md +214 -0
- package/bundled/upstream/ecc/skills/competitive-report-structure/SKILL.md +162 -0
- package/bundled/upstream/ecc/skills/compose-multiplatform-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/config-gc/SKILL.md +120 -0
- package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/connections-optimizer/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/content-engine/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/content-hash-cache-pattern/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/context-budget/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/continuous-agent-loop/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +14 -1
- package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +31 -7
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +90 -2
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +27 -0
- package/bundled/upstream/ecc/skills/cost-aware-llm-pipeline/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/cost-tracking/SKILL.md +58 -108
- package/bundled/upstream/ecc/skills/council/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/cpp-coding-standards/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/cpp-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/crosspost/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/csharp-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/customer-billing-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/customs-trade-compliance/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/dart-flutter-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/dashboard-builder/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/data-scraper-agent/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/data-throughput-accelerator/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/database-migrations/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/deep-research/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/deployment-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/design-system/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/django-celery/SKILL.md +3 -2
- package/bundled/upstream/ecc/skills/django-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/django-security/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/django-tdd/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/django-verification/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/dmux-workflows/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/docker-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/documentation-lookup/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/dotnet-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/dynamic-workflow-mode/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/e2e-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ecc-guide/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ecc-tools-cost-audit/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/email-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/energy-procurement/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/enterprise-agent-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/error-handling/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/eval-harness/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/evm-token-decimals/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/exa-search/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/fastapi-patterns/SKILL.md +375 -188
- package/bundled/upstream/ecc/skills/finance-billing-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/flox-environments/SKILL.md +3 -2
- package/bundled/upstream/ecc/skills/flutter-dart-code-review/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/frontend-a11y/SKILL.md +3 -3
- package/bundled/upstream/ecc/skills/frontend-design-direction/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/frontend-patterns/SKILL.md +23 -8
- package/bundled/upstream/ecc/skills/frontend-slides/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/frontend-slides/scripts/export-pdf.sh +1 -1
- package/bundled/upstream/ecc/skills/fsharp-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/gan-style-harness/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/gateguard/SKILL.md +9 -1
- package/bundled/upstream/ecc/skills/generating-python-installer/SKILL.md +820 -0
- package/bundled/upstream/ecc/skills/git-workflow/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/github-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/golang-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/golang-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/google-workspace-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/healthcare-cdss-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/healthcare-emr-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/healthcare-eval-harness/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/healthcare-phi-compliance/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/hermes-imports/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/hexagonal-architecture/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/hipaa-compliance/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/homelab-network-readiness/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/homelab-network-setup/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/homelab-pihole-dns/SKILL.md +10 -9
- package/bundled/upstream/ecc/skills/homelab-vlan-segmentation/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/homelab-wireguard-vpn/SKILL.md +4 -3
- package/bundled/upstream/ecc/skills/inherit-legacy-style/SKILL.md +157 -0
- package/bundled/upstream/ecc/skills/intent-driven-development/SKILL.md +360 -0
- package/bundled/upstream/ecc/skills/inventory-demand-planning/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/investor-materials/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/investor-outreach/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ios-icon-gen/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/iterative-retrieval/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ito-basket-compare/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ito-data-atlas-agent/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ito-market-intelligence/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ito-trade-planner/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/jira-integration/SKILL.md +17 -7
- package/bundled/upstream/ecc/skills/jpa-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/knowledge-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/kotlin-coroutines-flows/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/kotlin-exposed-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/kotlin-ktor-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/kotlin-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/kotlin-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/kubernetes-patterns/SKILL.md +756 -0
- package/bundled/upstream/ecc/skills/laravel-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/laravel-plugin-discovery/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/laravel-security/SKILL.md +826 -163
- package/bundled/upstream/ecc/skills/laravel-tdd/SKILL.md +541 -149
- package/bundled/upstream/ecc/skills/laravel-verification/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/latency-critical-systems/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/lead-intelligence/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/llm-trading-agent-security/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/logistics-exception-management/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/make-interfaces-feel-better/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/manim-video/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/market-research/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/marketing-campaign/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/mcp-server-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/messages-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ml-adoption-playbook/SKILL.md +57 -0
- package/bundled/upstream/ecc/skills/mle-workflow/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/motion-patterns/SKILL.md +1 -2
- package/bundled/upstream/ecc/skills/motion-ui/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/mysql-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/nanoclaw-repl/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/nestjs-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/netmiko-ssh-automation/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/network-bgp-diagnostics/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/network-config-validation/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/network-interface-health/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/nodejs-keccak256/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/nutrient-document-processing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/nuxt4-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/opensource-pipeline/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/orch-add-feature/SKILL.md +45 -0
- package/bundled/upstream/ecc/skills/orch-build-mvp/SKILL.md +49 -0
- package/bundled/upstream/ecc/skills/orch-change-feature/SKILL.md +43 -0
- package/bundled/upstream/ecc/skills/orch-fix-defect/SKILL.md +43 -0
- package/bundled/upstream/ecc/skills/orch-pipeline/SKILL.md +121 -0
- package/bundled/upstream/ecc/skills/orch-refine-code/SKILL.md +44 -0
- package/bundled/upstream/ecc/skills/parallel-execution-optimizer/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/perl-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/perl-security/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/perl-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/plan-orchestrate/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/plankton-code-quality/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/postgres-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/prediction-market-oracle-research/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/prediction-market-risk-review/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/prisma-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/product-capability/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/product-lens/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/production-audit/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/production-scheduling/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/project-flow-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/python-patterns/SKILL.md +4 -3
- package/bundled/upstream/ecc/skills/python-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/pytorch-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/quality-nonconformance/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/quarkus-patterns/SKILL.md +51 -50
- package/bundled/upstream/ecc/skills/quarkus-security/SKILL.md +25 -24
- package/bundled/upstream/ecc/skills/quarkus-tdd/SKILL.md +73 -72
- package/bundled/upstream/ecc/skills/quarkus-verification/SKILL.md +8 -7
- package/bundled/upstream/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/react-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/react-performance/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/react-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/recsys-pipeline-architect/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/recursive-decision-ledger/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/redis-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/regex-vs-llm-structured-text/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/repo-scan/SKILL.md +64 -63
- package/bundled/upstream/ecc/skills/research-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/returns-reverse-logistics/SKILL.md +1 -1
- package/bundled/upstream/ecc/skills/rules-distill/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/rust-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/rust-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/safety-guard/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/santa-method/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/scientific-db-pubmed-database/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/scientific-db-uspto-database/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/scientific-pkg-gget/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/scientific-thinking-literature-review/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/scientific-thinking-scholar-evaluation/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/search-first/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/security-bounty-hunter/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/security-review/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/security-scan/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/seo/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/skill-comply/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +8 -0
- package/bundled/upstream/ecc/skills/skill-scout/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/social-graph-ranker/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/social-publisher/SKILL.md +17 -2
- package/bundled/upstream/ecc/skills/springboot-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/springboot-security/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/springboot-tdd/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/springboot-verification/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +10 -5
- package/bundled/upstream/ecc/skills/swift-actor-persistence/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/swift-protocol-di-testing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/taste/SKILL.md +264 -0
- package/bundled/upstream/ecc/skills/taste/references/genre-taxonomy.md +87 -0
- package/bundled/upstream/ecc/skills/tdd-workflow/SKILL.md +64 -1
- package/bundled/upstream/ecc/skills/team-agent-orchestration/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/team-builder/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/terminal-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/tinystruct-patterns/SKILL.md +77 -1
- package/bundled/upstream/ecc/skills/token-budget-advisor/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ui-demo/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/ui-to-vue/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/uncloud/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/unified-notifications-ops/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/verification-loop/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/video-editing/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/videodb/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/vite-patterns/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/vue-patterns/SKILL.md +471 -0
- package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +9 -8
- package/bundled/upstream/ecc/skills/workspace-surface-audit/SKILL.md +2 -1
- package/bundled/upstream/ecc/skills/x-api/SKILL.md +2 -1
- package/bundled/upstream/impeccable/.omc-source/bundle.json +20 -0
- package/bundled/upstream/impeccable/.omc-source/provenance.json +110 -0
- package/bundled/upstream/impeccable/agents/impeccable-manual-edit-applier.md +97 -0
- package/bundled/upstream/impeccable/skills/impeccable/SKILL.md +168 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/adapt.md +311 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/animate.md +201 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/audit.md +133 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/bolder.md +113 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/brand.md +108 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/clarify.md +288 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/codex.md +105 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/colorize.md +257 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/craft.md +123 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/critique.md +767 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/delight.md +302 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/distill.md +111 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/document.md +429 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/extract.md +69 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/harden.md +347 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/hooks.md +90 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/init.md +172 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/interaction-design.md +189 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/layout.md +161 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/live.md +718 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/onboard.md +234 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/optimize.md +258 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/overdrive.md +130 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/polish.md +241 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/product.md +60 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/quieter.md +99 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/shape.md +165 -0
- package/bundled/upstream/impeccable/skills/impeccable/reference/typeset.md +279 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/command-metadata.json +94 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/context-signals.mjs +225 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/context.mjs +961 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/critique-storage.mjs +242 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detect-csp.mjs +198 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detect.mjs +21 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/browser/injected/index.mjs +1937 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/cli/main.mjs +290 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/design-system.mjs +750 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +5138 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/detect-antipatterns.mjs +50 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +277 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +568 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +1015 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +234 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/findings.mjs +12 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/registry/antipatterns.mjs +448 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/rules/checks.mjs +2671 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook-admin.mjs +661 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook-before-edit.mjs +476 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook-lib.mjs +1632 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook.mjs +61 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/design-parser.mjs +842 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/impeccable-config.mjs +638 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/impeccable-paths.mjs +128 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/is-generated.mjs +69 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/target-args.mjs +42 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/browser-script-parts.mjs +49 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/completion.mjs +19 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/event-validation.mjs +137 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/insert-ui.mjs +458 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/manual-apply.mjs +939 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/manual-edit-routes.mjs +357 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/manual-edits-buffer.mjs +152 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/session-store.mjs +289 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/svelte-component.mjs +826 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/sveltekit-adapter.mjs +274 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/ui-core.mjs +180 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live/vocabulary.mjs +36 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-accept.mjs +812 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-browser-dom.js +146 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-browser-session.js +123 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-browser.js +11173 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-complete.mjs +75 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-inject.mjs +583 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-insert.mjs +272 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-poll.mjs +384 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-resume.mjs +94 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-server.mjs +1135 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-status.mjs +61 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-target.mjs +30 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-wrap.mjs +894 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live.mjs +297 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/palette.mjs +633 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/pin.mjs +214 -0
- package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +2 -2
- package/bundled/upstream/oh-my-claudecode/.omc-source/provenance.json +103 -103
- package/bundled/upstream/oh-my-claudecode/agents/analyst.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/architect.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/critic.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/debugger.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/tracer.md +6 -0
- package/bundled/upstream/oh-my-claudecode/agents/verifier.md +7 -0
- package/bundled/upstream/oh-my-claudecode/hooks/hooks.json +9 -2
- package/bundled/upstream/oh-my-claudecode/skills/ask/SKILL.md +15 -4
- package/bundled/upstream/oh-my-claudecode/skills/autopilot/SKILL.md +30 -1
- package/bundled/upstream/oh-my-claudecode/skills/cancel/SKILL.md +29 -35
- package/bundled/upstream/oh-my-claudecode/skills/ccg/SKILL.md +20 -9
- package/bundled/upstream/oh-my-claudecode/skills/configure-notifications/SKILL.md +2 -2
- package/bundled/upstream/oh-my-claudecode/skills/omc-reference/SKILL.md +6 -4
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +2 -1
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/04-welcome.md +2 -2
- package/bundled/upstream/oh-my-claudecode/skills/omc-teams/SKILL.md +29 -18
- package/bundled/upstream/oh-my-claudecode/skills/team/SKILL.md +127 -165
- package/bundled/upstream/superpowers/.omc-source/bundle.json +2 -2
- package/bundled/upstream/superpowers/.omc-source/provenance.json +59 -52
- package/bundled/upstream/superpowers/hooks/hooks-codex.json +16 -0
- package/bundled/upstream/superpowers/hooks/session-start +4 -12
- package/bundled/upstream/superpowers/hooks/session-start-codex +26 -0
- package/bundled/upstream/superpowers/skills/brainstorming/SKILL.md +5 -10
- package/bundled/upstream/superpowers/skills/brainstorming/scripts/frame-template.html +25 -26
- package/bundled/upstream/superpowers/skills/brainstorming/scripts/helper.js +101 -22
- package/bundled/upstream/superpowers/skills/brainstorming/scripts/server.cjs +399 -30
- package/bundled/upstream/superpowers/skills/brainstorming/scripts/start-server.sh +70 -9
- package/bundled/upstream/superpowers/skills/brainstorming/scripts/stop-server.sh +66 -2
- package/bundled/upstream/superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +1 -1
- package/bundled/upstream/superpowers/skills/brainstorming/visual-companion.md +33 -22
- package/bundled/upstream/superpowers/skills/dispatching-parallel-agents/SKILL.md +9 -6
- package/bundled/upstream/superpowers/skills/executing-plans/SKILL.md +2 -2
- package/bundled/upstream/superpowers/skills/finishing-a-development-branch/SKILL.md +2 -12
- package/bundled/upstream/superpowers/skills/receiving-code-review/SKILL.md +2 -2
- package/bundled/upstream/superpowers/skills/requesting-code-review/SKILL.md +2 -2
- package/bundled/upstream/superpowers/skills/requesting-code-review/code-reviewer.md +15 -11
- package/bundled/upstream/superpowers/skills/subagent-driven-development/SKILL.md +206 -67
- package/bundled/upstream/superpowers/skills/subagent-driven-development/implementer-prompt.md +30 -4
- package/bundled/upstream/superpowers/skills/subagent-driven-development/scripts/review-package +44 -0
- package/bundled/upstream/superpowers/skills/subagent-driven-development/scripts/sdd-workspace +22 -0
- package/bundled/upstream/superpowers/skills/subagent-driven-development/scripts/task-brief +40 -0
- package/bundled/upstream/superpowers/skills/subagent-driven-development/task-reviewer-prompt.md +188 -0
- package/bundled/upstream/superpowers/skills/systematic-debugging/SKILL.md +1 -1
- package/bundled/upstream/superpowers/skills/test-driven-development/SKILL.md +1 -1
- package/bundled/upstream/superpowers/skills/using-git-worktrees/SKILL.md +9 -22
- package/bundled/upstream/superpowers/skills/using-superpowers/SKILL.md +19 -15
- package/bundled/upstream/superpowers/skills/using-superpowers/references/antigravity-tools.md +96 -0
- package/bundled/upstream/superpowers/skills/using-superpowers/references/claude-code-tools.md +50 -0
- package/bundled/upstream/superpowers/skills/using-superpowers/references/codex-tools.md +25 -12
- package/bundled/upstream/superpowers/skills/using-superpowers/references/copilot-tools.md +27 -20
- package/bundled/upstream/superpowers/skills/using-superpowers/references/gemini-tools.md +44 -32
- package/bundled/upstream/superpowers/skills/using-superpowers/references/pi-tools.md +28 -0
- package/bundled/upstream/superpowers/skills/writing-plans/SKILL.md +22 -0
- package/bundled/upstream/superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +1 -1
- package/bundled/upstream/superpowers/skills/writing-skills/SKILL.md +52 -18
- package/bundled/upstream/superpowers/skills/writing-skills/anthropic-best-practices.md +88 -88
- package/bundled/upstream/superpowers/skills/writing-skills/persuasion-principles.md +3 -3
- package/package.json +1 -1
- package/src/cli/source.js +6 -0
- package/src/config/sources.js +15 -0
- package/src/merge/content-patch.js +4 -0
- package/bundled/upstream/superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -25
- package/bundled/upstream/superpowers/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -61
|
@@ -155,7 +155,7 @@ fi
|
|
|
155
155
|
# Non-interactive SDK automation is still filtered by Layers 2-5 below
|
|
156
156
|
# (ECC_HOOK_PROFILE=minimal, ECC_SKIP_OBSERVE=1, agent_id, path exclusions).
|
|
157
157
|
case "${CLAUDE_CODE_ENTRYPOINT:-cli}" in
|
|
158
|
-
cli|sdk-ts|claude-desktop) ;;
|
|
158
|
+
cli|sdk-ts|claude-desktop|claude-vscode) ;;
|
|
159
159
|
*) exit 0 ;;
|
|
160
160
|
esac
|
|
161
161
|
|
|
@@ -268,13 +268,25 @@ if [ "$PARSED_OK" != "True" ]; then
|
|
|
268
268
|
echo "$INPUT_JSON" | "$PYTHON_CMD" -c '
|
|
269
269
|
import json, sys, os, re
|
|
270
270
|
|
|
271
|
+
# Linear-time secret matcher. Bounded quantifiers and a fixed set of auth
|
|
272
|
+
# schemes (instead of a generic [A-Za-z]+\s+ that overlapped the value class)
|
|
273
|
+
# prevent the catastrophic backtracking that pegged python at 100% CPU (#2278).
|
|
271
274
|
_SECRET_RE = re.compile(
|
|
272
275
|
r"(?i)(api[_-]?key|token|secret|password|authorization|credentials?|auth)"
|
|
273
|
-
r"""(["'"'"'\s:=]
|
|
274
|
-
r"(
|
|
275
|
-
r"([A-Za-z0-9_\-/.+=]{8,})"
|
|
276
|
+
r"""(["'"'"'\s:=]{1,8})"""
|
|
277
|
+
r"((?:bearer|basic|token|bot)\s+)?"
|
|
278
|
+
r"([A-Za-z0-9_\-/.+=]{8,256})"
|
|
276
279
|
)
|
|
277
280
|
|
|
281
|
+
import signal
|
|
282
|
+
def _ecc_bail(*_):
|
|
283
|
+
sys.exit(0)
|
|
284
|
+
try:
|
|
285
|
+
signal.signal(signal.SIGALRM, _ecc_bail)
|
|
286
|
+
signal.alarm(8) # self-terminate before the async hook 10s timeout can orphan us (#2278)
|
|
287
|
+
except Exception:
|
|
288
|
+
pass
|
|
289
|
+
|
|
278
290
|
raw = sys.stdin.read()[:2000]
|
|
279
291
|
raw = _SECRET_RE.sub(lambda m: m.group(1) + m.group(2) + (m.group(3) or "") + "[REDACTED]", raw)
|
|
280
292
|
print(json.dumps({"timestamp": os.environ["TIMESTAMP"], "event": "parse_error", "raw": raw}))
|
|
@@ -302,6 +314,15 @@ export TIMESTAMP="$timestamp"
|
|
|
302
314
|
|
|
303
315
|
echo "$PARSED" | "$PYTHON_CMD" -c '
|
|
304
316
|
import json, sys, os, re
|
|
317
|
+
import signal
|
|
318
|
+
|
|
319
|
+
def _ecc_bail(*_):
|
|
320
|
+
sys.exit(0)
|
|
321
|
+
try:
|
|
322
|
+
signal.signal(signal.SIGALRM, _ecc_bail)
|
|
323
|
+
signal.alarm(8) # self-terminate before the async hook 10s timeout can orphan us (#2278)
|
|
324
|
+
except Exception:
|
|
325
|
+
pass
|
|
305
326
|
|
|
306
327
|
parsed = json.load(sys.stdin)
|
|
307
328
|
observation = {
|
|
@@ -315,11 +336,14 @@ observation = {
|
|
|
315
336
|
|
|
316
337
|
# Scrub secrets: match common key=value, key: value, and key"value patterns
|
|
317
338
|
# Includes optional auth scheme (e.g., "Bearer", "Basic") before token
|
|
339
|
+
# Linear-time secret matcher. Bounded quantifiers and a fixed set of auth
|
|
340
|
+
# schemes (instead of a generic [A-Za-z]+\s+ that overlapped the value class)
|
|
341
|
+
# prevent the catastrophic backtracking that pegged python at 100% CPU (#2278).
|
|
318
342
|
_SECRET_RE = re.compile(
|
|
319
343
|
r"(?i)(api[_-]?key|token|secret|password|authorization|credentials?|auth)"
|
|
320
|
-
r"""(["'"'"'\s:=]
|
|
321
|
-
r"(
|
|
322
|
-
r"([A-Za-z0-9_\-/.+=]{8,})"
|
|
344
|
+
r"""(["'"'"'\s:=]{1,8})"""
|
|
345
|
+
r"((?:bearer|basic|token|bot)\s+)?"
|
|
346
|
+
r"([A-Za-z0-9_\-/.+=]{8,256})"
|
|
323
347
|
)
|
|
324
348
|
|
|
325
349
|
def scrub(val):
|
|
@@ -23,6 +23,9 @@ import subprocess
|
|
|
23
23
|
import sys
|
|
24
24
|
import re
|
|
25
25
|
import shutil
|
|
26
|
+
import ipaddress
|
|
27
|
+
import socket
|
|
28
|
+
import urllib.parse
|
|
26
29
|
import urllib.request
|
|
27
30
|
from pathlib import Path
|
|
28
31
|
from datetime import datetime, timedelta, timezone
|
|
@@ -181,6 +184,55 @@ def _validate_instinct_id(instinct_id: str) -> bool:
|
|
|
181
184
|
return bool(re.match(r"^[A-Za-z0-9][A-Za-z0-9._-]*$", instinct_id))
|
|
182
185
|
|
|
183
186
|
|
|
187
|
+
def _validate_import_url(source: str) -> str:
|
|
188
|
+
"""Validate remote instinct imports before opening a network connection."""
|
|
189
|
+
parsed = urllib.parse.urlparse(source)
|
|
190
|
+
if parsed.scheme != "https":
|
|
191
|
+
raise ValueError("remote instinct imports require https URLs")
|
|
192
|
+
if not parsed.hostname:
|
|
193
|
+
raise ValueError("remote import URL is missing a hostname")
|
|
194
|
+
|
|
195
|
+
try:
|
|
196
|
+
addr_infos = socket.getaddrinfo(parsed.hostname, parsed.port or 443, type=socket.SOCK_STREAM)
|
|
197
|
+
except socket.gaierror as exc:
|
|
198
|
+
raise ValueError(f"remote import host could not be resolved: {parsed.hostname}") from exc
|
|
199
|
+
|
|
200
|
+
for family, _, _, _, sockaddr in addr_infos:
|
|
201
|
+
host = sockaddr[0]
|
|
202
|
+
try:
|
|
203
|
+
ip = ipaddress.ip_address(host)
|
|
204
|
+
except ValueError:
|
|
205
|
+
continue
|
|
206
|
+
if (
|
|
207
|
+
ip.is_private
|
|
208
|
+
or ip.is_loopback
|
|
209
|
+
or ip.is_link_local
|
|
210
|
+
or ip.is_multicast
|
|
211
|
+
or ip.is_reserved
|
|
212
|
+
or ip.is_unspecified
|
|
213
|
+
):
|
|
214
|
+
raise ValueError(f"remote import host resolves to a non-public address: {host}")
|
|
215
|
+
|
|
216
|
+
return urllib.parse.urlunparse(parsed)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def _fetch_import_url(source: str, *, max_bytes: int = 2 * 1024 * 1024) -> str:
|
|
220
|
+
"""Fetch a validated remote instinct file with bounded size and timeout."""
|
|
221
|
+
url = _validate_import_url(source)
|
|
222
|
+
req = urllib.request.Request(url, headers={"User-Agent": "ECC-instinct-import/2"})
|
|
223
|
+
with urllib.request.urlopen(req, timeout=15) as response:
|
|
224
|
+
content_type = response.headers.get("Content-Type", "")
|
|
225
|
+
if content_type and not any(
|
|
226
|
+
allowed in content_type.lower()
|
|
227
|
+
for allowed in ("text/", "markdown", "yaml", "json", "octet-stream")
|
|
228
|
+
):
|
|
229
|
+
raise ValueError(f"unsupported remote content type: {content_type}")
|
|
230
|
+
data = response.read(max_bytes + 1)
|
|
231
|
+
if len(data) > max_bytes:
|
|
232
|
+
raise ValueError(f"remote import exceeds {max_bytes} bytes")
|
|
233
|
+
return data.decode("utf-8")
|
|
234
|
+
|
|
235
|
+
|
|
184
236
|
def _yaml_quote(value: str) -> str:
|
|
185
237
|
"""Quote a string for safe YAML frontmatter serialization.
|
|
186
238
|
|
|
@@ -703,10 +755,47 @@ def cmd_status(args) -> int:
|
|
|
703
755
|
days_left = max(0, PENDING_TTL_DAYS - item["age_days"])
|
|
704
756
|
print(f" - {item['name']} ({days_left}d remaining)")
|
|
705
757
|
|
|
758
|
+
# Legacy data warning
|
|
759
|
+
_warn_legacy_data()
|
|
760
|
+
|
|
706
761
|
print(f"\n{'='*60}\n")
|
|
707
762
|
return 0
|
|
708
763
|
|
|
709
764
|
|
|
765
|
+
def _warn_legacy_data() -> None:
|
|
766
|
+
"""Warn if legacy ~/.claude/homunculus/ contains data while the active
|
|
767
|
+
path has moved to the XDG directory."""
|
|
768
|
+
legacy_dir = Path.home() / ".claude" / "homunculus"
|
|
769
|
+
if legacy_dir == HOMUNCULUS_DIR:
|
|
770
|
+
return # CLV2_HOMUNCULUS_DIR explicitly points at the legacy path
|
|
771
|
+
if not legacy_dir.is_dir():
|
|
772
|
+
return
|
|
773
|
+
|
|
774
|
+
# Count substantive files (skip empty dirs and the directory itself)
|
|
775
|
+
try:
|
|
776
|
+
legacy_files = [f for f in legacy_dir.rglob("*") if f.is_file()]
|
|
777
|
+
except (PermissionError, OSError):
|
|
778
|
+
print(f"\n Note: legacy directory exists but cannot be read: {legacy_dir}", file=sys.stderr)
|
|
779
|
+
return
|
|
780
|
+
if not legacy_files:
|
|
781
|
+
return
|
|
782
|
+
|
|
783
|
+
migrate_script = Path(__file__).resolve().parent / "migrate-homunculus.sh"
|
|
784
|
+
|
|
785
|
+
print(f"\n{'!'*60}")
|
|
786
|
+
print(" LEGACY DATA DETECTED")
|
|
787
|
+
print(f"{'!'*60}")
|
|
788
|
+
print(f" Found {len(legacy_files)} file(s) in legacy path:")
|
|
789
|
+
print(f" {legacy_dir}")
|
|
790
|
+
print(" Active data directory:")
|
|
791
|
+
print(f" {HOMUNCULUS_DIR}")
|
|
792
|
+
print()
|
|
793
|
+
print(" Run the migration script to move your data:")
|
|
794
|
+
print(f' bash "{migrate_script}"')
|
|
795
|
+
print(f" Or set CLV2_HOMUNCULUS_DIR={legacy_dir} to use the legacy path.")
|
|
796
|
+
print(f"{'!'*60}\n")
|
|
797
|
+
|
|
798
|
+
|
|
710
799
|
def _print_instincts_by_domain(instincts: list[dict]) -> None:
|
|
711
800
|
"""Helper to print instincts grouped by domain."""
|
|
712
801
|
by_domain = defaultdict(list)
|
|
@@ -757,8 +846,7 @@ def cmd_import(args) -> int:
|
|
|
757
846
|
if source.startswith('http://') or source.startswith('https://'):
|
|
758
847
|
print(f"Fetching from URL: {source}")
|
|
759
848
|
try:
|
|
760
|
-
|
|
761
|
-
content = response.read().decode('utf-8')
|
|
849
|
+
content = _fetch_import_url(source)
|
|
762
850
|
except Exception as e:
|
|
763
851
|
print(f"Error fetching URL: {e}", file=sys.stderr)
|
|
764
852
|
return 1
|
|
@@ -44,6 +44,7 @@ _promote_auto = _mod._promote_auto
|
|
|
44
44
|
_find_cross_project_instincts = _mod._find_cross_project_instincts
|
|
45
45
|
load_registry = _mod.load_registry
|
|
46
46
|
_validate_instinct_id = _mod._validate_instinct_id
|
|
47
|
+
_validate_import_url = _mod._validate_import_url
|
|
47
48
|
_update_registry = _mod._update_registry
|
|
48
49
|
_confidence_bar = _mod._confidence_bar
|
|
49
50
|
|
|
@@ -326,6 +327,32 @@ def test_validate_relative_path(tmp_path, monkeypatch):
|
|
|
326
327
|
assert result == test_file.resolve()
|
|
327
328
|
|
|
328
329
|
|
|
330
|
+
def test_validate_import_url_rejects_http():
|
|
331
|
+
"""Remote imports should not downgrade to plaintext HTTP."""
|
|
332
|
+
with pytest.raises(ValueError, match="require https"):
|
|
333
|
+
_validate_import_url("http://example.com/instincts.yaml")
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
def test_validate_import_url_rejects_private_hosts(monkeypatch):
|
|
337
|
+
"""Remote imports should not resolve to private or loopback addresses."""
|
|
338
|
+
monkeypatch.setattr(
|
|
339
|
+
_mod.socket,
|
|
340
|
+
"getaddrinfo",
|
|
341
|
+
lambda *args, **kwargs: [(None, None, None, None, ("127.0.0.1", 443))],
|
|
342
|
+
)
|
|
343
|
+
with pytest.raises(ValueError, match="non-public address"):
|
|
344
|
+
_validate_import_url("https://example.com/instincts.yaml")
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
def test_validate_import_url_allows_public_https(monkeypatch):
|
|
348
|
+
monkeypatch.setattr(
|
|
349
|
+
_mod.socket,
|
|
350
|
+
"getaddrinfo",
|
|
351
|
+
lambda *args, **kwargs: [(None, None, None, None, ("93.184.216.34", 443))],
|
|
352
|
+
)
|
|
353
|
+
assert _validate_import_url("https://example.com/instincts.yaml") == "https://example.com/instincts.yaml"
|
|
354
|
+
|
|
355
|
+
|
|
329
356
|
# ─────────────────────────────────────────────
|
|
330
357
|
# detect_project tests
|
|
331
358
|
# ─────────────────────────────────────────────
|
|
@@ -1,147 +1,97 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cost-tracking
|
|
3
|
-
description: Track and report Claude Code token usage, spending, and budgets from
|
|
4
|
-
|
|
3
|
+
description: Track and report Claude Code token usage, spending, and budgets from the local ECC cost-tracker metrics log. Use when the user asks about costs, spending, usage, tokens, budgets, or cost breakdowns by model, session, or date.
|
|
4
|
+
metadata:
|
|
5
|
+
origin: community
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Cost Tracking
|
|
8
9
|
|
|
9
|
-
Use this skill to analyze Claude Code cost and usage history from
|
|
10
|
-
|
|
11
|
-
plugin writing usage rows to `~/.claude-cost-tracker/usage.db`.
|
|
10
|
+
Use this skill to analyze Claude Code cost and usage history from the metrics log
|
|
11
|
+
that ECC's `stop:cost-tracker` hook writes.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
## Where the data lives
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- The user mentions budgets, spending limits, overruns, or cost controls.
|
|
20
|
-
- The user wants a cost breakdown by project, tool, session, model, or date.
|
|
21
|
-
- The user wants to compare today against yesterday or inspect a recent trend.
|
|
22
|
-
- The user asks for a CSV export of recent usage records.
|
|
23
|
-
|
|
24
|
-
## How It Works
|
|
15
|
+
The tracker appends one JSON object per session-stop to
|
|
16
|
+
`~/.claude/metrics/costs.jsonl`. Each row is a **cumulative snapshot for that
|
|
17
|
+
session**, so to total spend you take the **latest row per `session_id`** and
|
|
18
|
+
sum across sessions — summing every row multiply-counts.
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
Row schema:
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
command -v sqlite3 >/dev/null && echo "sqlite3 available" || echo "sqlite3 missing"
|
|
30
|
-
test -f ~/.claude-cost-tracker/usage.db && echo "Database found" || echo "Database not found"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
If the database is missing, do not fabricate usage data. Tell the user that cost
|
|
34
|
-
tracking is not configured and suggest installing or enabling a trusted local
|
|
35
|
-
cost-tracking hook/plugin.
|
|
36
|
-
|
|
37
|
-
The expected `usage` table usually contains one row per tool call or model
|
|
38
|
-
interaction. Column names vary by tracker, but the examples below assume:
|
|
39
|
-
|
|
40
|
-
| Column | Meaning |
|
|
22
|
+
| Field | Meaning |
|
|
41
23
|
| --- | --- |
|
|
42
|
-
| `timestamp` | ISO timestamp
|
|
43
|
-
| `project` | Project or repository name |
|
|
44
|
-
| `tool_name` | Tool or event name |
|
|
45
|
-
| `input_tokens` | Input token count, when recorded |
|
|
46
|
-
| `output_tokens` | Output token count, when recorded |
|
|
47
|
-
| `cost_usd` | Precomputed cost in USD |
|
|
24
|
+
| `timestamp` | ISO timestamp of the snapshot |
|
|
48
25
|
| `session_id` | Claude Code session identifier |
|
|
49
|
-
| `
|
|
26
|
+
| `transcript_path` | Path to the session transcript |
|
|
27
|
+
| `model` | Model used |
|
|
28
|
+
| `input_tokens` / `output_tokens` | Token counts |
|
|
29
|
+
| `cache_write_tokens` / `cache_read_tokens` | Prompt-cache token counts |
|
|
30
|
+
| `estimated_cost_usd` | Precomputed cumulative cost in USD for the session |
|
|
50
31
|
|
|
51
|
-
Prefer `
|
|
52
|
-
change
|
|
53
|
-
was priced.
|
|
32
|
+
Prefer `estimated_cost_usd` over hand-calculating pricing — model and cache
|
|
33
|
+
prices change, and the tracker is the source of truth.
|
|
54
34
|
|
|
55
|
-
##
|
|
35
|
+
## When to Use
|
|
56
36
|
|
|
57
|
-
|
|
37
|
+
- The user asks "how much have I spent?", "what did this session cost?", or
|
|
38
|
+
"what is my token usage?"
|
|
39
|
+
- The user mentions budgets, spending limits, overruns, or cost controls.
|
|
40
|
+
- The user wants a cost breakdown by model, session, or date, or a CSV export.
|
|
58
41
|
|
|
59
|
-
|
|
60
|
-
sqlite3 ~/.claude-cost-tracker/usage.db "
|
|
61
|
-
SELECT
|
|
62
|
-
'Today: $' || ROUND(COALESCE(SUM(CASE WHEN date(timestamp) = date('now') THEN cost_usd END), 0), 4) ||
|
|
63
|
-
' | Total: $' || ROUND(COALESCE(SUM(cost_usd), 0), 4) ||
|
|
64
|
-
' | Calls: ' || COUNT(*) ||
|
|
65
|
-
' | Sessions: ' || COUNT(DISTINCT session_id)
|
|
66
|
-
FROM usage;
|
|
67
|
-
"
|
|
68
|
-
```
|
|
42
|
+
## How It Works
|
|
69
43
|
|
|
70
|
-
|
|
44
|
+
First verify the log exists (use `node`, not `sqlite3` — the tracker writes
|
|
45
|
+
JSONL, and `node` is cross-platform):
|
|
71
46
|
|
|
72
47
|
```bash
|
|
73
|
-
|
|
74
|
-
SELECT project, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
|
|
75
|
-
FROM usage
|
|
76
|
-
GROUP BY project
|
|
77
|
-
ORDER BY cost DESC;
|
|
78
|
-
"
|
|
48
|
+
node -e 'const fs=require("fs"),os=require("os"),p=require("path");const f=p.join(os.homedir(),".claude","metrics","costs.jsonl");console.log(fs.existsSync(f)?"cost log found":"cost log not found: "+f)'
|
|
79
49
|
```
|
|
80
50
|
|
|
81
|
-
|
|
51
|
+
If the log is missing, do not fabricate usage data. Tell the user that cost
|
|
52
|
+
tracking populates after the first session ends with the `stop:cost-tracker`
|
|
53
|
+
hook enabled.
|
|
82
54
|
|
|
83
|
-
|
|
84
|
-
sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
|
|
85
|
-
SELECT tool_name, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
|
|
86
|
-
FROM usage
|
|
87
|
-
GROUP BY tool_name
|
|
88
|
-
ORDER BY cost DESC;
|
|
89
|
-
"
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Last Seven Days
|
|
55
|
+
## Example — summary, by model, last 7 days
|
|
93
56
|
|
|
94
57
|
```bash
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
58
|
+
node -e '
|
|
59
|
+
const fs=require("fs"),os=require("os"),path=require("path");
|
|
60
|
+
const f=path.join(os.homedir(),".claude","metrics","costs.jsonl");
|
|
61
|
+
if(!fs.existsSync(f)){console.log("cost log not found: "+f);process.exit(0);}
|
|
62
|
+
const rows=fs.readFileSync(f,"utf8").split(/\r?\n/).filter(Boolean).map(l=>{try{return JSON.parse(l)}catch{return null}}).filter(Boolean);
|
|
63
|
+
const bySession=new Map();
|
|
64
|
+
for(const r of rows){const k=r.session_id||r.transcript_path||r.timestamp;const p=bySession.get(k);if(!p||String(r.timestamp)>String(p.timestamp))bySession.set(k,r);}
|
|
65
|
+
const latest=[...bySession.values()];
|
|
66
|
+
const cost=r=>Number(r.estimated_cost_usd)||0, day=r=>String(r.timestamp||"").slice(0,10), sum=a=>a.reduce((s,r)=>s+cost(r),0), f4=n=>"$"+n.toFixed(4);
|
|
67
|
+
const today=new Date().toISOString().slice(0,10), yest=new Date(Date.now()-864e5).toISOString().slice(0,10);
|
|
68
|
+
console.log("today: "+f4(sum(latest.filter(r=>day(r)===today)))+" | yesterday: "+f4(sum(latest.filter(r=>day(r)===yest)))+" | total: "+f4(sum(latest))+" ("+latest.length+" sessions)");
|
|
69
|
+
const m=new Map();for(const r of latest){const k=r.model||"(unknown)";m.set(k,(m.get(k)||0)+cost(r));}
|
|
70
|
+
console.log("by model:");[...m.entries()].sort((a,b)=>b[1]-a[1]).forEach(([k,v])=>console.log(" "+f4(v)+" "+k));
|
|
71
|
+
'
|
|
102
72
|
```
|
|
103
73
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
|
|
108
|
-
SELECT session_id,
|
|
109
|
-
MIN(timestamp) AS started,
|
|
110
|
-
MAX(timestamp) AS ended,
|
|
111
|
-
ROUND(SUM(cost_usd), 4) AS cost,
|
|
112
|
-
COUNT(*) AS calls
|
|
113
|
-
FROM usage
|
|
114
|
-
GROUP BY session_id
|
|
115
|
-
ORDER BY started DESC
|
|
116
|
-
LIMIT 10;
|
|
117
|
-
"
|
|
118
|
-
```
|
|
74
|
+
For a session drilldown or CSV export, iterate the same `latest` set (or the raw
|
|
75
|
+
rows for CSV) and print the fields you need.
|
|
119
76
|
|
|
120
77
|
## Reporting Guidance
|
|
121
78
|
|
|
122
|
-
When presenting cost data, include
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
2. Total spend across the tracked database.
|
|
126
|
-
3. Top projects ranked by cost.
|
|
127
|
-
4. Top tools ranked by cost.
|
|
128
|
-
5. Session count and average cost per session when enough data exists.
|
|
129
|
-
|
|
130
|
-
For small amounts, format currency with four decimal places. For larger amounts,
|
|
131
|
-
two decimals are enough.
|
|
79
|
+
When presenting cost data, include today's spend vs yesterday, total across all
|
|
80
|
+
sessions, a by-model breakdown, and session count. Format sub-dollar amounts
|
|
81
|
+
with four decimals, larger amounts with two.
|
|
132
82
|
|
|
133
83
|
## Anti-Patterns
|
|
134
84
|
|
|
135
|
-
- Do not
|
|
136
|
-
|
|
137
|
-
- Do not
|
|
85
|
+
- Do not sum every row — they are cumulative per session; reduce to the latest
|
|
86
|
+
row per `session_id` first.
|
|
87
|
+
- Do not estimate costs from raw token counts when `estimated_cost_usd` is present.
|
|
88
|
+
- Do not assume the log exists without checking.
|
|
138
89
|
- Do not hard-code current model pricing in user-facing answers.
|
|
139
|
-
- Do not recommend installing unreviewed hooks or plugins that execute arbitrary
|
|
140
|
-
code.
|
|
90
|
+
- Do not recommend installing unreviewed hooks or plugins that execute arbitrary code.
|
|
141
91
|
|
|
142
92
|
## Related
|
|
143
93
|
|
|
144
|
-
- `/cost-report` - Command-form report
|
|
94
|
+
- `/cost-report` - Command-form report over the same metrics log.
|
|
145
95
|
- `cost-aware-llm-pipeline` - Model-routing and budget-design patterns.
|
|
146
96
|
- `token-budget-advisor` - Context and token-budget planning.
|
|
147
97
|
- `strategic-compact` - Context compaction to reduce repeated token spend.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: council
|
|
3
3
|
description: Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls. Use when multiple valid paths exist and you need structured disagreement before choosing.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Council
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cpp-coding-standards
|
|
3
3
|
description: C++ coding standards based on the C++ Core Guidelines (isocpp.github.io). Use when writing, reviewing, or refactoring C++ code to enforce modern, safe, and idiomatic practices.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# C++ Coding Standards (C++ Core Guidelines)
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: crosspost
|
|
3
3
|
description: Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Crosspost
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: customer-billing-ops
|
|
3
3
|
description: Operate customer billing workflows such as subscriptions, refunds, churn triage, billing-portal recovery, and plan analysis using connected billing tools like Stripe. Use when the user needs to help a customer, inspect subscription state, or manage revenue-impacting billing operations.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Customer Billing Ops
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dart-flutter-patterns
|
|
3
3
|
description: Production-ready Dart and Flutter patterns covering null safety, immutable state, async composition, widget architecture, popular state management frameworks (BLoC, Riverpod, Provider), GoRouter navigation, Dio networking, Freezed code generation, and clean architecture.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Dart/Flutter Patterns
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dashboard-builder
|
|
3
3
|
description: Build monitoring dashboards that answer real operator questions for Grafana, SigNoz, and similar platforms. Use when turning metrics into a working dashboard instead of a vanity board.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC direct-port adaptation
|
|
5
6
|
version: "1.0.0"
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: data-scraper-agent
|
|
3
3
|
description: Build a fully automated AI-powered data collection agent for any public source — job boards, prices, news, GitHub, sports, anything. Scrapes on a schedule, enriches data with a free LLM (Gemini Flash), stores results in Notion/Sheets/Supabase, and learns from user feedback. Runs 100% free on GitHub Actions. Use when the user wants to monitor, collect, or track any public data automatically.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: community
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Data Scraper Agent
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: data-throughput-accelerator
|
|
3
3
|
description: Use when large data ingestion, backfill, export, ETL, warehouse loading, manifest catch-up, or table synchronization needs to become much faster while preserving data correctness.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: database-migrations
|
|
3
3
|
description: Database migration best practices for schema changes, data migrations, rollbacks, and zero-downtime deployments across PostgreSQL, MySQL, and common ORMs (Prisma, Drizzle, Kysely, Django, TypeORM, golang-migrate).
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Database Migration Patterns
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: deep-research
|
|
3
3
|
description: Multi-source deep research using firecrawl and exa MCPs. Searches the web, synthesizes findings, and delivers cited reports with source attribution. Use when the user wants thorough research on any topic with evidence and citations.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Deep Research
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: defi-amm-security
|
|
3
3
|
description: Security checklist for Solidity AMM contracts, liquidity pools, and swap flows. Covers reentrancy, CEI ordering, donation or inflation attacks, oracle manipulation, slippage, admin controls, and integer math.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC direct-port adaptation
|
|
5
6
|
version: "1.0.0"
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: deployment-patterns
|
|
3
3
|
description: Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Deployment Patterns
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: django-celery
|
|
3
3
|
description: Django + Celery async task patterns — configuration, task design, beat scheduling, retries, canvas workflows, monitoring, and testing. Use when adding background jobs, scheduled tasks, or async processing to a Django app.
|
|
4
|
-
|
|
4
|
+
metadata:
|
|
5
|
+
origin: ECC
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Django + Celery Async Task Patterns
|
|
@@ -22,7 +23,7 @@ Production-grade patterns for background task processing in Django using Celery
|
|
|
22
23
|
### Installation
|
|
23
24
|
|
|
24
25
|
```bash
|
|
25
|
-
pip install celery[redis] django-celery-results django-celery-beat
|
|
26
|
+
pip install 'celery[redis]' django-celery-results django-celery-beat
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
### `celery.py` — App Entrypoint
|