# Plugins

> Packages admins install for the whole company: skill bundles and isolated native tools such as HWP preview.

Plugins add features a company needs. In this stage, only the owner and admins install them, for the whole company, in **Admin › Plugins**.

## Two kinds

| Kind | Contains | Runs code? |
|---|---|---|
| **Skill bundle** | Company skills (`SKILL.md`) only | No |
| **Native tool or preview** | A program the server runs in isolation, through a driver the core already knows | Yes, isolated |

Today the only native driver is the HWP preview (`rhwp-v1`).

## Install

1. **Choose a package**

   Install from the official list, from a file, or from a package placed on the server.

2. **The server checks it**

   Size and file count, paths, the manifest, the pinned digest or signature, every file's SHA-256, the OS, CPU and glibc, and the product version.

3. **Review the permissions**

   A dialog shows what it does, who provides it, the check result, required and optional permissions, and licences.

4. **Install, and turn it on**

   The server installs only if the package and permissions are exactly what the admin saw.

Admins can turn a plugin on or off, update it, roll back to the previous version or remove it. Each action is recorded in the activity log.

## Skill bundles

When on, a bundle's skills appear at `skills/<plugin id>/<skill>/SKILL.md`. That folder is managed by the plugin: to change a skill, copy it elsewhere and edit the copy.

## Package format

| Item | Rule |
|---|---|
| File | `.trinaplugin`: a POSIX tar, optionally gzipped |
| Manifest | `trina-plugin.json`: id (reverse domain), SemVer version, provider, kind, names and descriptions in five languages, permissions, platforms, and every file's path, size and SHA-256 |
| Permissions | `skills.company`, `files.read.selected`, `preview.render`, `runtime.native.isolated`, `model.send.preview-pixels` |
| Format version | `schemaVersion` 1. Unknown fields, keys or permissions are refused. |

Full details: [Plugins (Korean)](https://github.com/trina-app/trina-ax/blob/main/docs/PLUGINS.md).
