ATOM Documentation

← Back to App

ATOM Marketplace User Guide

Complete guide to using the ATOM marketplace for sharing agents, skills, canvases, and domains.

---

Table of Contents

---

Overview

The ATOM marketplace enables you to:

  • **Discover** pre-built agents, skills, canvases, and domains
  • **Share** your creations with the community
  • **Install** ready-to-use components
  • **Rate** and review marketplace items
  • **Federate** across ATOM instances

Marketplace Types

MarketplaceDescriptionExample Items
**Agent Marketplace**Mature AI agents with pre-learned capabilitiesCustomer support agent, Sales assistant
**Skill Marketplace**Reusable AI skills and functionsData extraction, Document summarization
**Canvas Marketplace**UI canvas templates and visual componentsDashboard layout, Workflow builder
**Domain Marketplace**Specialist domain expertise templatesFinance specialist, Legal analyst

Skills vs Capabilities

**Important Distinction:**

AspectSkillsCapabilities
**Definition**Basic composable units (building blocks)Higher-level competencies that combine multiple skills
**Type**Individual tools/commandsUnstructured complex tasks (not long-horizon)
**Examples**Text summarization, Data extraction, API callData analysis, Code execution, Integrations, Reasoning
**Governance**Safety-based governance (LOW_RISK/HIGH_RISK levels)Domain-based governance (graduation thresholds)
**Tracking**SkillExecution recordsCapability matrix and graduation service
**Domains**None (basic units)4 domains: DATA_ANALYSIS, CODE_EXECUTION, INTEGRATIONS, REASONING

**How They Work Together:**

Skills (Basic Units) → Combined into → Capabilities (Higher-Level Competencies)
    ↓                                          ↓
Individual tools like:                 "Data Analysis" capability includes:
- Text summarization                    - Data visualization
- Sentiment analysis                    - Chart generation
- Data extraction                       - Report generation
                                          Domain: DATA_ANALYSIS
                                          Risk factor: 0.3
                                          Threshold: 70% success rate

**Key Differences:**

  1. **Skills** are the fundamental building blocks - individual functions you can install and use
  2. **Capabilities** are higher-level competencies that agents develop by combining multiple skills
  3. **Skills** have safety-based governance (LOW_RISK/HIGH_RISK) and require admin approval for dangerous operations
  4. **Capabilities** have domain-based governance with graduation thresholds for agent maturity progression
  5. **Skills** are installed from the marketplace; **Capabilities** are developed by agents through training and experience

**Example:**

To become a "Data Analysis Specialist," an agent needs:

  • **Skills installed**: Data extraction, Chart rendering, Report generation (from marketplace)
  • **Capabilities developed**: DATA_ANALYSIS domain proficiency (through training and success rate)

---

Getting Started

Accessing the Marketplace

  1. **Navigate to Marketplace**
  • Log in to your ATOM workspace
  • Click **"Marketplace"** in the left sidebar
  • Choose a marketplace type (Agent, Skill, Canvas, Domain)
  1. **Marketplace Dashboard**
  • Featured items
  • Popular categories
  • Recent submissions
  • Your installations

Permissions

  • **Browse**: Available to all users
  • **Install**: Requires appropriate plan limits
  • **Publish**: Requires account with publishing permissions
  • **Rate**: Requires installation of the item

---

Browsing the Marketplace

Search and Filter

**Basic Search:**

Search bar: "customer support"

**Advanced Filters:**

  • **Category**: Browse by category (e.g., "automation", "integration", "analytics")
  • **Type**: Filter by type (e.g., "api", "workflow", "template")
  • **Price**: Free vs. Paid items
  • **Rating**: Minimum rating (4+ stars, 3+ stars, etc.)
  • **Sort By**: Rating, installs, updated, name

**Example Filter Combinations:**

Category: "integration"
Type: "api"
Price: "free"
Rating: "4+ stars"
Sort By: "rating"

Viewing Item Details

Click any item to view:

  1. **Overview**
  • Name and description
  • Publisher information
  • Version history
  • Installation count
  1. **Details**
  • Long description
  • Screenshots/demo
  • Input/output schemas
  • Dependencies
  • Resource requirements
  1. **Ratings and Reviews**
  • Average rating
  • Total reviews
  • User reviews with comments
  • Rating distribution
  1. **Installation**
  • Install button
  • Version selector
  • Compatibility check
  • Resource impact

Categories

**Agent Marketplace:**

  • Customer Service
  • Sales & Marketing
  • Finance & Accounting
  • Development & IT
  • HR & Operations
  • Analytics & Reporting

**Skill Marketplace:**

  • Data Processing
  • Integration
  • Automation
  • Analysis
  • Communication
  • File Management

**Canvas Marketplace:**

  • Dashboards
  • Workflow Builders
  • Data Visualizations
  • Forms & Input
  • Reports & Exports

**Domain Marketplace:**

  • Finance
  • Legal
  • Healthcare
  • E-commerce
  • Manufacturing
  • Education

---

Publishing to Marketplace

Preparation Checklist

Before publishing, ensure:

  • [ ] Item is fully functional and tested
  • [ ] Documentation is complete
  • [ ] No hardcoded credentials or sensitive data
  • [ ] Compatible with current platform version
  • [ ] Meets quality standards
  • [ ] Proper licensing information

Publishing an Agent

**Requirements:**

  • Agent maturity: **Autonomous** or **Supervised**
  • Minimum performance metrics:
  • Success rate: ≥70%
  • Zero-intervention ratio: ≥60%
  • Constitutional compliance: ≥80%
  • Graduation exam passed (if applicable)

