claudecode-omc 5.11.0 → 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/bundled/manifest.json +3 -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 +2 -2
- package/bundled/upstream/impeccable/.omc-source/provenance.json +30 -25
- package/bundled/upstream/impeccable/skills/impeccable/SKILL.md +2 -2
- package/bundled/upstream/impeccable/skills/impeccable/reference/hooks.md +10 -8
- package/bundled/upstream/impeccable/skills/impeccable/reference/live.md +1 -1
- package/bundled/upstream/impeccable/skills/impeccable/scripts/context.mjs +707 -26
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/browser/injected/index.mjs +202 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/cli/main.mjs +57 -11
- 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 +231 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/detect-antipatterns.mjs +7 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +29 -4
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +20 -4
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +2 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +27 -1
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/registry/antipatterns.mjs +29 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook-admin.mjs +135 -48
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook-before-edit.mjs +5 -2
- package/bundled/upstream/impeccable/skills/impeccable/scripts/hook-lib.mjs +375 -29
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/design-parser.mjs +8 -1
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/impeccable-config.mjs +638 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/impeccable-paths.mjs +37 -35
- package/bundled/upstream/impeccable/skills/impeccable/scripts/lib/target-args.mjs +42 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-browser.js +159 -72
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-poll.mjs +16 -11
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-server.mjs +9 -8
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-target.mjs +30 -0
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live-wrap.mjs +1 -1
- package/bundled/upstream/impeccable/skills/impeccable/scripts/live.mjs +72 -21
- 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/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
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"syncedAt": "2026-06-
|
|
2
|
+
"syncedAt": "2026-06-25T01:40:14.869Z",
|
|
3
3
|
"sourceName": "superpowers",
|
|
4
4
|
"remote": "https://github.com/obra/superpowers.git",
|
|
5
5
|
"ref": "main",
|
|
6
|
-
"commit": "
|
|
6
|
+
"commit": "896224c4b1879920ab573417e68fd51d2ccc9072",
|
|
7
7
|
"kind": "content-repo",
|
|
8
8
|
"harnesses": [
|
|
9
9
|
"claude"
|
|
@@ -1,63 +1,70 @@
|
|
|
1
1
|
{
|
|
2
|
-
"syncedAt": "2026-06-
|
|
2
|
+
"syncedAt": "2026-06-25T01:40:14.869Z",
|
|
3
3
|
"sourceName": "superpowers",
|
|
4
4
|
"remote": "https://github.com/obra/superpowers.git",
|
|
5
5
|
"ref": "main",
|
|
6
|
-
"commit": "
|
|
6
|
+
"commit": "896224c4b1879920ab573417e68fd51d2ccc9072",
|
|
7
7
|
"artifacts": {
|
|
8
8
|
"skills": {
|
|
9
|
-
"brainstorming/scripts/frame-template.html": "sha256:
|
|
10
|
-
"brainstorming/scripts/helper.js": "sha256:
|
|
11
|
-
"brainstorming/scripts/server.cjs": "sha256:
|
|
12
|
-
"brainstorming/scripts/start-server.sh": "sha256:
|
|
13
|
-
"brainstorming/scripts/stop-server.sh": "sha256:
|
|
14
|
-
"brainstorming/SKILL.md": "sha256:
|
|
15
|
-
"brainstorming/spec-document-reviewer-prompt.md": "sha256:
|
|
16
|
-
"brainstorming/visual-companion.md": "sha256:
|
|
17
|
-
"dispatching-parallel-agents/SKILL.md": "sha256:
|
|
18
|
-
"executing-plans/SKILL.md": "sha256:
|
|
19
|
-
"finishing-a-development-branch/SKILL.md": "sha256:
|
|
20
|
-
"receiving-code-review/SKILL.md": "sha256:
|
|
21
|
-
"requesting-code-review/code-reviewer.md": "sha256:
|
|
22
|
-
"requesting-code-review/SKILL.md": "sha256:
|
|
23
|
-
"subagent-driven-development/
|
|
24
|
-
"subagent-driven-development/
|
|
25
|
-
"subagent-driven-development/
|
|
26
|
-
"subagent-driven-development/
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"systematic-debugging/
|
|
30
|
-
"systematic-debugging/
|
|
31
|
-
"systematic-debugging/
|
|
32
|
-
"systematic-debugging/
|
|
33
|
-
"systematic-debugging/
|
|
34
|
-
"systematic-debugging/
|
|
35
|
-
"systematic-debugging/
|
|
36
|
-
"systematic-debugging/test-
|
|
37
|
-
"systematic-debugging/test-pressure-
|
|
38
|
-
"test-
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"using-
|
|
43
|
-
"using-superpowers/references/
|
|
44
|
-
"using-superpowers/
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"writing-
|
|
52
|
-
"writing-
|
|
53
|
-
"writing-skills/
|
|
54
|
-
"writing-skills/
|
|
9
|
+
"brainstorming/scripts/frame-template.html": "sha256:6a8a4e58bd6a44b904e2e3c57de774481d909204597e1498de53f1b2fecc4c4e",
|
|
10
|
+
"brainstorming/scripts/helper.js": "sha256:43c6d69954a46ec34a2a262bcc62a9a7e83e839c739f199cb72646d397c686e3",
|
|
11
|
+
"brainstorming/scripts/server.cjs": "sha256:2d2961ea8d11f56c5f4c3a1a68d22709efa5d7601a2246d8c880774e7e9e8412",
|
|
12
|
+
"brainstorming/scripts/start-server.sh": "sha256:a4e5ae84275bcaacd2f84345afeabe59cf7b00ba080e123da7cc1fb226f12847",
|
|
13
|
+
"brainstorming/scripts/stop-server.sh": "sha256:0b5ccbbd57f62d3ed88993f7940b5ee0e5c0fc9b21c550c623da4f6292e47daf",
|
|
14
|
+
"brainstorming/SKILL.md": "sha256:e14914605f640e0841758e45d0ab2a53243b59b921f929e47921c99668f2e61d",
|
|
15
|
+
"brainstorming/spec-document-reviewer-prompt.md": "sha256:95a0a195de9d984be2fffa95bab16fc8c563bc296a9cfc5e9c29cb3ece0d7457",
|
|
16
|
+
"brainstorming/visual-companion.md": "sha256:60cbad29b9dd7eaf08da020e301c498a72230b2e13c1813fa967a135ffcc1d71",
|
|
17
|
+
"dispatching-parallel-agents/SKILL.md": "sha256:f0df13f584049059cc5619f90061405b89dcc6e28ab3f2a8517d27d99c7a46a6",
|
|
18
|
+
"executing-plans/SKILL.md": "sha256:b357c2a2e5bf24adf237b5d4a83cacd828f07b886d0873ad91546aa3c99905c9",
|
|
19
|
+
"finishing-a-development-branch/SKILL.md": "sha256:e6d4a812de900d33c6eacfb40747f99427f25c304a7b7099120f9373b115a47f",
|
|
20
|
+
"receiving-code-review/SKILL.md": "sha256:647036bbdab7bf2317e14e079595e984c9030f64295e2b4c0fb57dbeb48f25dd",
|
|
21
|
+
"requesting-code-review/code-reviewer.md": "sha256:b2f2ec7596925fe52dac158fdfbca19b3a7d779d619c481e6706a6c0001662d3",
|
|
22
|
+
"requesting-code-review/SKILL.md": "sha256:1017ccdd5bc61fab67c654cf118cbdb520464b313073a0a6b9a6b9aa647a3ad6",
|
|
23
|
+
"subagent-driven-development/implementer-prompt.md": "sha256:49018b28dc11bc9f3d13a28959bb10ae1a96eabc5d8f19f4079d901f9ff2bf64",
|
|
24
|
+
"subagent-driven-development/scripts/review-package": "sha256:0c0629f6e2c46fc8bf68dcfb8a247ab24eb548b7004fe494035e6fcba9b5cdfb",
|
|
25
|
+
"subagent-driven-development/scripts/sdd-workspace": "sha256:9430befaff459ed862415b700c1a9efe45fd34838a684802a1d8320de0c3a007",
|
|
26
|
+
"subagent-driven-development/scripts/task-brief": "sha256:5380283f00bffa99ab82ae78482b7d248abe10655129c72ca7050bdc0b6a85e1",
|
|
27
|
+
"subagent-driven-development/SKILL.md": "sha256:41ab239a6ad1c487cd839fdac972a8c9cf0f5e90efa59a63f963767864f0df4c",
|
|
28
|
+
"subagent-driven-development/task-reviewer-prompt.md": "sha256:2eb9d54373420de25bc0bd00635d3a3123a6c0eb30c881168e6f3348e2387331",
|
|
29
|
+
"systematic-debugging/condition-based-waiting-example.ts": "sha256:40ae5ebe497fdf310200e43fe986552546d0a22837c0d39e855db1cfd33eb88e",
|
|
30
|
+
"systematic-debugging/condition-based-waiting.md": "sha256:e89fec8400d6cd50f43407cec9fab50976ba4d55d0ec2eb51c0bd68036b54c26",
|
|
31
|
+
"systematic-debugging/CREATION-LOG.md": "sha256:c24733a5b1821bd6bed1fc950261f0b9f4e90097e0bbb96459d8179713730789",
|
|
32
|
+
"systematic-debugging/defense-in-depth.md": "sha256:1e175fb86fc357e58c6aebf5441e481e1b7868b4380c0456b63a17eefbd18ba7",
|
|
33
|
+
"systematic-debugging/find-polluter.sh": "sha256:6462747eae9b175ac145b78bcfaeab755654a75e32637f08eb633f065a9e1d7c",
|
|
34
|
+
"systematic-debugging/root-cause-tracing.md": "sha256:6b0622269e098ca1399e123e553fd385f0b6412d88ef0e9c4f5a8ea9cf1cec7b",
|
|
35
|
+
"systematic-debugging/SKILL.md": "sha256:3b20719eca4f0461cb51a195221320d775dcf03b6859271066a03a5132a6ce7a",
|
|
36
|
+
"systematic-debugging/test-academic.md": "sha256:fe2ba480d78ac0d686dc025f41c2a32a43d642bf533f91b0c6053a04d35d6486",
|
|
37
|
+
"systematic-debugging/test-pressure-1.md": "sha256:0b6a915db0054577819834c79be9eb614e97bddba10d73768e1fbe91cfed048a",
|
|
38
|
+
"systematic-debugging/test-pressure-2.md": "sha256:b2030aeffba07050e8ad573ddf87486457c4a016a786bb326235bebd856f2016",
|
|
39
|
+
"systematic-debugging/test-pressure-3.md": "sha256:96b50a52e2c7989c9cf20fb752c47c1e9a3a70dc362f8f7989f8f5b64dac7708",
|
|
40
|
+
"test-driven-development/SKILL.md": "sha256:b5b4717b8b761cce15a6cfe9022e33fd959e0894c0c39d72c9cb49c23486c10e",
|
|
41
|
+
"test-driven-development/testing-anti-patterns.md": "sha256:bde453bc258f06543987477c837939afaa774ea2acbd9f308d702fc452bc4283",
|
|
42
|
+
"using-git-worktrees/SKILL.md": "sha256:e2c3ec142e52868a51af246c620cd76ab648dcf27d6900d47e6ffd07159a9794",
|
|
43
|
+
"using-superpowers/references/antigravity-tools.md": "sha256:00b16e8e8166d972766613c4244a7901d0413af37944741a8b8f40105f9f7f05",
|
|
44
|
+
"using-superpowers/references/claude-code-tools.md": "sha256:7d9244dd278db15caa8f9f86bda0546c91fc65163f94b2499999fc72b69c3666",
|
|
45
|
+
"using-superpowers/references/codex-tools.md": "sha256:cbce77a3a430688ef0cc3c8f03d17d2df1a2c78603e8b138cec522b74d75e4ab",
|
|
46
|
+
"using-superpowers/references/copilot-tools.md": "sha256:9627943f22c8db64ac7fbac3b6e399f73650a5cf3618f7966e802e7fa58d4595",
|
|
47
|
+
"using-superpowers/references/gemini-tools.md": "sha256:62b9157bcb0ee3c6784e3d0da0798ddfa5872f9e0c34bea48f3079dabea71965",
|
|
48
|
+
"using-superpowers/references/pi-tools.md": "sha256:e89e2d5c7b89cdd2a511aa7ad3c191290baaaed8913006c30f283ac7c4b091fb",
|
|
49
|
+
"using-superpowers/SKILL.md": "sha256:918562bbba1c73d1407c50de77a92eeaa6930508bdb57a64324d7d508a9069e1",
|
|
50
|
+
"verification-before-completion/SKILL.md": "sha256:ea52d15aabaf72bc6b558efe2c126f161b53961090ddcd712000273bfe8c7b6c",
|
|
51
|
+
"writing-plans/plan-document-reviewer-prompt.md": "sha256:aa728b96aad603c8be28875a4305637f6c984aa81ffcadcb13e743202fa2a0c7",
|
|
52
|
+
"writing-plans/SKILL.md": "sha256:272e1af349f5062c28dc282b3e21b220d58d683a7314a10c455b7432ec91d845",
|
|
53
|
+
"writing-skills/anthropic-best-practices.md": "sha256:217629b356c09c9bd11017c9788e8fc654ca1b32c92d4a51cd490e16dd65e59a",
|
|
54
|
+
"writing-skills/examples/CLAUDE_MD_TESTING.md": "sha256:0b379a3415e185d3c434b3ad283d8aa132f3022c2a4f210f168865b5986bcef0",
|
|
55
|
+
"writing-skills/graphviz-conventions.dot": "sha256:e2890a593c91370e384b42f2f67b1a6232c9e69dddea7891a0c1c46d7b20b694",
|
|
56
|
+
"writing-skills/persuasion-principles.md": "sha256:a51bc9bf75189ea73a27b3fb504a2fdfdb966fb1f7f1cdf03203230a216ccc03",
|
|
57
|
+
"writing-skills/render-graphs.js": "sha256:ccda971a87bb185f8febf81c56b556a20d026fa980c17b35fa3e8824fbb37852",
|
|
58
|
+
"writing-skills/SKILL.md": "sha256:f01f666a4426ce800d40649704104c252e6607c196656e5ce6a28e9f51650f3a",
|
|
59
|
+
"writing-skills/testing-skills-with-subagents.md": "sha256:c711346852c911b24a84aa161e0cff06a4cd7f4e2fa9e9c0a266cead5afcbade"
|
|
55
60
|
},
|
|
56
61
|
"hooks": {
|
|
57
|
-
"hooks-
|
|
58
|
-
"hooks.json": "sha256:
|
|
59
|
-
"
|
|
60
|
-
"
|
|
62
|
+
"hooks-codex.json": "sha256:9b28f3cecd0549403ed4d6b3fb3774bb1eb66f1ea68d659a680182c394dbfe62",
|
|
63
|
+
"hooks-cursor.json": "sha256:53d8ceb3ff5d8bb1c4f283f238cc868b8c1af22e40a3ac30f6d6e4173effefbd",
|
|
64
|
+
"hooks.json": "sha256:01616c57b96cc234cc984e77d2fc241dfd0e0bfacda54fe54589cd669a0d998e",
|
|
65
|
+
"run-hook.cmd": "sha256:d3d9c6199678dab2858e60509dde5e7414f13c2a2b5e48a38b1d368b6e1d6abb",
|
|
66
|
+
"session-start": "sha256:88a060272ca8047e0d1cd73a016e1cebba8396807a44be1e296d7c02dcbb9934",
|
|
67
|
+
"session-start-codex": "sha256:550a0c2232f21230d0806182a8edf8dcd5b969d4aeb5445385076358f27f50a4"
|
|
61
68
|
}
|
|
62
69
|
}
|
|
63
70
|
}
|
|
@@ -7,13 +7,6 @@ set -euo pipefail
|
|
|
7
7
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
8
|
PLUGIN_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
9
9
|
|
|
10
|
-
# Check if legacy skills directory exists and build warning
|
|
11
|
-
warning_message=""
|
|
12
|
-
legacy_skills_dir="${HOME}/.config/superpowers/skills"
|
|
13
|
-
if [ -d "$legacy_skills_dir" ]; then
|
|
14
|
-
warning_message="\n\n<important-reminder>IN YOUR FIRST REPLY AFTER SEEING THIS MESSAGE YOU MUST TELL THE USER:⚠️ **WARNING:** Superpowers now uses Claude Code's skills system. Custom skills in ~/.config/superpowers/skills will not be read. Move custom skills to ~/.claude/skills instead. To make this message go away, remove ~/.config/superpowers/skills</important-reminder>"
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
10
|
# Read using-superpowers content
|
|
18
11
|
using_superpowers_content=$(cat "${PLUGIN_ROOT}/skills/using-superpowers/SKILL.md" 2>&1 || echo "Error reading using-superpowers skill")
|
|
19
12
|
|
|
@@ -31,8 +24,7 @@ escape_for_json() {
|
|
|
31
24
|
}
|
|
32
25
|
|
|
33
26
|
using_superpowers_escaped=$(escape_for_json "$using_superpowers_content")
|
|
34
|
-
|
|
35
|
-
session_context="<EXTREMELY_IMPORTANT>\nYou have superpowers.\n\n**Below is the full content of your 'superpowers:using-superpowers' skill - your introduction to using skills. For all other skills, use the 'Skill' tool:**\n\n${using_superpowers_escaped}\n\n${warning_escaped}\n</EXTREMELY_IMPORTANT>"
|
|
27
|
+
session_context="<EXTREMELY_IMPORTANT>\nYou have superpowers.\n\n**Below is the full content of your 'superpowers:using-superpowers' skill - your introduction to using skills. For all other skills, use the 'Skill' tool:**\n\n${using_superpowers_escaped}\n</EXTREMELY_IMPORTANT>"
|
|
36
28
|
|
|
37
29
|
# Output context injection as JSON.
|
|
38
30
|
# Cursor hooks expect additional_context (snake_case).
|
|
@@ -45,13 +37,13 @@ session_context="<EXTREMELY_IMPORTANT>\nYou have superpowers.\n\n**Below is the
|
|
|
45
37
|
# See: https://github.com/obra/superpowers/issues/571
|
|
46
38
|
if [ -n "${CURSOR_PLUGIN_ROOT:-}" ]; then
|
|
47
39
|
# Cursor sets CURSOR_PLUGIN_ROOT (may also set CLAUDE_PLUGIN_ROOT)
|
|
48
|
-
printf '{\n "additional_context": "%s"\n}\n' "$session_context"
|
|
40
|
+
printf '{\n "additional_context": "%s"\n}\n' "$session_context" | cat
|
|
49
41
|
elif [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && [ -z "${COPILOT_CLI:-}" ]; then
|
|
50
42
|
# Claude Code sets CLAUDE_PLUGIN_ROOT without COPILOT_CLI
|
|
51
|
-
printf '{\n "hookSpecificOutput": {\n "hookEventName": "SessionStart",\n "additionalContext": "%s"\n }\n}\n' "$session_context"
|
|
43
|
+
printf '{\n "hookSpecificOutput": {\n "hookEventName": "SessionStart",\n "additionalContext": "%s"\n }\n}\n' "$session_context" | cat
|
|
52
44
|
else
|
|
53
45
|
# Copilot CLI (sets COPILOT_CLI=1) or unknown platform — SDK standard format
|
|
54
|
-
printf '{\n "additionalContext": "%s"\n}\n' "$session_context"
|
|
46
|
+
printf '{\n "additionalContext": "%s"\n}\n' "$session_context" | cat
|
|
55
47
|
fi
|
|
56
48
|
|
|
57
49
|
exit 0
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Codex SessionStart hook for superpowers plugin
|
|
3
|
+
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
7
|
+
PLUGIN_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
8
|
+
|
|
9
|
+
using_superpowers_content=$(cat "${PLUGIN_ROOT}/skills/using-superpowers/SKILL.md" 2>&1 || echo "Error reading using-superpowers skill")
|
|
10
|
+
|
|
11
|
+
escape_for_json() {
|
|
12
|
+
local s="$1"
|
|
13
|
+
s="${s//\\/\\\\}"
|
|
14
|
+
s="${s//\"/\\\"}"
|
|
15
|
+
s="${s//$'\n'/\\n}"
|
|
16
|
+
s="${s//$'\r'/\\r}"
|
|
17
|
+
s="${s//$'\t'/\\t}"
|
|
18
|
+
printf '%s' "$s"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
using_superpowers_escaped=$(escape_for_json "$using_superpowers_content")
|
|
22
|
+
session_context="<EXTREMELY_IMPORTANT>\nYou have superpowers.\n\n**Below is the full content of your 'superpowers:using-superpowers' skill - your introduction to using skills. For all other skills, follow the Codex skill-loading instructions in that skill:**\n\n${using_superpowers_escaped}\n</EXTREMELY_IMPORTANT>"
|
|
23
|
+
|
|
24
|
+
printf '{\n "hookSpecificOutput": {\n "hookEventName": "SessionStart",\n "additionalContext": "%s"\n }\n}\n' "$session_context" | cat
|
|
25
|
+
|
|
26
|
+
exit 0
|
|
@@ -22,7 +22,7 @@ Every project goes through this process. A todo list, a single-function utility,
|
|
|
22
22
|
You MUST create a task for each of these items and complete them in order:
|
|
23
23
|
|
|
24
24
|
1. **Explore project context** — check files, docs, recent commits
|
|
25
|
-
2. **Offer visual companion**
|
|
25
|
+
2. **Offer the visual companion just-in-time** — NOT upfront. The first time a question would genuinely be clearer shown than described, offer it then (its own message); on approval its browser tab opens for you. If no visual question ever arises, never offer it. See the Visual Companion section below.
|
|
26
26
|
3. **Ask clarifying questions** — one at a time, understand purpose/constraints/success criteria
|
|
27
27
|
4. **Propose 2-3 approaches** — with trade-offs and your recommendation
|
|
28
28
|
5. **Present design** — in sections scaled to their complexity, get user approval after each section
|
|
@@ -36,8 +36,6 @@ You MUST create a task for each of these items and complete them in order:
|
|
|
36
36
|
```dot
|
|
37
37
|
digraph brainstorming {
|
|
38
38
|
"Explore project context" [shape=box];
|
|
39
|
-
"Visual questions ahead?" [shape=diamond];
|
|
40
|
-
"Offer Visual Companion\n(own message, no other content)" [shape=box];
|
|
41
39
|
"Ask clarifying questions" [shape=box];
|
|
42
40
|
"Propose 2-3 approaches" [shape=box];
|
|
43
41
|
"Present design sections" [shape=box];
|
|
@@ -47,10 +45,7 @@ digraph brainstorming {
|
|
|
47
45
|
"User reviews spec?" [shape=diamond];
|
|
48
46
|
"Invoke writing-plans skill" [shape=doublecircle];
|
|
49
47
|
|
|
50
|
-
"Explore project context" -> "
|
|
51
|
-
"Visual questions ahead?" -> "Offer Visual Companion\n(own message, no other content)" [label="yes"];
|
|
52
|
-
"Visual questions ahead?" -> "Ask clarifying questions" [label="no"];
|
|
53
|
-
"Offer Visual Companion\n(own message, no other content)" -> "Ask clarifying questions";
|
|
48
|
+
"Explore project context" -> "Ask clarifying questions";
|
|
54
49
|
"Ask clarifying questions" -> "Propose 2-3 approaches";
|
|
55
50
|
"Propose 2-3 approaches" -> "Present design sections";
|
|
56
51
|
"Present design sections" -> "User approves design?";
|
|
@@ -148,10 +143,10 @@ Wait for the user's response. If they request changes, make them and re-run the
|
|
|
148
143
|
|
|
149
144
|
A browser-based companion for showing mockups, diagrams, and visual options during brainstorming. Available as a tool — not a mode. Accepting the companion means it's available for questions that benefit from visual treatment; it does NOT mean every question goes through the browser.
|
|
150
145
|
|
|
151
|
-
**Offering the companion:**
|
|
152
|
-
> "
|
|
146
|
+
**Offering the companion (just-in-time):** Do NOT offer it upfront. Wait until a question would genuinely be clearer shown than told — a real mockup / layout / diagram question, not merely a UI *topic*. The first time that happens, offer it then, as its own message:
|
|
147
|
+
> "This next part might be easier if I show you — I can put together mockups, diagrams, and comparisons in a browser tab as we go. It's still new and can be token-intensive. Want me to? I'll open it for you."
|
|
153
148
|
|
|
154
|
-
**This offer MUST be its own message.**
|
|
149
|
+
**This offer MUST be its own message.** Only the offer — no clarifying question, summary, or other content. Wait for the user's response. If they accept, start the server with `--open` so their browser opens to the first screen automatically. If they decline, continue text-only and don't offer again unless they raise it.
|
|
155
150
|
|
|
156
151
|
**Per-question decision:** Even after the user accepts, decide FOR EACH QUESTION whether to use the browser or the terminal. The test: **would the user understand this better by seeing it than reading it?**
|
|
157
152
|
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
*
|
|
10
10
|
* This template provides a consistent frame with:
|
|
11
11
|
* - OS-aware light/dark theming
|
|
12
|
-
* -
|
|
12
|
+
* - Header branding and connection status
|
|
13
13
|
* - Scrollable main content area
|
|
14
14
|
* - CSS helpers for common UI patterns
|
|
15
15
|
*
|
|
16
|
-
* Content is injected via placeholder comment in #
|
|
16
|
+
* Content is injected via placeholder comment in #frame-content.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
@@ -63,34 +63,37 @@
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/* ===== FRAME STRUCTURE ===== */
|
|
66
|
-
.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
border-bottom: 1px solid var(--border);
|
|
73
|
-
flex-shrink: 0;
|
|
66
|
+
.brand { display: flex; align-items: center; min-width: 0; overflow: hidden; color: var(--text-secondary); line-height: 1; }
|
|
67
|
+
.brand a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 0.5rem; min-width: 0; max-width: 100%; line-height: 1; }
|
|
68
|
+
.brand-copy { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1; transform: translateY(-1px); }
|
|
69
|
+
.brand-logo { display: block; height: 1em; width: auto; max-width: 180px; flex-shrink: 0; filter: invert(1); }
|
|
70
|
+
@media (prefers-color-scheme: dark) {
|
|
71
|
+
.brand-logo { filter: none; }
|
|
74
72
|
}
|
|
75
|
-
.
|
|
76
|
-
.
|
|
77
|
-
.header .status::before { content: ''; width: 6px; height: 6px; background: var(--success); border-radius: 50%; }
|
|
73
|
+
.status { font-size: 0.7rem; color: var(--status-color, var(--success)); display: flex; align-items: center; gap: 0.4rem; justify-self: end; white-space: nowrap; line-height: 1; }
|
|
74
|
+
.status::before { content: ''; width: 6px; height: 6px; background: var(--status-color, var(--success)); border-radius: 50%; }
|
|
78
75
|
|
|
79
76
|
.main { flex: 1; overflow-y: auto; }
|
|
80
|
-
#
|
|
77
|
+
#frame-content { padding: 2rem; min-height: 100%; }
|
|
81
78
|
|
|
82
|
-
.
|
|
79
|
+
.header {
|
|
83
80
|
background: var(--bg-secondary);
|
|
84
|
-
border-
|
|
81
|
+
border-bottom: 1px solid var(--border);
|
|
85
82
|
padding: 0.5rem 1.5rem;
|
|
86
83
|
flex-shrink: 0;
|
|
87
|
-
|
|
84
|
+
display: grid;
|
|
85
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
86
|
+
align-items: center;
|
|
87
|
+
gap: 1rem;
|
|
88
|
+
min-height: 42px;
|
|
88
89
|
}
|
|
89
|
-
.
|
|
90
|
+
.header .brand { justify-self: start; width: 100%; font-size: 0.75rem; line-height: 1; }
|
|
91
|
+
.header .status { grid-column: 2; line-height: 1; }
|
|
92
|
+
.header span {
|
|
90
93
|
font-size: 0.75rem;
|
|
91
94
|
color: var(--text-secondary);
|
|
92
95
|
}
|
|
93
|
-
.
|
|
96
|
+
.header .selected-text {
|
|
94
97
|
color: var(--accent);
|
|
95
98
|
font-weight: 500;
|
|
96
99
|
}
|
|
@@ -196,19 +199,15 @@
|
|
|
196
199
|
</head>
|
|
197
200
|
<body>
|
|
198
201
|
<div class="header">
|
|
199
|
-
|
|
200
|
-
<div class="status">
|
|
202
|
+
<!-- BRANDING -->
|
|
203
|
+
<div class="status">Connecting…</div>
|
|
201
204
|
</div>
|
|
202
205
|
|
|
203
206
|
<div class="main">
|
|
204
|
-
<div id="
|
|
207
|
+
<div id="frame-content">
|
|
205
208
|
<!-- CONTENT -->
|
|
206
209
|
</div>
|
|
207
210
|
</div>
|
|
208
211
|
|
|
209
|
-
<div class="indicator-bar">
|
|
210
|
-
<span id="indicator-text">Click an option above, then return to the terminal</span>
|
|
211
|
-
</div>
|
|
212
|
-
|
|
213
212
|
</body>
|
|
214
213
|
</html>
|
|
@@ -1,26 +1,120 @@
|
|
|
1
1
|
(function() {
|
|
2
|
-
const
|
|
2
|
+
const MIN_RECONNECT_MS = 500;
|
|
3
|
+
const MAX_RECONNECT_MS = 30000;
|
|
4
|
+
const TOMBSTONE_AFTER_MS = 15000; // show the "paused" overlay after this long disconnected
|
|
5
|
+
|
|
6
|
+
// Pure: next backoff delay (doubles, capped). Exported for unit tests.
|
|
7
|
+
function nextReconnectDelay(current, max) {
|
|
8
|
+
return Math.min(current * 2, max);
|
|
9
|
+
}
|
|
10
|
+
if (typeof module !== 'undefined' && module.exports) {
|
|
11
|
+
module.exports = { nextReconnectDelay, MIN_RECONNECT_MS, MAX_RECONNECT_MS, TOMBSTONE_AFTER_MS };
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Everything below is browser-only; bail out when loaded in Node (tests).
|
|
15
|
+
if (typeof window === 'undefined') return;
|
|
16
|
+
|
|
3
17
|
let ws = null;
|
|
4
18
|
let eventQueue = [];
|
|
19
|
+
let reconnectDelay = MIN_RECONNECT_MS;
|
|
20
|
+
let reconnectTimer = null;
|
|
21
|
+
let disconnectedSince = null;
|
|
22
|
+
let everConnected = false;
|
|
23
|
+
let tombstoneShown = false;
|
|
24
|
+
|
|
25
|
+
function sessionKey() {
|
|
26
|
+
try {
|
|
27
|
+
return window.sessionStorage && window.sessionStorage.getItem('brainstorm-session-key');
|
|
28
|
+
} catch (e) {}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function websocketUrl() {
|
|
33
|
+
const key = sessionKey();
|
|
34
|
+
return 'ws://' + window.location.host + (key ? '/?key=' + encodeURIComponent(key) : '');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function reloadAfterRecovery() {
|
|
38
|
+
const key = sessionKey();
|
|
39
|
+
if (key) {
|
|
40
|
+
window.location.replace('/?key=' + encodeURIComponent(key));
|
|
41
|
+
} else {
|
|
42
|
+
window.location.reload();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Reflect connection state in the frame's status pill (absent on full-doc screens).
|
|
47
|
+
function setStatus(state) {
|
|
48
|
+
const el = document.querySelector('.status');
|
|
49
|
+
if (!el) return;
|
|
50
|
+
const map = {
|
|
51
|
+
connecting: ['Connecting…', 'var(--text-tertiary)'],
|
|
52
|
+
connected: ['Connected', 'var(--success)'],
|
|
53
|
+
reconnecting: ['Reconnecting…', 'var(--warning)'],
|
|
54
|
+
disconnected: ['Disconnected', 'var(--error)']
|
|
55
|
+
};
|
|
56
|
+
const [text, color] = map[state] || map.disconnected;
|
|
57
|
+
el.textContent = text;
|
|
58
|
+
el.style.setProperty('--status-color', color);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Self-styled so it works on framed and full-document screens alike.
|
|
62
|
+
function showTombstone() {
|
|
63
|
+
if (tombstoneShown) return;
|
|
64
|
+
tombstoneShown = true;
|
|
65
|
+
const el = document.createElement('div');
|
|
66
|
+
el.id = 'bs-tombstone';
|
|
67
|
+
el.style.cssText = 'position:fixed;inset:0;z-index:99999;display:flex;' +
|
|
68
|
+
'align-items:center;justify-content:center;padding:2rem;text-align:center;' +
|
|
69
|
+
'background:rgba(20,20,22,0.92);color:#f5f5f7;font-family:system-ui,sans-serif';
|
|
70
|
+
el.innerHTML = '<div style="max-width:480px">' +
|
|
71
|
+
'<h2 style="margin:0 0 .5rem;font-weight:600">Companion paused</h2>' +
|
|
72
|
+
'<p style="margin:0;opacity:.85">This brainstorm companion has stopped. ' +
|
|
73
|
+
'Ask your coding agent to bring it back — this page reconnects automatically.</p></div>';
|
|
74
|
+
if (document.body) document.body.appendChild(el);
|
|
75
|
+
}
|
|
5
76
|
|
|
6
77
|
function connect() {
|
|
7
|
-
|
|
78
|
+
if (reconnectTimer) { clearTimeout(reconnectTimer); reconnectTimer = null; }
|
|
79
|
+
setStatus(everConnected ? 'reconnecting' : 'connecting');
|
|
80
|
+
ws = new WebSocket(websocketUrl());
|
|
8
81
|
|
|
9
82
|
ws.onopen = () => {
|
|
83
|
+
const recovered = tombstoneShown;
|
|
84
|
+
everConnected = true;
|
|
85
|
+
disconnectedSince = null;
|
|
86
|
+
reconnectDelay = MIN_RECONNECT_MS;
|
|
87
|
+
tombstoneShown = false;
|
|
88
|
+
setStatus('connected');
|
|
10
89
|
eventQueue.forEach(e => ws.send(JSON.stringify(e)));
|
|
11
90
|
eventQueue = [];
|
|
91
|
+
// Recovered from a tombstoned outage (e.g. the server restarted on the same
|
|
92
|
+
// port) — reload through the keyed bootstrap when possible so the cookie is
|
|
93
|
+
// refreshed before the visible URL returns to bare /.
|
|
94
|
+
if (recovered) reloadAfterRecovery();
|
|
12
95
|
};
|
|
13
96
|
|
|
14
97
|
ws.onmessage = (msg) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
98
|
+
let data;
|
|
99
|
+
try { data = JSON.parse(msg.data); } catch (e) { return; }
|
|
100
|
+
if (data.type === 'reload') window.location.reload();
|
|
19
101
|
};
|
|
20
102
|
|
|
21
103
|
ws.onclose = () => {
|
|
22
|
-
|
|
104
|
+
ws = null;
|
|
105
|
+
if (disconnectedSince === null) disconnectedSince = Date.now();
|
|
106
|
+
if (Date.now() - disconnectedSince >= TOMBSTONE_AFTER_MS) {
|
|
107
|
+
setStatus('disconnected');
|
|
108
|
+
showTombstone();
|
|
109
|
+
} else {
|
|
110
|
+
setStatus('reconnecting');
|
|
111
|
+
}
|
|
112
|
+
reconnectTimer = setTimeout(connect, reconnectDelay);
|
|
113
|
+
reconnectDelay = nextReconnectDelay(reconnectDelay, MAX_RECONNECT_MS);
|
|
23
114
|
};
|
|
115
|
+
|
|
116
|
+
// Let onclose own reconnection so we don't schedule it twice.
|
|
117
|
+
ws.onerror = () => { try { ws.close(); } catch (e) {} };
|
|
24
118
|
}
|
|
25
119
|
|
|
26
120
|
function sendEvent(event) {
|
|
@@ -44,21 +138,6 @@
|
|
|
44
138
|
id: target.id || null
|
|
45
139
|
});
|
|
46
140
|
|
|
47
|
-
// Update indicator bar (defer so toggleSelect runs first)
|
|
48
|
-
setTimeout(() => {
|
|
49
|
-
const indicator = document.getElementById('indicator-text');
|
|
50
|
-
if (!indicator) return;
|
|
51
|
-
const container = target.closest('.options') || target.closest('.cards');
|
|
52
|
-
const selected = container ? container.querySelectorAll('.selected') : [];
|
|
53
|
-
if (selected.length === 0) {
|
|
54
|
-
indicator.textContent = 'Click an option above, then return to the terminal';
|
|
55
|
-
} else if (selected.length === 1) {
|
|
56
|
-
const label = selected[0].querySelector('h3, .content h3, .card-body h3')?.textContent?.trim() || selected[0].dataset.choice;
|
|
57
|
-
indicator.innerHTML = '<span class="selected-text">' + label + ' selected</span> — return to terminal to continue';
|
|
58
|
-
} else {
|
|
59
|
-
indicator.innerHTML = '<span class="selected-text">' + selected.length + ' selected</span> — return to terminal to continue';
|
|
60
|
-
}
|
|
61
|
-
}, 0);
|
|
62
141
|
});
|
|
63
142
|
|
|
64
143
|
// Frame UI: selection tracking
|