ADR-153: Plugin Development Framework
Status
Accepted - 2026-02-03
Context
With the plugin architecture established in ADR-152, CODITECT needs a standardized framework for:
- Creating new plugins (from scratch or by converting existing workflows)
- Customizing existing plugins for enterprise needs
- Validating plugin quality before activation
- Distributing plugins through a marketplace
This ADR defines the plugin development lifecycle, tooling, and quality gates.
Decision
1. Plugin Development Lifecycle
┌──────────────────────────────────────────────────────────────────┐
│ PLUGIN DEVELOPMENT LIFECYCLE │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ CREATE │──▶│ DEVELOP │──▶│ VERIFY │──▶│ PUBLISH │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ /plugin-new Edit skills MoE judges /plugin-publish │
│ scaffolds and commands validate registers in │
│ structure quality marketplace │
│ │
└──────────────────────────────────────────────────────────────────┘
2. Plugin Creation Command
# Create new plugin from scratch
/plugin-new enterprise-analytics "Analytics and business intelligence"
# Create adapter for Anthropic plugin
/plugin-new --adapter sales "Extended sales automation"
# Convert existing workflows to plugin
/plugin-from-workflows devops --tracks C,E
# Clone and customize existing plugin
/plugin-fork coditect/sales my-sales-plugin
3. Plugin Directory Structure
plugins/enterprise/<plugin-name>/
├── plugin.json # Plugin manifest (required)
├── README.md # User-facing documentation
├── CONNECTORS.md # MCP server configuration
├── .claude-plugin/
│ └── plugin.json # Claude Code compatibility
│
├── skills/ # Auto-triggered capabilities
│ ├── <skill-1>/
│ │ ├── SKILL.md # CODITECT skill format
│ │ └── references/ # Optional reference docs
│ └── <skill-2>/
│ └── SKILL.md
│
├── commands/ # Explicit user commands
│ ├── <command-1>.md # /plugin:command-1
│ └── <command-2>.md # /plugin:command-2
│
├── agents/ # Optional specialized agents
│ └── <agent-1>.md
│
├── workflows/ # Optional workflow definitions
│ └── <workflow-1>.yaml
│
├── config/ # Plugin configuration
│ ├── defaults.json # Default settings
│ └── schema.json # Configuration schema
│
└── tests/ # Plugin tests
├── skill-tests.yaml
└── command-tests.yaml
4. Plugin Manifest Schema
{
"$schema": "https://coditect.ai/schemas/plugin-v1.json",
"name": "coditect-enterprise-analytics",
"version": "1.0.0",
"description": "Enterprise analytics and business intelligence workflows",
"author": {
"name": "CODITECT Team",
"email": "support@coditect.ai"
},
"license": "Apache-2.0",
"coditect": {
"min_version": "2.11.0",
"track": "AD",
"cef_tracks": ["I-1", "I-3", "IN-3"],
"experience_pack": "data-analyst",
"quality_score": 85,
"moe_verified": true
},
"extends": null,
"connectors": {
"required": [],
"optional": [
{
"id": "snowflake-mcp",
"description": "Snowflake data warehouse connection",
"capabilities": ["query", "schema"]
},
{
"id": "tableau-mcp",
"description": "Tableau visualization integration",
"capabilities": ["publish", "embed"]
}
]
},
"skills": [
{
"path": "skills/data-exploration/SKILL.md",
"triggers": ["analyze data", "explore dataset", "data analysis"]
},
{
"path": "skills/dashboard-builder/SKILL.md",
"triggers": ["create dashboard", "build visualization"]
}
],
"commands": [
{
"path": "commands/run-query.md",
"name": "run-query",
"description": "Execute SQL query against connected data source"
},
{
"path": "commands/refresh-metrics.md",
"name": "refresh-metrics",
"description": "Refresh business metrics from data sources"
}
],
"dependencies": {
"plugins": [],
"mcp_servers": [],
"python_packages": ["pandas", "sqlalchemy"],
"npm_packages": []
},
"configuration": {
"schema": "config/schema.json",
"defaults": "config/defaults.json"
},
"keywords": ["analytics", "bi", "data", "sql", "visualization"],
"repository": {
"type": "git",
"url": "https://github.com/coditect-ai/plugin-enterprise-analytics"
}
}
5. Quality Gates
Plugins must pass MoE verification before activation:
# Quality gate configuration
quality_gates:
required:
- manifest_valid: true
- skills_have_triggers: true
- commands_have_descriptions: true
- readme_exists: true
- min_skill_quality: 70
moe_verification:
judges:
- persona: technical_architect
focus: architecture, patterns
- persona: domain_expert
focus: domain accuracy, completeness
- persona: qa_evaluator
focus: testability, edge cases
thresholds:
min_score: 75
consensus_required: 2/3
automated_checks:
- lint_markdown
- validate_yaml_frontmatter
- check_broken_links
- verify_connector_availability
6. Plugin Commands
# Discovery
/plugin-search "sales automation" # Search marketplace
/plugin-list # List installed plugins
/plugin-info <name> # Plugin details
# Installation
/plugin-install coditect/sales # Install from marketplace
/plugin-install ./my-plugin # Install local plugin
/plugin-update <name> # Update to latest version
/plugin-uninstall <name> # Remove plugin
# Development
/plugin-new <name> <description> # Create new plugin
/plugin-validate <path> # Validate plugin structure
/plugin-test <path> # Run plugin tests
/plugin-publish <path> # Publish to marketplace
# Customization
/plugin-configure <name> # Interactive configuration
/plugin-fork <name> <new-name> # Clone for customization
/plugin-export <name> # Export as standalone
7. Plugin Customization Model
# config/customization.yaml
customization:
terminology:
# Replace generic terms with company-specific
customer: client
deal: opportunity
pipeline: forecast
branding:
company_name: "Acme Corp"
product_name: "Acme Analytics Platform"
connectors:
# Override connector configurations
crm:
provider: salesforce
instance_url: "https://acme.salesforce.com"
workflows:
# Customize workflow behavior
approval_required:
- contract_review
- large_deal_close
access_control:
# Role-based plugin access
sales_team:
- sales/*
- customer-support/escalation
engineering:
- data/*
- enterprise-search/*
8. Plugin Discovery and Marketplace
┌─────────────────────────────────────────────────────────────┐
│ CODITECT PLUGIN MARKETPLACE │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ OFFICIAL │ │ COMMUNITY │ │ ENTERPRISE │ │
│ │ (Tier 1) │ │ (Tier 2) │ │ (Tier 3) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ Anthropic 11 Community-built Org-specific │
│ CODITECT core MoE-verified Private plugins │
│ Curated quality Quality varies Custom workflows │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ PLUGIN REGISTRY │ │
│ │ - Searchable index (platform.db) │ │
│ │ - Quality scores and ratings │ │
│ │ - Dependency resolution │ │
│ │ - Version management │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
9. Workflow-to-Plugin Conversion
Convert existing CODITECT workflows to plugin format:
# Convert single workflow
/plugin-from-workflow workflows/WF-CODE-REVIEW-PIPELINE.yaml \
--output plugins/enterprise/code-review/
# Convert track workflows
/plugin-from-workflows --track C \
--output plugins/enterprise/devops/
# Bulk conversion with filtering
/plugin-from-workflows \
--track C,E,D \
--min-usage 10 \
--quality-score 75 \
--output plugins/enterprise/
Conversion mapping:
| Workflow Element | Plugin Element |
|---|---|
steps | Skills (auto-trigger) |
triggers | Commands (explicit) |
agents | Agents directory |
variables | Configuration schema |
prerequisites | Dependencies |
Consequences
Positive
- Standardized Development: Clear patterns for plugin creation
- Quality Assurance: MoE verification ensures consistency
- Easy Customization: Enterprise-friendly configuration model
- Discoverable: Marketplace enables plugin sharing
- Migration Path: Convert existing workflows to plugins
Negative
- Learning Curve: New development model to learn
- Tooling Required: Need to build /plugin-* commands
- Testing Overhead: Plugin tests add maintenance burden
Risks
- Quality Dilution: Community plugins may have varying quality
- Version Conflicts: Plugin dependency management complexity
- Security: Malicious plugins could compromise systems
Implementation Plan
Phase 1: Core Commands (Week 1)
- Implement
/plugin-newscaffolding - Implement
/plugin-validatechecker - Implement
/plugin-listand/plugin-info
Phase 2: Development Workflow (Week 2)
- Add MoE verification integration
- Implement
/plugin-testrunner - Create plugin development guide
Phase 3: Conversion Tools (Week 3)
- Implement
/plugin-from-workflowconverter - Batch conversion script for existing workflows
- Create 10 pilot converted plugins
Phase 4: Marketplace (Week 4+)
- Design marketplace database schema
- Implement
/plugin-searchdiscovery - Build
/plugin-publishworkflow
References
- ADR-152: Enterprise Plugin Architecture
- ADR-136: CODITECT Experience Framework (CEF)
- Anthropic Knowledge Work Plugins
- MCP Server Specification
Track: H (Framework Autonomy) Task ID: H.21.2