**Steps:**

  1. **Navigate to Your Agents**
  1. **Configure Publishing Details**
  1. **Select Version**
  • Choose which version to publish
  • Include agent memory (optional)
  • Include learned experiences (optional)
  • Strip sensitive data automatically
  1. **Add Documentation**
  • Long description (Markdown supported)
  • Usage instructions
  • Screenshots or demo video
  • Changelog
  1. **Submit for Review**
  • Review submission
  • Agree to publisher terms
  • Submit

**Approval Process:**

  • Automated validation (5-10 minutes)
  • Manual review (1-2 business days)
  • Approval notification via email
  • Item appears in marketplace

Publishing a Skill

**Requirements:**

  • Skill code is functional
  • Input/output schemas defined
  • Error handling implemented
  • Documentation complete

**Steps:**

  1. **Navigate to Your Skills**
  1. **Configure Skill Details**
  1. **Define Schemas**

**Input Schema:**

```json

{

"type": "object",

"properties": {

"text": {

"type": "string",

"description": "Text to extract data from"

},

"fields": {

"type": "array",

"items": {"type": "string"},

"description": "Fields to extract"

}

},

"required": ["text", "fields"]

}

```

**Output Schema:**

```json

{

"type": "object",

"properties": {

"extracted_data": {

"type": "object",

"description": "Extracted key-value pairs"

},

"confidence": {

"type": "number",

"description": "Confidence score (0-1)"

}

}

}

```

  1. **Upload Code**
  • Paste skill code
  • Specify language (Python, JavaScript)
  • Add dependencies
  1. **Add Examples**
  1. **Submit for Review**

Publishing a Canvas

**Requirements:**

  • Canvas is functional
  • Components are properly connected
  • Layout is responsive
  • Documentation included

**Steps:**

  1. **Navigate to Your Canvases**
  1. **Configure Canvas Details**
  1. **Export Canvas Configuration**
  • Components included
  • Layout preserved
  • Dependencies listed
  • Data sources specified (placeholders)
  1. **Add Screenshots**
  • Upload canvas screenshot
  • Add demo video (optional)
  • Document component interactions
  1. **Submit for Review**

Publishing a Domain

**Requirements:**

  • Domain is fully configured
  • Knowledge base is populated
  • Skills are integrated
  • Documentation complete

**Steps:**

  1. **Navigate to Your Domains**
  1. **Configure Domain Details**
  1. **Export Domain Configuration**
  • Knowledge base (anonymized)
  • Integrated skills
  • Agent templates
  • Best practices
  1. **Submit for Review**

---

Installing from Marketplace

Installation Prerequisites

  • **Plan Limits**: Check your plan allows additional items
  • **Resource Requirements**: Ensure sufficient resources
  • **Compatibility**: Verify platform version compatibility
  • **Dependencies**: Check required integrations/skills

Installing an Agent

**Steps:**

  1. **Browse Agent Marketplace**
  1. **Select Agent**
  • Read description
  • Check ratings and reviews
  • View resource requirements
  • Verify compatibility
  1. **Click "Install"**
  • Choose version (latest or specific)
  • Review permissions
  • Confirm installation
  1. **Configure Installed Agent**
  1. **Agent Ready**
  • Agent appears in your Agents list
  • Can be used immediately
  • Can be further trained

**Example:**

Installing: Customer Support Agent v2.1
Publisher: Acme Corp
Rating: ⭐⭐⭐⭐⭐ (4.8/5 from 120 reviews)
Resource Impact: Medium
Estimated Cost: $0/month (included in plan)

✓ Compatible with your plan
✓ No additional integrations required
✓ Sufficient resources available

[Install Agent]

Installing a Skill

**Steps:**

  1. **Browse Skill Marketplace**
  1. **Select Skill**
  • Review description
  • Check input/output schemas
  • View examples
  • Verify dependencies
  1. **Click "Install"**
  • Review skill code
  • Check dependencies
  • Confirm installation
  1. **Skill Available**
  • Skill appears in Canvas skill palette
  • Can be used in workflows
  • Can be customized

**Example:**

Installing: Data Extractor v1.3
Publisher: DataTools Inc
Rating: ⭐⭐⭐⭐ (4.2/5 from 45 reviews)
Type: API
Dependencies: None

Input Schema: {text: string, fields: array}
Output Schema: {extracted_data: object, confidence: number}

Example:
Input: {"text": "Contact: john@example.com", "fields": ["email"]}
Output: {"extracted_data": {"email": "john@example.com"}, "confidence": 0.95}

[Install Skill]

Installing a Canvas

**Steps:**

  1. **Browse Canvas Marketplace**
  1. **Select Canvas**
  • View screenshots
  • Check components
  • Review documentation
  • Verify data sources
  1. **Click "Install"**
  • Review canvas configuration
  • Map data sources
  • Confirm installation
  1. **Canvas Ready**
  • Canvas appears in your Canvas list
  • Can be customized
  • Can be shared with team

**Example:**

Installing: Sales Dashboard v1.0
Publisher: DashboardTemplates
Rating: ⭐⭐⭐⭐⭐ (4.9/5 from 89 reviews)
Components: 12
Data Sources: Salesforce, Stripe

⚠️ Requires: Salesforce integration
⚠️ Requires: Stripe integration

[Configure Data Sources] [Install Canvas]

Installing a Domain

