{% extends "base.html" %} {% block title %}Upload to Store — {{ config.INSTANCE_NAME }}{% endblock %} {% block content %}
Share a skill, agent, or plugin with everyone on this instance.
Display name will be suffixed with
-by-{{ session.user.email.split('@')[0] }}
so it doesn't collide.
Pick what you're uploading and the ZIP archive.
The server validates the layout when you click Next.
Every component description (plugin, agents, skills, commands) is the trigger string Claude reads to decide whether to invoke it. Vague or missing descriptions get rejected even when the code is fine.
The bar:
TODO / TBD / template placeholdersPatterns that work:
Use when <trigger> — <what it does><What the agent does>. Use for <invocation context>The reviewer also runs a substantive pass on descriptions — generic ones ("a useful skill for working with data") get flagged even when they clear the mechanical bar.
Pre-filled from the ZIP's frontmatter — change anything you want. Name and description are required; everything below is optional.
Every component description (plugin, agents, skills, commands) is the trigger string Claude reads to decide whether to invoke it. Vague or missing descriptions get rejected even when the code is fine.
The bar:
TODO / TBD / template placeholders