@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.
- package/README.md +96 -21
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +171 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +402 -49
- package/dist/install.js.map +1 -1
- package/dist/internal/codex.d.ts.map +1 -1
- package/dist/internal/codex.js +7 -1
- package/dist/internal/codex.js.map +1 -1
- package/dist/internal/platform.d.ts +8 -0
- package/dist/internal/platform.d.ts.map +1 -1
- package/dist/internal/platform.js +46 -2
- package/dist/internal/platform.js.map +1 -1
- package/dist/provision.d.ts +30 -0
- package/dist/provision.d.ts.map +1 -0
- package/dist/provision.js +202 -0
- package/dist/provision.js.map +1 -0
- package/dist/validate/index.d.ts +44 -0
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +157 -0
- package/dist/validate/index.js.map +1 -1
- package/extensions/cmux/.agents/plugin.json +37 -0
- package/extensions/cmux/skills/cmux/SKILL.md +82 -0
- package/extensions/cmux/skills/cmux/agents/openai.yaml +4 -0
- package/extensions/cmux/skills/cmux/references/handles-and-identify.md +35 -0
- package/extensions/cmux/skills/cmux/references/panes-surfaces.md +37 -0
- package/extensions/cmux/skills/cmux/references/trigger-flash-and-health.md +23 -0
- package/extensions/cmux/skills/cmux/references/windows-workspaces.md +31 -0
- package/extensions/cmux/skills/cmux-vm-monitor/SKILL.md +122 -0
- package/extensions/cmux/skills/cmux-vm-monitor/agents/openai.yaml +4 -0
- package/extensions/cmux/skills/cmux-vm-monitor/references/cmux-commands.md +66 -0
- package/extensions/cmux/skills/cmux-vm-monitor/scripts/codex_vm_monitor.sh +45 -0
- package/extensions/cmux/skills/cmux-workspace/SKILL.md +93 -0
- package/extensions/dev-state/.agents/plugin.json +35 -0
- package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +194 -0
- package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +4 -0
- package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +130 -0
- package/extensions/devops/.agents/plugin.json +36 -0
- package/extensions/devops/skills/azure-devops-cli/SKILL.md +431 -0
- package/extensions/devops/skills/azure-devops-cli/agents/openai.yaml +4 -0
- package/extensions/devops/skills/ci-pipeline-strategy/SKILL.md +217 -0
- package/extensions/devops/skills/ci-pipeline-strategy/agents/openai.yaml +4 -0
- package/extensions/enact-context/.agents/plugin.json +40 -0
- package/extensions/enact-context/.mcp.json +8 -0
- package/extensions/enact-context/README.md +25 -0
- package/extensions/enact-context/assets/icon.png +0 -0
- package/extensions/enact-context/assets/logo.png +0 -0
- package/extensions/enact-context/hooks/hooks.json +115 -0
- package/extensions/enact-context/skills/enact-context/SKILL.md +149 -0
- package/extensions/enact-context/skills/enact-context/scripts/install.sh +69 -0
- package/extensions/enact-factory/.agents/plugin.json +42 -0
- package/extensions/enact-factory/.mcp.json +8 -0
- package/extensions/enact-factory/assets/icon.png +0 -0
- package/extensions/enact-factory/assets/logo.png +0 -0
- package/extensions/enact-factory/hooks/user-prompt-submit.mjs +67 -0
- package/extensions/enact-factory/skills/testing-strategy/SKILL.md +167 -0
- package/extensions/enact-factory/skills/workitem-triage/SKILL.md +22 -0
- package/extensions/enact-operator/.agents/plugin.json +57 -0
- package/extensions/enact-operator/.app.json +3 -0
- package/extensions/enact-operator/.mcp.json +10 -0
- package/extensions/enact-operator/_taxonomy.md +86 -0
- package/extensions/enact-operator/agents/README.md +5 -0
- package/extensions/enact-operator/agents/architect.toml +25 -0
- package/extensions/enact-operator/agents/code-reviewer.toml +24 -0
- package/extensions/enact-operator/agents/critic.toml +30 -0
- package/extensions/enact-operator/agents/executor.toml +24 -0
- package/extensions/enact-operator/agents/explore.toml +23 -0
- package/extensions/enact-operator/agents/planner.toml +24 -0
- package/extensions/enact-operator/agents/verifier.toml +24 -0
- package/extensions/enact-operator/assets/icon.png +0 -0
- package/extensions/enact-operator/assets/logo.png +0 -0
- package/extensions/enact-operator/commands/doctor.md +39 -0
- package/extensions/enact-operator/commands/setup.md +51 -0
- package/extensions/enact-operator/hooks/hooks.json +146 -0
- package/extensions/enact-operator/skills/_variants.md +44 -0
- package/extensions/enact-operator/skills/ai-slop-cleaner/SKILL.md +50 -0
- package/extensions/enact-operator/skills/analyze/SKILL.md +91 -0
- package/extensions/enact-operator/skills/ask/SKILL.md +47 -0
- package/extensions/enact-operator/skills/autopilot/SKILL.md +170 -0
- package/extensions/enact-operator/skills/autoresearch-goal/SKILL.md +79 -0
- package/extensions/enact-operator/skills/cancel/SKILL.md +99 -0
- package/extensions/enact-operator/skills/configure-notifications/SKILL.md +77 -0
- package/extensions/enact-operator/skills/deep-interview/SKILL.md +80 -0
- package/extensions/enact-operator/skills/doctor/SKILL.md +48 -0
- package/extensions/enact-operator/skills/hud/SKILL.md +49 -0
- package/extensions/enact-operator/skills/hyperplan/SKILL.md +47 -0
- package/extensions/enact-operator/skills/plan/SKILL.md +78 -0
- package/extensions/enact-operator/skills/ralph/SKILL.md +201 -0
- package/extensions/enact-operator/skills/ralph/gemini.md +18 -0
- package/extensions/enact-operator/skills/ralplan/SKILL.md +151 -0
- package/extensions/enact-operator/skills/remove-deadcode/SKILL.md +45 -0
- package/extensions/enact-operator/skills/research/SKILL.md +74 -0
- package/extensions/enact-operator/skills/review/SKILL.md +58 -0
- package/extensions/enact-operator/skills/security-research/SKILL.md +54 -0
- package/extensions/enact-operator/skills/setup/SKILL.md +91 -0
- package/extensions/enact-operator/skills/setup/scripts/install.sh +50 -0
- package/extensions/enact-operator/skills/skill/SKILL.md +82 -0
- package/extensions/enact-operator/skills/tdd/SKILL.md +59 -0
- package/extensions/enact-operator/skills/team/SKILL.md +199 -0
- package/extensions/enact-operator/skills/trace/SKILL.md +41 -0
- package/extensions/enact-operator/skills/ultragoal/SKILL.md +99 -0
- package/extensions/enact-operator/skills/ultraqa/SKILL.md +113 -0
- package/extensions/enact-operator/skills/ultrawork/SKILL.md +145 -0
- package/extensions/enact-operator/skills/ultrawork/planner.md +28 -0
- package/extensions/enact-operator/skills/wiki/SKILL.md +41 -0
- package/extensions/enact-operator/skills/work-with-workitem/SKILL.md +51 -0
- package/extensions/enact-wiki/.agents/plugin.json +42 -0
- package/extensions/enact-wiki/.mcp.json +15 -0
- package/extensions/enact-wiki/README.md +44 -0
- package/extensions/enact-wiki/assets/icon.png +0 -0
- package/extensions/enact-wiki/assets/logo.png +0 -0
- package/extensions/enact-wiki/skills/document-parser/SKILL.md +17 -0
- package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +60 -0
- package/extensions/enact-wiki/skills/document-parser/skill.json +9 -0
- package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +30 -0
- package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +62 -0
- package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +34 -0
- package/extensions/enact-wiki/skills/enact-wiki/references/query.md +59 -0
- package/extensions/enact-wiki/skills/search-lab/SKILL.md +57 -0
- package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +23 -0
- package/{plugins/net-revenue-management/.codex-plugin → extensions/net-revenue-management/.agents}/plugin.json +10 -6
- package/extensions/plugin-dev/.agents/plugin.json +42 -0
- package/extensions/plugin-dev/.mcp.json +3 -0
- package/extensions/plugin-dev/agents/agent-creator.md +199 -0
- package/extensions/plugin-dev/agents/plugin-validator.md +91 -0
- package/extensions/plugin-dev/agents/skill-reviewer.md +212 -0
- package/extensions/plugin-dev/commands/_archive/create-marketplace.md +427 -0
- package/extensions/plugin-dev/commands/_archive/plugin-dev-guide.md +12 -0
- package/extensions/plugin-dev/commands/create-plugin.md +498 -0
- package/extensions/plugin-dev/commands/start.md +81 -0
- package/extensions/plugin-dev/hooks/hooks.json +3 -0
- package/extensions/plugin-dev/skills/agent-development/SKILL.md +641 -0
- package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +250 -0
- package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +461 -0
- package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +246 -0
- package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +216 -0
- package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +226 -0
- package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +464 -0
- package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +474 -0
- package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +176 -0
- package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +227 -0
- package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +227 -0
- package/extensions/plugin-dev/skills/command-development/SKILL.md +763 -0
- package/extensions/plugin-dev/skills/command-development/examples/plugin-commands.md +612 -0
- package/extensions/plugin-dev/skills/command-development/examples/simple-commands.md +527 -0
- package/extensions/plugin-dev/skills/command-development/references/advanced-workflows.md +762 -0
- package/extensions/plugin-dev/skills/command-development/references/documentation-patterns.md +769 -0
- package/extensions/plugin-dev/skills/command-development/references/frontmatter-reference.md +508 -0
- package/extensions/plugin-dev/skills/command-development/references/interactive-commands.md +966 -0
- package/extensions/plugin-dev/skills/command-development/references/marketplace-considerations.md +943 -0
- package/extensions/plugin-dev/skills/command-development/references/plugin-features-reference.md +637 -0
- package/extensions/plugin-dev/skills/command-development/references/plugin-integration.md +191 -0
- package/extensions/plugin-dev/skills/command-development/references/skill-tool.md +447 -0
- package/extensions/plugin-dev/skills/command-development/references/testing-strategies.md +723 -0
- package/extensions/plugin-dev/skills/command-development/scripts/check-frontmatter.sh +234 -0
- package/extensions/plugin-dev/skills/command-development/scripts/validate-command.sh +160 -0
- package/extensions/plugin-dev/skills/hook-development/SKILL.md +861 -0
- package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +55 -0
- package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +57 -0
- package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +48 -0
- package/extensions/plugin-dev/skills/hook-development/references/advanced.md +871 -0
- package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +145 -0
- package/extensions/plugin-dev/skills/hook-development/references/migration.md +392 -0
- package/extensions/plugin-dev/skills/hook-development/references/patterns.md +430 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/README.md +181 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +153 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +276 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
- package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +775 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +20 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +19 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +38 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +26 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +601 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +190 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +572 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +623 -0
- package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +222 -0
- package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +705 -0
- package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +774 -0
- package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +83 -0
- package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +611 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +289 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +592 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +233 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +193 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +625 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +116 -0
- package/extensions/plugin-dev/skills/skill-development/SKILL.md +564 -0
- package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +465 -0
- package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +167 -0
- package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +111 -0
- package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +225 -0
- package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +39 -0
- package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +379 -0
- package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +210 -0
- package/package.json +8 -11
- package/scripts/enact-extensions.mjs +823 -21
- package/scripts/hooks/session-start-drift-check.mjs +58 -0
- package/scripts/lib/build-index.mjs +50 -0
- package/scripts/lib/bundle-hash.mjs +137 -0
- package/scripts/lib/hooks.mjs +741 -0
- package/scripts/lib/ledger.mjs +163 -0
- package/scripts/lib/list-bundles.mjs +70 -0
- package/scripts/lib/outdated.mjs +144 -0
- package/scripts/lib/provision-mcp.mjs +16 -0
- package/scripts/lib/resolve-bundle.mjs +121 -0
- package/scripts/lib/run-install.mjs +402 -38
- package/scripts/lib/run-prune.mjs +73 -0
- package/scripts/lib/run-sync.mjs +9 -1
- package/scripts/lib/run-uninstall.mjs +244 -0
- package/scripts/lib/run-update.mjs +152 -0
- package/scripts/lib/run-validate.mjs +21 -18
- package/scripts/lib/serve.mjs +472 -0
- package/scripts/postinstall.mjs +63 -0
- package/scripts/setup-enact-context.sh +2 -2
- package/scripts/version-bump.sh +463 -0
- package/spec/codex.json +1 -11
- package/spec/index.json +59 -0
- package/web/assets/README.md +111 -0
- package/web/assets/logo-full.png +0 -0
- package/web/assets/logo-slim.png +0 -0
- package/web/assets/tokens/base.css +45 -0
- package/web/assets/tokens/colors.css +248 -0
- package/web/assets/tokens/effects.css +24 -0
- package/web/assets/tokens/fonts.css +8 -0
- package/web/assets/tokens/index.css +18 -0
- package/web/assets/tokens/spacing.css +50 -0
- package/web/index.html +1188 -0
- package/.agents/plugins/marketplace.json +0 -20
- package/catalog/enact-context.json +0 -9
- package/catalog/enact-factory.json +0 -7
- package/catalog/enact-operator.json +0 -7
- package/catalog/enact-wiki.json +0 -7
- package/catalog/net-revenue-management.json +0 -8
- package/scripts/rename-supervisor-to-operator.pl +0 -66
- package/scripts/sync-manifests.mjs +0 -23
- package/scripts/validate-catalog.mjs +0 -37
- package/scripts/validate-plugin.mjs +0 -10
- /package/{plugins → extensions}/net-revenue-management/.mcp.json +0 -0
- /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -0
- /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.
|