**Steps:**

  1. **Browse Domain Marketplace**
  1. **Select Domain**
  • Read description
  • Check features
  • View documentation
  • Verify pricing
  1. **Click "Install"**
  • Review pricing
  • Check compatibility
  • Confirm installation
  1. **Configure Domain**
  • Import knowledge base
  • Configure agents
  • Set up skills
  1. **Domain Ready**
  • Domain available for agents
  • Can be customized
  • Subscription activated

**Example:**

Installing: Finance Specialist v3.0
Publisher: FinanceAI
Rating: ⭐⭐⭐⭐ (4.5/5 from 56 reviews)
Price: $9.99/month
Subscription: Monthly (cancel anytime)

Features:
✓ Financial analysis
✓ Report generation
✓ Forecasting
✓ Compliance checking

[Subscribe & Install]

Managing Installations

**View Your Installations:**

Marketplace → "My Installations"

**Update Installed Items:**

  • Check for updates
  • View changelog
  • Update to latest version

**Uninstall Items:**

  • Remove from workspace
  • Data retention options
  • Reinstall capability

---

Private Marketplace

Overview

Private marketplace allows organizations to:

  • Share items within organization only
  • Control access and approvals
  • Maintain internal asset library
  • Separate from public marketplace

Setting Up Private Marketplace

**Enable Private Marketplace:**

Settings → Marketplace → "Enable Private Marketplace"

**Configuration:**

Private Marketplace Name: "Acme Corp Internal"
Visibility: Organization only
Approval Required: Yes/No
Allow Publishing: All users / Admins only

Publishing to Private Marketplace

**Steps:**

  1. **Navigate to Item**
  • Agent/Skill/Canvas/Domain
  • Click "Publish"
  1. **Choose Private Marketplace**
  1. **Configure Details**
  • Name and description
  • Category and tags
  • Access control (if applicable)
  1. **Submit**
  • Instant approval (if enabled)
  • Or submit for review

Accessing Private Marketplace

**View Private Marketplace:**

Marketplace → "Private" tab

**Filter by:**

  • Publisher
  • Department
  • Date published
  • Installation count

Private Marketplace Features

**Access Control:**

  • Restrict by user role
  • Restrict by department
  • Require approval for access

**Versioning:**

  • Multiple versions
  • Version approvals
  • Rollback capability

**Analytics:**

  • Installation tracking
  • Usage metrics
  • Feedback collection

---

Pricing and Billing

Marketplace Pricing Models

**Free Items:**

  • No cost to install
  • Included in plan limits
  • Full functionality

**Paid Items:**

  • One-time purchase or subscription
  • Billed through ATOM account
  • Can cancel subscriptions anytime

Plan Limits

PlanMax AgentsMax SkillsMax CanvasesMax Domains
Free31051
Solo1050205
Team2520010010
EnterpriseUnlimitedUnlimitedUnlimitedUnlimited

Resource Usage

**Agent Resources:**

  • CPU: Low/Medium/High
  • Memory: 100MB - 2GB
  • Storage: Included in plan

**Skill Resources:**

  • Execution time: Included
  • API calls: Count toward quota
  • Storage: Minimal

**Canvas Resources:**

  • Components: No limit
  • Data sources: Per integration limits
  • Storage: Included in plan

**Domain Resources:**

  • Knowledge base: Per plan storage
  • Agents: Count toward plan limit
  • Skills: Count toward plan limit

Billing

**Free Items:**

  • No additional charges
  • Count toward plan limits

**Paid Items:**

  • Billed monthly
  • Itemized on invoice
  • Can cancel anytime

**Example Invoice:**

ATOM SaaS - Monthly Invoice
----------------------------
Plan: Team ($79/month)
Marketplace Items:
  - Finance Specialist Domain: $9.99
  - Sales Dashboard Canvas: $4.99
Total: $93.98

---

Rating and Reviews

Rating Items

**Rate After Installation:**

  1. Use the item for reasonable period
  2. Click "Rate" button
  3. Select star rating (1-5)
  4. Write review (optional)
  5. Submit

**Rating Guidelines:**

  • **5 stars**: Excellent, exceeds expectations
  • **4 stars**: Good, meets expectations
  • **3 stars**: Average, some issues
  • **2 stars**: Poor, significant issues
  • **1 star**: Unusable, critical issues

Writing Reviews

**What to Include:**

  • What you like
  • What could be improved
  • Use case context
  • Tips for other users

**Example Review:**

⭐⭐⭐⭐⭐
"Excellent customer support agent! Handles inquiries across email
and chat seamlessly. Reduced response time by 80%. Highly recommend
for small businesses."

Use case: Customer support for e-commerce store
Team size: 5 agents
Integration: Gmail, Slack

Review Moderation

**Community Guidelines:**

  • Be respectful and constructive
  • Avoid spam and self-promotion
  • Report inappropriate reviews
  • Edit your own reviews

---

Code Examples

API Usage Examples

Browse Marketplace via API

**Python Example:**

import requests

# Browse skills marketplace
response = requests.get("https://api.atomagentos.com/api/public/v1/marketplace/skills")
data = response.json()

for skill in data['skills']:
    print(f"{skill['name']}: {skill['description']}")
    print(f"Rating: {skill['average_rating']}/5")
    print(f"Installs: {skill['install_count']}")
    print()

**JavaScript Example:**

// Browse agents marketplace
async function browseAgents(category = null) {
  const params = new URLSearchParams({
    limit: 20,
    sort_by: 'rating',
    sort_order: 'desc'
  });

  if (category) {
    params.append('category', category);
  }

  const response = await fetch(
    `https://api.atomagentos.com/api/public/v1/marketplace/agents?${params}`
  );

  const data = await response.json();
  return data.agents;
}

