claudecode-omc 5.5.2 → 5.6.1
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/skills/de-ai-writing/SKILL.md +243 -0
- package/.local/skills/de-ai-writing/references/chinese-patterns.md +152 -0
- package/.local/skills/de-ai-writing/references/chinese-signals.md +121 -0
- package/.local/skills/de-ai-writing/references/domain-playbooks.md +120 -0
- package/.local/skills/de-ai-writing/references/wikipedia-signs.md +196 -0
- package/README.md +102 -10
- package/bundled/manifest.json +3 -2
- package/bundled/upstream/ecc/.omc-source/bundle.json +23 -0
- package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +439 -0
- package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +47 -0
- package/bundled/upstream/ecc/agents/a11y-architect.md +141 -0
- package/bundled/upstream/ecc/agents/architect.md +211 -0
- package/bundled/upstream/ecc/agents/build-error-resolver.md +114 -0
- package/bundled/upstream/ecc/agents/chief-of-staff.md +151 -0
- package/bundled/upstream/ecc/agents/code-architect.md +71 -0
- package/bundled/upstream/ecc/agents/code-explorer.md +69 -0
- package/bundled/upstream/ecc/agents/code-reviewer.md +237 -0
- package/bundled/upstream/ecc/agents/code-simplifier.md +47 -0
- package/bundled/upstream/ecc/agents/comment-analyzer.md +45 -0
- package/bundled/upstream/ecc/agents/conversation-analyzer.md +52 -0
- package/bundled/upstream/ecc/agents/cpp-build-resolver.md +90 -0
- package/bundled/upstream/ecc/agents/cpp-reviewer.md +72 -0
- package/bundled/upstream/ecc/agents/csharp-reviewer.md +101 -0
- package/bundled/upstream/ecc/agents/dart-build-resolver.md +201 -0
- package/bundled/upstream/ecc/agents/database-reviewer.md +91 -0
- package/bundled/upstream/ecc/agents/doc-updater.md +107 -0
- package/bundled/upstream/ecc/agents/docs-lookup.md +68 -0
- package/bundled/upstream/ecc/agents/e2e-runner.md +107 -0
- package/bundled/upstream/ecc/agents/flutter-reviewer.md +243 -0
- package/bundled/upstream/ecc/agents/gan-evaluator.md +209 -0
- package/bundled/upstream/ecc/agents/gan-generator.md +131 -0
- package/bundled/upstream/ecc/agents/gan-planner.md +99 -0
- package/bundled/upstream/ecc/agents/go-build-resolver.md +94 -0
- package/bundled/upstream/ecc/agents/go-reviewer.md +76 -0
- package/bundled/upstream/ecc/agents/harness-optimizer.md +35 -0
- package/bundled/upstream/ecc/agents/healthcare-reviewer.md +83 -0
- package/bundled/upstream/ecc/agents/java-build-resolver.md +153 -0
- package/bundled/upstream/ecc/agents/java-reviewer.md +92 -0
- package/bundled/upstream/ecc/agents/kotlin-build-resolver.md +118 -0
- package/bundled/upstream/ecc/agents/kotlin-reviewer.md +159 -0
- package/bundled/upstream/ecc/agents/loop-operator.md +36 -0
- package/bundled/upstream/ecc/agents/opensource-forker.md +198 -0
- package/bundled/upstream/ecc/agents/opensource-packager.md +249 -0
- package/bundled/upstream/ecc/agents/opensource-sanitizer.md +188 -0
- package/bundled/upstream/ecc/agents/performance-optimizer.md +446 -0
- package/bundled/upstream/ecc/agents/planner.md +212 -0
- package/bundled/upstream/ecc/agents/pr-test-analyzer.md +45 -0
- package/bundled/upstream/ecc/agents/python-reviewer.md +98 -0
- package/bundled/upstream/ecc/agents/pytorch-build-resolver.md +120 -0
- package/bundled/upstream/ecc/agents/refactor-cleaner.md +85 -0
- package/bundled/upstream/ecc/agents/rust-build-resolver.md +148 -0
- package/bundled/upstream/ecc/agents/rust-reviewer.md +94 -0
- package/bundled/upstream/ecc/agents/security-reviewer.md +108 -0
- package/bundled/upstream/ecc/agents/seo-specialist.md +62 -0
- package/bundled/upstream/ecc/agents/silent-failure-hunter.md +50 -0
- package/bundled/upstream/ecc/agents/tdd-guide.md +91 -0
- package/bundled/upstream/ecc/agents/type-design-analyzer.md +41 -0
- package/bundled/upstream/ecc/agents/typescript-reviewer.md +112 -0
- package/bundled/upstream/ecc/commands/agent-sort.md +23 -0
- package/bundled/upstream/ecc/commands/aside.md +164 -0
- package/bundled/upstream/ecc/commands/build-fix.md +62 -0
- package/bundled/upstream/ecc/commands/checkpoint.md +74 -0
- package/bundled/upstream/ecc/commands/claw.md +23 -0
- package/bundled/upstream/ecc/commands/code-review.md +289 -0
- package/bundled/upstream/ecc/commands/context-budget.md +23 -0
- package/bundled/upstream/ecc/commands/cpp-build.md +173 -0
- package/bundled/upstream/ecc/commands/cpp-review.md +132 -0
- package/bundled/upstream/ecc/commands/cpp-test.md +251 -0
- package/bundled/upstream/ecc/commands/devfleet.md +23 -0
- package/bundled/upstream/ecc/commands/docs.md +23 -0
- package/bundled/upstream/ecc/commands/e2e.md +268 -0
- package/bundled/upstream/ecc/commands/eval.md +23 -0
- package/bundled/upstream/ecc/commands/evolve.md +178 -0
- package/bundled/upstream/ecc/commands/feature-dev.md +49 -0
- package/bundled/upstream/ecc/commands/flutter-build.md +164 -0
- package/bundled/upstream/ecc/commands/flutter-review.md +116 -0
- package/bundled/upstream/ecc/commands/flutter-test.md +144 -0
- package/bundled/upstream/ecc/commands/gan-build.md +99 -0
- package/bundled/upstream/ecc/commands/gan-design.md +35 -0
- package/bundled/upstream/ecc/commands/go-build.md +183 -0
- package/bundled/upstream/ecc/commands/go-review.md +148 -0
- package/bundled/upstream/ecc/commands/go-test.md +268 -0
- package/bundled/upstream/ecc/commands/gradle-build.md +70 -0
- package/bundled/upstream/ecc/commands/harness-audit.md +73 -0
- package/bundled/upstream/ecc/commands/hookify-configure.md +14 -0
- package/bundled/upstream/ecc/commands/hookify-help.md +46 -0
- package/bundled/upstream/ecc/commands/hookify-list.md +21 -0
- package/bundled/upstream/ecc/commands/hookify.md +50 -0
- package/bundled/upstream/ecc/commands/instinct-export.md +66 -0
- package/bundled/upstream/ecc/commands/instinct-import.md +114 -0
- package/bundled/upstream/ecc/commands/instinct-status.md +59 -0
- package/bundled/upstream/ecc/commands/jira.md +106 -0
- package/bundled/upstream/ecc/commands/kotlin-build.md +174 -0
- package/bundled/upstream/ecc/commands/kotlin-review.md +140 -0
- package/bundled/upstream/ecc/commands/kotlin-test.md +312 -0
- package/bundled/upstream/ecc/commands/learn-eval.md +116 -0
- package/bundled/upstream/ecc/commands/learn.md +70 -0
- package/bundled/upstream/ecc/commands/loop-start.md +32 -0
- package/bundled/upstream/ecc/commands/loop-status.md +24 -0
- package/bundled/upstream/ecc/commands/model-route.md +26 -0
- package/bundled/upstream/ecc/commands/multi-backend.md +158 -0
- package/bundled/upstream/ecc/commands/multi-execute.md +315 -0
- package/bundled/upstream/ecc/commands/multi-frontend.md +158 -0
- package/bundled/upstream/ecc/commands/multi-plan.md +268 -0
- package/bundled/upstream/ecc/commands/multi-workflow.md +191 -0
- package/bundled/upstream/ecc/commands/orchestrate.md +135 -0
- package/bundled/upstream/ecc/commands/plan.md +117 -0
- package/bundled/upstream/ecc/commands/pm2.md +272 -0
- package/bundled/upstream/ecc/commands/projects.md +39 -0
- package/bundled/upstream/ecc/commands/promote.md +41 -0
- package/bundled/upstream/ecc/commands/prompt-optimize.md +23 -0
- package/bundled/upstream/ecc/commands/prp-commit.md +112 -0
- package/bundled/upstream/ecc/commands/prp-implement.md +385 -0
- package/bundled/upstream/ecc/commands/prp-plan.md +502 -0
- package/bundled/upstream/ecc/commands/prp-pr.md +184 -0
- package/bundled/upstream/ecc/commands/prp-prd.md +447 -0
- package/bundled/upstream/ecc/commands/prune.md +31 -0
- package/bundled/upstream/ecc/commands/python-review.md +297 -0
- package/bundled/upstream/ecc/commands/quality-gate.md +29 -0
- package/bundled/upstream/ecc/commands/refactor-clean.md +80 -0
- package/bundled/upstream/ecc/commands/resume-session.md +156 -0
- package/bundled/upstream/ecc/commands/review-pr.md +37 -0
- package/bundled/upstream/ecc/commands/rules-distill.md +20 -0
- package/bundled/upstream/ecc/commands/rust-build.md +187 -0
- package/bundled/upstream/ecc/commands/rust-review.md +142 -0
- package/bundled/upstream/ecc/commands/rust-test.md +308 -0
- package/bundled/upstream/ecc/commands/santa-loop.md +175 -0
- package/bundled/upstream/ecc/commands/save-session.md +275 -0
- package/bundled/upstream/ecc/commands/sessions.md +339 -0
- package/bundled/upstream/ecc/commands/setup-pm.md +80 -0
- package/bundled/upstream/ecc/commands/skill-create.md +174 -0
- package/bundled/upstream/ecc/commands/skill-health.md +54 -0
- package/bundled/upstream/ecc/commands/tdd.md +231 -0
- package/bundled/upstream/ecc/commands/test-coverage.md +69 -0
- package/bundled/upstream/ecc/commands/update-codemaps.md +72 -0
- package/bundled/upstream/ecc/commands/update-docs.md +84 -0
- package/bundled/upstream/ecc/commands/verify.md +23 -0
- package/bundled/upstream/ecc/hooks/README.md +237 -0
- package/bundled/upstream/ecc/hooks/hooks.json +330 -0
- package/bundled/upstream/ecc/skills/accessibility/SKILL.md +146 -0
- package/bundled/upstream/ecc/skills/agent-eval/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/agent-harness-construction/SKILL.md +73 -0
- package/bundled/upstream/ecc/skills/agent-introspection-debugging/SKILL.md +153 -0
- package/bundled/upstream/ecc/skills/agent-payment-x402/SKILL.md +178 -0
- package/bundled/upstream/ecc/skills/agent-sort/SKILL.md +215 -0
- package/bundled/upstream/ecc/skills/agentic-engineering/SKILL.md +63 -0
- package/bundled/upstream/ecc/skills/ai-first-engineering/SKILL.md +51 -0
- package/bundled/upstream/ecc/skills/ai-regression-testing/SKILL.md +385 -0
- package/bundled/upstream/ecc/skills/android-clean-architecture/SKILL.md +339 -0
- package/bundled/upstream/ecc/skills/api-connector-builder/SKILL.md +120 -0
- package/bundled/upstream/ecc/skills/api-design/SKILL.md +523 -0
- package/bundled/upstream/ecc/skills/architecture-decision-records/SKILL.md +179 -0
- package/bundled/upstream/ecc/skills/article-writing/SKILL.md +79 -0
- package/bundled/upstream/ecc/skills/automation-audit-ops/SKILL.md +142 -0
- package/bundled/upstream/ecc/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/bundled/upstream/ecc/skills/autonomous-loops/SKILL.md +610 -0
- package/bundled/upstream/ecc/skills/backend-patterns/SKILL.md +598 -0
- package/bundled/upstream/ecc/skills/benchmark/SKILL.md +93 -0
- package/bundled/upstream/ecc/skills/blueprint/SKILL.md +105 -0
- package/bundled/upstream/ecc/skills/brand-voice/SKILL.md +97 -0
- package/bundled/upstream/ecc/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/bundled/upstream/ecc/skills/browser-qa/SKILL.md +87 -0
- package/bundled/upstream/ecc/skills/bun-runtime/SKILL.md +84 -0
- package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +99 -0
- package/bundled/upstream/ecc/skills/carrier-relationship-management/SKILL.md +212 -0
- package/bundled/upstream/ecc/skills/ck/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/ck/commands/forget.mjs +44 -0
- package/bundled/upstream/ecc/skills/ck/commands/info.mjs +24 -0
- package/bundled/upstream/ecc/skills/ck/commands/init.mjs +143 -0
- package/bundled/upstream/ecc/skills/ck/commands/list.mjs +40 -0
- package/bundled/upstream/ecc/skills/ck/commands/migrate.mjs +202 -0
- package/bundled/upstream/ecc/skills/ck/commands/resume.mjs +36 -0
- package/bundled/upstream/ecc/skills/ck/commands/save.mjs +210 -0
- package/bundled/upstream/ecc/skills/ck/commands/shared.mjs +387 -0
- package/bundled/upstream/ecc/skills/ck/hooks/session-start.mjs +224 -0
- package/bundled/upstream/ecc/skills/claude-api/SKILL.md +337 -0
- package/bundled/upstream/ecc/skills/claude-devfleet/SKILL.md +103 -0
- package/bundled/upstream/ecc/skills/click-path-audit/SKILL.md +244 -0
- package/bundled/upstream/ecc/skills/clickhouse-io/SKILL.md +439 -0
- package/bundled/upstream/ecc/skills/code-tour/SKILL.md +236 -0
- package/bundled/upstream/ecc/skills/codebase-onboarding/SKILL.md +233 -0
- package/bundled/upstream/ecc/skills/coding-standards/SKILL.md +549 -0
- package/bundled/upstream/ecc/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/bundled/upstream/ecc/skills/configure-ecc/SKILL.md +367 -0
- package/bundled/upstream/ecc/skills/connections-optimizer/SKILL.md +189 -0
- package/bundled/upstream/ecc/skills/content-engine/SKILL.md +131 -0
- package/bundled/upstream/ecc/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/bundled/upstream/ecc/skills/context-budget/SKILL.md +135 -0
- package/bundled/upstream/ecc/skills/continuous-agent-loop/SKILL.md +45 -0
- package/bundled/upstream/ecc/skills/continuous-learning/SKILL.md +123 -0
- package/bundled/upstream/ecc/skills/continuous-learning/config.json +18 -0
- package/bundled/upstream/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/SKILL.md +346 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer-loop.sh +282 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/config.json +8 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +460 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +243 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
- package/bundled/upstream/ecc/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/bundled/upstream/ecc/skills/council/SKILL.md +203 -0
- package/bundled/upstream/ecc/skills/cpp-coding-standards/SKILL.md +723 -0
- package/bundled/upstream/ecc/skills/cpp-testing/SKILL.md +324 -0
- package/bundled/upstream/ecc/skills/crosspost/SKILL.md +111 -0
- package/bundled/upstream/ecc/skills/csharp-testing/SKILL.md +321 -0
- package/bundled/upstream/ecc/skills/customer-billing-ops/SKILL.md +140 -0
- package/bundled/upstream/ecc/skills/customs-trade-compliance/SKILL.md +263 -0
- package/bundled/upstream/ecc/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/bundled/upstream/ecc/skills/dashboard-builder/SKILL.md +108 -0
- package/bundled/upstream/ecc/skills/data-scraper-agent/SKILL.md +764 -0
- package/bundled/upstream/ecc/skills/database-migrations/SKILL.md +429 -0
- package/bundled/upstream/ecc/skills/deep-research/SKILL.md +155 -0
- package/bundled/upstream/ecc/skills/defi-amm-security/SKILL.md +160 -0
- package/bundled/upstream/ecc/skills/deployment-patterns/SKILL.md +427 -0
- package/bundled/upstream/ecc/skills/design-system/SKILL.md +82 -0
- package/bundled/upstream/ecc/skills/django-patterns/SKILL.md +734 -0
- package/bundled/upstream/ecc/skills/django-security/SKILL.md +593 -0
- package/bundled/upstream/ecc/skills/django-tdd/SKILL.md +729 -0
- package/bundled/upstream/ecc/skills/django-verification/SKILL.md +469 -0
- package/bundled/upstream/ecc/skills/dmux-workflows/SKILL.md +191 -0
- package/bundled/upstream/ecc/skills/docker-patterns/SKILL.md +364 -0
- package/bundled/upstream/ecc/skills/documentation-lookup/SKILL.md +90 -0
- package/bundled/upstream/ecc/skills/dotnet-patterns/SKILL.md +321 -0
- package/bundled/upstream/ecc/skills/e2e-testing/SKILL.md +326 -0
- package/bundled/upstream/ecc/skills/ecc-tools-cost-audit/SKILL.md +160 -0
- package/bundled/upstream/ecc/skills/email-ops/SKILL.md +121 -0
- package/bundled/upstream/ecc/skills/energy-procurement/SKILL.md +228 -0
- package/bundled/upstream/ecc/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/bundled/upstream/ecc/skills/eval-harness/SKILL.md +270 -0
- package/bundled/upstream/ecc/skills/evm-token-decimals/SKILL.md +130 -0
- package/bundled/upstream/ecc/skills/exa-search/SKILL.md +103 -0
- package/bundled/upstream/ecc/skills/fal-ai-media/SKILL.md +284 -0
- package/bundled/upstream/ecc/skills/finance-billing-ops/SKILL.md +127 -0
- package/bundled/upstream/ecc/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/bundled/upstream/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
- package/bundled/upstream/ecc/skills/frontend-design/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/frontend-patterns/SKILL.md +642 -0
- package/bundled/upstream/ecc/skills/frontend-slides/SKILL.md +184 -0
- package/bundled/upstream/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/bundled/upstream/ecc/skills/gan-style-harness/SKILL.md +278 -0
- package/bundled/upstream/ecc/skills/gateguard/SKILL.md +121 -0
- package/bundled/upstream/ecc/skills/git-workflow/SKILL.md +715 -0
- package/bundled/upstream/ecc/skills/github-ops/SKILL.md +144 -0
- package/bundled/upstream/ecc/skills/golang-patterns/SKILL.md +674 -0
- package/bundled/upstream/ecc/skills/golang-testing/SKILL.md +720 -0
- package/bundled/upstream/ecc/skills/google-workspace-ops/SKILL.md +95 -0
- package/bundled/upstream/ecc/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/bundled/upstream/ecc/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/bundled/upstream/ecc/skills/healthcare-eval-harness/SKILL.md +207 -0
- package/bundled/upstream/ecc/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/bundled/upstream/ecc/skills/hexagonal-architecture/SKILL.md +276 -0
- package/bundled/upstream/ecc/skills/hipaa-compliance/SKILL.md +78 -0
- package/bundled/upstream/ecc/skills/hookify-rules/SKILL.md +128 -0
- package/bundled/upstream/ecc/skills/inventory-demand-planning/SKILL.md +247 -0
- package/bundled/upstream/ecc/skills/investor-materials/SKILL.md +96 -0
- package/bundled/upstream/ecc/skills/investor-outreach/SKILL.md +91 -0
- package/bundled/upstream/ecc/skills/iterative-retrieval/SKILL.md +211 -0
- package/bundled/upstream/ecc/skills/java-coding-standards/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/jira-integration/SKILL.md +293 -0
- package/bundled/upstream/ecc/skills/jpa-patterns/SKILL.md +151 -0
- package/bundled/upstream/ecc/skills/knowledge-ops/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/bundled/upstream/ecc/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/bundled/upstream/ecc/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/bundled/upstream/ecc/skills/kotlin-patterns/SKILL.md +711 -0
- package/bundled/upstream/ecc/skills/kotlin-testing/SKILL.md +824 -0
- package/bundled/upstream/ecc/skills/laravel-patterns/SKILL.md +415 -0
- package/bundled/upstream/ecc/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/bundled/upstream/ecc/skills/laravel-security/SKILL.md +285 -0
- package/bundled/upstream/ecc/skills/laravel-tdd/SKILL.md +283 -0
- package/bundled/upstream/ecc/skills/laravel-verification/SKILL.md +179 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/SKILL.md +321 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/bundled/upstream/ecc/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/bundled/upstream/ecc/skills/liquid-glass-design/SKILL.md +279 -0
- package/bundled/upstream/ecc/skills/llm-trading-agent-security/SKILL.md +146 -0
- package/bundled/upstream/ecc/skills/logistics-exception-management/SKILL.md +222 -0
- package/bundled/upstream/ecc/skills/manim-video/SKILL.md +89 -0
- package/bundled/upstream/ecc/skills/manim-video/assets/network_graph_scene.py +52 -0
- package/bundled/upstream/ecc/skills/market-research/SKILL.md +75 -0
- package/bundled/upstream/ecc/skills/mcp-server-patterns/SKILL.md +69 -0
- package/bundled/upstream/ecc/skills/messages-ops/SKILL.md +104 -0
- package/bundled/upstream/ecc/skills/nanoclaw-repl/SKILL.md +33 -0
- package/bundled/upstream/ecc/skills/nestjs-patterns/SKILL.md +230 -0
- package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +44 -0
- package/bundled/upstream/ecc/skills/nodejs-keccak256/SKILL.md +102 -0
- package/bundled/upstream/ecc/skills/nutrient-document-processing/SKILL.md +167 -0
- package/bundled/upstream/ecc/skills/nuxt4-patterns/SKILL.md +100 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/SKILL.md +296 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.py +224 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/bundled/upstream/ecc/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/bundled/upstream/ecc/skills/opensource-pipeline/SKILL.md +255 -0
- package/bundled/upstream/ecc/skills/perl-patterns/SKILL.md +504 -0
- package/bundled/upstream/ecc/skills/perl-security/SKILL.md +503 -0
- package/bundled/upstream/ecc/skills/perl-testing/SKILL.md +475 -0
- package/bundled/upstream/ecc/skills/plankton-code-quality/SKILL.md +236 -0
- package/bundled/upstream/ecc/skills/postgres-patterns/SKILL.md +147 -0
- package/bundled/upstream/ecc/skills/product-capability/SKILL.md +141 -0
- package/bundled/upstream/ecc/skills/product-lens/SKILL.md +92 -0
- package/bundled/upstream/ecc/skills/production-scheduling/SKILL.md +238 -0
- package/bundled/upstream/ecc/skills/project-flow-ops/SKILL.md +111 -0
- package/bundled/upstream/ecc/skills/prompt-optimizer/SKILL.md +397 -0
- package/bundled/upstream/ecc/skills/python-patterns/SKILL.md +750 -0
- package/bundled/upstream/ecc/skills/python-testing/SKILL.md +816 -0
- package/bundled/upstream/ecc/skills/pytorch-patterns/SKILL.md +396 -0
- package/bundled/upstream/ecc/skills/quality-nonconformance/SKILL.md +260 -0
- package/bundled/upstream/ecc/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/bundled/upstream/ecc/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/SKILL.md +43 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/3d.md +86 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/animations.md +29 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/assets.md +78 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/audio.md +172 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/charts.md +58 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/images.md +130 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/timing.md +179 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/bundled/upstream/ecc/skills/remotion-video-creation/rules/videos.md +171 -0
- package/bundled/upstream/ecc/skills/repo-scan/SKILL.md +78 -0
- package/bundled/upstream/ecc/skills/research-ops/SKILL.md +112 -0
- package/bundled/upstream/ecc/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/bundled/upstream/ecc/skills/rules-distill/SKILL.md +264 -0
- package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/bundled/upstream/ecc/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/bundled/upstream/ecc/skills/rust-patterns/SKILL.md +499 -0
- package/bundled/upstream/ecc/skills/rust-testing/SKILL.md +500 -0
- package/bundled/upstream/ecc/skills/safety-guard/SKILL.md +75 -0
- package/bundled/upstream/ecc/skills/santa-method/SKILL.md +306 -0
- package/bundled/upstream/ecc/skills/search-first/SKILL.md +161 -0
- package/bundled/upstream/ecc/skills/security-bounty-hunter/SKILL.md +99 -0
- package/bundled/upstream/ecc/skills/security-review/SKILL.md +495 -0
- package/bundled/upstream/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/bundled/upstream/ecc/skills/security-scan/SKILL.md +165 -0
- package/bundled/upstream/ecc/skills/seo/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/skill-comply/SKILL.md +58 -0
- package/bundled/upstream/ecc/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/bundled/upstream/ecc/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/bundled/upstream/ecc/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/bundled/upstream/ecc/skills/skill-comply/prompts/classifier.md +24 -0
- package/bundled/upstream/ecc/skills/skill-comply/prompts/scenario_generator.md +62 -0
- package/bundled/upstream/ecc/skills/skill-comply/prompts/spec_generator.md +42 -0
- package/bundled/upstream/ecc/skills/skill-comply/pyproject.toml +15 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/__init__.py +0 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/classifier.py +85 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/grader.py +124 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/parser.py +107 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/report.py +170 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/run.py +127 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/runner.py +161 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/scenario_generator.py +70 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/spec_generator.py +72 -0
- package/bundled/upstream/ecc/skills/skill-comply/scripts/utils.py +13 -0
- package/bundled/upstream/ecc/skills/skill-comply/tests/test_grader.py +197 -0
- package/bundled/upstream/ecc/skills/skill-comply/tests/test_parser.py +90 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/SKILL.md +193 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/bundled/upstream/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/bundled/upstream/ecc/skills/social-graph-ranker/SKILL.md +154 -0
- package/bundled/upstream/ecc/skills/springboot-patterns/SKILL.md +314 -0
- package/bundled/upstream/ecc/skills/springboot-security/SKILL.md +272 -0
- package/bundled/upstream/ecc/skills/springboot-tdd/SKILL.md +158 -0
- package/bundled/upstream/ecc/skills/springboot-verification/SKILL.md +231 -0
- package/bundled/upstream/ecc/skills/strategic-compact/SKILL.md +131 -0
- package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
- package/bundled/upstream/ecc/skills/swift-actor-persistence/SKILL.md +143 -0
- package/bundled/upstream/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/bundled/upstream/ecc/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/bundled/upstream/ecc/skills/swiftui-patterns/SKILL.md +259 -0
- package/bundled/upstream/ecc/skills/tdd-workflow/SKILL.md +463 -0
- package/bundled/upstream/ecc/skills/team-builder/SKILL.md +168 -0
- package/bundled/upstream/ecc/skills/terminal-ops/SKILL.md +109 -0
- package/bundled/upstream/ecc/skills/token-budget-advisor/SKILL.md +133 -0
- package/bundled/upstream/ecc/skills/ui-demo/SKILL.md +465 -0
- package/bundled/upstream/ecc/skills/unified-notifications-ops/SKILL.md +187 -0
- package/bundled/upstream/ecc/skills/verification-loop/SKILL.md +126 -0
- package/bundled/upstream/ecc/skills/video-editing/SKILL.md +310 -0
- package/bundled/upstream/ecc/skills/videodb/SKILL.md +374 -0
- package/bundled/upstream/ecc/skills/videodb/reference/api-reference.md +550 -0
- package/bundled/upstream/ecc/skills/videodb/reference/capture-reference.md +407 -0
- package/bundled/upstream/ecc/skills/videodb/reference/capture.md +101 -0
- package/bundled/upstream/ecc/skills/videodb/reference/editor.md +443 -0
- package/bundled/upstream/ecc/skills/videodb/reference/generative.md +331 -0
- package/bundled/upstream/ecc/skills/videodb/reference/rtstream-reference.md +564 -0
- package/bundled/upstream/ecc/skills/videodb/reference/rtstream.md +65 -0
- package/bundled/upstream/ecc/skills/videodb/reference/search.md +230 -0
- package/bundled/upstream/ecc/skills/videodb/reference/streaming.md +406 -0
- package/bundled/upstream/ecc/skills/videodb/reference/use-cases.md +118 -0
- package/bundled/upstream/ecc/skills/videodb/scripts/ws_listener.py +282 -0
- package/bundled/upstream/ecc/skills/visa-doc-translate/README.md +86 -0
- package/bundled/upstream/ecc/skills/visa-doc-translate/SKILL.md +117 -0
- package/bundled/upstream/ecc/skills/workspace-surface-audit/SKILL.md +125 -0
- package/bundled/upstream/ecc/skills/x-api/SKILL.md +230 -0
- package/bundled/upstream/superpowers/.omc-source/last-plan-apply.json +22 -0
- package/package.json +3 -1
- package/src/catalog/source-catalog.js +391 -0
- package/src/cli/artifact.js +3 -2
- package/src/cli/doctor.js +25 -4
- package/src/cli/index.js +19 -0
- package/src/cli/plan.js +220 -0
- package/src/cli/setup.js +209 -12
- package/src/cli/source.js +110 -3
- package/src/config/paths.js +31 -0
- package/src/config/sources.js +103 -10
- package/src/merge/hook-merger.js +1 -0
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage Claude Code session history, aliases, and session metadata.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Sessions Command
|
|
6
|
+
|
|
7
|
+
Manage Claude Code session history - list, load, alias, and edit sessions stored in `~/.claude/session-data/` with legacy reads from `~/.claude/sessions/`.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
`/sessions [list|load|alias|info|help] [options]`
|
|
12
|
+
|
|
13
|
+
## Actions
|
|
14
|
+
|
|
15
|
+
### List Sessions
|
|
16
|
+
|
|
17
|
+
Display all sessions with metadata, filtering, and pagination.
|
|
18
|
+
|
|
19
|
+
Use `/sessions info` when you need operator-surface context for a swarm: branch, worktree path, and session recency.
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
/sessions # List all sessions (default)
|
|
23
|
+
/sessions list # Same as above
|
|
24
|
+
/sessions list --limit 10 # Show 10 sessions
|
|
25
|
+
/sessions list --date 2026-02-01 # Filter by date
|
|
26
|
+
/sessions list --search abc # Search by session ID
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Script:**
|
|
30
|
+
```bash
|
|
31
|
+
node -e "
|
|
32
|
+
const _r = (()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();
|
|
33
|
+
const sm = require(_r + '/scripts/lib/session-manager');
|
|
34
|
+
const aa = require(_r + '/scripts/lib/session-aliases');
|
|
35
|
+
const path = require('path');
|
|
36
|
+
|
|
37
|
+
const result = sm.getAllSessions({ limit: 20 });
|
|
38
|
+
const aliases = aa.listAliases();
|
|
39
|
+
const aliasMap = {};
|
|
40
|
+
for (const a of aliases) aliasMap[a.sessionPath] = a.name;
|
|
41
|
+
|
|
42
|
+
console.log('Sessions (showing ' + result.sessions.length + ' of ' + result.total + '):');
|
|
43
|
+
console.log('');
|
|
44
|
+
console.log('ID Date Time Branch Worktree Alias');
|
|
45
|
+
console.log('────────────────────────────────────────────────────────────────────');
|
|
46
|
+
|
|
47
|
+
for (const s of result.sessions) {
|
|
48
|
+
const alias = aliasMap[s.filename] || '';
|
|
49
|
+
const metadata = sm.parseSessionMetadata(sm.getSessionContent(s.sessionPath));
|
|
50
|
+
const id = s.shortId === 'no-id' ? '(none)' : s.shortId.slice(0, 8);
|
|
51
|
+
const time = s.modifiedTime.toTimeString().slice(0, 5);
|
|
52
|
+
const branch = (metadata.branch || '-').slice(0, 12);
|
|
53
|
+
const worktree = metadata.worktree ? path.basename(metadata.worktree).slice(0, 18) : '-';
|
|
54
|
+
|
|
55
|
+
console.log(id.padEnd(8) + ' ' + s.date + ' ' + time + ' ' + branch.padEnd(12) + ' ' + worktree.padEnd(18) + ' ' + alias);
|
|
56
|
+
}
|
|
57
|
+
"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Load Session
|
|
61
|
+
|
|
62
|
+
Load and display a session's content (by ID or alias).
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
/sessions load <id|alias> # Load session
|
|
66
|
+
/sessions load 2026-02-01 # By date (for no-id sessions)
|
|
67
|
+
/sessions load a1b2c3d4 # By short ID
|
|
68
|
+
/sessions load my-alias # By alias name
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Script:**
|
|
72
|
+
```bash
|
|
73
|
+
node -e "
|
|
74
|
+
const _r = (()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();
|
|
75
|
+
const sm = require(_r + '/scripts/lib/session-manager');
|
|
76
|
+
const aa = require(_r + '/scripts/lib/session-aliases');
|
|
77
|
+
const id = process.argv[1];
|
|
78
|
+
|
|
79
|
+
// First try to resolve as alias
|
|
80
|
+
const resolved = aa.resolveAlias(id);
|
|
81
|
+
const sessionId = resolved ? resolved.sessionPath : id;
|
|
82
|
+
|
|
83
|
+
const session = sm.getSessionById(sessionId, true);
|
|
84
|
+
if (!session) {
|
|
85
|
+
console.log('Session not found: ' + id);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const stats = sm.getSessionStats(session.sessionPath);
|
|
90
|
+
const size = sm.getSessionSize(session.sessionPath);
|
|
91
|
+
const aliases = aa.getAliasesForSession(session.filename);
|
|
92
|
+
|
|
93
|
+
console.log('Session: ' + session.filename);
|
|
94
|
+
console.log('Path: ' + session.sessionPath);
|
|
95
|
+
console.log('');
|
|
96
|
+
console.log('Statistics:');
|
|
97
|
+
console.log(' Lines: ' + stats.lineCount);
|
|
98
|
+
console.log(' Total items: ' + stats.totalItems);
|
|
99
|
+
console.log(' Completed: ' + stats.completedItems);
|
|
100
|
+
console.log(' In progress: ' + stats.inProgressItems);
|
|
101
|
+
console.log(' Size: ' + size);
|
|
102
|
+
console.log('');
|
|
103
|
+
|
|
104
|
+
if (aliases.length > 0) {
|
|
105
|
+
console.log('Aliases: ' + aliases.map(a => a.name).join(', '));
|
|
106
|
+
console.log('');
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (session.metadata.title) {
|
|
110
|
+
console.log('Title: ' + session.metadata.title);
|
|
111
|
+
console.log('');
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (session.metadata.started) {
|
|
115
|
+
console.log('Started: ' + session.metadata.started);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (session.metadata.lastUpdated) {
|
|
119
|
+
console.log('Last Updated: ' + session.metadata.lastUpdated);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (session.metadata.project) {
|
|
123
|
+
console.log('Project: ' + session.metadata.project);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (session.metadata.branch) {
|
|
127
|
+
console.log('Branch: ' + session.metadata.branch);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (session.metadata.worktree) {
|
|
131
|
+
console.log('Worktree: ' + session.metadata.worktree);
|
|
132
|
+
}
|
|
133
|
+
" "$ARGUMENTS"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Create Alias
|
|
137
|
+
|
|
138
|
+
Create a memorable alias for a session.
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
/sessions alias <id> <name> # Create alias
|
|
142
|
+
/sessions alias 2026-02-01 today-work # Create alias named "today-work"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Script:**
|
|
146
|
+
```bash
|
|
147
|
+
node -e "
|
|
148
|
+
const _r = (()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();
|
|
149
|
+
const sm = require(_r + '/scripts/lib/session-manager');
|
|
150
|
+
const aa = require(_r + '/scripts/lib/session-aliases');
|
|
151
|
+
|
|
152
|
+
const sessionId = process.argv[1];
|
|
153
|
+
const aliasName = process.argv[2];
|
|
154
|
+
|
|
155
|
+
if (!sessionId || !aliasName) {
|
|
156
|
+
console.log('Usage: /sessions alias <id> <name>');
|
|
157
|
+
process.exit(1);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Get session filename
|
|
161
|
+
const session = sm.getSessionById(sessionId);
|
|
162
|
+
if (!session) {
|
|
163
|
+
console.log('Session not found: ' + sessionId);
|
|
164
|
+
process.exit(1);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const result = aa.setAlias(aliasName, session.filename);
|
|
168
|
+
if (result.success) {
|
|
169
|
+
console.log('✓ Alias created: ' + aliasName + ' → ' + session.filename);
|
|
170
|
+
} else {
|
|
171
|
+
console.log('✗ Error: ' + result.error);
|
|
172
|
+
process.exit(1);
|
|
173
|
+
}
|
|
174
|
+
" "$ARGUMENTS"
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Remove Alias
|
|
178
|
+
|
|
179
|
+
Delete an existing alias.
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
/sessions alias --remove <name> # Remove alias
|
|
183
|
+
/sessions unalias <name> # Same as above
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Script:**
|
|
187
|
+
```bash
|
|
188
|
+
node -e "
|
|
189
|
+
const _r = (()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();
|
|
190
|
+
const aa = require(_r + '/scripts/lib/session-aliases');
|
|
191
|
+
|
|
192
|
+
const aliasName = process.argv[1];
|
|
193
|
+
if (!aliasName) {
|
|
194
|
+
console.log('Usage: /sessions alias --remove <name>');
|
|
195
|
+
process.exit(1);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
const result = aa.deleteAlias(aliasName);
|
|
199
|
+
if (result.success) {
|
|
200
|
+
console.log('✓ Alias removed: ' + aliasName);
|
|
201
|
+
} else {
|
|
202
|
+
console.log('✗ Error: ' + result.error);
|
|
203
|
+
process.exit(1);
|
|
204
|
+
}
|
|
205
|
+
" "$ARGUMENTS"
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Session Info
|
|
209
|
+
|
|
210
|
+
Show detailed information about a session.
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
/sessions info <id|alias> # Show session details
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Script:**
|
|
217
|
+
```bash
|
|
218
|
+
node -e "
|
|
219
|
+
const _r = (()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();
|
|
220
|
+
const sm = require(_r + '/scripts/lib/session-manager');
|
|
221
|
+
const aa = require(_r + '/scripts/lib/session-aliases');
|
|
222
|
+
|
|
223
|
+
const id = process.argv[1];
|
|
224
|
+
const resolved = aa.resolveAlias(id);
|
|
225
|
+
const sessionId = resolved ? resolved.sessionPath : id;
|
|
226
|
+
|
|
227
|
+
const session = sm.getSessionById(sessionId, true);
|
|
228
|
+
if (!session) {
|
|
229
|
+
console.log('Session not found: ' + id);
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const stats = sm.getSessionStats(session.sessionPath);
|
|
234
|
+
const size = sm.getSessionSize(session.sessionPath);
|
|
235
|
+
const aliases = aa.getAliasesForSession(session.filename);
|
|
236
|
+
|
|
237
|
+
console.log('Session Information');
|
|
238
|
+
console.log('════════════════════');
|
|
239
|
+
console.log('ID: ' + (session.shortId === 'no-id' ? '(none)' : session.shortId));
|
|
240
|
+
console.log('Filename: ' + session.filename);
|
|
241
|
+
console.log('Date: ' + session.date);
|
|
242
|
+
console.log('Modified: ' + session.modifiedTime.toISOString().slice(0, 19).replace('T', ' '));
|
|
243
|
+
console.log('Project: ' + (session.metadata.project || '-'));
|
|
244
|
+
console.log('Branch: ' + (session.metadata.branch || '-'));
|
|
245
|
+
console.log('Worktree: ' + (session.metadata.worktree || '-'));
|
|
246
|
+
console.log('');
|
|
247
|
+
console.log('Content:');
|
|
248
|
+
console.log(' Lines: ' + stats.lineCount);
|
|
249
|
+
console.log(' Total items: ' + stats.totalItems);
|
|
250
|
+
console.log(' Completed: ' + stats.completedItems);
|
|
251
|
+
console.log(' In progress: ' + stats.inProgressItems);
|
|
252
|
+
console.log(' Size: ' + size);
|
|
253
|
+
if (aliases.length > 0) {
|
|
254
|
+
console.log('Aliases: ' + aliases.map(a => a.name).join(', '));
|
|
255
|
+
}
|
|
256
|
+
" "$ARGUMENTS"
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### List Aliases
|
|
260
|
+
|
|
261
|
+
Show all session aliases.
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
/sessions aliases # List all aliases
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Script:**
|
|
268
|
+
```bash
|
|
269
|
+
node -e "
|
|
270
|
+
const _r = (()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();
|
|
271
|
+
const aa = require(_r + '/scripts/lib/session-aliases');
|
|
272
|
+
|
|
273
|
+
const aliases = aa.listAliases();
|
|
274
|
+
console.log('Session Aliases (' + aliases.length + '):');
|
|
275
|
+
console.log('');
|
|
276
|
+
|
|
277
|
+
if (aliases.length === 0) {
|
|
278
|
+
console.log('No aliases found.');
|
|
279
|
+
} else {
|
|
280
|
+
console.log('Name Session File Title');
|
|
281
|
+
console.log('─────────────────────────────────────────────────────────────');
|
|
282
|
+
for (const a of aliases) {
|
|
283
|
+
const name = a.name.padEnd(12);
|
|
284
|
+
const file = (a.sessionPath.length > 30 ? a.sessionPath.slice(0, 27) + '...' : a.sessionPath).padEnd(30);
|
|
285
|
+
const title = a.title || '';
|
|
286
|
+
console.log(name + ' ' + file + ' ' + title);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
"
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## Operator Notes
|
|
293
|
+
|
|
294
|
+
- Session files persist `Project`, `Branch`, and `Worktree` in the header so `/sessions info` can disambiguate parallel tmux/worktree runs.
|
|
295
|
+
- For command-center style monitoring, combine `/sessions info`, `git diff --stat`, and the cost metrics emitted by `scripts/hooks/cost-tracker.js`.
|
|
296
|
+
|
|
297
|
+
## Arguments
|
|
298
|
+
|
|
299
|
+
$ARGUMENTS:
|
|
300
|
+
- `list [options]` - List sessions
|
|
301
|
+
- `--limit <n>` - Max sessions to show (default: 50)
|
|
302
|
+
- `--date <YYYY-MM-DD>` - Filter by date
|
|
303
|
+
- `--search <pattern>` - Search in session ID
|
|
304
|
+
- `load <id|alias>` - Load session content
|
|
305
|
+
- `alias <id> <name>` - Create alias for session
|
|
306
|
+
- `alias --remove <name>` - Remove alias
|
|
307
|
+
- `unalias <name>` - Same as `--remove`
|
|
308
|
+
- `info <id|alias>` - Show session statistics
|
|
309
|
+
- `aliases` - List all aliases
|
|
310
|
+
- `help` - Show this help
|
|
311
|
+
|
|
312
|
+
## Examples
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
# List all sessions
|
|
316
|
+
/sessions list
|
|
317
|
+
|
|
318
|
+
# Create an alias for today's session
|
|
319
|
+
/sessions alias 2026-02-01 today
|
|
320
|
+
|
|
321
|
+
# Load session by alias
|
|
322
|
+
/sessions load today
|
|
323
|
+
|
|
324
|
+
# Show session info
|
|
325
|
+
/sessions info today
|
|
326
|
+
|
|
327
|
+
# Remove alias
|
|
328
|
+
/sessions alias --remove today
|
|
329
|
+
|
|
330
|
+
# List all aliases
|
|
331
|
+
/sessions aliases
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
## Notes
|
|
335
|
+
|
|
336
|
+
- Sessions are stored as markdown files in `~/.claude/session-data/` with legacy reads from `~/.claude/sessions/`
|
|
337
|
+
- Aliases are stored in `~/.claude/session-aliases.json`
|
|
338
|
+
- Session IDs can be shortened (first 4-8 characters usually unique enough)
|
|
339
|
+
- Use aliases for frequently referenced sessions
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Configure your preferred package manager (npm/pnpm/yarn/bun)
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Package Manager Setup
|
|
7
|
+
|
|
8
|
+
Configure your preferred package manager for this project or globally.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Detect current package manager
|
|
14
|
+
node scripts/setup-package-manager.js --detect
|
|
15
|
+
|
|
16
|
+
# Set global preference
|
|
17
|
+
node scripts/setup-package-manager.js --global pnpm
|
|
18
|
+
|
|
19
|
+
# Set project preference
|
|
20
|
+
node scripts/setup-package-manager.js --project bun
|
|
21
|
+
|
|
22
|
+
# List available package managers
|
|
23
|
+
node scripts/setup-package-manager.js --list
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Detection Priority
|
|
27
|
+
|
|
28
|
+
When determining which package manager to use, the following order is checked:
|
|
29
|
+
|
|
30
|
+
1. **Environment variable**: `CLAUDE_PACKAGE_MANAGER`
|
|
31
|
+
2. **Project config**: `.claude/package-manager.json`
|
|
32
|
+
3. **package.json**: `packageManager` field
|
|
33
|
+
4. **Lock file**: Presence of package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
|
|
34
|
+
5. **Global config**: `~/.claude/package-manager.json`
|
|
35
|
+
6. **Fallback**: First available package manager (pnpm > bun > yarn > npm)
|
|
36
|
+
|
|
37
|
+
## Configuration Files
|
|
38
|
+
|
|
39
|
+
### Global Configuration
|
|
40
|
+
```json
|
|
41
|
+
// ~/.claude/package-manager.json
|
|
42
|
+
{
|
|
43
|
+
"packageManager": "pnpm"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Project Configuration
|
|
48
|
+
```json
|
|
49
|
+
// .claude/package-manager.json
|
|
50
|
+
{
|
|
51
|
+
"packageManager": "bun"
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### package.json
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"packageManager": "pnpm@8.6.0"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Environment Variable
|
|
63
|
+
|
|
64
|
+
Set `CLAUDE_PACKAGE_MANAGER` to override all other detection methods:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Windows (PowerShell)
|
|
68
|
+
$env:CLAUDE_PACKAGE_MANAGER = "pnpm"
|
|
69
|
+
|
|
70
|
+
# macOS/Linux
|
|
71
|
+
export CLAUDE_PACKAGE_MANAGER=pnpm
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Run the Detection
|
|
75
|
+
|
|
76
|
+
To see current package manager detection results, run:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
node scripts/setup-package-manager.js --detect
|
|
80
|
+
```
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-create
|
|
3
|
+
description: Analyze local git history to extract coding patterns and generate SKILL.md files. Local version of the Skill Creator GitHub App.
|
|
4
|
+
allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /skill-create - Local Skill Generation
|
|
8
|
+
|
|
9
|
+
Analyze your repository's git history to extract coding patterns and generate SKILL.md files that teach Claude your team's practices.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
/skill-create # Analyze current repo
|
|
15
|
+
/skill-create --commits 100 # Analyze last 100 commits
|
|
16
|
+
/skill-create --output ./skills # Custom output directory
|
|
17
|
+
/skill-create --instincts # Also generate instincts for continuous-learning-v2
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## What It Does
|
|
21
|
+
|
|
22
|
+
1. **Parses Git History** - Analyzes commits, file changes, and patterns
|
|
23
|
+
2. **Detects Patterns** - Identifies recurring workflows and conventions
|
|
24
|
+
3. **Generates SKILL.md** - Creates valid Claude Code skill files
|
|
25
|
+
4. **Optionally Creates Instincts** - For the continuous-learning-v2 system
|
|
26
|
+
|
|
27
|
+
## Analysis Steps
|
|
28
|
+
|
|
29
|
+
### Step 1: Gather Git Data
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Get recent commits with file changes
|
|
33
|
+
git log --oneline -n ${COMMITS:-200} --name-only --pretty=format:"%H|%s|%ad" --date=short
|
|
34
|
+
|
|
35
|
+
# Get commit frequency by file
|
|
36
|
+
git log --oneline -n 200 --name-only | grep -v "^$" | grep -v "^[a-f0-9]" | sort | uniq -c | sort -rn | head -20
|
|
37
|
+
|
|
38
|
+
# Get commit message patterns
|
|
39
|
+
git log --oneline -n 200 | cut -d' ' -f2- | head -50
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Step 2: Detect Patterns
|
|
43
|
+
|
|
44
|
+
Look for these pattern types:
|
|
45
|
+
|
|
46
|
+
| Pattern | Detection Method |
|
|
47
|
+
|---------|-----------------|
|
|
48
|
+
| **Commit conventions** | Regex on commit messages (feat:, fix:, chore:) |
|
|
49
|
+
| **File co-changes** | Files that always change together |
|
|
50
|
+
| **Workflow sequences** | Repeated file change patterns |
|
|
51
|
+
| **Architecture** | Folder structure and naming conventions |
|
|
52
|
+
| **Testing patterns** | Test file locations, naming, coverage |
|
|
53
|
+
|
|
54
|
+
### Step 3: Generate SKILL.md
|
|
55
|
+
|
|
56
|
+
Output format:
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
---
|
|
60
|
+
name: {repo-name}-patterns
|
|
61
|
+
description: Coding patterns extracted from {repo-name}
|
|
62
|
+
version: 1.0.0
|
|
63
|
+
source: local-git-analysis
|
|
64
|
+
analyzed_commits: {count}
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
# {Repo Name} Patterns
|
|
68
|
+
|
|
69
|
+
## Commit Conventions
|
|
70
|
+
{detected commit message patterns}
|
|
71
|
+
|
|
72
|
+
## Code Architecture
|
|
73
|
+
{detected folder structure and organization}
|
|
74
|
+
|
|
75
|
+
## Workflows
|
|
76
|
+
{detected repeating file change patterns}
|
|
77
|
+
|
|
78
|
+
## Testing Patterns
|
|
79
|
+
{detected test conventions}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Step 4: Generate Instincts (if --instincts)
|
|
83
|
+
|
|
84
|
+
For continuous-learning-v2 integration:
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
---
|
|
88
|
+
id: {repo}-commit-convention
|
|
89
|
+
trigger: "when writing a commit message"
|
|
90
|
+
confidence: 0.8
|
|
91
|
+
domain: git
|
|
92
|
+
source: local-repo-analysis
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
# Use Conventional Commits
|
|
96
|
+
|
|
97
|
+
## Action
|
|
98
|
+
Prefix commits with: feat:, fix:, chore:, docs:, test:, refactor:
|
|
99
|
+
|
|
100
|
+
## Evidence
|
|
101
|
+
- Analyzed {n} commits
|
|
102
|
+
- {percentage}% follow conventional commit format
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Example Output
|
|
106
|
+
|
|
107
|
+
Running `/skill-create` on a TypeScript project might produce:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
---
|
|
111
|
+
name: my-app-patterns
|
|
112
|
+
description: Coding patterns from my-app repository
|
|
113
|
+
version: 1.0.0
|
|
114
|
+
source: local-git-analysis
|
|
115
|
+
analyzed_commits: 150
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
# My App Patterns
|
|
119
|
+
|
|
120
|
+
## Commit Conventions
|
|
121
|
+
|
|
122
|
+
This project uses **conventional commits**:
|
|
123
|
+
- `feat:` - New features
|
|
124
|
+
- `fix:` - Bug fixes
|
|
125
|
+
- `chore:` - Maintenance tasks
|
|
126
|
+
- `docs:` - Documentation updates
|
|
127
|
+
|
|
128
|
+
## Code Architecture
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
src/
|
|
132
|
+
├── components/ # React components (PascalCase.tsx)
|
|
133
|
+
├── hooks/ # Custom hooks (use*.ts)
|
|
134
|
+
├── utils/ # Utility functions
|
|
135
|
+
├── types/ # TypeScript type definitions
|
|
136
|
+
└── services/ # API and external services
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Workflows
|
|
140
|
+
|
|
141
|
+
### Adding a New Component
|
|
142
|
+
1. Create `src/components/ComponentName.tsx`
|
|
143
|
+
2. Add tests in `src/components/__tests__/ComponentName.test.tsx`
|
|
144
|
+
3. Export from `src/components/index.ts`
|
|
145
|
+
|
|
146
|
+
### Database Migration
|
|
147
|
+
1. Modify `src/db/schema.ts`
|
|
148
|
+
2. Run `pnpm db:generate`
|
|
149
|
+
3. Run `pnpm db:migrate`
|
|
150
|
+
|
|
151
|
+
## Testing Patterns
|
|
152
|
+
|
|
153
|
+
- Test files: `__tests__/` directories or `.test.ts` suffix
|
|
154
|
+
- Coverage target: 80%+
|
|
155
|
+
- Framework: Vitest
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## GitHub App Integration
|
|
159
|
+
|
|
160
|
+
For advanced features (10k+ commits, team sharing, auto-PRs), use the [Skill Creator GitHub App](https://github.com/apps/skill-creator):
|
|
161
|
+
|
|
162
|
+
- Install: [github.com/apps/skill-creator](https://github.com/apps/skill-creator)
|
|
163
|
+
- Comment `/skill-creator analyze` on any issue
|
|
164
|
+
- Receives PR with generated skills
|
|
165
|
+
|
|
166
|
+
## Related Commands
|
|
167
|
+
|
|
168
|
+
- `/instinct-import` - Import generated instincts
|
|
169
|
+
- `/instinct-status` - View learned instincts
|
|
170
|
+
- `/evolve` - Cluster instincts into skills/agents
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
*Part of [Everything Claude Code](https://github.com/affaan-m/everything-claude-code)*
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-health
|
|
3
|
+
description: Show skill portfolio health dashboard with charts and analytics
|
|
4
|
+
command: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill Health Dashboard
|
|
8
|
+
|
|
9
|
+
Shows a comprehensive health dashboard for all skills in the portfolio with success rate sparklines, failure pattern clustering, pending amendments, and version history.
|
|
10
|
+
|
|
11
|
+
## Implementation
|
|
12
|
+
|
|
13
|
+
Run the skill health CLI in dashboard mode:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ECC_ROOT="${CLAUDE_PLUGIN_ROOT:-$(node -e "var r=(()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();console.log(r)")}"
|
|
17
|
+
node "$ECC_ROOT/scripts/skills-health.js" --dashboard
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
For a specific panel only:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
ECC_ROOT="${CLAUDE_PLUGIN_ROOT:-$(node -e "var r=(()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();console.log(r)")}"
|
|
24
|
+
node "$ECC_ROOT/scripts/skills-health.js" --dashboard --panel failures
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
For machine-readable output:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
ECC_ROOT="${CLAUDE_PLUGIN_ROOT:-$(node -e "var r=(()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();console.log(r)")}"
|
|
31
|
+
node "$ECC_ROOT/scripts/skills-health.js" --dashboard --json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
/skill-health # Full dashboard view
|
|
38
|
+
/skill-health --panel failures # Only failure clustering panel
|
|
39
|
+
/skill-health --json # Machine-readable JSON output
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## What to Do
|
|
43
|
+
|
|
44
|
+
1. Run the skills-health.js script with --dashboard flag
|
|
45
|
+
2. Display the output to the user
|
|
46
|
+
3. If any skills are declining, highlight them and suggest running /evolve
|
|
47
|
+
4. If there are pending amendments, suggest reviewing them
|
|
48
|
+
|
|
49
|
+
## Panels
|
|
50
|
+
|
|
51
|
+
- **Success Rate (30d)** — Sparkline charts showing daily success rates per skill
|
|
52
|
+
- **Failure Patterns** — Clustered failure reasons with horizontal bar chart
|
|
53
|
+
- **Pending Amendments** — Amendment proposals awaiting review
|
|
54
|
+
- **Version History** — Timeline of version snapshots per skill
|