Skip to content

Skills & Plugins

Junior combines instructions with configured capabilities.

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 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.

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.

Terminal window
pnpm exec junior check

Keep package installs, CLIs, MCP servers, and API-key configuration in plugin.yaml or the plugin definition.

Browse Plugins for available integrations. Read Security & Authority for capability and review boundaries.