// Usage
const agents = await browseAgents('customer-service');
agents.forEach(agent => {
  console.log(`${agent.name}: ${agent.average_rating}/5`);
});

**Go Example:**

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

type Skill struct {
    ID          string  `json:"id"`
    Name        string  `json:"name"`
    Description string  `json:"description"`
    Rating      float64 `json:"average_rating"`
}

func main() {
    resp, err := http.Get("https://api.atomagentos.com/api/public/v1/marketplace/skills")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var data struct {
        Skills []Skill `json:"skills"`
    }

    json.NewDecoder(resp.Body).Decode(&data)

    for _, skill := range data.Skills {
        fmt.Printf("%s: %.1f/5\n", skill.Name, skill.Rating)
    }
}

**cURL Example:**

# Browse skills with filters
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills?category=data-processing&type=api&sort_by=rating&sort_order=desc" \
  -H "Accept: application/json"

# Get specific skill details
curl -X GET "https://api.atomagentos.com/api/public/v1/marketplace/skills/SKILL_ID" \
  -H "Accept: application/json"

# Rate a skill
curl -X POST "https://api.atomagentos.com/api/public/v1/marketplace/skills/SKILL_ID/rate" \
  -H "X-API-Key: atom_pub_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"rating": 5, "review": "Excellent skill!"}'

Install via API

**Python Example:**

import requests

# Install a skill
api_key = "atom_pub_YOUR_KEY_HERE"
headers = {"X-API-Key": api_key}

response = requests.post(
    f"https://api.atomagentos.com/api/public/v1/marketplace/skills/SKILL_ID/install",
    headers=headers
)

if response.status_code == 200:
    print("Skill installed successfully!")
else:
    print(f"Installation failed: {response.json()['error']}")

**JavaScript Example:**

// Install an agent
async function installAgent(agentId) {
  const response = await fetch(
    `https://api.atomagentos.com/api/public/v1/marketplace/agents/${agentId}/install`,
    {
      method: 'POST',
      headers: {
        'X-API-Key': 'atom_pub_YOUR_KEY_HERE',
        'Content-Type': 'application/json'
      }
    }
  );

  if (response.ok) {
    const data = await response.json();
    console.log('Agent installed:', data.name);
    return data;
  } else {
    throw new Error('Installation failed');
  }
}

// Usage
installAgent('AGENT_ID')
  .then(agent => console.log('Success:', agent))
  .catch(err => console.error('Error:', err));

Publish via API

**Python Example:**

import requests
import json

api_key = "atom_pub_YOUR_KEY_HERE"
headers = {"X-API-Key": api_key, "Content-Type": "application/json"}

# Prepare skill data
skill_data = {
    "name": "Data Extractor Pro",
    "description": "Advanced data extraction from unstructured text",
    "long_description": "# Data Extractor Pro\n\nExtracts structured data from text using NLP.",
    "type": "api",
    "category": "data-processing",
    "tags": ["extraction", "nlp", "parsing"],
    "price": 0.0,
    "license": "MIT",
    "input_schema": {
        "type": "object",
        "properties": {
            "text": {
                "type": "string",
                "description": "Text to extract from"
            },
            "fields": {
                "type": "array",
                "items": {"type": "string"},
                "description": "Fields to extract"
            }
        },
        "required": ["text", "fields"]
    },
    "output_schema": {
        "type": "object",
        "properties": {
            "extracted_data": {
                "type": "object",
                "description": "Extracted key-value pairs"
            },
            "confidence": {
                "type": "number",
                "description": "Confidence score (0-1)"
            }
        }
    },
    "code": """
def execute(input):
    text = input['text']
    fields = input['fields']
    # Extraction logic here
    return {
        'extracted_data': {},
        'confidence': 0.95
    }
"""
}

# Submit skill
response = requests.post(
    "https://api.atomagentos.com/api/public/v1/marketplace/submit",
    headers=headers,
    json=skill_data
)

if response.status_code == 201:
    print("Skill submitted for review!")
    print(f"Submission ID: {response.json()['id']}")
else:
    print(f"Submission failed: {response.json()['error']}")

---

CLI Examples

Using ATOM CLI

**Install ATOM CLI:**

# macOS/Linux
curl -fsSL https://get.atomagentos.com/install.sh | bash

# Windows (PowerShell)
irm https://get.atomagentos.com/install.ps1 | iex

**Browse Marketplace:**

# List all skills
atom marketplace list skills

# Search skills
atom marketplace search skills --query "data extraction"

# Get skill details
atom marketplace get skill SKILL_ID

# List categories
atom marketplace categories

**Install Items:**

# Install a skill
atom marketplace install skill SKILL_ID

# Install specific version
atom marketplace install skill SKILL_ID --version 2.1.0

# Install an agent
atom marketplace install agent AGENT_ID

# Install multiple items
atom marketplace install skill SKILL_1 skill SKILL_2 skill SKILL_3

**Publish Items:**

# Publish a skill from file
atom marketplace publish skill --file skill.json

# Publish an agent
atom marketplace publish agent --agent-id my_agent --price 0.0

# Update published item
atom marketplace update skill SKILL_ID --file skill_v2.json

# Check submission status
atom marketplace status SUBMISSION_ID

**Rate Items:**

# Rate a skill
atom marketplace rate skill SKILL_ID --rating 5 --review "Excellent!"

