feat: разворачивание комка plugin-dev — 7 навыков (роутер-реестр)
Эпик роутер-реестр, спека v2 §2, этап 1. Зонтик plugin-dev развёрнут в 7 карточек-навыков + 7 под-узлов #57a..#57g. - 7 карточек plugin-dev__<навык>.contract.json (agent/command/hook/mcp/ plugin-structure/plugin-settings/skill-development) - nodes.yaml: узел #57 → #57a..#57g; keyword-триггеры на plugin-structure; ссылка L11 обновлена на plugin-dev:plugin-structure - зонтик plugin-dev убран (карточка + узел) - registry-load.test: 109 узлов / 101 active Регрессия (без 5 pre-existing node:test файлов): 4361 passed, exit 0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"skill": "plugin-dev",
|
||||
"kind": "external",
|
||||
"needs": ["намерение разработать marketplace Claude-плагин"],
|
||||
"produces": ["scaffold плагина (plugin.json, MCP, хуки, доки, публикация)"],
|
||||
"constraints": ["8 sub-skills + 3 агента", "НЕ standalone-скилы (skill-creator)"],
|
||||
"preview-form": "outline",
|
||||
"defaults": ["plugin.json + структура компонентов"],
|
||||
"key-decisions": ["состав компонентов плагина"],
|
||||
"acceptance-criteria": ["плагин валиден и публикуем"],
|
||||
"source": { "version": "n/a", "hash": "0000000000000000000000000000000000000000000000000000000000000000", "path": "" }
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:agent-development",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение создать субагента плагина"
|
||||
],
|
||||
"produces": [
|
||||
"субагент: frontmatter + when-to-use + системный промпт"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"структура агента и условия срабатывания"
|
||||
],
|
||||
"key-decisions": [
|
||||
"scope и триггеры агента"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"агент оформлен по best-practices"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:command-development",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение создать слэш-команду плагина"
|
||||
],
|
||||
"produces": [
|
||||
"слэш-команда: YAML-frontmatter + аргументы + bash"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"frontmatter и динамические аргументы"
|
||||
],
|
||||
"key-decisions": [
|
||||
"аргументы и интерактивность команды"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"команда работает с аргументами"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:hook-development",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение создать хук плагина (PreToolUse/PostToolUse/...)"
|
||||
],
|
||||
"produces": [
|
||||
"хук: событие + matcher + скрипт ${CLAUDE_PLUGIN_ROOT}"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"событие хука и matcher"
|
||||
],
|
||||
"key-decisions": [
|
||||
"какое событие перехватывать"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"хук срабатывает и не ломает поток"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:mcp-integration",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение подключить MCP-сервер в плагин"
|
||||
],
|
||||
"produces": [
|
||||
".mcp.json: stdio/SSE/HTTP-сервер в плагине"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"тип MCP-сервера и конфиг"
|
||||
],
|
||||
"key-decisions": [
|
||||
"тип транспорта MCP"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"MCP-сервер подключён через плагин"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:plugin-settings",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение сделать поведение плагина настраиваемым"
|
||||
],
|
||||
"produces": [
|
||||
".local.md настройки плагина (YAML-frontmatter + состояние)"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"per-project конфиг плагина"
|
||||
],
|
||||
"key-decisions": [
|
||||
"какие настройки выносить"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"настройки читаются плагином"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:plugin-structure",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение создать или организовать плагин"
|
||||
],
|
||||
"produces": [
|
||||
"структура плагина: plugin.json + раскладка компонентов"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"раскладка каталогов и манифест"
|
||||
],
|
||||
"key-decisions": [
|
||||
"организация компонентов плагина"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"структура плагина валидна"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"skill": "plugin-dev:skill-development",
|
||||
"kind": "external",
|
||||
"needs": [
|
||||
"намерение создать навык внутри плагина"
|
||||
],
|
||||
"produces": [
|
||||
"навык плагина: SKILL.md + прогрессивное раскрытие"
|
||||
],
|
||||
"constraints": [
|
||||
"под-навык зонтика plugin-dev (разработка Claude-плагинов)",
|
||||
"компоненты плагина, НЕ standalone-навыки (skill-creator)"
|
||||
],
|
||||
"preview-form": "outline",
|
||||
"defaults": [
|
||||
"структура навыка и прогрессивное раскрытие"
|
||||
],
|
||||
"key-decisions": [
|
||||
"scope и описание навыка"
|
||||
],
|
||||
"acceptance-criteria": [
|
||||
"навык оформлен и триггерится"
|
||||
],
|
||||
"source": {
|
||||
"version": "n/a",
|
||||
"hash": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"path": ""
|
||||
}
|
||||
}
|
||||
@@ -1245,14 +1245,70 @@ nodes:
|
||||
attributes:
|
||||
tooling_section: "§4.31 #56"
|
||||
|
||||
- id: "#57"
|
||||
name: "plugin-dev"
|
||||
slug: "plugin-dev"
|
||||
- id: "#57a"
|
||||
name: "agent-development"
|
||||
slug: "plugin-dev:agent-development"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "Плагин для разработки marketplace Claude-плагинов: 8 sub-skills (plugin.json, MCP-интеграция, хуки, документация, публикация) + 3 специализированных агента."
|
||||
capabilities: "Субагент плагина: frontmatter + when-to-use + системный промпт."
|
||||
triggers: []
|
||||
boundaries: []
|
||||
chain_membership: []
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#57b"
|
||||
name: "command-development"
|
||||
slug: "plugin-dev:command-development"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "Слэш-команда плагина: YAML-frontmatter + аргументы + bash."
|
||||
triggers: []
|
||||
boundaries: []
|
||||
chain_membership: []
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#57c"
|
||||
name: "hook-development"
|
||||
slug: "plugin-dev:hook-development"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "Хук плагина: событие (PreToolUse/PostToolUse/...) + matcher + скрипт ${CLAUDE_PLUGIN_ROOT}."
|
||||
triggers: []
|
||||
boundaries: []
|
||||
chain_membership: []
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#57d"
|
||||
name: "mcp-integration"
|
||||
slug: "plugin-dev:mcp-integration"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "MCP-сервер в плагине: .mcp.json (stdio/SSE/HTTP)."
|
||||
triggers: []
|
||||
boundaries: []
|
||||
chain_membership: []
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#57e"
|
||||
name: "plugin-structure"
|
||||
slug: "plugin-dev:plugin-structure"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "Структура плагина: plugin.json + раскладка компонентов. Входная точка разработки Claude-плагина."
|
||||
triggers:
|
||||
- {keyword: "разработка claude-плагинов", weight: 1.0}
|
||||
- {keyword: "плагин claude code", weight: 1.0}
|
||||
@@ -1264,6 +1320,34 @@ nodes:
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#57f"
|
||||
name: "plugin-settings"
|
||||
slug: "plugin-dev:plugin-settings"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "Настройки плагина: .local.md (YAML-frontmatter + состояние), per-project конфиг."
|
||||
triggers: []
|
||||
boundaries: []
|
||||
chain_membership: []
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#57g"
|
||||
name: "skill-development"
|
||||
slug: "plugin-dev:skill-development"
|
||||
category: "off-phase"
|
||||
subcategory: "authoring-tooling"
|
||||
status: "active"
|
||||
dormancy_reason: null
|
||||
capabilities: "Навык плагина: SKILL.md + прогрессивное раскрытие."
|
||||
triggers: []
|
||||
boundaries: []
|
||||
chain_membership: []
|
||||
attributes:
|
||||
tooling_section: "§4.32 #57"
|
||||
|
||||
- id: "#58"
|
||||
name: "hookify"
|
||||
slug: "hookify"
|
||||
@@ -2083,7 +2167,7 @@ chains:
|
||||
sequence:
|
||||
- "#56"
|
||||
- "#58"
|
||||
- "#57"
|
||||
- "plugin-dev:plugin-structure"
|
||||
|
||||
L12:
|
||||
name: "CLAUDE.md capture chain"
|
||||
|
||||
@@ -111,8 +111,8 @@
|
||||
| Комок | Статус | Коммит |
|
||||
|---|---|---|
|
||||
| claude-md-management (2) | ✅ DONE | e98ba1e (pushed) |
|
||||
| superpowers (14) | ✅ DONE (не закоммичено) | — |
|
||||
| plugin-dev (7) | ⬜ | |
|
||||
| superpowers (14) | ✅ DONE | 5a7c5c2 (pushed) |
|
||||
| plugin-dev (7) | ✅ DONE | этот коммит |
|
||||
| adr-kit (2: adr, judge) | ⬜ | |
|
||||
| hookify (1–2) | ⬜ | |
|
||||
| product-management (8) | ⬜ | |
|
||||
|
||||
Reference in New Issue
Block a user