update plugins skills
Alessandro committed
Mar 16, 2026 at 18:25 UTC
4d7e861a121bb661d2b4c854887bdc908ab9cf73
3 files changed
+19
-5
skills/a0-contribute-plugin/SKILL.md
+8
-4
@@ -54,10 +54,14 @@ your-plugin-repo/ <- GitHub repository root
54
├── README.md <- strongly recommended (shown in Plugin Hub detail view)
55
├── LICENSE <- strongly recommended
56
├── default_config.yaml <- optional
57
-├── api/
58
-├── tools/
59
-├── extensions/
60
-└── webui/
57
+├── api/ <- API handlers
58
+├── tools/ <- agent tools
59
+├── helpers/ <- shared Python logic
60
+├── prompts/ <- prompt templates
61
+├── agents/ <- agent profiles
62
+├── conf/ <- config files (e.g. model_providers.yaml)
63
+├── extensions/ <- lifecycle and UI extensions
64
+└── webui/ <- frontend pages, stores, components
65
```
66
67
### Runtime `plugin.yaml` requirements
skills/a0-create-plugin/SKILL.md
+4
@@ -203,6 +203,10 @@ save_plugin_config(
203
<profile>/agent.yaml # Optional plugin-distributed agent profile
204
api/ # API Handlers (ApiHandler base class)
205
tools/ # Tool subclasses
206
+ helpers/ # Shared Python logic
207
+ prompts/ # Prompt templates
208
+ conf/
209
+ model_providers.yaml # Optional: add or override model providers
210
extensions/
211
python/agent_init/ # Python lifecycle extensions
212
webui/<point>/ # HTML/JS hook extensions
skills/a0-review-plugin/SKILL.md
+7
-1
@@ -47,11 +47,17 @@ Inspect the plugin directory layout:
47
- [ ] If `api/` exists: contains Python files only; each should subclass `ApiHandler`
48
- [ ] If `tools/` exists: contains Python files only; each should subclass `Tool`
49
- [ ] If `extensions/` exists: check subdirs follow `python/<point>/` or `webui/<point>/` pattern
50
+- [ ] If `helpers/` exists: shared Python logic (standard directory)
51
+- [ ] If `prompts/` exists: prompt templates (standard directory)
52
+- [ ] If `agents/` exists: agent profiles with `<profile>/agent.yaml` (standard directory)
53
+- [ ] If `conf/` exists: configuration files such as `model_providers.yaml` (standard directory)
54
- [ ] If `webui/config.html` exists: plugin must declare at least one `settings_sections` entry
55
- [ ] If `hooks.py` exists: warn if it does NOT contain an `install` function (common oversight)
56
- [ ] If `execute.py` exists: check it has a `main()` function and `if __name__ == "__main__": sys.exit(main())`
57
- [ ] `default_config.yaml` (if present): valid YAML
54
-- [ ] No unexpected top-level files (anything not in the standard layout is a WARN)
58
+- [ ] No unexpected top-level entries (WARN for anything outside the standard layout)
59
+
60
+Standard top-level layout: `plugin.yaml`, `execute.py`, `hooks.py`, `default_config.yaml`, `README.md`, `LICENSE`, `__init__.py`, `api/`, `tools/`, `extensions/`, `webui/`, `helpers/`, `prompts/`, `agents/`, `conf/`
61
62
---
63