# List your ratings
atom marketplace ratings

# Get item ratings
atom marketplace ratings skill SKILL_ID

**Manage Installations:**

# List installed items
atom marketplace installed

# Check for updates
atom marketplace updates

# Update an item
atom marketplace update skill SKILL_ID

# Uninstall an item
atom marketplace uninstall skill SKILL_ID

---

Example Configurations

Skill Configuration Example

**Simple API Skill:**

{
  "name": "Text Summarizer",
  "description": "Summarizes long text into concise summaries",
  "type": "api",
  "category": "text-processing",
  "tags": ["summarization", "nlp", "text"],
  "price": 0.0,
  "license": "MIT",
  "input_schema": {
    "type": "object",
    "properties": {
      "text": {
        "type": "string",
        "description": "Text to summarize"
      },
      "max_length": {
        "type": "integer",
        "description": "Maximum summary length",
        "default": 100
      }
    },
    "required": ["text"]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "summary": {
        "type": "string",
        "description": "Generated summary"
      },
      "original_length": {
        "type": "integer",
        "description": "Original text length"
      },
      "summary_length": {
        "type": "integer",
        "description": "Summary length"
      }
    }
  },
  "code": "def execute(input):\n    text = input['text']\n    max_length = input.get('max_length', 100)\n    # Summarization logic\n    summary = text[:max_length] + '...'\n    return {\n        'summary': summary,\n        'original_length': len(text),\n        'summary_length': len(summary)\n    }"
}

**Integration Skill Example:**

{
  "name": "Slack Notifier",
  "description": "Send notifications to Slack channels",
  "type": "integration",
  "category": "communication",
  "tags": ["slack", "notifications", "messaging"],
  "price": 0.0,
  "license": "Apache-2.0",
  "dependencies": [
    {"name": "slack_sdk", "version": ">=3.0.0"}
  ],
  "input_schema": {
    "type": "object",
    "properties": {
      "channel": {
        "type": "string",
        "description": "Slack channel ID or name"
      },
      "message": {
        "type": "string",
        "description": "Message to send"
      },
      "webhook_url": {
        "type": "string",
        "description": "Slack webhook URL"
      }
    },
    "required": ["channel", "message", "webhook_url"]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "success": {
        "type": "boolean",
        "description": "True if message sent successfully"
      },
      "timestamp": {
        "type": "string",
        "description": "ISO timestamp of message"
      }
    }
  },
  "code": "import requests\n\ndef execute(input):\n    webhook_url = input['webhook_url']\n    payload = {\n        'channel': input['channel'],\n        'text': input['message']\n    }\n    response = requests.post(webhook_url, json=payload)\n    return {\n        'success': response.status_code == 200,\n        'timestamp': response.headers.get('Date', '')\n    }"
}

Agent Template Example

**Customer Support Agent:**

{
  "name": "Customer Support Agent",
  "description": "Handles customer inquiries across email and chat",
  "category": "customer-service",
  "tags": ["support", "customer-service", "helpdesk"],
  "version": "2.1.0",
  "maturity_level": "supervised",
  "capabilities": [
    "respond_to_inquiries",
    "escalate_issues",
    "lookup_orders",
    "process_returns"
  ],
  "skills": [
    "text_understanding",
    "sentiment_analysis",
    "knowledge_base_search"
  ],
  "integrations": [
    "gmail",
    "slack",
    "salesforce"
  ],
  "memory": {
    "include": true,
    "anonymize": true,
    "retention_days": 90
  },
  "performance_metrics": {
    "success_rate": 0.85,
    "zero_intervention_ratio": 0.72,
    "constitutional_compliance": 0.92
  },
  "configuration": {
    "max_response_time": 300,
    "escalation_threshold": 0.7,
    "learning_enabled": true
  }
}

Canvas Template Example

**Dashboard Canvas:**

{
  "name": "Sales Dashboard",
  "description": "Comprehensive sales analytics dashboard",
  "category": "dashboards",
  "tags": ["sales", "analytics", "dashboard"],
  "version": "1.0.0",
  "layout": {
    "type": "grid",
    "columns": 3,
    "rows": 4
  },
  "components": [
    {
      "id": "revenue_chart",
      "type": "chart",
      "position": {"row": 0, "col": 0, "rowspan": 2, "colspan": 2},
      "data_source": "salesforce",
      "query": "SELECT date, revenue FROM sales ORDER BY date DESC LIMIT 30",
      "chart_type": "line"
    },
    {
      "id": "kpi_cards",
      "type": "kpi",
      "position": {"row": 0, "col": 2, "rowspan": 1, "colspan": 1},
      "metrics": [
        {"label": "Total Revenue", "value": "${revenue_total}"},
        {"label": "New Customers", "value": "${customers_count}"},
        {"label": "Conversion Rate", "value": "${conversion_rate}%"}
      ]
    },
    {
      "id": "recent_orders",
      "type": "table",
      "position": {"row": 2, "col": 0, "rowspan": 2, "colspan": 3},
      "data_source": "salesforce",
      "query": "SELECT order_id, customer, amount, status FROM orders ORDER BY created_at DESC LIMIT 10"
    }
  ],
  "data_sources": [
    {
      "name": "salesforce",
      "type": "salesforce",
      "placeholder": true
    }
  ]
}

---

Screenshot Placeholders

Marketplace Browse Screen

