Plugins bundle rules, skills, agents, commands, MCP servers, and hooks into distributable packages. Use plugins to extend Qoder’s capabilities — from code review and automated deployment to connecting enterprise systems.
Each skill is an independent directory containing a SKILL.md file with YAML frontmatter + Markdown body:
---description: Run code lint checks and auto-fix for the current projectname: lint-check---## Workflow1. Read the project's lint configuration2. Run checks and summarize issues3. Auto-fix after user confirmation
Key fields:
Field
Description
description
The most important field — Qoder uses it to decide when to invoke the skill
When an MCP Server requires user credentials, use placeholders + _setup for guided configuration:
{ "mcpServers": { "audit-log": { "type": "streamable-http", "url": "{{USER_CONFIG}}", "_setup": { "configUrl": "https://example.com/mcp-setup", "guide": "Visit the link above to obtain your personal MCP Server URL", "required": true } } }}
{{USER_CONFIG}}: Placeholder — user fills in the actual URL during installation
_setup.configUrl: Page guiding users to obtain credentials
_setup.guide: Setup instruction text
_setup.required: Whether configuration is mandatory
Client behavior (QoderWork): When a Skill’s required Connector is not configured, QoderWork displays a friendly prompt asking the user to configure it, rather than throwing a connection error.
matcher: Filters which tool names trigger the hook
${QODER_PLUGIN_ROOT}: Absolute path to the plugin’s installation directory. Use it to reference internal plugin resources (scripts, configs, etc.) — paths resolve correctly regardless of where the plugin is installed
For supported event types and detailed configuration, see the Hooks documentation.
qoder.md is the plugin-level project instructions file, defining the agent persona, workflow orchestration, and guardrails. It is injected as the core system prompt when the plugin is activated. File name is qoder.md. QoderWork also recognizes qoderwork.md.
CONNECTORS.md documents connector dependencies for plugin users — which skills depend on which connections, what resources are accessed, and how to configure them.Example:
# Connector Dependencies## Audit Log- **Purpose**: skill "Query Logs" depends on this connector to read audit logs- **Resource**: Audit log API- **Setup**: Visit https://example.com/mcp-setup to obtain your personal MCP Server URL## Enterprise Database- **Purpose**: skill "Generate Reports" depends on this connector to query business data- **Resource**: PostgreSQL read-only replica- **Setup**: Contact your DBA to obtain a read-only connection string
This file helps users quickly understand which external connections need to be configured after installing the plugin, along with each connection’s permissions and security boundaries.
What’s the difference between a plugin and a standalone skill?
Standalone skills are for single-project use (placed in .qoder/skills/). Plugins are for cross-project sharing and enterprise distribution — bundling multiple skills and configurations as one unit.