[Molecule-Platform-Evolvement-Manager] PR #59 (commitdae42e2) was merged ~2 weeks ago with a bad diff that deleted all Next.js/Fumadocs build files (package.json, app/, lib/, source.config.ts, tsconfig.json, etc.) and most MDX content pages. This broke the Vercel build, taking doc.moleculesai.app offline. Root cause: the PR branch was likely rebased or reset to a state that only contained the marketing/ subtree, so the merge diff showed deletions for every other file. This commit: 1. Restores all build infrastructure from the last good commit (86fa0e9) 2. Restores 25 deleted MDX content pages (concepts, quickstart, etc.) 3. Adds frontmatter (title) to 55 .md files added post-bad-merge that were missing the required YAML frontmatter for Fumadocs 4. Removes duplicate quickstart.mdx (superseded by quickstart.md) 5. Adds CI workflow (.github/workflows/ci.yml) to catch build failures on PRs before merge — this would have prevented the outage Build verified: 99 static pages generated successfully. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6.7 KiB
| title |
|---|
| Skill Catalog |
Skill Catalog
Skills extend what a workspace agent can do — from browser automation and TTS to research tools and custom API integrations. This page covers available skill types, how to install them, and how to manage their versions.
Note: Molecule AI does not ship a hosted skill marketplace. All skills are installed from local packages, GitHub URLs, or community bundles. See Skill Lifecycle for how to publish and distribute skills within your org.
Available Skill Types
The skills ecosystem covers the same capabilities as Hermes Tool Gateway and more:
| Category | Skill | What it does | Provider options |
|---|---|---|---|
| Browser | browser-automation |
Chrome DevTools Protocol via MCP — navigate, query DOM, screenshot, fill forms. For external sites and social platforms. | Built-in (CDP); swap via skill version |
| Browser | browser-testing |
Playwright headless Chromium — click, drag, type, screenshot, viewport testing. For testing your own canvas and web apps. | Plugin (molecule-ai-plugin-browser-automation) |
| TTS | tts |
Text-to-speech generation. Streams audio to output. | OpenAI, ElevenLabs, or self-hosted |
| Image gen | image-generation |
Generates images from text prompts. | OpenAI DALL·E, Stability AI, or self-hosted |
| Web search | web-search |
Structured web search with result parsing. | Brave, SerpAPI, or custom |
| Research | arxiv-research |
Searches and summarizes arXiv papers. | Community bundle |
| Code | code-analysis |
Static analysis, diff review, complexity scoring. | Built-in |
| SEO | seo-audit |
Lighthouse audit + GSC keyword extraction. | Built-in |
| Social | social-post |
Formats and posts to social channels. | Built-in |
All skills are open source. Source is visible — inspect the SKILL.md
and tools/ before installing.
Installing a Skill
From the built-in catalog
# Install browser automation
molecule skills install browser-automation
# Install TTS with a specific provider
molecule skills install tts --provider openai
# Install a specific version
molecule skills install browser-automation --version 1.2.0
From GitHub
molecule skills install \
https://github.com/acme/molecule-skills/tree/main/browser-automation
From a community bundle
Community skills are hosted on GitHub and referenced by slug:
molecule skills install arxiv-research --from community
Community skills are reviewed by the Molecule AI team before being
listed. Submit a skill for review by opening a PR against
molecule-ai/skills.
Installing via config.yaml
Skills can also be declared in the workspace config file:
skills:
- name: browser-automation
source: builtin
- name: browser-testing
source: plugin
- name: tts
source: builtin
config:
provider: openai
- name: arxiv-research
source: community
On workspace boot, the runtime validates each skill and loads the
SKILL.md + tools into the agent's context.
browser-testing (Playwright)
browser-testing is auto-discovered when molecule-ai-plugin-browser-automation is installed — no additional install flags required. Declare it in config.yaml alongside browser-automation to include it explicitly:
skills:
- name: browser-automation
source: builtin
- name: browser-testing
source: plugin
Note:
browser-testingrequires Playwright system dependencies (libglib2.0-0,libnss3, etc.) to be pre-installed in the container image. See the skill'sSKILL.mdfor the fullapt-getcommand.
Version Management
Skills are versioned with semantic versioning. Pin to a known-good release to prevent unexpected behavior changes:
# Pin to a specific version
molecule skills install tts --version 1.1.0
# Upgrade to latest
molecule skills upgrade tts
# View installed version
molecule skills list
Upgrading is safe — the skill loader validates the new package on installation. If the new version has breaking changes, the workspace logs a warning and keeps the previous version active until you restart.
Custom Skills
Write a skill for your team's specific workflow:
# Scaffold a new skill
molecule skills init my-custom-skill
This creates:
skills/my-custom-skill/
+-- SKILL.md # instructions + frontmatter
+-- tools/
| +-- my_tool.py # MCP tool using @tool decorator
+-- examples/ # few-shot examples
+-- templates/ # reference files
See Skills Reference for the full
SKILL.md format and frontmatter schema.
Skill Lifecycle
Author writes SKILL.md + tools/
|
v
Install into workspace (local or GitHub)
|
v
Workspace loads skill on next boot / hot-reload
|
v
Agent sees skill in tool context
|
v
(Optional) Publish to org bundle or community
Publishing to your org: Bundle skills with workspace templates so every new workspace in a role gets the same capability set:
molecule skills bundle my-custom-skill --output ./org-templates/my-role/
Publishing to the community: Open a PR against
molecule-ai/skills with a
complete skill package. Community skills are reviewed for security and
correctness before listing.
Removing a Skill
molecule skills uninstall browser-automation
Or remove from config.yaml and trigger a hot-reload by touching the
file:
touch /configs/config.yaml
The workspace detects the change, rescans skills, and updates the Agent Card within ~3 seconds.
Troubleshooting
Skill not found: Check the skill name matches the catalog exactly.
Skill names are lowercase with hyphens (browser-automation, not
browser_automation or BrowserAutomation).
Skill loads but tools are missing: Verify the tools/ folder
contains valid Python files with @tool-decorated functions. See
Skills Reference — Tool Interface.
Provider auth error: Ensure the required environment variable (e.g.
OPENAI_API_KEY) is set in the workspace config or secrets.
Related Docs
- Skills Reference — Full SKILL.md format, frontmatter schema, and tool interface
- Config Format — How skills are
declared in
config.yaml - Plugin System — Installing full plugin packages (skills + MCP servers + shared rules)
- Remote Agent Tutorial — Installing skills on remote (external) agents