Files
claude-code/state/component-registry.json
OpenCode Test df6cf94dae feat(external-llm): add external LLM integration (fc-004)
Implements external LLM routing via opencode CLI for:
- GitHub Copilot (gpt-5.2, claude-sonnet-4.5, claude-haiku-4.5, o3, gemini-3-pro)
- Z.AI (glm-4.7 for code generation)
- OpenCode native (big-pickle)

Components:
- mcp/llm-router/invoke.py: Main router with task-based model selection
- mcp/llm-router/delegate.py: Agent delegation helper (respects external mode)
- mcp/llm-router/toggle.py: Enable/disable external-only mode
- mcp/llm-router/providers/: CLI wrappers for opencode and gemini

Features:
- Persistent toggle via state/external-mode.json
- Task routing: reasoning -> gpt-5.2, code-gen -> glm-4.7, long-context -> gemini
- Claude tier mapping: opus -> gpt-5.2, sonnet -> claude-sonnet-4.5, haiku -> claude-haiku-4.5
- Session-start hook announces when external mode is active
- Natural language toggle support via component registry

Plan: gleaming-routing-mercury

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:34:35 -08:00

601 lines
14 KiB
JSON

{
"version": "1.0",
"generated": "2026-01-04T14:29:44.138959-08:00",
"description": "Component registry for PA session awareness. Read at session start for routing.",
"skills": {
"sysadmin-health": {
"description": "Comprehensive health check on Arch Linux workstation",
"script": "~/.claude/skills/sysadmin-health/scripts/health-check.sh",
"triggers": [
"system health",
"disk space",
"memory",
"cpu",
"updates",
"services",
"workstation"
]
},
"k8s-quick-status": {
"description": "Quick cluster health pulse check",
"script": "~/.claude/skills/k8s-quick-status/scripts/quick-status.sh",
"triggers": [
"k8s status",
"cluster status",
"kubernetes",
"cluster health",
"nodes",
"pods"
]
},
"programmer-add-project": {
"description": "Register a new project with the programmer agent system",
"triggers": [
"add project",
"new project",
"register project",
"programmer project"
]
},
"gmail": {
"description": "Gmail read access via Python API",
"script": "~/.claude/skills/gmail/scripts/check_unread.py",
"triggers": [
"email",
"gmail",
"inbox",
"unread",
"mail",
"message",
"urgent email"
]
},
"gcal": {
"description": "Google Calendar read access",
"script": "~/.claude/skills/gcal/scripts/agenda.py",
"triggers": [
"calendar",
"gcal",
"schedule",
"meeting",
"event",
"agenda",
"busy",
"free",
"today",
"tomorrow"
]
},
"usage": {
"description": "Track and report model usage across sessions",
"script": "~/.claude/skills/usage/scripts/usage_report.py",
"triggers": [
"usage",
"stats",
"sessions",
"how much",
"tracking",
"history"
]
},
"morning-report": {
"description": "Generate daily morning dashboard with email, calendar, stocks, weather, tasks, infra, and news",
"script": "~/.claude/skills/morning-report/scripts/generate.py",
"triggers": [
"morning report",
"morning",
"daily report",
"dashboard",
"briefing",
"daily briefing"
]
},
"stock-lookup": {
"description": "Look up stock prices and quotes",
"script": "~/.claude/skills/stock-lookup/scripts/quote.py",
"triggers": [
"stock",
"stock price",
"quote",
"ticker",
"share price",
"market price",
"trend",
"performance"
]
},
"rag-search": {
"description": "Semantic search across personal state files and external documentation (k0s, etc.)",
"script": "~/.claude/skills/rag-search/scripts/search.py",
"triggers": [
"search",
"find",
"lookup",
"what did",
"how did",
"when did",
"past decisions",
"previous",
"documentation",
"docs",
"remember",
"history"
]
},
"gtasks": {
"description": "Google Tasks read access - list pending tasks",
"script": "~/.claude/skills/gtasks/scripts/list.py",
"triggers": [
"tasks",
"todo",
"to do",
"to-do",
"pending"
]
},
"guardrails": {
"description": "PreToolUse hook that prevents dangerous operations (rm -rf, system commands, etc.)",
"script": "~/.claude/hooks/scripts/guardrail.py",
"config": "~/.claude/state/guardrails.json",
"triggers": [
"guardrail",
"safety",
"block dangerous",
"protect"
]
},
"external-mode": {
"description": "Toggle between Claude and external LLMs (Copilot, Z.AI, Gemini)",
"script": "~/.claude/mcp/llm-router/toggle.py",
"triggers": [
"external",
"use external",
"switch to external",
"external models",
"external only",
"use copilot",
"use opencode",
"back to claude",
"use claude again",
"disable external",
"external mode"
]
}
},
"commands": {
"/pa": {
"description": "Personal assistant entrypoint",
"aliases": [
"/assistant",
"/ask"
],
"invokes": "agent:personal-assistant"
},
"/programmer": {
"description": "Code development tasks",
"aliases": [],
"invokes": "agent:programmer-orchestrator"
},
"/gcal": {
"description": "Google Calendar access",
"aliases": [
"/calendar",
"/cal"
],
"invokes": "skill:gcal"
},
"/tasks": {
"description": "List Google Tasks",
"aliases": [
"/todo",
"/todos"
],
"invokes": "skill:gtasks"
},
"/usage": {
"description": "View usage statistics",
"aliases": [
"/stats"
],
"invokes": "skill:usage"
},
"/README": {
"description": "TODO",
"aliases": [],
"invokes": ""
},
"/agent-info": {
"description": "Show agent information",
"aliases": [
"/agent",
"/agents"
],
"invokes": "command:agent-info"
},
"/config": {
"description": "View and manage configuration settings",
"aliases": [
"/settings",
"/prefs"
],
"invokes": "command:config"
},
"/debug": {
"description": "Debug and troubleshoot configuration",
"aliases": [
"/diag",
"/diagnose"
],
"invokes": "command:debug"
},
"/diff": {
"description": "Compare config with backup",
"aliases": [
"/config-diff",
"/compare"
],
"invokes": "command:diff"
},
"/export": {
"description": "Export session data for sharing",
"aliases": [
"/session-export",
"/share"
],
"invokes": "command:export"
},
"/help": {
"description": "Show available commands and skills",
"aliases": [
"/commands",
"/skills"
],
"invokes": "command:help"
},
"/log": {
"description": "View and analyze logs",
"aliases": [
"/logs",
"/logview"
],
"invokes": "command:log"
},
"/maintain": {
"description": "Configuration maintenance (backup, validate, etc.)",
"aliases": [
"/maintenance",
"/admin"
],
"invokes": "command:maintain"
},
"/mcp-status": {
"description": "Check MCP integration status",
"aliases": [
"/mcp",
"/integrations"
],
"invokes": "command:mcp-status"
},
"/remember": {
"description": "Quick shortcut to save something to memory",
"aliases": [
"/save",
"/note"
],
"invokes": "command:remember"
},
"/search": {
"description": "Search memory, history, and configuration",
"aliases": [
"/find",
"/lookup"
],
"invokes": "command:search"
},
"/rag": {
"description": "Semantic search across state files and documentation",
"aliases": [
"/rag-search",
"/semantic-search"
],
"invokes": "skill:rag-search"
},
"/skill-info": {
"description": "Show skill information",
"aliases": [
"/skill",
"/skills-info"
],
"invokes": "command:skill-info"
},
"/status": {
"description": "Quick status overview across all domains",
"aliases": [
"/overview",
"/dashboard"
],
"invokes": "command:status"
},
"/summarize": {
"description": "Summarize and save session to memory",
"aliases": [
"/save-session",
"/session-summary"
],
"invokes": "command:summarize"
},
"/template": {
"description": "Manage session templates",
"aliases": [
"/templates",
"/session-template"
],
"invokes": "command:template"
},
"/workflow": {
"description": "List and describe workflows",
"aliases": [
"/workflows",
"/wf"
],
"invokes": "command:workflow"
},
"/sysadmin:health": {
"description": "System health check",
"aliases": [],
"invokes": "skill:sysadmin-health"
},
"/sysadmin:update": {
"description": "System package updates",
"aliases": [],
"invokes": "workflow:sysadmin/system-update"
},
"/sysadmin:autonomy": {
"description": "Set sysadmin autonomy level",
"aliases": [],
"modifies": "state:sysadmin/session-autonomy"
},
"/k8s:cluster-status": {
"description": "Kubernetes cluster status",
"aliases": [],
"invokes": "skill:k8s-quick-status"
},
"/k8s:deploy": {
"description": "Deploy applications to Kubernetes",
"aliases": [],
"invokes": "workflow:deploy/deploy-app"
},
"/k8s:diagnose": {
"description": "Diagnose Kubernetes issues",
"aliases": [],
"invokes": "agent:k8s-diagnostician"
},
"/stock": {
"description": "Stock price lookup",
"aliases": [
"/quote",
"/ticker"
],
"invokes": "skill:stock-lookup",
"status": "removed"
},
"/morning": {
"description": "Generate morning report dashboard",
"aliases": [
"/briefing",
"/daily"
],
"invokes": "skill:morning-report",
"status": "removed"
}
},
"agents": {
"linux-sysadmin": {
"description": "Workstation management",
"model": "sonnet",
"triggers": [
"system",
"linux",
"package",
"service",
"disk",
"process"
]
},
"k8s-orchestrator": {
"description": "Kubernetes cluster management",
"model": "opus",
"triggers": [
"kubernetes",
"k8s",
"cluster",
"deploy"
]
},
"k8s-diagnostician": {
"description": "Kubernetes troubleshooting",
"model": "sonnet",
"triggers": [
"pod issue",
"crashloop",
"k8s error",
"deployment failed"
]
},
"argocd-operator": {
"description": "ArgoCD GitOps operations",
"model": "sonnet",
"triggers": [
"argocd",
"gitops",
"sync",
"app sync"
]
},
"prometheus-analyst": {
"description": "Metrics and alerting analysis",
"model": "sonnet",
"triggers": [
"metrics",
"prometheus",
"alert",
"grafana"
]
},
"git-operator": {
"description": "Git repository operations",
"model": "sonnet",
"triggers": [
"git",
"commit",
"branch",
"merge",
"repo"
]
},
"programmer-orchestrator": {
"description": "Code development coordination",
"model": "opus",
"triggers": [
"code",
"develop",
"implement",
"program"
]
},
"code-planner": {
"description": "Code planning and design",
"model": "sonnet",
"triggers": [
"plan code",
"design",
"architecture"
]
},
"code-implementer": {
"description": "Code implementation",
"model": "sonnet",
"triggers": [
"write code",
"implement",
"build"
]
},
"code-reviewer": {
"description": "Code review",
"model": "sonnet",
"triggers": [
"review",
"code review",
"check code"
]
},
"master-orchestrator": {
"description": "Coordinate and enforce policies",
"model": "opus",
"triggers": []
},
"personal-assistant": {
"description": "User interface, ultimate oversight",
"model": "opus",
"triggers": [
"help",
"assist",
"question"
]
},
"README": {
"description": "TODO",
"model": "sonnet",
"triggers": [
"TODO"
]
}
},
"workflows": {
"validate-agent-format": {
"description": "Validate agent file format",
"triggers": [
"validate agent",
"check agent format"
]
},
"health/cluster-health-check": {
"description": "Kubernetes cluster health check",
"triggers": [
"cluster health",
"k8s health"
]
},
"health/cluster-daily-summary": {
"description": "Daily cluster health summary",
"triggers": [
"daily summary",
"cluster summary"
]
},
"deploy/deploy-app": {
"description": "Deploy application to Kubernetes",
"triggers": [
"deploy app",
"deploy to k8s"
]
},
"incidents/pod-crashloop": {
"description": "Handle pod crashloop",
"triggers": [
"crashloop",
"pod crashing",
"restart loop"
]
},
"incidents/node-issue-response": {
"description": "Respond to node issues",
"triggers": [
"node issue",
"node down",
"node problem"
]
},
"incidents/resource-pressure-response": {
"description": "Handle resource pressure",
"triggers": [
"resource pressure",
"out of memory",
"disk full"
]
},
"incidents/argocd-sync-failure": {
"description": "Handle ArgoCD sync failures",
"triggers": [
"sync failed",
"argocd error"
]
},
"sysadmin/health-check": {
"description": "System health check workflow",
"triggers": [
"system check",
"health check"
]
},
"sysadmin/system-update": {
"description": "System update workflow",
"triggers": [
"system update",
"update packages",
"upgrade"
]
}
},
"delegation_helpers": {
"gmail_delegate.py": {
"description": "Gmail API with tiered delegation",
"location": "~/.claude/mcp/delegation/gmail_delegate.py"
},
"gcal_delegate.py": {
"description": "Calendar API with tiered delegation",
"location": "~/.claude/mcp/delegation/gcal_delegate.py"
}
}
}