┌─────────────────────────────────────────────────────────────┐
│ ATOM Marketplace                                [Search...]  │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  [Agents] [Skills] [Canvases] [Domains]  [Private]          │
│                                                              │
│  Filters: [Category ▼] [Type ▼] [Price ▼] [Rating ▼]       │
│                                                              │
│  ┌───────────────────────────────────────────────────────┐  │
│  │ Featured: Customer Support Agent                      │  │
│  │ ⭐⭐⭐⭐⭐ 4.8/5  |  1.2k installs  |  Free            │  │
│  │ Handles customer inquiries across email and chat...    │  │
│  │ [View Details] [Install]                               │  │
│  └───────────────────────────────────────────────────────┘  │
│                                                              │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │ Data        │ │ Email       │ │ Slack       │            │
│  │ Extractor   │ │ Sender      │ │ Notifier    │            │
│  │ ⭐ 4.2      │ │ ⭐ 4.5      │ │ ⭐ 4.7      │            │
│  │ [Install]   │ │ [Install]   │ │ [Install]   │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Item Details Screen

┌─────────────────────────────────────────────────────────────┐
│ Data Extractor v1.3                          [Rate] [Share] │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ⭐⭐⭐⭐ 4.2/5  |  45 reviews  |  856 installs               │
│                                                              │
│  Extract structured data from unstructured text using NLP   │
│                                                              │
│  [Install Skill] [Try Demo] [View Code]                     │
│                                                              │
│  Overview                                                    │
│  ─────────────────────────────────────────────────────────  │
│  Type: API                                                   │
│  Category: Data Processing                                   │
│  Publisher: DataTools Inc                                    │
│  Version: 1.3 (Updated 2 days ago)                           │
│  Dependencies: None                                          │
│                                                              │
│  Input/Output Example                                        │
│  ─────────────────────────────────────────────────────────  │
│  Input:                                                      │
│  {                                                           │
│    "text": "Contact: john@example.com, phone: 555-1234",    │
│    "fields": ["email", "phone"]                              │
│  }                                                           │
│                                                              │
│  Output:                                                     │
│  {                                                           │
│    "extracted_data": {                                       │
│      "email": "john@example.com",                            │
│      "phone": "555-1234"                                     │
│    },                                                        │
│    "confidence": 0.95                                        │
│  }                                                           │
│                                                              │
│  Reviews (45)                                                │
│  ─────────────────────────────────────────────────────────  │
│  ⭐⭐⭐⭐⭐ "Excellent! Saved me hours of manual work."       │
│  - Jane D., 2 days ago                                       │
│                                                              │
│  ⭐⭐⭐⭐ "Great accuracy, easy to use."                      │
│  - Mike S., 1 week ago                                       │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Installation Screen

┌─────────────────────────────────────────────────────────────┐
│ Install Customer Support Agent                              │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Review Installation Details                                 │
│  ─────────────────────────────────────────────────────────  │
│                                                              │
│  Agent: Customer Support Agent v2.1                          │
│  Publisher: Acme Corp                                        │
│  Rating: ⭐⭐⭐⭐⭐ (4.8/5 from 120 reviews)                 │
│                                                              │
│  Resource Impact: Medium                                     │
│  - CPU: ~20% per active conversation                        │
│  - Memory: ~500MB                                            │
│  - Storage: Included in plan                                 │
│                                                              │
│  Capabilities:                                               │
│  ✓ Respond to customer inquiries                             │
│  ✓ Escalate complex issues                                   │
│  ✓ Lookup order information                                  │
│  ✓ Process returns and refunds                               │
│                                                              │
│  Integrations Required:                                      │
│  ✓ Gmail (already connected)                                 │
│  ✓ Slack (needs connection)                                  │
│  ⚠ Salesforce (optional)                                     │
│                                                              │
│  Plan Check:                                                 │
│  ✓ Free plan allows 3 agents (1 used, 2 available)          │
│  ✓ Sufficient resources available                            │
│                                                              │
│  Configuration:                                              │
│  Name: [Customer Support Agent_________________]             │
│  Initial Maturity: [Intern ▼]                                │
│                                                              │
│  [Cancel]                                    [Install Agent] │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Publishing Screen

┌─────────────────────────────────────────────────────────────┐
│ Publish to Marketplace: Data Extractor                       │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  1. Basic Information                                        │
│  ─────────────────────────────────────────────────────────  │
│  Name: [Data Extractor_______________________]               │
│  Description: [Extract structured data from text____]        │
│  Category: [Data Processing ▼]                               │
│  Tags: [extraction, nlp, parsing__________]                  │
│                                                              │
│  2. Pricing                                                  │
│  ─────────────────────────────────────────────────────────  │
│  Price: [Free ☑]  [Paid $______]                             │
│  License: [MIT ▼]                                            │
│                                                              │
│  3. Documentation                                           │
│  ─────────────────────────────────────────────────────────  │
│  Long Description:                                           │
│  ┌────────────────────────────────────────────────────┐     │
│  │ # Data Extractor                                    │     │
│  │                                                     │     │
│  │ Extracts structured data from unstructured text     │     │
│  │ using advanced NLP techniques.                      │     │
│  │                                                     │     │
│  │ ## Features                                         │     │
│  │ - Email extraction                                  │     │
│  │ - Phone number extraction                           │     │
│  │ - Custom field extraction                           │     │
│  └────────────────────────────────────────────────────┘     │
│                                                              │
│  4. Preview                                                 │
│  ─────────────────────────────────────────────────────────  │
│  Input Schema: ✓ Defined                                     │
│  Output Schema: ✓ Defined                                    │
│  Code: ✓ Valid Python                                        │
│  Examples: ✓ Added                                           │
│                                                              │
│  [Save Draft]           [Cancel]           [Submit for Review]│
│                                                              │
└─────────────────────────────────────────────────────────────┘

