Explains how to write Synapse plugin config.yaml files. Use when the user asks about "config.yaml", "plugin configuration", "action definition", "execution method", "runtime environment", or needs help with synapse plugin settings.
View on GitHubdatamaker-kr/synapse-claude-marketplace
synapse-plugin-helper
plugins/synapse-plugin-helper/skills/config-yaml-guide/SKILL.md
February 5, 2026
Select agents to install to:
npx add-skill https://github.com/datamaker-kr/synapse-claude-marketplace/blob/main/plugins/synapse-plugin-helper/skills/config-yaml-guide/SKILL.md -a claude-code --skill synapse-config-yaml-guideInstallation paths:
.claude/skills/synapse-config-yaml-guide/# Synapse Plugin config.yaml Guide
The `config.yaml` file (or `synapse.yaml`) defines your plugin's metadata, actions, and runtime configuration.
## Minimal Example
```yaml
name: "My Plugin"
code: my-plugin
version: 1.0.0
category: custom
actions:
train:
entrypoint: plugin.train:TrainAction
method: job
description: "Train a model"
```
## Complete Structure
```yaml
# Basic metadata
name: "YOLOv8 Object Detection"
code: yolov8
version: 1.0.0
category: neural_net
description: "Train and run YOLOv8 models"
readme: README.md
# Package management
package_manager: pip # or 'uv'
package_manager_options: []
wheels_dir: wheels
# Environment variables
env:
DEBUG: "false"
BATCH_SIZE: "32"
# Runtime environment (Ray)
runtime_env: {}
# Data type configuration
data_type: image
tasks:
- image.object_detection
- image.segmentation
# Actions
actions:
train:
entrypoint: plugin.train:TrainAction
method: job
description: "Train YOLO model"
inference:
entrypoint: plugin.inference:run
method: task
description: "Run inference"
```
## Action Configuration
| Field | Required | Description |
|-------|----------|-------------|
| `entrypoint` | Yes | Module path (`module.path:ClassName` or `module.path.function`) |
| `method` | No | Execution method: `job`, `task`, or `serve` (default: `task`) |
| `description` | No | Human-readable description |
**Config Sync (Recommended)**
Sync entrypoints, input/output types, and hyperparameters from code:
```bash
synapse plugin update-config
```
## Execution Methods
| Method | Use Case | Characteristics |
|--------|----------|-----------------|
| `job` | Training, batch processing | Async, isolated, long-running (100s+) |
| `task` | Interactive operations | Sync, fast startup (<1s), serial per actor |
| `serve` | Model serving, inference | REST API endpoint, auto-scaling |
## Entrypoint Formats
Both formats are supported:
- **Colon notation**: `plugin.train:TrainAction`
- **Dot notationIssues Found: