@amsterdamdatalabs/enact-extensions 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/README.md +96 -21
  2. package/dist/index.d.ts +5 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/install.d.ts +171 -1
  7. package/dist/install.d.ts.map +1 -1
  8. package/dist/install.js +402 -49
  9. package/dist/install.js.map +1 -1
  10. package/dist/internal/codex.d.ts.map +1 -1
  11. package/dist/internal/codex.js +7 -1
  12. package/dist/internal/codex.js.map +1 -1
  13. package/dist/internal/platform.d.ts +8 -0
  14. package/dist/internal/platform.d.ts.map +1 -1
  15. package/dist/internal/platform.js +46 -2
  16. package/dist/internal/platform.js.map +1 -1
  17. package/dist/provision.d.ts +30 -0
  18. package/dist/provision.d.ts.map +1 -0
  19. package/dist/provision.js +202 -0
  20. package/dist/provision.js.map +1 -0
  21. package/dist/validate/index.d.ts +44 -0
  22. package/dist/validate/index.d.ts.map +1 -1
  23. package/dist/validate/index.js +157 -0
  24. package/dist/validate/index.js.map +1 -1
  25. package/extensions/cmux/.agents/plugin.json +37 -0
  26. package/extensions/cmux/skills/cmux/SKILL.md +82 -0
  27. package/extensions/cmux/skills/cmux/agents/openai.yaml +4 -0
  28. package/extensions/cmux/skills/cmux/references/handles-and-identify.md +35 -0
  29. package/extensions/cmux/skills/cmux/references/panes-surfaces.md +37 -0
  30. package/extensions/cmux/skills/cmux/references/trigger-flash-and-health.md +23 -0
  31. package/extensions/cmux/skills/cmux/references/windows-workspaces.md +31 -0
  32. package/extensions/cmux/skills/cmux-vm-monitor/SKILL.md +122 -0
  33. package/extensions/cmux/skills/cmux-vm-monitor/agents/openai.yaml +4 -0
  34. package/extensions/cmux/skills/cmux-vm-monitor/references/cmux-commands.md +66 -0
  35. package/extensions/cmux/skills/cmux-vm-monitor/scripts/codex_vm_monitor.sh +45 -0
  36. package/extensions/cmux/skills/cmux-workspace/SKILL.md +93 -0
  37. package/extensions/dev-state/.agents/plugin.json +35 -0
  38. package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +194 -0
  39. package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +4 -0
  40. package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +130 -0
  41. package/extensions/devops/.agents/plugin.json +36 -0
  42. package/extensions/devops/skills/azure-devops-cli/SKILL.md +431 -0
  43. package/extensions/devops/skills/azure-devops-cli/agents/openai.yaml +4 -0
  44. package/extensions/devops/skills/ci-pipeline-strategy/SKILL.md +217 -0
  45. package/extensions/devops/skills/ci-pipeline-strategy/agents/openai.yaml +4 -0
  46. package/extensions/enact-context/.agents/plugin.json +40 -0
  47. package/extensions/enact-context/.mcp.json +8 -0
  48. package/extensions/enact-context/README.md +25 -0
  49. package/extensions/enact-context/assets/icon.png +0 -0
  50. package/extensions/enact-context/assets/logo.png +0 -0
  51. package/extensions/enact-context/hooks/hooks.json +115 -0
  52. package/extensions/enact-context/skills/enact-context/SKILL.md +149 -0
  53. package/extensions/enact-context/skills/enact-context/scripts/install.sh +69 -0
  54. package/extensions/enact-factory/.agents/plugin.json +42 -0
  55. package/extensions/enact-factory/.mcp.json +8 -0
  56. package/extensions/enact-factory/assets/icon.png +0 -0
  57. package/extensions/enact-factory/assets/logo.png +0 -0
  58. package/extensions/enact-factory/hooks/user-prompt-submit.mjs +67 -0
  59. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +167 -0
  60. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +22 -0
  61. package/extensions/enact-operator/.agents/plugin.json +57 -0
  62. package/extensions/enact-operator/.app.json +3 -0
  63. package/extensions/enact-operator/.mcp.json +10 -0
  64. package/extensions/enact-operator/_taxonomy.md +86 -0
  65. package/extensions/enact-operator/agents/README.md +5 -0
  66. package/extensions/enact-operator/agents/architect.toml +25 -0
  67. package/extensions/enact-operator/agents/code-reviewer.toml +24 -0
  68. package/extensions/enact-operator/agents/critic.toml +30 -0
  69. package/extensions/enact-operator/agents/executor.toml +24 -0
  70. package/extensions/enact-operator/agents/explore.toml +23 -0
  71. package/extensions/enact-operator/agents/planner.toml +24 -0
  72. package/extensions/enact-operator/agents/verifier.toml +24 -0
  73. package/extensions/enact-operator/assets/icon.png +0 -0
  74. package/extensions/enact-operator/assets/logo.png +0 -0
  75. package/extensions/enact-operator/commands/doctor.md +39 -0
  76. package/extensions/enact-operator/commands/setup.md +51 -0
  77. package/extensions/enact-operator/hooks/hooks.json +146 -0
  78. package/extensions/enact-operator/skills/_variants.md +44 -0
  79. package/extensions/enact-operator/skills/ai-slop-cleaner/SKILL.md +50 -0
  80. package/extensions/enact-operator/skills/analyze/SKILL.md +91 -0
  81. package/extensions/enact-operator/skills/ask/SKILL.md +47 -0
  82. package/extensions/enact-operator/skills/autopilot/SKILL.md +170 -0
  83. package/extensions/enact-operator/skills/autoresearch-goal/SKILL.md +79 -0
  84. package/extensions/enact-operator/skills/cancel/SKILL.md +99 -0
  85. package/extensions/enact-operator/skills/configure-notifications/SKILL.md +77 -0
  86. package/extensions/enact-operator/skills/deep-interview/SKILL.md +80 -0
  87. package/extensions/enact-operator/skills/doctor/SKILL.md +48 -0
  88. package/extensions/enact-operator/skills/hud/SKILL.md +49 -0
  89. package/extensions/enact-operator/skills/hyperplan/SKILL.md +47 -0
  90. package/extensions/enact-operator/skills/plan/SKILL.md +78 -0
  91. package/extensions/enact-operator/skills/ralph/SKILL.md +201 -0
  92. package/extensions/enact-operator/skills/ralph/gemini.md +18 -0
  93. package/extensions/enact-operator/skills/ralplan/SKILL.md +151 -0
  94. package/extensions/enact-operator/skills/remove-deadcode/SKILL.md +45 -0
  95. package/extensions/enact-operator/skills/research/SKILL.md +74 -0
  96. package/extensions/enact-operator/skills/review/SKILL.md +58 -0
  97. package/extensions/enact-operator/skills/security-research/SKILL.md +54 -0
  98. package/extensions/enact-operator/skills/setup/SKILL.md +91 -0
  99. package/extensions/enact-operator/skills/setup/scripts/install.sh +50 -0
  100. package/extensions/enact-operator/skills/skill/SKILL.md +82 -0
  101. package/extensions/enact-operator/skills/tdd/SKILL.md +59 -0
  102. package/extensions/enact-operator/skills/team/SKILL.md +199 -0
  103. package/extensions/enact-operator/skills/trace/SKILL.md +41 -0
  104. package/extensions/enact-operator/skills/ultragoal/SKILL.md +99 -0
  105. package/extensions/enact-operator/skills/ultraqa/SKILL.md +113 -0
  106. package/extensions/enact-operator/skills/ultrawork/SKILL.md +145 -0
  107. package/extensions/enact-operator/skills/ultrawork/planner.md +28 -0
  108. package/extensions/enact-operator/skills/wiki/SKILL.md +41 -0
  109. package/extensions/enact-operator/skills/work-with-workitem/SKILL.md +51 -0
  110. package/extensions/enact-wiki/.agents/plugin.json +42 -0
  111. package/extensions/enact-wiki/.mcp.json +15 -0
  112. package/extensions/enact-wiki/README.md +44 -0
  113. package/extensions/enact-wiki/assets/icon.png +0 -0
  114. package/extensions/enact-wiki/assets/logo.png +0 -0
  115. package/extensions/enact-wiki/skills/document-parser/SKILL.md +17 -0
  116. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +60 -0
  117. package/extensions/enact-wiki/skills/document-parser/skill.json +9 -0
  118. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +30 -0
  119. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +62 -0
  120. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +34 -0
  121. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +59 -0
  122. package/extensions/enact-wiki/skills/search-lab/SKILL.md +57 -0
  123. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +23 -0
  124. package/{plugins/net-revenue-management/.codex-plugin → extensions/net-revenue-management/.agents}/plugin.json +10 -6
  125. package/extensions/plugin-dev/.agents/plugin.json +42 -0
  126. package/extensions/plugin-dev/.mcp.json +3 -0
  127. package/extensions/plugin-dev/agents/agent-creator.md +199 -0
  128. package/extensions/plugin-dev/agents/plugin-validator.md +91 -0
  129. package/extensions/plugin-dev/agents/skill-reviewer.md +212 -0
  130. package/extensions/plugin-dev/commands/_archive/create-marketplace.md +427 -0
  131. package/extensions/plugin-dev/commands/_archive/plugin-dev-guide.md +12 -0
  132. package/extensions/plugin-dev/commands/create-plugin.md +498 -0
  133. package/extensions/plugin-dev/commands/start.md +81 -0
  134. package/extensions/plugin-dev/hooks/hooks.json +3 -0
  135. package/extensions/plugin-dev/skills/agent-development/SKILL.md +641 -0
  136. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +250 -0
  137. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +461 -0
  138. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +246 -0
  139. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +216 -0
  140. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +226 -0
  141. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +464 -0
  142. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +474 -0
  143. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +176 -0
  144. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +227 -0
  145. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +227 -0
  146. package/extensions/plugin-dev/skills/command-development/SKILL.md +763 -0
  147. package/extensions/plugin-dev/skills/command-development/examples/plugin-commands.md +612 -0
  148. package/extensions/plugin-dev/skills/command-development/examples/simple-commands.md +527 -0
  149. package/extensions/plugin-dev/skills/command-development/references/advanced-workflows.md +762 -0
  150. package/extensions/plugin-dev/skills/command-development/references/documentation-patterns.md +769 -0
  151. package/extensions/plugin-dev/skills/command-development/references/frontmatter-reference.md +508 -0
  152. package/extensions/plugin-dev/skills/command-development/references/interactive-commands.md +966 -0
  153. package/extensions/plugin-dev/skills/command-development/references/marketplace-considerations.md +943 -0
  154. package/extensions/plugin-dev/skills/command-development/references/plugin-features-reference.md +637 -0
  155. package/extensions/plugin-dev/skills/command-development/references/plugin-integration.md +191 -0
  156. package/extensions/plugin-dev/skills/command-development/references/skill-tool.md +447 -0
  157. package/extensions/plugin-dev/skills/command-development/references/testing-strategies.md +723 -0
  158. package/extensions/plugin-dev/skills/command-development/scripts/check-frontmatter.sh +234 -0
  159. package/extensions/plugin-dev/skills/command-development/scripts/validate-command.sh +160 -0
  160. package/extensions/plugin-dev/skills/hook-development/SKILL.md +861 -0
  161. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +55 -0
  162. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +57 -0
  163. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +48 -0
  164. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +871 -0
  165. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +145 -0
  166. package/extensions/plugin-dev/skills/hook-development/references/migration.md +392 -0
  167. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +430 -0
  168. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +181 -0
  169. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +153 -0
  170. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +276 -0
  171. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
  172. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +775 -0
  173. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +20 -0
  174. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +19 -0
  175. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +38 -0
  176. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +26 -0
  177. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +601 -0
  178. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +190 -0
  179. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +572 -0
  180. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +623 -0
  181. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +222 -0
  182. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +705 -0
  183. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +774 -0
  184. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +83 -0
  185. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +611 -0
  186. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +289 -0
  187. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +592 -0
  188. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +233 -0
  189. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +193 -0
  190. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +625 -0
  191. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +116 -0
  192. package/extensions/plugin-dev/skills/skill-development/SKILL.md +564 -0
  193. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +465 -0
  194. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +167 -0
  195. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +111 -0
  196. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +225 -0
  197. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +39 -0
  198. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +379 -0
  199. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +210 -0
  200. package/package.json +8 -11
  201. package/scripts/enact-extensions.mjs +823 -21
  202. package/scripts/hooks/session-start-drift-check.mjs +58 -0
  203. package/scripts/lib/build-index.mjs +50 -0
  204. package/scripts/lib/bundle-hash.mjs +137 -0
  205. package/scripts/lib/hooks.mjs +741 -0
  206. package/scripts/lib/ledger.mjs +163 -0
  207. package/scripts/lib/list-bundles.mjs +70 -0
  208. package/scripts/lib/outdated.mjs +144 -0
  209. package/scripts/lib/provision-mcp.mjs +16 -0
  210. package/scripts/lib/resolve-bundle.mjs +121 -0
  211. package/scripts/lib/run-install.mjs +402 -38
  212. package/scripts/lib/run-prune.mjs +73 -0
  213. package/scripts/lib/run-sync.mjs +9 -1
  214. package/scripts/lib/run-uninstall.mjs +244 -0
  215. package/scripts/lib/run-update.mjs +152 -0
  216. package/scripts/lib/run-validate.mjs +21 -18
  217. package/scripts/lib/serve.mjs +472 -0
  218. package/scripts/postinstall.mjs +63 -0
  219. package/scripts/setup-enact-context.sh +2 -2
  220. package/scripts/version-bump.sh +463 -0
  221. package/spec/codex.json +1 -11
  222. package/spec/index.json +59 -0
  223. package/web/assets/README.md +111 -0
  224. package/web/assets/logo-full.png +0 -0
  225. package/web/assets/logo-slim.png +0 -0
  226. package/web/assets/tokens/base.css +45 -0
  227. package/web/assets/tokens/colors.css +248 -0
  228. package/web/assets/tokens/effects.css +24 -0
  229. package/web/assets/tokens/fonts.css +8 -0
  230. package/web/assets/tokens/index.css +18 -0
  231. package/web/assets/tokens/spacing.css +50 -0
  232. package/web/index.html +1188 -0
  233. package/.agents/plugins/marketplace.json +0 -20
  234. package/catalog/enact-context.json +0 -9
  235. package/catalog/enact-factory.json +0 -7
  236. package/catalog/enact-operator.json +0 -7
  237. package/catalog/enact-wiki.json +0 -7
  238. package/catalog/net-revenue-management.json +0 -8
  239. package/scripts/rename-supervisor-to-operator.pl +0 -66
  240. package/scripts/sync-manifests.mjs +0 -23
  241. package/scripts/validate-catalog.mjs +0 -37
  242. package/scripts/validate-plugin.mjs +0 -10
  243. /package/{plugins → extensions}/net-revenue-management/.mcp.json +0 -0
  244. /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -0
  245. /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -0
