@amsterdamdatalabs/enact-extensions 0.1.5 → 0.1.10

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 (105) hide show
  1. package/README.md +2 -2
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/install.d.ts.map +1 -1
  7. package/dist/install.js +15 -1
  8. package/dist/install.js.map +1 -1
  9. package/dist/internal/agents.d.ts +29 -0
  10. package/dist/internal/agents.d.ts.map +1 -0
  11. package/dist/internal/agents.js +83 -0
  12. package/dist/internal/agents.js.map +1 -0
  13. package/extensions/enact-context/hooks/hooks.json +20 -0
  14. package/extensions/enact-core/.agents/plugin.json +39 -0
  15. package/extensions/enact-core/hooks/hooks.json +14 -0
  16. package/extensions/enact-factory/.agents/plugin.json +9 -3
  17. package/extensions/enact-factory/agents/architect.toml +30 -0
  18. package/extensions/enact-factory/agents/code-reviewer.toml +29 -0
  19. package/extensions/enact-factory/agents/critic.toml +35 -0
  20. package/extensions/enact-factory/agents/executor.toml +23 -0
  21. package/extensions/enact-factory/agents/explore.toml +22 -0
  22. package/extensions/enact-factory/agents/planner.toml +23 -0
  23. package/extensions/enact-factory/agents/verifier.toml +29 -0
  24. package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +52 -0
  25. package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +262 -0
  26. package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +60 -0
  27. package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +87 -0
  28. package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +132 -0
  29. package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +53 -0
  30. package/extensions/enact-factory/skills/deep-interview/SKILL.md +72 -0
  31. package/extensions/enact-factory/skills/drive-loop/SKILL.md +259 -0
  32. package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +107 -0
  33. package/extensions/enact-factory/skills/hyperplan/SKILL.md +51 -0
  34. package/extensions/enact-factory/skills/looplan/SKILL.md +103 -0
  35. package/extensions/enact-factory/skills/plan/SKILL.md +71 -0
  36. package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +41 -0
  37. package/extensions/enact-factory/skills/research/SKILL.md +73 -0
  38. package/extensions/enact-factory/skills/review/SKILL.md +48 -0
  39. package/extensions/enact-factory/skills/security-research/SKILL.md +54 -0
  40. package/extensions/enact-factory/skills/tdd/SKILL.md +56 -0
  41. package/extensions/enact-factory/skills/trace/SKILL.md +37 -0
  42. package/extensions/enact-factory/skills/ultraqa/SKILL.md +79 -0
  43. package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +51 -0
  44. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +15 -0
  45. package/extensions/enact-loop/.agents/plugin.json +46 -0
  46. package/extensions/enact-loop/.mcp.json +1 -0
  47. package/extensions/enact-loop/hooks/hooks.json +27 -0
  48. package/extensions/enact-loop/skills/enact-loop/SKILL.md +327 -0
  49. package/extensions/enact-operator/.agents/plugin.json +0 -1
  50. package/extensions/enact-operator/hooks/hooks.json +0 -35
  51. package/extensions/enact-wiki/skills/wiki/SKILL.md +42 -0
  52. package/extensions/plugin-dev/.agents/plugin.json +4 -6
  53. package/extensions/plugin-dev/agents/plugin-validator.md +1 -1
  54. package/extensions/plugin-dev/skills/agent-development/SKILL.md +7 -7
  55. package/extensions/plugin-dev/{commands/create-plugin.md → skills/create-plugin/SKILL.md} +44 -37
  56. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +13 -14
  57. package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -2
  58. package/extensions/plugin-dev/{commands/start.md → skills/start/SKILL.md} +7 -6
  59. package/package.json +11 -6
  60. package/scripts/check-hooks.mjs +174 -0
  61. package/scripts/check-principles.mjs +101 -0
  62. package/scripts/enact-extensions.mjs +87 -3
  63. package/scripts/lib/run-validate.mjs +36 -2
  64. package/scripts/lib/ups-router.mjs +432 -0
  65. package/spec/enact.json +4 -0
  66. package/spec/enact.md +5 -2
  67. package/extensions/cmux/.agents/plugin.json +0 -37
  68. package/extensions/cmux/skills/cmux/SKILL.md +0 -82
  69. package/extensions/cmux/skills/cmux/agents/openai.yaml +0 -4
  70. package/extensions/cmux/skills/cmux/references/handles-and-identify.md +0 -35
  71. package/extensions/cmux/skills/cmux/references/panes-surfaces.md +0 -37
  72. package/extensions/cmux/skills/cmux/references/trigger-flash-and-health.md +0 -23
  73. package/extensions/cmux/skills/cmux/references/windows-workspaces.md +0 -31
  74. package/extensions/cmux/skills/cmux-vm-monitor/SKILL.md +0 -122
  75. package/extensions/cmux/skills/cmux-vm-monitor/agents/openai.yaml +0 -4
  76. package/extensions/cmux/skills/cmux-vm-monitor/references/cmux-commands.md +0 -66
  77. package/extensions/cmux/skills/cmux-vm-monitor/scripts/codex_vm_monitor.sh +0 -45
  78. package/extensions/cmux/skills/cmux-workspace/SKILL.md +0 -93
  79. package/extensions/devops/.agents/plugin.json +0 -36
  80. package/extensions/devops/skills/azure-devops-cli/SKILL.md +0 -431
  81. package/extensions/devops/skills/azure-devops-cli/agents/openai.yaml +0 -4
  82. package/extensions/devops/skills/ci-pipeline-strategy/SKILL.md +0 -217
  83. package/extensions/devops/skills/ci-pipeline-strategy/agents/openai.yaml +0 -4
  84. package/extensions/enact-factory/hooks/user-prompt-submit.mjs +0 -67
  85. package/extensions/enact-operator/commands/doctor.md +0 -39
  86. package/extensions/enact-operator/commands/setup.md +0 -51
  87. package/extensions/plugin-dev/.mcp.json +0 -3
  88. package/extensions/plugin-dev/commands/_archive/create-marketplace.md +0 -427
  89. package/extensions/plugin-dev/commands/_archive/plugin-dev-guide.md +0 -12
  90. package/extensions/plugin-dev/hooks/hooks.json +0 -3
  91. package/extensions/plugin-dev/skills/command-development/SKILL.md +0 -763
  92. package/extensions/plugin-dev/skills/command-development/examples/plugin-commands.md +0 -612
  93. package/extensions/plugin-dev/skills/command-development/examples/simple-commands.md +0 -527
  94. package/extensions/plugin-dev/skills/command-development/references/advanced-workflows.md +0 -762
  95. package/extensions/plugin-dev/skills/command-development/references/documentation-patterns.md +0 -769
  96. package/extensions/plugin-dev/skills/command-development/references/frontmatter-reference.md +0 -508
  97. package/extensions/plugin-dev/skills/command-development/references/interactive-commands.md +0 -966
  98. package/extensions/plugin-dev/skills/command-development/references/marketplace-considerations.md +0 -943
  99. package/extensions/plugin-dev/skills/command-development/references/plugin-features-reference.md +0 -637
  100. package/extensions/plugin-dev/skills/command-development/references/plugin-integration.md +0 -191
  101. package/extensions/plugin-dev/skills/command-development/references/skill-tool.md +0 -447
  102. package/extensions/plugin-dev/skills/command-development/references/testing-strategies.md +0 -723
  103. package/extensions/plugin-dev/skills/command-development/scripts/check-frontmatter.sh +0 -234
  104. package/extensions/plugin-dev/skills/command-development/scripts/validate-command.sh +0 -160
  105. /package/extensions/enact-operator/{skills/_variants.md → docs/skill-variants.md} +0 -0
