Skip to main content

Creating Plugins

Build plugins for the systemprompt.io platform. Define tools, configure integrations, and package your plugin for distribution.

This guide walks you through building a plugin for systemprompt.io, from initial setup to local testing. By the end, you will have a working plugin ready to publish.

Prerequisites

Before you start, make sure you have:

  • An active systemprompt.io account with a configured workspace.
  • At least one skill already created in your workspace. Plugins bundle existing skills, so you need skills to include.
  • Access to the systemprompt.io dashboard.
  • If your plugin will include MCP tool integrations, the connection details for the external service you want to integrate.

Step 1: Create a New Plugin

  1. Open your systemprompt.io dashboard.

  2. Navigate to Plugins in the sidebar.

  3. Click Create Plugin.

  4. Fill in the basic metadata:

    • Name -- a clear, descriptive name (e.g., "Customer Support Toolkit" or "GitHub Integration").
    • Description -- explain what the plugin does and who it is for. This appears in the marketplace listing.
    • Version -- start with 1.0.0. Follow semantic versioning for future updates.
    • Tags -- add relevant tags so users can discover your plugin (e.g., "support", "github", "productivity").
  5. Click Save to create the plugin. You now have an empty plugin shell ready to fill.

Step 2: Add Skills to the Plugin

Skills are the core of your plugin. Each skill teaches agents how to perform a specific task.

  1. On the plugin detail page, go to the Skills tab.
  2. Click Add Skill.
  3. Select from your existing workspace skills, or create a new skill directly.
  4. Repeat for each skill you want to include in the bundle.

When choosing which skills to bundle, keep them thematically related. A plugin called "Content Writer" should include skills for drafting, editing, and formatting -- not unrelated tasks like data analysis.

Skill ordering matters. Arrange your skills in the order that makes the most sense for users browsing the plugin. Put the primary skill first.

Step 3: Configure MCP Tool Integrations

If your plugin needs to connect to external services, you define those connections as MCP tool integrations.

  1. On the plugin detail page, go to the Tools tab.

  2. Click Add Tool.

  3. Define the tool:

    • Tool name -- a machine-readable identifier (e.g., search_tickets, create_issue).
    • Description -- explain what the tool does. Agents use this description to decide when to call the tool.
    • Input schema -- define the parameters the tool accepts (name, type, whether required).
    • Endpoint -- the external API endpoint the tool connects to.
  4. Configure authentication for the tool. Supported methods include:

    • API key -- a static key passed in headers or query parameters.
    • OAuth -- token-based authentication with automatic refresh.
    • Custom headers -- for services that use non-standard authentication.
  5. Click Save Tool and repeat for each integration.

Each tool you define becomes available to agents when the plugin is installed. Agents call these tools through the MCP server, which handles the actual HTTP requests and authentication.

Step 4: Define Configuration Schema

If your plugin requires user-provided settings (API keys, workspace URLs, preferences), define a configuration schema.

  1. Go to the Settings tab on the plugin detail page.

  2. Click Add Configuration Field.

  3. For each field, specify:

    • Field name -- the setting identifier (e.g., api_key, base_url).
    • Display label -- what users see during setup (e.g., "API Key", "Workspace URL").
    • Type -- string, number, boolean, or secret.
    • Required -- whether the plugin can function without this value.
    • Default value -- optional pre-filled value.
  4. Mark sensitive values like API keys as type secret. Secrets are encrypted at rest and never exposed in logs or responses.

Users will be prompted to fill in these fields when they install your plugin.

Step 5: Set Up Dependencies

If your plugin depends on another plugin or a specific platform feature, declare those dependencies.

  1. Go to the Dependencies tab.
  2. Click Add Dependency.
  3. Select the required plugin or platform feature.
  4. Specify the minimum version if applicable.

The platform checks dependencies during installation and prompts users to install any missing requirements first.

Step 6: Test Your Plugin

Before publishing, verify that your plugin works correctly.

  1. On the plugin detail page, click Test Plugin.

  2. The platform installs the plugin in a sandboxed test environment within your workspace.

  3. Open a conversation with an agent that has access to the test environment.

  4. Exercise each skill in the plugin:

    • Ask the agent to perform the tasks your skills define.
    • Verify the agent uses the correct skill for each request.
  5. If your plugin includes MCP tools, test each tool integration:

    • Trigger actions that require the agent to call external services.
    • Check that responses from external services are handled correctly.
    • Verify error handling by testing with invalid inputs or unreachable endpoints.
  6. Review the test results on the plugin detail page. The platform shows which skills and tools were invoked and whether they succeeded.

Step 7: Prepare for Publishing

Once testing is complete, finalize your plugin for distribution.

  1. Review all metadata -- name, description, version, and tags.
  2. Write a clear description that explains:
    • What the plugin does.
    • What skills are included.
    • What external services it connects to (if any).
    • What configuration users need to provide.
  3. Ensure your configuration schema has helpful display labels and descriptions for every field.
  4. Set an appropriate version number following semantic versioning (major.minor.patch).

Your plugin is now ready to publish. See Publishing Plugins for the next steps.

Example: Building a Simple Plugin

Here is a practical example of creating a plugin that bundles two related skills.

Scenario: You want a "Meeting Assistant" plugin that helps agents prepare for and follow up on meetings.

  1. Create two skills in your workspace:

    • "Meeting Agenda Prep" -- generates an agenda from a list of topics and attendees.
    • "Meeting Notes Summary" -- takes raw meeting notes and produces a structured summary with action items.
  2. Create the plugin with name "Meeting Assistant" and description "Prepare agendas and summarize meetings with action items."

  3. Add both skills to the plugin.

  4. No MCP tools needed for this example -- the skills work with text input and output only.

  5. No configuration required -- the skills do not depend on external services.

  6. Test by installing in your workspace and asking an agent to prepare an agenda, then summarize some sample notes.

This gives you a functional plugin with zero external dependencies, which is a good starting point before adding more advanced tool integrations.

Troubleshooting

"Cannot add skill" error. Verify the skill exists in your workspace and is not archived. Only active skills can be added to plugins.

MCP tool returns errors during testing. Check that your endpoint URL is correct and the external service is reachable. Verify that authentication credentials are valid and not expired.

Configuration fields not appearing during install. Make sure each field has a display label and is marked as either required or optional. Fields without labels may be hidden in the install flow.

Plugin test environment not loading. Try refreshing the page. If the issue persists, check that your workspace has available capacity for test environments.