Skip to main content
AI/MLjmagly

package-plugin

Bundle a single plugin into a distributable marketplace archive, validating metadata and optionally publishing

Stars
141
Source
jmagly/aiwg
Updated
2026-05-31
Slug
jmagly--aiwg--package-plugin
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jmagly/aiwg/HEAD/agentic/code/addons/aiwg-utils/skills/package-plugin/SKILL.md -o .claude/skills/package-plugin.md

Drops the SKILL.md into .claude/skills/package-plugin.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Package Plugin

You bundle a single marketplace delivery wrapper for the AIWG marketplace. In AIWG vocabulary, the plugin layer packages an extension, addon, or framework payload for distribution. You validate metadata, create the package archive, and optionally publish to the registry.

Triggers

Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):

  • "bundle the voice plugin for release" → package voice plugin
  • "prepare the SDLC plugin for distribution" → package sdlc plugin
  • "I want to publish my plugin" → package and optionally publish
  • "create the plugin archive" → package without publishing

Trigger Patterns Reference

Pattern Example Action
Package plugin "package plugin sdlc" Run aiwg package-plugin sdlc
Bundle plugin "bundle plugin voice" Run aiwg package-plugin voice
Publish plugin "publish plugin marketing" Run aiwg package-plugin marketing --publish
Create package "create plugin package utils" Run aiwg package-plugin utils
Dry run "validate sdlc plugin before packaging" Run aiwg package-plugin sdlc --dry-run
With version bump "package voice with new version" Run aiwg package-plugin voice --bump patch

Behavior

When triggered:

  1. Extract intent:

    • Which delivery wrapper is being packaged?
    • Should it be published after packaging, or just archived locally?
    • Is a version bump needed?
    • Is this a validation dry run?
  2. Run the appropriate command:

    # Package a marketplace wrapper (creates archive, no publish)
    aiwg package-plugin sdlc
    aiwg package-plugin voice
    aiwg package-plugin marketing
    
    # Validate only — no archive created
    aiwg package-plugin sdlc --dry-run
    
    # Package and publish to marketplace
    aiwg package-plugin sdlc --publish
    
    # Bump version before packaging
    aiwg package-plugin voice --bump patch
    aiwg package-plugin voice --bump minor
    
    # Specify output directory
    aiwg package-plugin sdlc --output dist/plugins/
    
  3. Report the result — confirm archive path, included file count, and publish status.

What the Package Contains

A plugin package archive (.aiwg-plugin.tar.gz) is a delivery wrapper. It includes the manifest plus the payload files being distributed:

Contents Path in Archive
Agent definitions agents/
Command definitions commands/
Skill definitions skills/
Rule definitions rules/
Delivery manifest plugin.json
Changelog CHANGELOG.md (if present)

Files excluded from packages: .aiwg/working/, test fixtures, development-only configs.

Pre-Package Validation

Before creating the archive, the command automatically runs:

  1. aiwg validate-metadata — all extension definitions must pass
  2. Version format check — must be valid CalVer
  3. Delivery manifest completeness — id, name, description, version required

Packaging fails if any validation step fails.

Examples

Example 1: Package for release

User: "Package the voice plugin for release"

Extraction: Package voice plugin, no publish

Action:

aiwg package-plugin voice

Response: "Packaged voice@aiwg v2026.4.0. Archive: dist/plugins/voice-2026.4.0.aiwg-plugin.tar.gz (42 files, 1.2MB). Metadata validation passed. Ready to publish with aiwg package-plugin voice --publish."

Example 2: Validate before packaging

User: "Check if the SDLC plugin is ready to package"

Extraction: Dry-run validation

Action:

aiwg package-plugin sdlc --dry-run

Response: "Dry run: sdlc plugin metadata passed (58 agents, 42 commands, 12 skills, 33 rules validated). Ready to package. 1 warning: CHANGELOG.md not found — package will be created without it."

Example 3: Package and publish in one step

User: "Publish the marketing plugin to the marketplace"

Extraction: Package and publish marketing plugin

Action:

aiwg package-plugin marketing --publish

Response: "Packaged and published marketing@aiwg v2026.4.0 to the AIWG marketplace. Archive: dist/plugins/marketing-2026.4.0.aiwg-plugin.tar.gz. Registry updated."

Example 4: Package with version bump

User: "Bump and package the utils plugin with a patch version"

Extraction: Bump patch version then package

Action:

aiwg package-plugin utils --bump patch

Response: "Bumped utils version 2026.3.5 → 2026.4.0. Packaged. Archive: dist/plugins/utils-2026.4.0.aiwg-plugin.tar.gz."

References

  • @$AIWG_ROOT/src/cli/handlers/utilities.ts — Command handler
  • @$AIWG_ROOT/docs/cli-reference.md — CLI reference
  • @$AIWG_ROOT/docs/contributing/versioning.md — CalVer versioning rules