@@ -1,508 +0,0 @@
1
- # Command Frontmatter Reference
2
-
3
- Complete reference for YAML frontmatter fields in slash commands.
4
-
5
- ## Frontmatter Overview
6
-
7
- YAML frontmatter is optional metadata at the start of command files:
8
-
9
- ```markdown
10
- ---
11
- description: Brief description
12
- allowed-tools: Read, Write
13
- model: sonnet
14
- argument-hint: [arg1] [arg2]
15
- ---
16
-
17
- Command prompt content here...
18
- ```
19
-
20
- All fields are optional. Commands work without any frontmatter.
21
-
22
- ## Field Specifications
23
-
24
- ### description
25
-
26
- **Type:** String
27
- **Required:** No
28
- **Default:** First line of command prompt
29
- **Max Length:** ~60 characters recommended for `/help` display
30
-
31
- **Purpose:** Describes what the command does, shown in `/help` output
32
-
33
- **Examples:**
34
-
35
- ```yaml
36
- description: Review code for security issues
37
- ```
38
-
39
- ```yaml
40
- description: Deploy to staging environment
41
- ```
42
-
43
- ```yaml
44
- description: Generate API documentation
45
- ```
46
-
47
- **Best practices:**
48
-
49
- - Keep under 60 characters for clean display
50
- - Start with verb (Review, Deploy, Generate)
51
- - Be specific about what command does
52
- - Avoid redundant "command" or "slash command"
53
-
54
- **Good:**
55
-
56
- - ✅ "Review PR for code quality and security"
57
- - ✅ "Deploy application to specified environment"
58
- - ✅ "Generate comprehensive API documentation"
59
-
60
- **Bad:**
61
-
62
- - ❌ "This command reviews PRs" (unnecessary "This command")
63
- - ❌ "Review" (too vague)
64
- - ❌ "A command that reviews pull requests for code quality, security issues, and best practices" (too long)
65
-
66
- ### allowed-tools
67
-
68
- **Type:** Comma-separated string
69
- **Required:** No
70
- **Default:** Inherits from conversation permissions
71
-
72
- **Purpose:** Restrict or specify which tools command can use
73
-
74
- **Formats:**
75
-
76
- **Single tool:**
77
-
78
- ```yaml
79
- allowed-tools: Read
80
- ```
81
-
82
- **Multiple tools (comma-separated):**
83
-
84
- ```yaml
85
- allowed-tools: Read, Write, Edit
86
- ```
87
-
88
- ```yaml
89
- allowed-tools: Read, Write, Bash(git:*)
90
- ```
91
-
92
- **Tool Patterns:**
93
-
94
- **Specific tools:**
95
-
96
- ```yaml
97
- allowed-tools: Read, Grep, Edit
98
- ```
99
-
100
- **Bash with command filter:**
101
-
102
- ```yaml
103
- allowed-tools: Bash(git:*) # Only git commands
104
- allowed-tools: Bash(npm:*) # Only npm commands
105
- allowed-tools: Bash(docker:*) # Only docker commands
106
- ```
107
-
108
- **All tools (not recommended):**
109
-
110
- ```yaml
111
- allowed-tools: "*"
112
- ```
113
-
114
- **When to use:**
115
-
116
- 1. **Security:** Restrict command to safe operations
117
-
118
- ```yaml
119
- allowed-tools: Read, Grep # Read-only command
120
- ```
121
-
122
- 2. **Clarity:** Document required tools
123
-
124
- ```yaml
125
- allowed-tools: Bash(git:*), Read
126
- ```
127
-
128
- 3. **Bash execution:** Enable bash command output
129
- ```yaml
130
- allowed-tools: Bash(git status:*), Bash(git diff:*)
131
- ```
132
-
133
- **Best practices:**
134
-
135
- - Be as restrictive as possible
136
- - Use command filters for Bash (e.g., `git:*` not `*`)
137
- - Only specify when different from conversation permissions
138
- - Document why specific tools are needed
139
-
140
- ### model
141
-
142
- **Type:** String
143
- **Required:** No
144
- **Default:** Inherits from conversation
145
- **Values:**
146
-
147
- - Shorthand: `sonnet`, `opus`, `haiku`
148
- - Full model ID: Format is `claude-<family>-<version>-<date>` (e.g., `claude-sonnet-4-5-20250929`)
149
-
150
- Both formats are accepted. Shorthand names use the current default version of each model family.
151
-
152
- > **Note:** Anthropic releases new model versions periodically. For current model IDs, consult [Claude Models Overview](https://docs.anthropic.com/en/docs/about-claude/models). Prefer shorthand names unless you need a specific version.
153
-
154
- **Purpose:** Specify which Claude model executes the command
155
-
156
- **Examples:**
157
-
158
- ```yaml
159
- model: haiku # Fast, efficient for simple tasks
160
- ```
161
-
162
- ```yaml
163
- model: sonnet # Balanced performance (default)
164
- ```
165
-
166
- ```yaml
167
- model: opus # Maximum capability for complex tasks
168
- ```
169
-
170
- **When to use:**
171
-
172
- **Use `haiku` for:**
173
-
174
- - Simple, formulaic commands
175
- - Fast execution needed
176
- - Low complexity tasks
177
- - Frequent invocations
178
-
179
- ```yaml
180
- ---
181
- description: Format code file
182
- model: haiku
183
- ---
184
- ```
185
-
186
- **Use `sonnet` for:**
187
-
188
- - Standard commands (default)
189
- - Balanced speed/quality
190
- - Most common use cases
191
-
192
- ```yaml
193
- ---
194
- description: Review code changes
195
- model: sonnet
196
- ---
197
- ```
198
-
199
- **Use `opus` for:**
200
-
201
- - Complex analysis
202
- - Architectural decisions
203
- - Deep code understanding
204
- - Critical tasks
205
-
206
- ```yaml
207
- ---
208
- description: Analyze system architecture
209
- model: opus
210
- ---
211
- ```
212
-
213
- **Best practices:**
214
-
215
- - Omit unless specific need
216
- - Use `haiku` for speed when possible
217
- - Reserve `opus` for genuinely complex tasks
218
- - Test with different models to find right balance
219
-
220
- ### argument-hint
221
-
222
- **Type:** String
223
- **Required:** No
224
- **Default:** None
225
-
226
- **Purpose:** Document expected arguments for users and autocomplete
227
-
228
- **Format:**
229
-
230
- ```yaml
231
- argument-hint: [arg1] [arg2] [optional-arg]
232
- ```
233
-
234
- **Examples:**
235
-
236
- **Single argument:**
237
-
238
- ```yaml
239
- argument-hint: [pr-number]
240
- ```
241
-
242
- **Multiple required arguments:**
243
-
244
- ```yaml
245
- argument-hint: [environment] [version]
246
- ```
247
-
248
- **Optional arguments:**
249
-
250
- ```yaml
251
- argument-hint: [file-path] [options]
252
- ```
253
-
254
- **Descriptive names:**
255
-
256
- ```yaml
257
- argument-hint: [source-branch] [target-branch] [commit-message]
258
- ```
259
-
260
- **Best practices:**
261
-
262
- - Use square brackets `[]` for each argument
263
- - Use descriptive names (not `arg1`, `arg2`)
264
- - Indicate optional vs required in description
265
- - Match order to positional arguments in command
266
- - Keep concise but clear
267
-
268
- **Examples by pattern:**
269
-
270
- **Simple command:**
271
-
272
- ```yaml
273
- ---
274
- description: Fix issue by number
275
- argument-hint: [issue-number]
276
- ---
277
- Fix issue #$1...
278
- ```
279
-
280
- **Multi-argument:**
281
-
282
- ```yaml
283
- ---
284
- description: Deploy to environment
285
- argument-hint: [app-name] [environment] [version]
286
- ---
287
-
288
- Deploy $1 to $2 using version $3...
289
- ```
290
-
291
- **With options:**
292
-
293
- ```yaml
294
- ---
295
- description: Run tests with options
296
- argument-hint: [test-pattern] [options]
297
- ---
298
-
299
- Run tests matching $1 with options: $2
300
- ```
301
-
302
- ### disable-model-invocation
303
-
304
- **Type:** Boolean
305
- **Required:** No
306
- **Default:** false
307
-
308
- **Purpose:** Prevent Skill tool from programmatically invoking command
309
-
310
- **Examples:**
311
-
312
- ```yaml
313
- disable-model-invocation: true
314
- ```
315
-
316
- **When to use:**
317
-
318
- 1. **Manual-only commands:** Commands requiring user judgment
319
-
320
- ```yaml
321
- ---
322
- description: Approve deployment to production
323
- disable-model-invocation: true
324
- ---
325
- ```
326
-
327
- 2. **Destructive operations:** Commands with irreversible effects
328
-
329
- ```yaml
330
- ---
331
- description: Delete all test data
332
- disable-model-invocation: true
333
- ---
334
- ```
335
-
336
- 3. **Interactive workflows:** Commands needing user input
337
- ```yaml
338
- ---
339
- description: Walk through setup wizard
340
- disable-model-invocation: true
341
- ---
342
- ```
343
-
344
- **Default behavior (false):**
345
-
346
- - Command available to Skill tool
347
- - Claude can invoke programmatically
348
- - Still available for manual invocation
349
-
350
- **When true:**
351
-
352
- - Command only invokable by user typing `/command`
353
- - Not available to Skill tool
354
- - Safer for sensitive operations
355
-
356
- **Best practices:**
357
-
358
- - Use sparingly (limits Claude's autonomy)
359
- - Document why in command comments
360
- - Consider if command should exist if always manual
361
-
362
- ## Complete Examples
363
-
364
- ### Minimal Command
365
-
366
- No frontmatter needed:
367
-
368
- ```markdown
369
- Review this code for common issues and suggest improvements.
370
- ```
371
-
372
- ### Simple Command
373
-
374
- Just description:
375
-
376
- ```markdown
377
- ---
378
- description: Review code for issues
379
- ---
380
-
381
- Review this code for common issues and suggest improvements.
382
- ```
383
-
384
- ### Standard Command
385
-
386
- Description and tools:
387
-
388
- ```markdown
389
- ---
390
- description: Review Git changes
391
- allowed-tools: Bash(git:*), Read
392
- ---
393
-
394
- Current changes: `git diff --name-only`
395
-
396
- Review each changed file for:
397
-
398
- - Code quality
399
- - Potential bugs
400
- - Best practices
401
- ```
402
-
403
- ### Complex Command
404
-
405
- All common fields:
406
-
407
- ```markdown
408
- ---
409
- description: Deploy application to environment
410
- argument-hint: [app-name] [environment] [version]
411
- allowed-tools: Bash(kubectl:*), Bash(helm:*), Read
412
- model: sonnet
413
- ---
414
-
415
- Deploy $1 to $2 environment using version $3
416
-
417
- Pre-deployment checks:
418
-
419
- - Verify $2 configuration
420
- - Check cluster status: `kubectl cluster-info`
421
- - Validate version $3 exists
422
-
423
- Proceed with deployment following deployment runbook.
424
- ```
425
-
426
- ### Manual-Only Command
427
-
428
- Restricted invocation:
429
-
430
- ```markdown
431
- ---
432
- description: Approve production deployment
433
- argument-hint: [deployment-id]
434
- disable-model-invocation: true
435
- allowed-tools: Bash(gh:*)
436
- ---
437
-
438
- <!--
439
- MANUAL APPROVAL REQUIRED
440
- This command requires human judgment and cannot be automated.
441
- -->
442
-
443
- Review deployment $1 for production approval:
444
-
445
- Deployment details: `gh api /deployments/$1`
446
-
447
- Verify:
448
-
449
- - All tests passed
450
- - Security scan clean
451
- - Stakeholder approval
452
- - Rollback plan ready
453
-
454
- Type "APPROVED" to confirm deployment.
455
- ```
456
-
457
- ## Validation
458
-
459
- ### Common Errors
460
-
461
- **Invalid YAML syntax:**
462
-
463
- ```yaml
464
- ---
465
- description: Missing quote
466
- allowed-tools: Read, Write
467
- model: sonnet
468
- --- # ❌ Missing closing quote above
469
- ```
470
-
471
- **Fix:** Validate YAML syntax
472
-
473
- **Incorrect tool specification:**
474
-
475
- ```yaml
476
- allowed-tools: Bash # ❌ Missing command filter
477
- ```
478
-
479
- **Fix:** Use `Bash(git:*)` format
480
-
481
- **Invalid model name:**
482
-
483
- ```yaml
484
- model: gpt4 # ❌ Not a valid Claude model
485
- ```
486
-
487
- **Fix:** Use shorthand (`sonnet`, `opus`, `haiku`) or full model ID (see [Claude Models Overview](https://docs.anthropic.com/en/docs/about-claude/models))
488
-
489
- ### Validation Checklist
490
-
491
- Before committing command:
492
-
493
- - [ ] YAML syntax valid (no errors)
494
- - [ ] Description under 60 characters
495
- - [ ] allowed-tools uses proper format
496
- - [ ] model is valid value if specified
497
- - [ ] argument-hint matches positional arguments
498
- - [ ] disable-model-invocation used appropriately
499
-
500
- ## Best Practices Summary
501
-
502
- 1. **Start minimal:** Add frontmatter only when needed
503
- 2. **Document arguments:** Always use argument-hint with arguments
504
- 3. **Restrict tools:** Use most restrictive allowed-tools that works
505
- 4. **Choose right model:** Use haiku for speed, opus for complexity
506
- 5. **Manual-only sparingly:** Only use disable-model-invocation when necessary
507
- 6. **Clear descriptions:** Make commands discoverable in `/help`
508
- 7. **Test thoroughly:** Verify frontmatter works as expected