---

Integration Examples

Webhook Integration

**Receive Marketplace Updates:**

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/webhook/marketplace', methods=['POST'])
def marketplace_webhook():
    data = request.json

    event_type = data.get('event_type')
    item_id = data.get('item_id')
    item_name = data.get('item_name')

    if event_type == 'item.installed':
        print(f"New installation of {item_name}!")
        # Send notification, update metrics, etc.

    elif event_type == 'item.rated':
        rating = data.get('rating')
        print(f"{item_name} received {rating} stars!")
        # Process rating

    elif event_type == 'item.updated':
        version = data.get('version')
        print(f"{item_name} updated to v{version}")
        # Handle update

    return jsonify({'status': 'received'}), 200

if __name__ == '__main__':
    app.run(port=5000)

Marketplace Analytics

**Track Installation Performance:**

import requests
import matplotlib.pyplot as plt

api_key = "atom_pub_YOUR_KEY_HERE"
headers = {"X-API-Key": api_key}

# Get your published items
response = requests.get(
    "https://api.atomagentos.com/api/public/v1/marketplace/my-items",
    headers=headers
)

items = response.json()['items']

# Analyze performance
for item in items:
    name = item['name']
    installs = item['install_count']
    rating = item['average_rating']
    reviews = item['review_count']

    print(f"{name}:")
    print(f"  Installs: {installs}")
    print(f"  Rating: {rating}/5 ({reviews} reviews)")
    print()

    # Optional: Create visualization
    plt.bar(name, installs)

plt.show()

---

Troubleshooting

Installation Issues

**"Installation Failed" Error:**

  • Check plan limits
  • Verify compatibility
  • Ensure sufficient resources
  • Check required integrations

**"Already Installed" Message:**

  • Check your installations
  • Update existing version
  • Uninstall before reinstalling

**"Insufficient Resources" Warning:**

  • Upgrade plan
  • Remove unused items
  • Contact support

Publishing Issues

**"Submission Rejected" Message:**

  • Review rejection reason
  • Fix identified issues
  • Resubmit

**"Pending Approval" Status:**

  • Wait for review (1-2 business days)
  • Check email for updates
  • Contact support if delayed

**"Validation Failed" Error:**

  • Check item requirements
  • Fix validation errors
  • Ensure documentation complete

Performance Issues

**Item Slow to Load:**

  • Check internet connection
  • Clear browser cache
  • Try again later
  • Report if persistent

**Item Not Working:**

  • Check compatibility
  • Review documentation
  • Update to latest version
  • Contact publisher

Billing Issues

**Unexpected Charges:**

  • Review invoice details
  • Check subscription items
  • Cancel unwanted subscriptions
  • Contact billing support

**Plan Upgrade Needed:**

  • Review plan limits
  • Compare plans
  • Upgrade plan
  • Install item after upgrade

Getting Help

**Support Resources:**

  • **Documentation**: docs.atomagentos.com
  • **Community**: community.atomagentos.com
  • **Support**: support@atomagentos.com
  • **Status**: status.atomagentos.com

**Contact Support:**

  1. Describe the issue
  2. Include steps to reproduce
  3. Attach screenshots (if applicable)
  4. Provide item name and version

---

Best Practices

For Publishers

**Quality:**

  • Test thoroughly before publishing
  • Include comprehensive documentation
  • Provide clear examples
  • Respond to reviews and feedback

**Updates:**

  • Maintain items regularly
  • Document changes in changelog
  • Test updates before publishing
  • Communicate with users

**Pricing:**

  • Price competitively
  • Offer free trials for complex items
  • Provide value for cost
  • Consider subscription vs. one-time

For Users

**Evaluation:**

  • Read reviews before installing
  • Check ratings and installation count
  • Review documentation
  • Test with free items first

**Installation:**

  • Start with free items
  • Install items gradually
  • Monitor resource usage
  • Uninstall unused items

**Feedback:**

  • Rate items after use
  • Provide constructive reviews
  • Report issues to publishers
  • Suggest improvements

---

Team Collaboration

ATOM provides comprehensive team collaboration features that enable multiple users to work together seamlessly within a shared workspace.

Team Members

**Roles and Permissions:**

RolePermissionsDescription
**Owner**Full access, billing management, team managementPrimary account holder with complete control
**Admin**Manage team, install items, configure settingsCan invite/remove members and manage resources
**Member**Use agents, skills, canvasesStandard user access
**Viewer**Read-only accessCan view but not execute or modify

Inviting Team Members

**Send Invitation:**

  1. **Navigate to Team Settings**
  1. **Click "Invite Member"**
  • Enter email address
  • Select role (Admin, Member, Viewer)
  • Add optional message
  • Click "Send Invitation"
  1. **Invitation Email Sent**
  • Recipient receives email with signup link
  • Link pre-fills their information
  • They create account and join team automatically

**Example Invitation:**

To: sarah@company.com
Subject: You're invited to join ACME Corp on ATOM

You've been invited to join ACME Corp's workspace on ATOM.
Click below to accept and get started:

[Accept Invitation]

You'll have Member access with full permissions to use agents,
skills, and collaborate with your team.

Managing Invitations

**View Pending Invitations:**

  1. Go to **Settings → Team → Invitations**
  2. See all pending invitations with:
  • Email address
  • Role assigned
  • Date sent
  • Status (pending, accepted, expired)
  • Expiration date (7 days from sending)

