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