Publishing Packages
Create and share your own skills, plugins, avatars, and templates.
Overview
Publishing to the ArgentOS marketplace lets you share your extensions with the community. This guide covers creating a package, testing it locally, and publishing it.
Package Structure
Every marketplace package follows this structure:
my-package/
├── argent.plugin.json # Package manifest
├── README.md # Documentation
├── LICENSE # License file
├── tools/ # Tool definitions (optional)
│ └── my-tool.json
├── prompts/ # System prompt additions (optional)
│ └── system.md
├── handlers/ # Tool handler implementations (optional)
│ └── my-tool.ts
└── assets/ # Static assets like avatars (optional)
└── avatar.model3.jsonManifest
The argent.plugin.json manifest describes your package:
{
"name": "@yourname/my-skill",
"version": "1.0.0",
"type": "skill",
"description": "A useful skill for ArgentOS agents",
"author": "Your Name",
"license": "MIT",
"homepage": "https://github.com/yourname/my-skill",
"keywords": ["research", "web", "analysis"],
"permissions": ["exec", "browser"],
"tools": ["tools/my-tool.json"],
"prompts": ["prompts/system.md"],
"argentos": {
"minVersion": "1.0.0"
}
}Required Fields
| Field | Description |
|---|---|
name | Unique package name (@scope/name format) |
version | Semantic version |
type | Package type: skill, plugin, avatar, template |
description | Short description |
author | Author name or organization |
license | SPDX license identifier |
permissions | Tools/capabilities the package requires |
Development Workflow
1. Create the Package
argent marketplace init my-skill
cd my-skillThis scaffolds a basic package structure.
2. Develop Locally
Install from a local directory to test:
argent marketplace install ./my-skillTest the skill by interacting with your agent.
3. Validate
argent marketplace validate ./my-skillChecks the manifest, schema validity, and package structure.
4. Publish
# Login to the marketplace
argent marketplace login
# Publish
argent marketplace publishBest Practices
- Write a good README -- Include examples and usage instructions
- Declare all permissions -- Users need to know what your package accesses
- Use semantic versioning -- Follow semver for version numbers
- Include a LICENSE -- Required for marketplace listing
- Test thoroughly -- Validate on a clean ArgentOS installation
- Keep it focused -- One capability per package is better than a kitchen sink
Updating Published Packages
# Bump version
npm version patch # or minor, major
# Publish the update
argent marketplace publishExisting users will see the update when they run argent marketplace update.
Unpublishing
argent marketplace unpublish @yourname/[email protected]Unpublishing removes the package from the marketplace. Users who already installed it keep their local copy, but new installations are not possible.