@@ -0,0 +1,498 @@
1
+ ---
2
+ description: Create plugins with guided 8-phase workflow
3
+ argument-hint: [plugin-description]
4
+ allowed-tools: Read, Write, Edit, Grep, Glob, Bash(mkdir:*), Bash(git init:*), TaskCreate, TaskGet, TaskUpdate, TaskList, AskUserQuestion, Skill, Task
5
+ model: sonnet
6
+ ---
7
+
8
+ # Plugin Creation Workflow
9
+
10
+ Guide the user through creating a complete, high-quality Claude Code plugin from initial concept to tested implementation. Follow a systematic approach: understand requirements, design components, clarify details, implement following best practices, validate, and test.
11
+
12
+ ## Core Principles
13
+
14
+ - **Ask clarifying questions**: Identify all ambiguities about plugin purpose, triggering, scope, and components. Ask specific, concrete questions rather than making assumptions. Wait for user answers before proceeding with implementation.
15
+ - **Load relevant skills**: Use the Skill tool to load plugin-dev skills when needed (plugin-structure, hook-development, agent-development, etc.)
16
+ - **Use specialized agents**: Leverage agent-creator, plugin-validator, and skill-reviewer agents for AI-assisted development
17
+ - **Follow best practices**: Apply patterns from plugin-dev's own implementation
18
+ - **Progressive disclosure**: Create lean skills with references/examples
19
+ - **Use Task tools**: Track all progress throughout all phases using TaskCreate, TaskUpdate, and TaskList
20
+
21
+ **Initial request:** $ARGUMENTS
22
+
23
+ **Security note:** This workflow has broad file system access to create plugin structures. It can write files and create directories within your permission scope. Review the target directory before starting, and see [docs/workflow-security.md](../../../docs/workflow-security.md) for details.
24
+
25
+ ---
26
+
27
+ ## Phase 1: Discovery
28
+
29
+ **Goal**: Understand what plugin needs to be built and what problem it solves
30
+
31
+ **Actions**:
32
+
33
+ 1. Create task list with all 8 phases
34
+ 2. If plugin purpose is clear from arguments:
35
+ - Summarize understanding
36
+ - Identify plugin type (integration, workflow, analysis, toolkit, etc.)
37
+ 3. If plugin purpose is unclear, ask user:
38
+ - What problem does this plugin solve?
39
+ - Who will use it and when?
40
+ - What should it do?
41
+ - Any similar plugins to reference?
42
+ 4. Summarize understanding and confirm with user before proceeding
43
+
44
+ **Output**: Clear statement of plugin purpose and target users
45
+
46
+ ---
47
+
48
+ ## Phase 2: Component Planning
49
+
50
+ **Goal**: Determine what plugin components are needed
51
+
52
+ **MUST load plugin-structure skill** using Skill tool before this phase.
53
+
54
+ **Actions**:
55
+
56
+ 1. Load plugin-structure skill to understand component types
57
+ 2. Analyze plugin requirements and determine needed components:
58
+ - **Skills**: Does it need specialized knowledge? (hooks API, MCP patterns, etc.)
59
+ - **Commands**: User-initiated actions? (deploy, configure, analyze)
60
+ - **Agents**: Autonomous tasks? (validation, generation, analysis)
61
+ - **Hooks**: Event-driven automation? (validation, notifications)
62
+ - **MCP**: External service integration? (databases, APIs)
63
+ - **LSP**: Code intelligence? (go-to-definition, find references)
64
+ - **Settings**: User configuration? (.local.md files)
65
+ 3. For each component type needed, identify:
66
+ - How many of each type
67
+ - What each one does
68
+ - Rough triggering/usage patterns
69
+ 4. Present component plan to user as table:
70
+ ```
71
+ | Component Type | Count | Purpose |
72
+ |----------------|-------|---------|
73
+ | Skills | 2 | Hook patterns, MCP usage |
74
+ | Commands | 3 | Deploy, configure, validate |
75
+ | Agents | 1 | Autonomous validation |
76
+ | Hooks | 0 | Not needed |
77
+ | MCP | 1 | Database integration |
78
+ ```
79
+ 5. Get user confirmation or adjustments
80
+
81
+ **Output**: Confirmed list of components to create
82
+
83
+ ---
84
+
85
+ ## Phase 3: Detailed Design & Clarifying Questions
86
+
87
+ **Goal**: Specify each component in detail and resolve all ambiguities
88
+
89
+ **CRITICAL**: This is one of the most important phases. DO NOT SKIP.
90
+
91
+ **Actions**:
92
+
93
+ 1. For each component in the plan, identify underspecified aspects:
94
+ - **Skills**: What triggers them? What knowledge do they provide? How detailed?
95
+ - **Commands**: What arguments? What tools? Interactive or automated?
96
+ - **Agents**: When to trigger (proactive/reactive)? What tools? Output format?
97
+ - **Hooks**: Which events? Prompt or command based? Validation criteria?
98
+ - **MCP**: What server type? Authentication? Which tools?
99
+ - **Settings**: What fields? Required vs optional? Defaults?
100
+
101
+ 2. **Present all questions to user in organized sections** (one section per component type)
102
+
103
+ 3. **Wait for answers before proceeding to implementation**
104
+
105
+ 4. If user says "whatever you think is best", provide specific recommendations and get explicit confirmation
106
+
107
+ **Example questions for a skill**:
108
+
109
+ - What specific user queries should trigger this skill?
110
+ - Should it include utility scripts? What functionality?
111
+ - How detailed should the core SKILL.md be vs references/?
112
+ - Any real-world examples to include?
113
+
114
+ **Example questions for an agent**:
115
+
116
+ - Should this agent trigger proactively after certain actions, or only when explicitly requested?
117
+ - What tools does it need (Read, Write, Bash, etc.)?
118
+ - What should the output format be?
119
+ - Any specific quality standards to enforce?
120
+
121
+ **Output**: Detailed specification for each component
122
+
123
+ ---
124
+
125
+ ## Phase 4: Plugin Structure Creation
126
+
127
+ **Goal**: Create plugin directory structure and manifest
128
+
129
+ **Actions**:
130
+
131
+ 1. Determine plugin name (kebab-case, descriptive)
132
+ 2. Choose plugin location:
133
+ - Ask user: "Where should I create the plugin?"
134
+ - Offer options: current directory, ../new-plugin-name, custom path
135
+ 3. Create directory structure using bash:
136
+ ```bash
137
+ mkdir -p plugin-name/.agents
138
+ mkdir -p plugin-name/skills # if needed
139
+ mkdir -p plugin-name/commands # if needed
140
+ mkdir -p plugin-name/agents # if needed
141
+ mkdir -p plugin-name/hooks # if needed
142
+ ```
143
+ 4. Create **canonical** `.agents/plugin.json` (see `plugin-structure` skill and `spec/enact.json`):
144
+ ```json
145
+ {
146
+ "name": "plugin-name",
147
+ "version": "0.1.0",
148
+ "description": "[brief description]",
149
+ "targets": ["claude", "codex", "cursor"],
150
+ "skills": "./skills/",
151
+ "commands": "./commands/",
152
+ "hooks": "./hooks/hooks.json",
153
+ "mcpServers": "./.mcp.json",
154
+ "author": { "name": "[author]" }
155
+ }
156
+ ```
157
+ 5. Sync and validate host manifests:
158
+ ```bash
159
+ cd /path/to/plugin-name
160
+ enact-extensions sync
161
+ enact-extensions validate
162
+ ```
163
+ 6. Create README.md template
164
+ 7. Create .gitignore if needed
165
+ 8. Initialize git repo if creating new directory (only `git init` is available; additional git operations are left to the user)
166
+
167
+ **Output**: Plugin directory structure created and ready for components
168
+
169
+ **Post-workflow git operations** (user can run after completion):
170
+
171
+ ```bash
172
+ git add .
173
+ git commit -m "feat: initial plugin structure"
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Phase 5: Component Implementation
179
+
180
+ **Goal**: Create each component following best practices
181
+
182
+ **LOAD RELEVANT SKILLS** before implementing each component type:
183
+
184
+ - Skills: Load skill-development skill
185
+ - Commands: Load command-development skill
186
+ - Agents: Load agent-development skill
187
+ - Hooks: Load hook-development skill
188
+ - MCP: Load mcp-integration skill
189
+ - LSP: Load lsp-integration skill
190
+ - Settings: Load plugin-settings skill
191
+
192
+ **Actions for each component**:
193
+
194
+ ### For Skills
195
+
196
+ 1. Load skill-development skill using Skill tool
197
+ 2. For each skill:
198
+ - Ask user for concrete usage examples (or use from Phase 3)
199
+ - Plan resources (scripts/, references/, examples/)
200
+ - Create skill directory structure
201
+ - Write SKILL.md with:
202
+ - Third-person description with specific trigger phrases
203
+ - Lean body (1,500-2,000 words) in imperative form
204
+ - References to supporting files
205
+ - Create reference files for detailed content
206
+ - Create example files for working code
207
+ - Create utility scripts if needed
208
+ 3. Use skill-reviewer agent to validate each skill
209
+
210
+ ### For Commands
211
+
212
+ 1. Load command-development skill using Skill tool
213
+ 2. For each command:
214
+ - Write command markdown with frontmatter
215
+ - Include clear description and argument-hint
216
+ - Specify allowed-tools (minimal necessary)
217
+ - Write instructions FOR Claude (not TO user)
218
+ - Provide usage examples and tips
219
+ - Reference relevant skills if applicable
220
+
221
+ ### For Agents
222
+
223
+ 1. Load agent-development skill using Skill tool
224
+ 2. For each agent, use agent-creator agent:
225
+ - Provide description of what agent should do
226
+ - Agent-creator generates: identifier, whenToUse with examples, systemPrompt
227
+ - Create agent markdown file with frontmatter and system prompt
228
+ - Add appropriate model, color, and tools
229
+ - Validate using plugin-validator agent
230
+
231
+ ### For Hooks
232
+
233
+ 1. Load hook-development skill using Skill tool
234
+ 2. For each hook:
235
+ - Create hooks/hooks.json with hook configuration
236
+ - Prefer prompt-based hooks for complex logic
237
+ - Use ${CLAUDE_PLUGIN_ROOT} for portability
238
+ - Create hook scripts if needed (in examples/ not scripts/)
239
+ - Validate using plugin-validator agent (handles hook schema validation)
240
+
241
+ ### For MCP
242
+
243
+ 1. Load mcp-integration skill using Skill tool
244
+ 2. Create .mcp.json configuration with:
245
+ - Server type (stdio for local, SSE for hosted)
246
+ - Command and args (with ${CLAUDE_PLUGIN_ROOT})
247
+ - extensionToLanguage mapping if LSP
248
+ - Environment variables as needed
249
+ 3. Document required env vars in README
250
+ 4. Provide setup instructions
251
+
252
+ ### For LSP
253
+
254
+ 1. Load lsp-integration skill using Skill tool
255
+ 2. Add lspServers configuration to plugin.json:
256
+ - Server command and args
257
+ - extensionToLanguage mapping
258
+ - Environment variables if needed
259
+ 3. Bundle LSP server binary if self-contained
260
+ 4. Or document external server installation in README
261
+ 5. Test with language files matching configured extensions
262
+
263
+ ### For Settings
264
+
265
+ 1. Load plugin-settings skill using Skill tool
266
+ 2. Create settings template in README
267
+ 3. Create example .claude/plugin-name.local.md file (as documentation)
268
+ 4. Implement settings reading in hooks/commands as needed
269
+ 5. Add to .gitignore: `.claude/*.local.md`
270
+
271
+ **Progress tracking**: Update tasks as each component is completed
272
+
273
+ **Output**: All plugin components implemented
274
+
275
+ ---
276
+
277
+ ## Phase 6: Validation & Quality Check
278
+
279
+ **Goal**: Ensure plugin meets quality standards and works correctly
280
+
281
+ **Actions**:
282
+
283
+ 1. **Run plugin-validator agent**:
284
+ - Use plugin-validator agent to comprehensively validate plugin
285
+ - Check: manifest, structure, naming, components, security
286
+ - Review validation report
287
+
288
+ 2. **Fix critical issues**:
289
+ - Address any critical errors from validation
290
+ - Fix any warnings that indicate real problems
291
+
292
+ 3. **Review with skill-reviewer** (if plugin has skills):
293
+ - For each skill, use skill-reviewer agent
294
+ - Check description quality, progressive disclosure, writing style
295
+ - Apply recommendations
296
+
297
+ 4. **Test agent triggering** (if plugin has agents):
298
+ - For each agent, verify <example> blocks are clear
299
+ - Check triggering conditions are specific
300
+ - Verify via plugin-validator agent
301
+
302
+ 5. **Test hook configuration** (if plugin has hooks):
303
+ - Validate via plugin-validator agent (checks hook schema and scripts)
304
+ - Verify ${CLAUDE_PLUGIN_ROOT} usage
305
+
306
+ 6. **Present findings**:
307
+ - Summary of validation results
308
+ - Any remaining issues
309
+ - Overall quality assessment
310
+
311
+ 7. **Ask user**: "Validation complete. Issues found: [count critical], [count warnings]. Would you like me to fix them now, or proceed to testing?"
312
+
313
+ **Output**: Plugin validated and ready for testing
314
+
315
+ ---
316
+
317
+ ## Phase 7: Testing & Verification
318
+
319
+ **Goal**: Test that plugin works correctly in Claude Code
320
+
321
+ **Actions**:
322
+
323
+ 1. **Installation instructions**:
324
+ - Show user how to test locally:
325
+ ```bash
326
+ claude --plugin-dir /path/to/plugin-name
327
+ ```
328
+ - Or copy to `.claude-plugin/` for project testing
329
+
330
+ 2. **Verification checklist** for user to perform:
331
+ - [ ] Skills load when triggered (ask questions with trigger phrases)
332
+ - [ ] Commands appear in `/help` and execute correctly
333
+ - [ ] Agents trigger on appropriate scenarios
334
+ - [ ] Hooks activate on events (if applicable)
335
+ - [ ] MCP servers connect (if applicable)
336
+ - [ ] Settings files work (if applicable)
337
+
338
+ 3. **Testing recommendations**:
339
+ - For skills: Ask questions using trigger phrases from descriptions
340
+ - For commands: Run `/plugin-name:command-name` with various arguments
341
+ - For agents: Create scenarios matching agent examples
342
+ - For hooks: Use `claude --debug` to see hook execution
343
+ - For MCP: Use `/mcp` to verify servers and tools
344
+
345
+ 4. **Ask user**: "I've prepared the plugin for testing. Would you like me to guide you through testing each component, or do you want to test it yourself?"
346
+
347
+ 5. **If user wants guidance**, walk through testing each component with specific test cases
348
+
349
+ **Output**: Plugin tested and verified working
350
+
351
+ ---
352
+
353
+ ## Phase 8: Documentation & Next Steps
354
+
355
+ **Goal**: Ensure plugin is well-documented and ready for distribution
356
+
357
+ **Actions**:
358
+
359
+ 1. **Verify README completeness**:
360
+ - Check README has: overview, features, installation, prerequisites, usage
361
+ - For MCP plugins: Document required environment variables
362
+ - For hook plugins: Explain hook activation
363
+ - For settings: Provide configuration templates
364
+
365
+ 2. **Ask about marketplace publishing**:
366
+ - Ask user: "Would you like to publish this plugin to a marketplace?"
367
+ - If yes, proceed with marketplace integration
368
+ - If no, skip to step 4
369
+
370
+ 3. **Marketplace integration** (if publishing):
371
+ - Load marketplace-structure skill using Skill tool
372
+ - Determine target marketplace:
373
+ - Ask: "Which marketplace? (existing marketplace path, create new, or skip)"
374
+ - If existing marketplace:
375
+ - Read marketplace.json
376
+ - Draft plugin entry:
377
+
378
+ ```json
379
+ {
380
+ "name": "[plugin-name]",
381
+ "source": "[relative-path-or-github]",
382
+ "description": "[from plugin.json]",
383
+ "version": "[from plugin.json]",
384
+ "category": "[suggest based on plugin type]"
385
+ }
386
+ ```
387
+
388
+ - Show diff of marketplace.json before/after addition
389
+ - Ask user to confirm entry
390
+ - Update marketplace.json with new plugin entry
391
+ - Update marketplace metadata.version (bump patch version)
392
+
393
+ - If create new marketplace:
394
+ - Suggest using `/plugin-dev:create-marketplace` command
395
+ - Or create minimal marketplace.json with this plugin as first entry
396
+ - Validate marketplace after update using plugin-validator agent
397
+
398
+ 4. **Create summary**:
399
+ - Mark all tasks complete
400
+ - List what was created:
401
+ - Plugin name and purpose
402
+ - Components created (X skills, Y commands, Z agents, etc.)
403
+ - Key files and their purposes
404
+ - Total file count and structure
405
+ - If added to marketplace:
406
+ - Marketplace name and location
407
+ - Plugin entry details
408
+ - Next steps:
409
+ - Testing recommendations
410
+ - Publishing to marketplace (if not done)
411
+ - Iteration based on usage
412
+
413
+ 5. **Suggest improvements** (optional):
414
+ - Additional components that could enhance plugin
415
+ - Integration opportunities
416
+ - Testing strategies
417
+
418
+ **Output**: Complete, documented plugin ready for use or publication
419
+
420
+ ---
421
+
422
+ ## Important Notes
423
+
424
+ ### Throughout All Phases
425
+
426
+ - **Use Task tools** to track progress at every phase (TaskCreate, TaskUpdate, TaskList)
427
+ - **Load skills with Skill tool** when working on specific component types
428
+ - **Use specialized agents** (agent-creator, plugin-validator, skill-reviewer)
429
+ - **Ask for user confirmation** at key decision points
430
+ - **Follow plugin-dev's own patterns** as reference examples
431
+ - **Apply best practices**:
432
+ - Third-person descriptions for skills
433
+ - Imperative form in skill bodies
434
+ - Commands written FOR Claude
435
+ - Strong trigger phrases
436
+ - ${CLAUDE_PLUGIN_ROOT} for portability
437
+ - Progressive disclosure
438
+ - Security-first (HTTPS, no hardcoded credentials)
439
+
440
+ ### Key Decision Points (Wait for User)
441
+
442
+ 1. After Phase 1: Confirm plugin purpose
443
+ 2. After Phase 2: Approve component plan
444
+ 3. After Phase 3: Proceed to implementation
445
+ 4. After Phase 6: Fix issues or proceed
446
+ 5. After Phase 7: Continue to documentation
447
+
448
+ ### Skills to Load by Phase
449
+
450
+ - **Phase 2**: plugin-structure
451
+ - **Phase 5**: skill-development, command-development, agent-development, hook-development, mcp-integration, lsp-integration, plugin-settings (as needed)
452
+ - **Phase 6**: (agents will use skills automatically)
453
+ - **Phase 8**: marketplace-structure (if publishing to marketplace)
454
+
455
+ ### Quality Standards
456
+
457
+ Every component must meet these standards:
458
+
459
+ - ✅ Follows plugin-dev's proven patterns
460
+ - ✅ Uses correct naming conventions
461
+ - ✅ Has strong trigger conditions (skills/agents)
462
+ - ✅ Includes working examples
463
+ - ✅ Properly documented
464
+ - ✅ Validated with utilities
465
+ - ✅ Tested in Claude Code
466
+
467
+ ---
468
+
469
+ ## Example Workflow
470
+
471
+ ### User Request
472
+
473
+ "Create a plugin for managing database migrations"
474
+
475
+ ### Phase 1: Discovery
476
+
477
+ - Understand: Migration management, database schema versioning
478
+ - Confirm: User wants to create, run, rollback migrations
479
+
480
+ ### Phase 2: Component Planning
481
+
482
+ - Skills: 1 (migration best practices)
483
+ - Commands: 3 (create-migration, run-migrations, rollback)
484
+ - Agents: 1 (migration-validator)
485
+ - MCP: 1 (database connection)
486
+
487
+ ### Phase 3: Clarifying Questions
488
+
489
+ - Which databases? (PostgreSQL, MySQL, etc.)
490
+ - Migration file format? (SQL, code-based?)
491
+ - Should agent validate before applying?
492
+ - What MCP tools needed? (query, execute, schema)
493
+
494
+ ### Phase 4-8: Implementation, Validation, Testing, Documentation
495
+
496
+ ---
497
+
498
+ Begin with Phase 1: Discovery.
@@ -0,0 +1,81 @@
1
+ ---
2
+ description: Start plugin development - choose your path
3
+ argument-hint: [description]
4
+ allowed-tools: AskUserQuestion, Skill, TaskCreate, TaskGet, TaskUpdate, TaskList
5
+ model: sonnet
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ # Plugin Development Entry Point
10
+
11
+ Welcome the user and help them choose the right path for their plugin development journey.
12
+
13
+ ## Your Task
14
+
15
+ Present the user with a clear choice between two development paths, explain when each is appropriate, then route them to the correct workflow.
16
+
17
+ ## Step 1: Handle Arguments
18
+
19
+ If the user provided arguments ($ARGUMENTS is not empty):
20
+
21
+ - Analyze the arguments to see if intent is already clear
22
+ - If arguments clearly indicate a plugin (e.g., "database migration tool"), suggest plugin path
23
+ - If arguments clearly indicate a marketplace (e.g., "team collection", "distribute our plugins"), suggest marketplace path
24
+ - Still ask for confirmation before routing
25
+
26
+ **Initial request:** $ARGUMENTS
27
+
28
+ ## Step 2: Provide Context
29
+
30
+ Before presenting the question, briefly explain:
31
+
32
+ ```text
33
+ Welcome to the Enact Plugin Manager!
34
+
35
+ **Plugin** → One bundle for Claude, Codex, and Cursor
36
+ - Canonical manifest: .agents/plugin.json
37
+ - Shared components: skills/, commands/, hooks/, .mcp.json
38
+ - Host copies: .claude-plugin/, .codex-plugin/, .cursor-plugin/
39
+ - Example: ../enact-operator/extensions/ (sibling top-level submodule of enact-os)
40
+
41
+ Load the plugin-structure skill, then run create-plugin for the full workflow.
42
+ ```
43
+
44
+ ## Step 3: Ask User Question
45
+
46
+ Use the AskUserQuestion tool with these parameters:
47
+
48
+ - **header**: "Create"
49
+ - **question**: "Ready to create an Enact plugin?"
50
+ - **multiSelect**: false
51
+ - **options**: (defined below)
52
+
53
+ **Options**:
54
+
55
+ Option 1:
56
+
57
+ - label: "Create a plugin (Recommended)"
58
+ - description: "Scaffold a multi-platform plugin with .agents/plugin.json and synced host manifests."
59
+
60
+ Option 2:
61
+
62
+ - label: "Validate an existing plugin"
63
+ - description: "Run plugin-validator on an existing bundle (e.g. ../enact-operator/extensions)."
64
+
65
+ ## Step 4: Route Based on Choice
66
+
67
+ **Create a plugin** → invoke `create-plugin` with `$ARGUMENTS`.
68
+
69
+ **Validate an existing plugin** → invoke `plugin-validator` agent on the path the user provides (default: `../enact-operator/extensions`).
70
+
71
+ ---
72
+
73
+ ## Important Notes
74
+
75
+ - Load `plugin-structure` when the user is new to multi-platform layout.
76
+ - After editing `.agents/plugin.json`, remind them to run `enact-extensions sync`.
77
+ - Marketplace authoring is archived under `commands/_archive/` — only mention if explicitly requested.
78
+
79
+ ---
80
+
81
+ Begin with the welcome message, then route to create or validate.
@@ -0,0 +1,3 @@
1
+ {
2
+ "hooks": {}
3
+ }