@amsterdamdatalabs/enact-extensions 0.1.3 → 0.1.8

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 +17 -7
  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 -55
  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,943 +0,0 @@
1
- # Marketplace Considerations for Commands
2
-
3
- Guidelines for creating commands designed for distribution and marketplace success.
4
-
5
- ## Overview
6
-
7
- Commands distributed through marketplaces need additional consideration beyond personal use commands. They must work across environments, handle diverse use cases, and provide excellent user experience for unknown users.
8
-
9
- ## Design for Distribution
10
-
11
- ### Universal Compatibility
12
-
13
- **Cross-platform considerations:**
14
-
15
- ```markdown
16
- ---
17
- description: Cross-platform command
18
- allowed-tools: Bash(*)
19
- ---
20
-
21
- # Platform-Aware Command
22
-
23
- Detecting platform...
24
-
25
- case "$(uname)" in
26
- Darwin*) PLATFORM="macOS" ;;
27
- Linux*) PLATFORM="Linux" ;;
28
- MINGW*|MSYS*|CYGWIN*) PLATFORM="Windows" ;;
29
- *) PLATFORM="Unknown" ;;
30
- esac
31
-
32
- Platform: $PLATFORM
33
-
34
- <!-- Adjust behavior based on platform -->
35
-
36
- if [ "$PLATFORM" = "Windows" ]; then
37
-
38
- # Windows-specific handling
39
-
40
- PATH_SEP="\\"
41
- NULL_DEVICE="NUL"
42
- else
43
-
44
- # Unix-like handling
45
-
46
- PATH_SEP="/"
47
- NULL_DEVICE="/dev/null"
48
- fi
49
-
50
- [Platform-appropriate implementation...]
51
- ```
52
-
53
- **Avoid platform-specific commands:**
54
-
55
- ```markdown
56
- <!-- BAD: macOS-specific -->
57
-
58
- `pbcopy < file.txt`
59
-
60
- <!-- GOOD: Platform detection -->
61
-
62
- if command -v pbcopy > /dev/null; then
63
- pbcopy < file.txt
64
- elif command -v xclip > /dev/null; then
65
- xclip -selection clipboard < file.txt
66
- elif command -v clip.exe > /dev/null; then
67
- cat file.txt | clip.exe
68
- else
69
- echo "Clipboard not available on this platform"
70
- fi
71
- ```
72
-
73
- ### Minimal Dependencies
74
-
75
- **Check for required tools:**
76
-
77
- ```markdown
78
- ---
79
- description: Dependency-aware command
80
- allowed-tools: Bash(*)
81
- ---
82
-
83
- # Check Dependencies
84
-
85
- Required tools:
86
-
87
- - git
88
- - jq
89
- - node
90
-
91
- Checking availability...
92
-
93
- MISSING_DEPS=""
94
-
95
- for tool in git jq node; do
96
- if ! command -v $tool > /dev/null; then
97
- MISSING_DEPS="$MISSING_DEPS $tool"
98
- fi
99
- done
100
-
101
- if [ -n "$MISSING_DEPS" ]; then
102
- ❌ ERROR: Missing required dependencies:$MISSING_DEPS
103
-
104
- INSTALLATION:
105
-
106
- - git: https://git-scm.com/downloads
107
- - jq: https://stedolan.github.io/jq/download/
108
- - node: https://nodejs.org/
109
-
110
- Install missing tools and try again.
111
-
112
- Exit.
113
- fi
114
-
115
- ✓ All dependencies available
116
-
117
- [Continue with command...]
118
- ```
119
-
120
- **Document optional dependencies:**
121
-
122
- ```markdown
123
- <!--
124
- DEPENDENCIES:
125
- Required:
126
- - git 2.0+: Version control
127
- - jq 1.6+: JSON processing
128
-
129
- Optional:
130
- - gh: GitHub CLI (for PR operations)
131
- - docker: Container operations (for containerized tests)
132
-
133
- Feature availability depends on installed tools.
134
- -->
135
- ```
136
-
137
- ### Graceful Degradation
138
-
139
- **Handle missing features:**
140
-
141
- ```markdown
142
- ---
143
- description: Feature-aware command
144
- ---
145
-
146
- # Feature Detection
147
-
148
- Detecting available features...
149
-
150
- FEATURES=""
151
-
152
- if command -v gh > /dev/null; then
153
- FEATURES="$FEATURES github"
154
- fi
155
-
156
- if command -v docker > /dev/null; then
157
- FEATURES="$FEATURES docker"
158
- fi
159
-
160
- Available features: $FEATURES
161
-
162
- if echo "$FEATURES" | grep -q "github"; then
163
-
164
- # Full functionality with GitHub integration
165
-
166
- echo "✓ GitHub integration available"
167
- else
168
-
169
- # Reduced functionality without GitHub
170
-
171
- echo "⚠ Limited functionality: GitHub CLI not installed"
172
- echo " Install 'gh' for full features"
173
- fi
174
-
175
- [Adapt behavior based on available features...]
176
- ```
177
-
178
- ## User Experience for Unknown Users
179
-
180
- ### Clear Onboarding
181
-
182
- **First-run experience:**
183
-
184
- ```markdown
185
- ---
186
- description: Command with onboarding
187
- allowed-tools: Read, Write
188
- ---
189
-
190
- # First Run Check
191
-
192
- if [ ! -f ".claude/command-initialized" ]; then
193
- **Welcome to Command Name!**
194
-
195
- This appears to be your first time using this command.
196
-
197
- WHAT THIS COMMAND DOES:
198
- [Brief explanation of purpose and benefits]
199
-
200
- QUICK START:
201
-
202
- 1. Basic usage: /command [arg]
203
- 2. For help: /command help
204
- 3. Examples: /command examples
205
-
206
- SETUP:
207
- No additional setup required. You're ready to go!
208
-
209
- ✓ Initialization complete
210
-
211
- [Create initialization marker]
212
-
213
- Ready to proceed with your request...
214
- fi
215
-
216
- [Normal command execution...]
217
- ```
218
-
219
- **Progressive feature discovery:**
220
-
221
- ```markdown
222
- ---
223
- description: Command with tips
224
- ---
225
-
226
- # Command Execution
227
-
228
- [Main functionality...]
229
-
230
- ---
231
-
232
- 💡 TIP: Did you know?
233
-
234
- You can speed up this command with the --fast flag:
235
- /command --fast [args]
236
-
237
- For more tips: /command tips
238
- ```
239
-
240
- ### Comprehensive Error Handling
241
-
242
- **Anticipate user mistakes:**
243
-
244
- ```markdown
245
- ---
246
- description: Forgiving command
247
- ---
248
-
249
- # User Input Handling
250
-
251
- Argument: "$1"
252
-
253
- <!-- Check for common typos -->
254
-
255
- if [ "$1" = "hlep" ] || [ "$1" = "hepl" ]; then
256
- Did you mean: help?
257
-
258
- Showing help instead...
259
- [Display help]
260
-
261
- Exit.
262
- fi
263
-
264
- <!-- Suggest similar commands if not found -->
265
-
266
- if [ "$1" != "valid-option1" ] && [ "$1" != "valid-option2" ]; then
267
- ❌ Unknown option: $1
268
-
269
- Did you mean:
270
-
271
- - valid-option1 (most similar)
272
- - valid-option2
273
-
274
- For all options: /command help
275
-
276
- Exit.
277
- fi
278
-
279
- [Command continues...]
280
- ```
281
-
282
- **Helpful diagnostics:**
283
-
284
- ```markdown
285
- ---
286
- description: Diagnostic command
287
- ---
288
-
289
- # Operation Failed
290
-
291
- The operation could not complete.
292
-
293
- **Diagnostic Information:**
294
-
295
- Environment:
296
-
297
- - Platform: $(uname)
298
- - Shell: $SHELL
299
- - Working directory: $(pwd)
300
- - Command: /command $@
301
-
302
- Checking common issues:
303
-
304
- - Git repository: $(git rev-parse --git-dir 2>&1)
305
- - Write permissions: $(test -w . && echo "OK" || echo "DENIED")
306
- - Required files: $(test -f config.yml && echo "Found" || echo "Missing")
307
-
308
- This information helps debug the issue.
309
-
310
- For support, include the above diagnostics.
311
- ```
312
-
313
- ## Distribution Best Practices
314
-
315
- ### Namespace Awareness
316
-
317
- **Avoid name collisions:**
318
-
319
- ```markdown
320
- ---
321
- description: Namespaced command
322
- ---
323
-
324
- <!--
325
- COMMAND NAME: plugin-name-command
326
-
327
- This command is namespaced with the plugin name to avoid
328
- conflicts with commands from other plugins.
329
-
330
- Alternative naming approaches:
331
- - Use plugin prefix: /plugin-command
332
- - Use category: /category-command
333
- - Use verb-noun: /verb-noun
334
-
335
- Chosen approach: plugin-name prefix
336
- Reasoning: Clearest ownership, least likely to conflict
337
- -->
338
-
339
- # Plugin Name Command
340
-
341
- [Implementation...]
342
- ```
343
-
344
- **Document naming rationale:**
345
-
346
- ```markdown
347
- <!--
348
- NAMING DECISION:
349
-
350
- Command name: /deploy-app
351
-
352
- Alternatives considered:
353
- - /deploy: Too generic, likely conflicts
354
- - /app-deploy: Less intuitive ordering
355
- - /my-plugin-deploy: Too verbose
356
-
357
- Final choice balances:
358
- - Discoverability (clear purpose)
359
- - Brevity (easy to type)
360
- - Uniqueness (unlikely conflicts)
361
- -->
362
- ```
363
-
364
- ### Configurability
365
-
366
- **User preferences:**
367
-
368
- ```markdown
369
- ---
370
- description: Configurable command
371
- allowed-tools: Read
372
- ---
373
-
374
- # Load User Configuration
375
-
376
- Default configuration:
377
-
378
- - verbose: false
379
- - color: true
380
- - max_results: 10
381
-
382
- Checking for user config: .claude/plugin-name.local.md
383
-
384
- if [ -f ".claude/plugin-name.local.md" ]; then
385
-
386
- # Parse YAML frontmatter for settings
387
-
388
- VERBOSE=$(grep "^verbose:" .claude/plugin-name.local.md | cut -d: -f2 | tr -d ' ')
389
- COLOR=$(grep "^color:" .claude/plugin-name.local.md | cut -d: -f2 | tr -d ' ')
390
- MAX_RESULTS=$(grep "^max_results:" .claude/plugin-name.local.md | cut -d: -f2 | tr -d ' ')
391
-
392
- echo "✓ Using user configuration"
393
- else
394
- echo "Using default configuration"
395
- echo "Create .claude/plugin-name.local.md to customize"
396
- fi
397
-
398
- [Use configuration in command...]
399
- ```
400
-
401
- **Sensible defaults:**
402
-
403
- ```markdown
404
- ---
405
- description: Command with smart defaults
406
- ---
407
-
408
- # Smart Defaults
409
-
410
- Configuration:
411
-
412
- - Format: ${FORMAT:-json} # Defaults to json
413
- - Output: ${OUTPUT:-stdout} # Defaults to stdout
414
- - Verbose: ${VERBOSE:-false} # Defaults to false
415
-
416
- These defaults work for 80% of use cases.
417
-
418
- Override with arguments:
419
- /command --format yaml --output file.txt --verbose
420
-
421
- Or set in .claude/plugin-name.local.md:
422
- \`\`\`yaml
423
-
424
- ---
425
-
426
- format: yaml
427
- output: custom.txt
428
- verbose: true
429
-
430
- ---
431
-
432
- \`\`\`
433
- ```
434
-
435
- ### Version Compatibility
436
-
437
- **Version checking:**
438
-
439
- ```markdown
440
- ---
441
- description: Version-aware command
442
- ---
443
-
444
- <!--
445
- COMMAND VERSION: 2.1.0
446
-
447
- COMPATIBILITY:
448
- - Requires plugin version: >= 2.0.0
449
- - Breaking changes from v1.x documented in MIGRATION.md
450
-
451
- VERSION HISTORY:
452
- - v2.1.0: Added --new-feature flag
453
- - v2.0.0: BREAKING: Changed argument order
454
- - v1.0.0: Initial release
455
- -->
456
-
457
- # Version Check
458
-
459
- Command version: 2.1.0
460
- Plugin version: [detect from plugin.json]
461
-
462
- if [ "$PLUGIN_VERSION" < "2.0.0" ]; then
463
- ❌ ERROR: Incompatible plugin version
464
-
465
- This command requires plugin version >= 2.0.0
466
- Current version: $PLUGIN_VERSION
467
-
468
- Update plugin:
469
- /plugin update plugin-name
470
-
471
- Exit.
472
- fi
473
-
474
- ✓ Version compatible
475
-
476
- [Command continues...]
477
- ```
478
-
479
- **Deprecation warnings:**
480
-
481
- ```markdown
482
- ---
483
- description: Command with deprecation warnings
484
- ---
485
-
486
- # Deprecation Check
487
-
488
- if [ "$1" = "--old-flag" ]; then
489
- ⚠️ DEPRECATION WARNING
490
-
491
- The --old-flag option is deprecated as of v2.0.0
492
- It will be removed in v3.0.0 (est. June 2025)
493
-
494
- Use instead: --new-flag
495
-
496
- Example:
497
- Old: /command --old-flag value
498
- New: /command --new-flag value
499
-
500
- See migration guide: /command migrate
501
-
502
- Continuing with deprecated behavior for now...
503
- fi
504
-
505
- [Handle both old and new flags during deprecation period...]
506
- ```
507
-
508
- ## Marketplace Presentation
509
-
510
- ### Command Discovery
511
-
512
- **Descriptive naming:**
513
-
514
- ```markdown
515
- ---
516
- description: Review pull request with security and quality checks
517
- ---
518
-
519
- <!-- GOOD: Descriptive name and description -->
520
- ```
521
-
522
- ```markdown
523
- ---
524
- description: Do the thing
525
- ---
526
-
527
- <!-- BAD: Vague description -->
528
- ```
529
-
530
- **Searchable keywords:**
531
-
532
- ```markdown
533
- <!--
534
- KEYWORDS: security, code-review, quality, validation, audit
535
-
536
- These keywords help users discover this command when searching
537
- for related functionality in the marketplace.
538
- -->
539
- ```
540
-
541
- ### Showcase Examples
542
-
543
- **Compelling demonstrations:**
544
-
545
- ```markdown
546
- ---
547
- description: Advanced code analysis command
548
- ---
549
-
550
- # Code Analysis Command
551
-
552
- This command performs deep code analysis with actionable insights.
553
-
554
- ## Demo: Quick Security Audit
555
-
556
- Try it now:
557
- \`\`\`
558
- /analyze-code src/ --security
559
- \`\`\`
560
-
561
- **What you'll get:**
562
-
563
- - Security vulnerability detection
564
- - Code quality metrics
565
- - Performance bottleneck identification
566
- - Actionable recommendations
567
-
568
- **Sample output:**
569
- \`\`\`
570
- Security Analysis Results
571
- =========================
572
-
573
- 🔴 Critical (2):
574
-
575
- - SQL injection risk in users.js:45
576
- - XSS vulnerability in display.js:23
577
-
578
- 🟡 Warnings (5):
579
-
580
- - Unvalidated input in api.js:67
581
- ...
582
-
583
- Recommendations:
584
-
585
- 1. Fix critical issues immediately
586
- 2. Review warnings before next release
587
- 3. Run /analyze-code --fix for auto-fixes
588
- \`\`\`
589
-
590
- ---
591
-
592
- Ready to analyze your code...
593
-
594
- [Command implementation...]
595
- ```
596
-
597
- ### User Reviews and Feedback
598
-
599
- **Feedback mechanism:**
600
-
601
- ```markdown
602
- ---
603
- description: Command with feedback
604
- ---
605
-
606
- # Command Complete
607
-
608
- [Command results...]
609
-
610
- ---
611
-
612
- **How was your experience?**
613
-
614
- This helps improve the command for everyone.
615
-
616
- Rate this command:
617
-
618
- - 👍 Helpful
619
- - 👎 Not helpful
620
- - 🐛 Found a bug
621
- - 💡 Have a suggestion
622
-
623
- Reply with an emoji or:
624
-
625
- - /command feedback
626
-
627
- Your feedback matters!
628
- ```
629
-
630
- **Usage analytics preparation:**
631
-
632
- ```markdown
633
- <!--
634
- ANALYTICS NOTES:
635
-
636
- Track for improvement:
637
- - Most common arguments
638
- - Failure rates
639
- - Average execution time
640
- - User satisfaction scores
641
-
642
- Privacy-preserving:
643
- - No personally identifiable information
644
- - Aggregate statistics only
645
- - User opt-out respected
646
- -->
647
- ```
648
-
649
- ## Quality Standards
650
-
651
- ### Professional Polish
652
-
653
- **Consistent branding:**
654
-
655
- ```markdown
656
- ---
657
- description: Branded command
658
- ---
659
-
660
- # ✨ Command Name
661
-
662
- Part of the [Plugin Name] suite
663
-
664
- [Command functionality...]
665
-
666
- ---
667
-
668
- **Need Help?**
669
-
670
- - Documentation: https://docs.example.com
671
- - Support: support@example.com
672
- - Community: https://community.example.com
673
-
674
- Powered by Plugin Name v2.1.0
675
- ```
676
-
677
- **Attention to detail:**
678
-
679
- ```markdown
680
- <!-- Details that matter -->
681
-
682
- ✓ Use proper emoji/symbols consistently
683
- ✓ Align output columns neatly
684
- ✓ Format numbers with thousands separators
685
- ✓ Use color/formatting appropriately
686
- ✓ Provide progress indicators
687
- ✓ Show estimated time remaining
688
- ✓ Confirm successful operations
689
- ```
690
-
691
- ### Reliability
692
-
693
- **Idempotency:**
694
-
695
- ```markdown
696
- ---
697
- description: Idempotent command
698
- ---
699
-
700
- # Safe Repeated Execution
701
-
702
- Checking if operation already completed...
703
-
704
- if [ -f ".claude/operation-completed.flag" ]; then
705
- ℹ️ Operation already completed
706
-
707
- Completed at: $(cat .claude/operation-completed.flag)
708
-
709
- To re-run:
710
-
711
- 1. Remove flag: rm .claude/operation-completed.flag
712
- 2. Run command again
713
-
714
- Otherwise, no action needed.
715
-
716
- Exit.
717
- fi
718
-
719
- Performing operation...
720
-
721
- [Safe, repeatable operation...]
722
-
723
- Marking complete...
724
- echo "$(date)" > .claude/operation-completed.flag
725
- ```
726
-
727
- **Atomic operations:**
728
-
729
- ```markdown
730
- ---
731
- description: Atomic command
732
- ---
733
-
734
- # Atomic Operation
735
-
736
- This operation is atomic - either fully succeeds or fully fails.
737
-
738
- Creating temporary workspace...
739
- TEMP_DIR=$(mktemp -d)
740
-
741
- Performing changes in isolated environment...
742
- [Make changes in $TEMP_DIR]
743
-
744
- if [ $? -eq 0 ]; then
745
- ✓ Changes validated
746
-
747
- Applying changes atomically...
748
- mv $TEMP_DIR/\* ./target/
749
-
750
- ✓ Operation complete
751
- else
752
- ❌ Changes failed validation
753
-
754
- Rolling back...
755
- rm -rf $TEMP_DIR
756
-
757
- No changes applied. Safe to retry.
758
- fi
759
- ```
760
-
761
- ## Testing for Distribution
762
-
763
- ### Pre-Release Checklist
764
-
765
- ```markdown
766
- <!--
767
- PRE-RELEASE CHECKLIST:
768
-
769
- Functionality:
770
- - [ ] Works on macOS
771
- - [ ] Works on Linux
772
- - [ ] Works on Windows (WSL)
773
- - [ ] All arguments tested
774
- - [ ] Error cases handled
775
- - [ ] Edge cases covered
776
-
777
- User Experience:
778
- - [ ] Clear description
779
- - [ ] Helpful error messages
780
- - [ ] Examples provided
781
- - [ ] First-run experience good
782
- - [ ] Documentation complete
783
-
784
- Distribution:
785
- - [ ] No hardcoded paths
786
- - [ ] Dependencies documented
787
- - [ ] Configuration options clear
788
- - [ ] Version number set
789
- - [ ] Changelog updated
790
-
791
- Quality:
792
- - [ ] No TODO comments
793
- - [ ] No debug code
794
- - [ ] Performance acceptable
795
- - [ ] Security reviewed
796
- - [ ] Privacy considered
797
-
798
- Support:
799
- - [ ] README complete
800
- - [ ] Troubleshooting guide
801
- - [ ] Support contact provided
802
- - [ ] Feedback mechanism
803
- - [ ] License specified
804
- -->
805
- ```
806
-
807
- ### Beta Testing
808
-
809
- **Beta release approach:**
810
-
811
- ```markdown
812
- ---
813
- description: Beta command (v0.9.0)
814
- ---
815
-
816
- # 🧪 Beta Command
817
-
818
- **This is a beta release**
819
-
820
- Features may change based on feedback.
821
-
822
- BETA STATUS:
823
-
824
- - Version: 0.9.0
825
- - Stability: Experimental
826
- - Support: Limited
827
- - Feedback: Encouraged
828
-
829
- Known limitations:
830
-
831
- - Performance not optimized
832
- - Some edge cases not handled
833
- - Documentation incomplete
834
-
835
- Help improve this command:
836
-
837
- - Report issues: /command report-issue
838
- - Suggest features: /command suggest
839
- - Join beta testers: /command join-beta
840
-
841
- ---
842
-
843
- [Command implementation...]
844
-
845
- ---
846
-
847
- **Thank you for beta testing!**
848
-
849
- Your feedback helps make this command better.
850
- ```
851
-
852
- ## Maintenance and Updates
853
-
854
- ### Update Strategy
855
-
856
- **Versioned commands:**
857
-
858
- ```markdown
859
- <!--
860
- VERSION STRATEGY:
861
-
862
- Major (X.0.0): Breaking changes
863
- - Document all breaking changes
864
- - Provide migration guide
865
- - Support old version briefly
866
-
867
- Minor (x.Y.0): New features
868
- - Backward compatible
869
- - Announce new features
870
- - Update examples
871
-
872
- Patch (x.y.Z): Bug fixes
873
- - No user-facing changes
874
- - Update changelog
875
- - Security fixes prioritized
876
-
877
- Release schedule:
878
- - Patches: As needed
879
- - Minors: Monthly
880
- - Majors: Annually or as needed
881
- -->
882
- ```
883
-
884
- **Update notifications:**
885
-
886
- ```markdown
887
- ---
888
- description: Update-aware command
889
- ---
890
-
891
- # Check for Updates
892
-
893
- Current version: 2.1.0
894
- Latest version: [check if available]
895
-
896
- if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then
897
- 📢 UPDATE AVAILABLE
898
-
899
- New version: $LATEST_VERSION
900
- Current: $CURRENT_VERSION
901
-
902
- What's new:
903
-
904
- - Feature improvements
905
- - Bug fixes
906
- - Performance enhancements
907
-
908
- Update with:
909
- /plugin update plugin-name
910
-
911
- Release notes: https://releases.example.com/v$LATEST_VERSION
912
- fi
913
-
914
- [Command continues...]
915
- ```
916
-
917
- ## Best Practices Summary
918
-
919
- ### Distribution Design
920
-
921
- 1. **Universal**: Works across platforms and environments
922
- 2. **Self-contained**: Minimal dependencies, clear requirements
923
- 3. **Graceful**: Degrades gracefully when features unavailable
924
- 4. **Forgiving**: Anticipates and handles user mistakes
925
- 5. **Helpful**: Clear errors, good defaults, excellent docs
926
-
927
- ### Marketplace Success
928
-
929
- 1. **Discoverable**: Clear name, good description, searchable keywords
930
- 2. **Professional**: Polished presentation, consistent branding
931
- 3. **Reliable**: Tested thoroughly, handles edge cases
932
- 4. **Maintainable**: Versioned, updated regularly, supported
933
- 5. **User-focused**: Great UX, responsive to feedback
934
-
935
- ### Quality Standards
936
-
937
- 1. **Complete**: Fully documented, all features working
938
- 2. **Tested**: Works in real environments, edge cases handled
939
- 3. **Secure**: No vulnerabilities, safe operations
940
- 4. **Performant**: Reasonable speed, resource-efficient
941
- 5. **Ethical**: Privacy-respecting, user consent
942
-
943
- With these considerations, commands become marketplace-ready and delight users across diverse environments and use cases.