diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..038a72e --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,688 @@ +{ + "name": "codex-agents", + "owner": { + "name": "Cal" + }, + "plugins": [ + { + "name": "accessibility-tester", + "source": "./plugins/accessibility-tester", + "description": "Use when a task needs an accessibility audit of UI changes, interaction flows, or component behavior." + }, + { + "name": "ad-security-reviewer", + "source": "./plugins/ad-security-reviewer", + "description": "Use when a task needs Active Directory security review across identity boundaries, delegation, GPO exposure, or directory hardening." + }, + { + "name": "agent-installer", + "source": "./plugins/agent-installer", + "description": "Use when a task needs help selecting, copying, or organizing custom agent files from this repository into Codex agent directories." + }, + { + "name": "agent-organizer", + "source": "./plugins/agent-organizer", + "description": "Use when the parent agent needs help choosing subagents and dividing a larger task into clean delegated threads." + }, + { + "name": "ai-engineer", + "source": "./plugins/ai-engineer", + "description": "Use when a task needs implementation or debugging of model-backed application features, agent flows, or evaluation hooks." + }, + { + "name": "angular-architect", + "source": "./plugins/angular-architect", + "description": "Use when a task needs Angular-specific help for component architecture, dependency injection, routing, signals, or enterprise application structure." + }, + { + "name": "api-designer", + "source": "./plugins/api-designer", + "description": "Use when a task needs API contract design, evolution planning, or compatibility review before implementation starts." + }, + { + "name": "api-documenter", + "source": "./plugins/api-documenter", + "description": "Use when a task needs consumer-facing API documentation generated from the real implementation, schema, and examples." + }, + { + "name": "architect-reviewer", + "source": "./plugins/architect-reviewer", + "description": "Use when a task needs architectural review for coupling, system boundaries, long-term maintainability, or design coherence." + }, + { + "name": "azure-infra-engineer", + "source": "./plugins/azure-infra-engineer", + "description": "Use when a task needs Azure-specific infrastructure review or implementation across resources, networking, identity, or automation." + }, + { + "name": "backend-developer", + "source": "./plugins/backend-developer", + "description": "Use when a task needs scoped backend implementation or backend bug fixes after the owning path is known." + }, + { + "name": "blockchain-developer", + "source": "./plugins/blockchain-developer", + "description": "Use when a task needs blockchain or Web3 implementation and review across smart-contract integration, wallet flows, or transaction lifecycle handling." + }, + { + "name": "browser-debugger", + "source": "./plugins/browser-debugger", + "description": "Use when a task needs browser-based reproduction, UI evidence gathering, or client-side debugging through a browser MCP server." + }, + { + "name": "build-engineer", + "source": "./plugins/build-engineer", + "description": "Use when a task needs build-graph debugging, bundling fixes, compiler pipeline work, or CI build stabilization." + }, + { + "name": "business-analyst", + "source": "./plugins/business-analyst", + "description": "Use when a task needs requirements clarified, scope normalized, or acceptance criteria extracted from messy inputs before engineering work starts." + }, + { + "name": "chaos-engineer", + "source": "./plugins/chaos-engineer", + "description": "Use when a task needs resilience analysis for dependency failure, degraded modes, recovery behavior, or controlled fault-injection planning." + }, + { + "name": "cli-developer", + "source": "./plugins/cli-developer", + "description": "Use when a task needs a command-line interface feature, UX review, argument parsing change, or shell-facing workflow improvement." + }, + { + "name": "cloud-architect", + "source": "./plugins/cloud-architect", + "description": "Use when a task needs cloud architecture review across compute, storage, networking, reliability, or multi-service design." + }, + { + "name": "code-mapper", + "source": "./plugins/code-mapper", + "description": "Use when the parent agent needs a high-confidence map of code paths, ownership boundaries, and execution flow before changes are made." + }, + { + "name": "code-reviewer", + "source": "./plugins/code-reviewer", + "description": "Use when a task needs a broader code-health review covering maintainability, design clarity, and risky implementation choices in addition to correctness." + }, + { + "name": "competitive-analyst", + "source": "./plugins/competitive-analyst", + "description": "Use when a task needs a grounded comparison of tools, products, libraries, or implementation options." + }, + { + "name": "compliance-auditor", + "source": "./plugins/compliance-auditor", + "description": "Use when a task needs compliance-oriented review of controls, auditability, policy alignment, or evidence gaps in a regulated workflow." + }, + { + "name": "content-marketer", + "source": "./plugins/content-marketer", + "description": "Use when a task needs product-adjacent content strategy or messaging that still has to stay grounded in real technical capabilities." + }, + { + "name": "context-manager", + "source": "./plugins/context-manager", + "description": "Use when a task needs a compact project context summary that other subagents can rely on before deeper work begins." + }, + { + "name": "cpp-pro", + "source": "./plugins/cpp-pro", + "description": "Use when a task needs C++ work involving performance-sensitive code, memory ownership, concurrency, or systems-level integration." + }, + { + "name": "csharp-developer", + "source": "./plugins/csharp-developer", + "description": "Use when a task needs C# or .NET application work involving services, APIs, async flows, or application architecture." + }, + { + "name": "customer-success-manager", + "source": "./plugins/customer-success-manager", + "description": "Use when a task needs support-pattern synthesis, adoption risk analysis, or customer-facing operational guidance from engineering context." + }, + { + "name": "data-analyst", + "source": "./plugins/data-analyst", + "description": "Use when a task needs data interpretation, metric breakdown, trend explanation, or decision support from existing analytics outputs." + }, + { + "name": "data-engineer", + "source": "./plugins/data-engineer", + "description": "Use when a task needs ETL, ingestion, transformation, warehouse, or data-pipeline implementation and debugging." + }, + { + "name": "data-researcher", + "source": "./plugins/data-researcher", + "description": "Use when a task needs source gathering and synthesis around datasets, metrics, data pipelines, or evidence-backed quantitative questions." + }, + { + "name": "data-scientist", + "source": "./plugins/data-scientist", + "description": "Use when a task needs statistical reasoning, experiment interpretation, feature analysis, or model-oriented data exploration." + }, + { + "name": "database-administrator", + "source": "./plugins/database-administrator", + "description": "Use when a task needs operational database administration review for availability, backups, recovery, permissions, or runtime health." + }, + { + "name": "database-optimizer", + "source": "./plugins/database-optimizer", + "description": "Use when a task needs database performance analysis for query plans, schema design, indexing, or data access patterns." + }, + { + "name": "debugger", + "source": "./plugins/debugger", + "description": "Use when a task needs deep bug isolation across code paths, stack traces, runtime behavior, or failing tests." + }, + { + "name": "dependency-manager", + "source": "./plugins/dependency-manager", + "description": "Use when a task needs dependency upgrades, package graph analysis, version-policy cleanup, or third-party library risk assessment." + }, + { + "name": "deployment-engineer", + "source": "./plugins/deployment-engineer", + "description": "Use when a task needs deployment workflow changes, release strategy updates, or rollout and rollback safety analysis." + }, + { + "name": "devops-engineer", + "source": "./plugins/devops-engineer", + "description": "Use when a task needs CI, deployment pipeline, release automation, or environment configuration work." + }, + { + "name": "devops-incident-responder", + "source": "./plugins/devops-incident-responder", + "description": "Use when a task needs rapid operational triage across CI, deployments, infrastructure automation, and service delivery failures." + }, + { + "name": "django-developer", + "source": "./plugins/django-developer", + "description": "Use when a task needs Django-specific work across models, views, forms, ORM behavior, or admin and middleware flows." + }, + { + "name": "docker-expert", + "source": "./plugins/docker-expert", + "description": "Use when a task needs Dockerfile review, image optimization, multi-stage build fixes, or container runtime debugging." + }, + { + "name": "docs-researcher", + "source": "./plugins/docs-researcher", + "description": "Use when a task needs documentation-backed verification of APIs, version-specific behavior, or framework options." + }, + { + "name": "documentation-engineer", + "source": "./plugins/documentation-engineer", + "description": "Use when a task needs technical documentation that must stay faithful to current code, tooling, and operator workflows." + }, + { + "name": "dotnet-core-expert", + "source": "./plugins/dotnet-core-expert", + "description": "Use when a task needs modern .NET and ASP.NET Core expertise for APIs, hosting, middleware, or cross-platform application behavior." + }, + { + "name": "dotnet-framework-4.8-expert", + "source": "./plugins/dotnet-framework-4.8-expert", + "description": "Use when a task needs .NET Framework 4.8 expertise for legacy enterprise applications, compatibility constraints, or Windows-bound integrations." + }, + { + "name": "dx-optimizer", + "source": "./plugins/dx-optimizer", + "description": "Use when a task needs developer-experience improvements in setup time, local workflows, feedback loops, or day-to-day tooling friction." + }, + { + "name": "electron-pro", + "source": "./plugins/electron-pro", + "description": "Use when a task needs Electron-specific implementation or debugging across main/renderer/preload boundaries, packaging, and desktop runtime behavior." + }, + { + "name": "elixir-expert", + "source": "./plugins/elixir-expert", + "description": "Use when a task needs Elixir and OTP expertise for processes, supervision, fault tolerance, or Phoenix application behavior." + }, + { + "name": "embedded-systems", + "source": "./plugins/embedded-systems", + "description": "Use when a task needs embedded or hardware-adjacent work involving device constraints, firmware boundaries, timing, or low-level integration." + }, + { + "name": "erlang-expert", + "source": "./plugins/erlang-expert", + "description": "Use when a task needs Erlang/OTP and rebar3 expertise for BEAM processes, testing, releases, upgrades, or distributed runtime behavior." + }, + { + "name": "error-coordinator", + "source": "./plugins/error-coordinator", + "description": "Use when multiple errors or symptoms need to be grouped, prioritized, and assigned to the right debugging or review agents." + }, + { + "name": "error-detective", + "source": "./plugins/error-detective", + "description": "Use when a task needs log, exception, or stack-trace analysis to identify the most probable failure source quickly." + }, + { + "name": "fintech-engineer", + "source": "./plugins/fintech-engineer", + "description": "Use when a task needs financial systems engineering across ledgers, reconciliation, transfers, settlement, or compliance-sensitive transactional flows." + }, + { + "name": "flutter-expert", + "source": "./plugins/flutter-expert", + "description": "Use when a task needs Flutter expertise for widget behavior, state management, rendering issues, or mobile cross-platform implementation." + }, + { + "name": "frontend-developer", + "source": "./plugins/frontend-developer", + "description": "Use when a task needs scoped frontend implementation or UI bug fixes with production-level behavior and quality." + }, + { + "name": "fullstack-developer", + "source": "./plugins/fullstack-developer", + "description": "Use when one bounded feature or bug spans frontend and backend and a single worker should own the entire path." + }, + { + "name": "game-developer", + "source": "./plugins/game-developer", + "description": "Use when a task needs game-specific implementation or debugging involving gameplay systems, rendering loops, asset flow, or player-state behavior." + }, + { + "name": "git-workflow-manager", + "source": "./plugins/git-workflow-manager", + "description": "Use when a task needs help with branching strategy, merge flow, release branching, or repository collaboration conventions." + }, + { + "name": "golang-pro", + "source": "./plugins/golang-pro", + "description": "Use when a task needs Go expertise for concurrency, service implementation, interfaces, tooling, or performance-sensitive backend paths." + }, + { + "name": "graphql-architect", + "source": "./plugins/graphql-architect", + "description": "Use when a task needs GraphQL schema evolution, resolver architecture, federation design, or distributed graph performance/security review." + }, + { + "name": "incident-responder", + "source": "./plugins/incident-responder", + "description": "Use when a task needs broad production incident triage, containment planning, or evidence-driven root cause analysis." + }, + { + "name": "iot-engineer", + "source": "./plugins/iot-engineer", + "description": "Use when a task needs IoT system work involving devices, telemetry, edge communication, or cloud-device coordination." + }, + { + "name": "it-ops-orchestrator", + "source": "./plugins/it-ops-orchestrator", + "description": "Use when a task needs coordinated operational planning across infrastructure, incident response, identity, endpoint, and admin workflows." + }, + { + "name": "java-architect", + "source": "./plugins/java-architect", + "description": "Use when a task needs Java application or service architecture help across framework boundaries, JVM behavior, or large codebase structure." + }, + { + "name": "javascript-pro", + "source": "./plugins/javascript-pro", + "description": "Use when a task needs JavaScript-focused work for runtime behavior, browser or Node execution, or application-level code that is not TypeScript-led." + }, + { + "name": "knowledge-synthesizer", + "source": "./plugins/knowledge-synthesizer", + "description": "Use when multiple agents have returned findings and the parent agent needs a distilled, non-redundant synthesis." + }, + { + "name": "kotlin-specialist", + "source": "./plugins/kotlin-specialist", + "description": "Use when a task needs Kotlin expertise for JVM applications, Android code, coroutines, or modern strongly typed service logic." + }, + { + "name": "kubernetes-specialist", + "source": "./plugins/kubernetes-specialist", + "description": "Use when a task needs Kubernetes manifest review, rollout safety analysis, or cluster workload debugging." + }, + { + "name": "laravel-specialist", + "source": "./plugins/laravel-specialist", + "description": "Use when a task needs Laravel-specific work across routing, Eloquent, queues, validation, or application structure." + }, + { + "name": "legacy-modernizer", + "source": "./plugins/legacy-modernizer", + "description": "Use when a task needs a modernization path for older code, frameworks, or architecture without losing behavioral safety." + }, + { + "name": "legal-advisor", + "source": "./plugins/legal-advisor", + "description": "Use when a task needs legal-risk spotting in product or engineering behavior, especially around terms, data handling, or externally visible commitments." + }, + { + "name": "llm-architect", + "source": "./plugins/llm-architect", + "description": "Use when a task needs architecture review for prompts, tool use, retrieval, evaluation, or multi-step LLM workflows." + }, + { + "name": "m365-admin", + "source": "./plugins/m365-admin", + "description": "Use when a task needs Microsoft 365 administration help across Exchange Online, Teams, SharePoint, identity, or tenant-level automation." + }, + { + "name": "machine-learning-engineer", + "source": "./plugins/machine-learning-engineer", + "description": "Use when a task needs ML system implementation work across training pipelines, feature flow, model serving, or inference integration." + }, + { + "name": "market-researcher", + "source": "./plugins/market-researcher", + "description": "Use when a task needs market landscape, positioning, or demand-side research tied to a technical product or category." + }, + { + "name": "mcp-developer", + "source": "./plugins/mcp-developer", + "description": "Use when a task needs work on MCP servers, MCP clients, tool wiring, or protocol-aware integrations." + }, + { + "name": "microservices-architect", + "source": "./plugins/microservices-architect", + "description": "Use when a task needs service-boundary design, inter-service contract review, or distributed-system architecture decisions." + }, + { + "name": "ml-engineer", + "source": "./plugins/ml-engineer", + "description": "Use when a task needs practical machine learning implementation across feature engineering, inference wiring, and model-backed application logic." + }, + { + "name": "mlops-engineer", + "source": "./plugins/mlops-engineer", + "description": "Use when a task needs model deployment, registry, pipeline, monitoring, or environment orchestration for machine learning systems." + }, + { + "name": "mobile-app-developer", + "source": "./plugins/mobile-app-developer", + "description": "Use when a task needs app-level mobile product work across screens, state, API integration, and release-sensitive mobile behavior." + }, + { + "name": "mobile-developer", + "source": "./plugins/mobile-developer", + "description": "Use when a task needs mobile implementation or debugging across app lifecycle, API integration, and device/platform-specific UX constraints." + }, + { + "name": "multi-agent-coordinator", + "source": "./plugins/multi-agent-coordinator", + "description": "Use when a task needs a concrete multi-agent plan with clear role separation, dependencies, and result integration." + }, + { + "name": "network-engineer", + "source": "./plugins/network-engineer", + "description": "Use when a task needs network-path analysis, service connectivity debugging, load-balancer review, or infrastructure network design input." + }, + { + "name": "nextjs-developer", + "source": "./plugins/nextjs-developer", + "description": "Use when a task needs Next.js-specific work across routing, rendering modes, server actions, data fetching, or deployment-sensitive frontend behavior." + }, + { + "name": "nlp-engineer", + "source": "./plugins/nlp-engineer", + "description": "Use when a task needs NLP-specific implementation or analysis involving text processing, embeddings, ranking, or language-model-adjacent pipelines." + }, + { + "name": "payment-integration", + "source": "./plugins/payment-integration", + "description": "Use when a task needs payment-flow review or implementation for checkout, idempotency, webhooks, retries, or settlement state handling." + }, + { + "name": "penetration-tester", + "source": "./plugins/penetration-tester", + "description": "Use when a task needs adversarial review of an application path for exploitability, abuse cases, or practical attack surface analysis." + }, + { + "name": "performance-engineer", + "source": "./plugins/performance-engineer", + "description": "Use when a task needs performance investigation for slow requests, hot paths, rendering regressions, or scalability bottlenecks." + }, + { + "name": "performance-monitor", + "source": "./plugins/performance-monitor", + "description": "Use when a task needs ongoing performance-signal interpretation across build, runtime, or operational metrics before deeper optimization starts." + }, + { + "name": "php-pro", + "source": "./plugins/php-pro", + "description": "Use when a task needs PHP expertise for application logic, framework integration, runtime debugging, or server-side code evolution." + }, + { + "name": "platform-engineer", + "source": "./plugins/platform-engineer", + "description": "Use when a task needs internal platform, golden-path, or self-service infrastructure design for developers." + }, + { + "name": "postgres-pro", + "source": "./plugins/postgres-pro", + "description": "Use when a task needs PostgreSQL-specific expertise for schema design, performance behavior, locking, or operational database features." + }, + { + "name": "powershell-5.1-expert", + "source": "./plugins/powershell-5.1-expert", + "description": "Use when a task needs Windows PowerShell 5.1 expertise for legacy automation, full .NET Framework interop, or Windows administration scripts." + }, + { + "name": "powershell-7-expert", + "source": "./plugins/powershell-7-expert", + "description": "Use when a task needs modern PowerShell 7 expertise for cross-platform automation, scripting, or .NET-based operational tooling." + }, + { + "name": "powershell-module-architect", + "source": "./plugins/powershell-module-architect", + "description": "Use when a task needs PowerShell module structure, command design, packaging, or profile architecture work." + }, + { + "name": "powershell-security-hardening", + "source": "./plugins/powershell-security-hardening", + "description": "Use when a task needs PowerShell-focused hardening across script safety, admin automation, execution controls, or Windows security posture." + }, + { + "name": "powershell-ui-architect", + "source": "./plugins/powershell-ui-architect", + "description": "Use when a task needs PowerShell-based UI work for terminals, forms, WPF, or admin-oriented interactive tooling." + }, + { + "name": "product-manager", + "source": "./plugins/product-manager", + "description": "Use when a task needs product framing, prioritization, or feature-shaping based on engineering reality and user impact." + }, + { + "name": "project-manager", + "source": "./plugins/project-manager", + "description": "Use when a task needs dependency mapping, milestone planning, sequencing, or delivery-risk coordination across multiple workstreams." + }, + { + "name": "prompt-engineer", + "source": "./plugins/prompt-engineer", + "description": "Use when a task needs prompt revision, instruction design, eval-oriented prompt comparison, or prompt-output contract tightening." + }, + { + "name": "python-pro", + "source": "./plugins/python-pro", + "description": "Use when a task needs a Python-focused subagent for runtime behavior, packaging, typing, testing, or framework-adjacent implementation." + }, + { + "name": "qa-expert", + "source": "./plugins/qa-expert", + "description": "Use when a task needs test strategy, acceptance coverage planning, or risk-based QA guidance for a feature or release." + }, + { + "name": "quant-analyst", + "source": "./plugins/quant-analyst", + "description": "Use when a task needs quantitative analysis of models, strategies, simulations, or numeric decision logic." + }, + { + "name": "rails-expert", + "source": "./plugins/rails-expert", + "description": "Use when a task needs Ruby on Rails expertise for models, controllers, jobs, callbacks, or convention-driven application changes." + }, + { + "name": "react-specialist", + "source": "./plugins/react-specialist", + "description": "Use when a task needs a React-focused agent for component behavior, state flow, rendering bugs, or modern React patterns." + }, + { + "name": "refactoring-specialist", + "source": "./plugins/refactoring-specialist", + "description": "Use when a task needs a low-risk structural refactor that preserves behavior while improving readability, modularity, or maintainability." + }, + { + "name": "research-analyst", + "source": "./plugins/research-analyst", + "description": "Use when a task needs a structured investigation of a technical topic, implementation approach, or design question." + }, + { + "name": "reviewer", + "source": "./plugins/reviewer", + "description": "Use when a task needs PR-style review focused on correctness, security, behavior regressions, and missing tests." + }, + { + "name": "risk-manager", + "source": "./plugins/risk-manager", + "description": "Use when a task needs explicit risk analysis for product, operational, financial, or architectural decisions." + }, + { + "name": "rust-engineer", + "source": "./plugins/rust-engineer", + "description": "Use when a task needs Rust expertise for ownership-heavy systems code, async runtime behavior, or performance-sensitive implementation." + }, + { + "name": "sales-engineer", + "source": "./plugins/sales-engineer", + "description": "Use when a task needs technically accurate solution positioning, customer-question handling, or implementation tradeoff explanation for pre-sales contexts." + }, + { + "name": "scrum-master", + "source": "./plugins/scrum-master", + "description": "Use when a task needs process facilitation, iteration planning, or workflow friction analysis for an engineering team." + }, + { + "name": "search-specialist", + "source": "./plugins/search-specialist", + "description": "Use when a task needs fast, high-signal searching of the codebase or external sources before deeper analysis begins." + }, + { + "name": "security-auditor", + "source": "./plugins/security-auditor", + "description": "Use when a task needs focused security review of code, auth flows, secrets handling, input validation, or infrastructure configuration." + }, + { + "name": "security-engineer", + "source": "./plugins/security-engineer", + "description": "Use when a task needs infrastructure and platform security engineering across IAM, secrets, network controls, or hardening work." + }, + { + "name": "seo-specialist", + "source": "./plugins/seo-specialist", + "description": "Use when a task needs search-focused technical review across crawlability, metadata, rendering, information architecture, or content discoverability." + }, + { + "name": "slack-expert", + "source": "./plugins/slack-expert", + "description": "Use when a task needs Slack platform work involving bots, interactivity, events, workflows, or Slack-specific integration behavior." + }, + { + "name": "spring-boot-engineer", + "source": "./plugins/spring-boot-engineer", + "description": "Use when a task needs Spring Boot expertise for service behavior, configuration, data access, or enterprise API implementation." + }, + { + "name": "sql-pro", + "source": "./plugins/sql-pro", + "description": "Use when a task needs SQL query design, query review, schema-aware debugging, or database migration analysis." + }, + { + "name": "sre-engineer", + "source": "./plugins/sre-engineer", + "description": "Use when a task needs reliability engineering work involving SLOs, alerting, error budgets, operational safety, or service resilience." + }, + { + "name": "swift-expert", + "source": "./plugins/swift-expert", + "description": "Use when a task needs Swift expertise for iOS or macOS code, async flows, Apple platform APIs, or strongly typed application logic." + }, + { + "name": "task-distributor", + "source": "./plugins/task-distributor", + "description": "Use when a broad task needs to be broken into concrete sub-tasks with clear boundaries for multiple agents or contributors." + }, + { + "name": "technical-writer", + "source": "./plugins/technical-writer", + "description": "Use when a task needs release notes, migration notes, onboarding material, or developer-facing prose derived from real code changes." + }, + { + "name": "terraform-engineer", + "source": "./plugins/terraform-engineer", + "description": "Use when a task needs Terraform module design, plan review, state-aware change analysis, or IaC refactoring." + }, + { + "name": "terragrunt-expert", + "source": "./plugins/terragrunt-expert", + "description": "Use when a task needs Terragrunt-specific help for module orchestration, environment layering, dependency wiring, or DRY infrastructure structure." + }, + { + "name": "test-automator", + "source": "./plugins/test-automator", + "description": "Use when a task needs implementation of automated tests, test harness improvements, or targeted regression coverage." + }, + { + "name": "tooling-engineer", + "source": "./plugins/tooling-engineer", + "description": "Use when a task needs internal developer tooling, scripts, automation glue, or workflow support utilities." + }, + { + "name": "trend-analyst", + "source": "./plugins/trend-analyst", + "description": "Use when a task needs trend synthesis across technology shifts, adoption patterns, or emerging implementation directions." + }, + { + "name": "typescript-pro", + "source": "./plugins/typescript-pro", + "description": "Use when a task needs strong TypeScript help for types, interfaces, refactors, or compiler-driven fixes." + }, + { + "name": "ui-designer", + "source": "./plugins/ui-designer", + "description": "Use when a task needs concrete UI decisions, interaction design, and implementation-ready design guidance before or during development." + }, + { + "name": "ui-fixer", + "source": "./plugins/ui-fixer", + "description": "Use when a UI issue is already reproduced and the parent agent wants the smallest safe patch." + }, + { + "name": "ux-researcher", + "source": "./plugins/ux-researcher", + "description": "Use when a task needs UI feedback synthesized into actionable product and implementation guidance." + }, + { + "name": "vue-expert", + "source": "./plugins/vue-expert", + "description": "Use when a task needs Vue expertise for component behavior, Composition API patterns, routing, or state and rendering issues." + }, + { + "name": "websocket-engineer", + "source": "./plugins/websocket-engineer", + "description": "Use when a task needs real-time transport and state work across WebSocket lifecycle, message contracts, and reconnect/failure behavior." + }, + { + "name": "windows-infra-admin", + "source": "./plugins/windows-infra-admin", + "description": "Use when a task needs Windows infrastructure administration across Active Directory, DNS, DHCP, GPO, or Windows automation." + }, + { + "name": "wordpress-master", + "source": "./plugins/wordpress-master", + "description": "Use when a task needs WordPress-specific implementation or debugging across themes, plugins, content architecture, or operational site behavior." + }, + { + "name": "workflow-orchestrator", + "source": "./plugins/workflow-orchestrator", + "description": "Use when the parent agent needs an explicit Codex subagent workflow for a complex task with multiple stages." + } + ] +} diff --git a/convert.py b/convert.py index eacf127..6cdad55 100755 --- a/convert.py +++ b/convert.py @@ -275,6 +275,34 @@ def main(): ) counts["removed"] = len(removed) + # Build marketplace.json (at .claude-plugin/marketplace.json relative to repo root) + marketplace_dir = args.output_dir.parent / ".claude-plugin" + marketplace_path = marketplace_dir / "marketplace.json" + + # Collect all agent descriptions for the marketplace index + all_agents: dict[str, str] = {} + for name, path in sorted(seen_names.items()): + with open(path, "rb") as f: + data = tomllib.load(f) + all_agents[name] = data.get("description", "") + + marketplace_data = { + "name": "codex-agents", + "owner": {"name": "Cal"}, + "plugins": [ + { + "name": name, + "source": f"./plugins/{name}", + "description": desc, + } + for name, desc in sorted(all_agents.items()) + ], + } + + if not args.dry_run: + marketplace_dir.mkdir(parents=True, exist_ok=True) + marketplace_path.write_text(json.dumps(marketplace_data, indent=2) + "\n") + # Write manifest manifest_data = { "synced_at": datetime.now(timezone.utc).isoformat(),