**Resend Invitation:**

If an invitation expires or the recipient didn't receive it:

  1. Find invitation in **Settings → Team → Invitations**
  2. Click **"Resend"** button
  3. Confirmation message: "Invitation resent to sarah@company.com"
  4. New expiration date: 7 days from resend

**Cancel Invitation:**

  1. Find invitation in pending list
  2. Click **"Cancel"**
  3. Confirm cancellation
  4. Invitation link becomes invalid

Team Member Management

**View Team Members:**

Settings → Team → Members

Shows all active members with:

  • Name and email
  • Role
  • Date joined
  • Last active
  • Status (active, inactive)

**Change Member Role:**

  1. Click member's row
  2. Select new role from dropdown
  3. Click "Save Changes"
  4. Member receives notification of role change

**Remove Team Member:**

  1. Click "Remove" next to member
  2. Confirm removal
  3. Member loses access immediately
  4. Their work is preserved (agents, episodes, etc.)

Team Features

**Shared Resources:**

  • **Agents**: All team members can use shared agents
  • **Skills**: Installed skills available to entire team
  • **Canvases**: Collaborative canvas building and sharing
  • **Episodes**: Shared episodic memory and learning
  • **Integrations**: OAuth connections managed at team level

**Real-Time Collaboration:**

  • See active team members
  • Collaborate on canvases simultaneously
  • Share agent executions and results
  • Comment and discuss within the platform

**Activity Tracking:**

  • Team activity feed shows recent actions
  • See who executed which agent
  • Track skill installations and usage
  • Monitor resource consumption by team

Team Settings

**Workspace Configuration:**

Settings → Team → Settings

Available settings:

  • **Workspace Name**: Your team/organization name
  • **Default Role**: Role for new invited members
  • **Notification Preferences**: Email notifications settings
  • **Resource Limits**: Per-member quotas (if applicable)

Team Best Practices

**Onboarding New Members:**

  1. Send invitation with clear role expectations
  2. Share relevant documentation
  3. Provide training on key features
  4. Assign a buddy for first-week questions

**Managing Large Teams:**

  • Use roles appropriately (limit Admins)
  • Set up team guidelines and policies
  • Regularly review member access
  • Monitor resource usage and costs

**Security:**

  • Remove former employees promptly
  • Review active sessions regularly
  • Use appropriate role assignments
  • Enable two-factor authentication (coming soon)

**Collaboration Tips:**

  • Share successful agent configurations
  • Document team-specific workflows
  • Use consistent naming conventions
  • Hold regular knowledge-sharing sessions

Troubleshooting Team Issues

**Invitation Not Received:**

  • Check spam folder
  • Verify email address is correct
  • Resend invitation from settings
  • Contact support if issues persist

**Member Can't Access Resources:**

  • Verify their role has appropriate permissions
  • Check if they're using correct account
  • Ensure they've accepted invitation
  • Try removing and re-inviting if needed

**Need to Remove Inactive Members:**

  • Review last active date in member list
  • Remove members who haven't logged in 90+ days
  • This frees up seats for your plan limit

**Exceeded Team Seat Limit:**

  • Review plan limits in billing
  • Remove inactive members
  • Upgrade plan if needed
  • Contact sales for enterprise teams

---

FAQ

**Q: Can I publish items for free?**

A: Yes! You can publish items for free or set a price.

**Q: Do I own items I install?**

A: You have a license to use installed items. See specific item license for details.

**Q: Can I customize installed items?**

A: Yes, installed items can be customized. Updates from publisher may override customizations.

**Q: How do I get support for an item?**

A: Contact the publisher for item-specific issues. Contact ATOM support for platform issues.

**Q: Can I share installed items with my team?**

A: Yes, items are shared across your organization/workspace.

**Q: What happens if I cancel a paid subscription?**

A: You can use the item until the end of the billing period, then it becomes unavailable.

**Q: Can I get a refund?**

A: Contact support for refund requests. Refunds evaluated case-by-case.

**Q: How are items reviewed?**

A: Items undergo automated validation and manual review for quality, security, and compliance.

---

Glossary

  • **Agent**: AI assistant with learned capabilities and maturity levels (student, intern, supervised, autonomous)
  • **Skill**: Basic composable unit - an individual tool or function that can be installed from the marketplace. Skills have safety levels (LOW_RISK, HIGH_RISK) and require admin approval for dangerous operations. Examples: Text summarization, Data extraction, API calls.
  • **Capability**: Higher-level competency that combines multiple skills. Capabilities are organized into 4 domains (DATA_ANALYSIS, CODE_EXECUTION, INTEGRATIONS, REASONING) with domain-specific graduation thresholds and risk factors. Agents develop capabilities through training and experience.
  • **Canvas**: Visual workflow builder
  • **Domain**: Specialized knowledge area or capability domain (DATA_ANALYSIS, CODE_EXECUTION, INTEGRATIONS, REASONING)
  • **Installation**: Adding a marketplace item to your workspace
  • **Publishing**: Submitting an item to the marketplace
  • **Rating**: User feedback score (1-5 stars)
  • **Review**: Written feedback about an item
  • **Subscription**: Recurring payment for paid items
  • **Tenant**: Your organization/workspace in ATOM

---

Next Steps

  • **Browse Marketplace**: Explore available items
  • **Install First Item**: Get started with a free item
  • **Publish Your Creation**: Share with the community
  • **Join Community**: Connect with other users

---

**← Back to Documentation Index**