Skills & Plugins
Junior combines instructions with configured capabilities.
Components
Section titled “Components”| Component | Purpose |
|---|---|
| Skill | Instructions for a type of work |
| Tool | An action Junior can take |
| Plugin | An integration enabled by the app operator |
| Sandbox | Isolated command execution |
Skills
Section titled “Skills”Skills are focused playbooks loaded when they match the request.
- Local skills live in
app/skills/<skill-name>/SKILL.md. - Plugins can include their own skills.
- Skills do not install packages, configure OAuth, or grant access.
If a skill needs a CLI, system package, MCP server, or credential flow, declare it in the plugin instead.
Plugins
Section titled “Plugins”Junior loads plugins only from explicit app configuration. A plugin can register:
- tools and skills
- provider credentials and domains
- MCP servers
- runtime dependencies
- routes and resource events
Plugins run as trusted application code. The host still owns credential handling, validation, action review, and durable execution.
Core tools are part of Junior. Plugins and MCP servers can add more tools. Every tool has an input contract, and actions may require review before they run.
Tool output is treated as data. It cannot change the active user, destination, or credential authority.
Validate Configuration
Section titled “Validate Configuration”pnpm exec junior checkKeep package installs, CLIs, MCP servers, and API-key configuration in plugin.yaml or the plugin definition.
Next Step
Section titled “Next Step”Browse Plugins for available integrations. Read Security & Authority for capability and review boundaries.