SkillsPublish to Hub

Publish to Hub

The Aerostack Community Hub is where developers share Skills, MCP Servers, and Functions. Publishing a skill makes it installable by any Aerostack user with one command.

Before You Publish

Make sure your skill is ready:

  • Tested locally — run aerostack dev and verify it works with test inputs
  • Deployed to your project — run aerostack deploy skill and confirm it works in a workspace
  • Clear tool description — the tool.description in aerostack.json should explain exactly when and how to use the skill
  • Error handling — the skill should return structured JSON errors, not crash on bad input

Publishing via CLI

Prepare your aerostack.json

Add the optional publishing fields:

{
  "name": "send-email",
  "type": "skill",
  "version": "1.0.0",
  "description": "Send transactional emails via Resend. Supports HTML body, custom sender, and delivery confirmation.",
  "category": "communication",
  "tags": ["email", "notifications", "resend", "transactional"],
  "tool": {
    "name": "send_email",
    "description": "Sends an email to a recipient. Supports plain text and HTML body. Use this when a user or workflow needs to send an email notification, confirmation, or alert.",
    "input_schema": {
      "type": "object",
      "properties": {
        "to": {
          "type": "string",
          "description": "Recipient email address"
        },
        "subject": {
          "type": "string",
          "description": "Email subject line"
        },
        "body": {
          "type": "string",
          "description": "Email body content (plain text or HTML)"
        }
      },
      "required": ["to", "subject", "body"]
    }
  }
}

Publishing-specific fields:

FieldRequired for publishDescription
versionYesSemantic version (e.g. 1.0.0, 1.2.3). Must increment on each publish.
categoryRecommendedOne of: communication, productivity, data, ai, developer-tools, analytics, security, storage, other.
tagsRecommendedArray of lowercase strings for search discoverability.

Publish

aerostack skill publish --name "Send Email" --function <function-id>

The --name flag sets the display name shown on the Hub (can include spaces and capitalization). The --function flag links the skill to its backing function.

Verify on the Hub

After publishing, your skill appears on hub.aerostack.dev. Visit your skill’s page to confirm the description, tags, and version are correct.


Publishing via Admin Dashboard

  1. Go to app.aerostack.dev and sign in
  2. Navigate to Skills in the sidebar
  3. Select the skill you want to publish
  4. Click Publish to Hub
  5. Fill in the display name, description, category, and tags
  6. Add a README (Markdown) — this is shown on the Hub listing page
  7. Click Publish

Publishing always starts as a draft. You can preview your Hub listing before making it public. Click Go Live when you are ready.


Versioning

Every published version is a snapshot. Past versions are preserved and cannot be overwritten.

Bumping versions

Update the version field in aerostack.json before publishing:

{
  "version": "1.1.0"
}

Then publish again. The Hub will show the new version as the latest, while previous versions remain accessible.

Semantic versioning guidelines

Change typeVersion bumpExample
Bug fix, no input/output changesPatch (1.0.0 to 1.0.1)Fixed error message typo
New optional parameterMinor (1.0.0 to 1.1.0)Added from parameter
Changed required parameters or behaviorMajor (1.0.0 to 2.0.0)Renamed body to content
⚠️

Breaking changes to tool.input_schema (removing or renaming required fields) should always be a major version bump. Consumers relying on the previous schema will break otherwise.


Writing a Good Hub Listing

Your skill competes for attention on the Hub. A clear listing gets more installs.

Display name

  • Short and descriptive: “Send Email”, “Generate PDF”, “Enrich Company”
  • Avoid generic names like “Helper” or “Utility”

Description

  • First sentence should explain what the skill does in plain language
  • Mention the external service if applicable (“via Resend”, “using OpenAI”)
  • State what input it expects and what it returns

Tags

  • Use lowercase, specific tags: email, resend, notifications
  • Include the category as a tag too
  • 3-6 tags is ideal

README

The README appears on the Hub listing page. Include:

  1. What it does — one paragraph
  2. Required secrets — what environment variables the installer needs to configure
  3. Example usage — a sample input and output
  4. Limitations — what it does not do

Example README:

# Send Email Skill
 
Sends transactional emails via the Resend API. Supports HTML body, custom sender address, and returns a delivery confirmation ID.
 
## Required Secrets
 
After installing this skill, set the following secrets:
 
- `RESEND_API_KEY` — your Resend API key (get one at resend.com/api-keys)
- `DEFAULT_FROM_EMAIL` — default sender address (must be verified in Resend)
 
## Example
 
**Input:**
- to: "[email protected]"
- subject: "Welcome!"
- body: "<h1>Welcome to our platform</h1>"
 
**Output:**
- success: true
- email_id: "abc123"
 
## Limitations
 
- Does not support attachments (yet)
- Requires a verified domain in Resend
- Rate limited to 100 emails/day on Resend's free tier

How Others Install Your Skill

Once published, anyone can install your skill in one command:

aerostack skill install yourusername/send-email

Or from the Hub web interface by clicking Install on the skill’s page.

The skill is installed into the user’s active workspace. They will need to configure any required secrets (aerostack secrets set RESEND_API_KEY ...) before the skill will work.


Updating a Published Skill

  1. Make your code changes
  2. Bump the version in aerostack.json
  3. Deploy: aerostack deploy skill
  4. Publish the new version: aerostack skill publish --name "Send Email" --function <function-id>

Users who have already installed your skill will get the latest version. The previous version snapshot is preserved in the Hub’s version history.


Unpublishing

To remove a skill from the Hub:

  1. Go to the Admin Dashboard > Skills > select the skill
  2. Click Unpublish

This removes the listing from the Hub but does not delete the skill from workspaces where it is already installed. Existing installations continue to work.

Next Steps