| name | plugin |
| description | Manage Rill plugins interactively (lifecycle: available → install → enable → disable → uninstall). Use when the user wants to install, enable, disable, uninstall, or check the state of plugins, or to search for available plugins. |
/plugin — Plugin Management
Conduct all conversation with the user — and write all generated output — in the language defined by .claude/rules/personal-language.md (or the user's input language if that file is absent). Follow the language rules in full — exceptions and translation quality are defined in the Language Rules of .claude/rules/rill-core.md and the vault's personal-*.md overrides, never restated per skill. The English instructions below are for skill clarity, not for output style.
Tool references in this skill (shell, Read, Grep) describe intent, not Claude-specific tool calls. Each harness should map them to its native equivalent — Claude Code uses its built-in Bash/Read/Grep tools as named; Codex CLI uses shell / apply_patch / --search etc. as appropriate.
Interactively manage plugins with a 3-state lifecycle: available → installed → enabled. Internally calls rill plugin in a shell, with guidance, diagnostics, and suggestions added before and after.
Arguments
$ARGUMENTS — subcommand (omit: status display, install <name>, enable <name>, disable <name>, uninstall <name>, search <keyword>)
Steps
When no arguments (status display)
- Run
rill plugin list in a shell
- Read each plugin's
plugin.md in plugins/ to understand the overview
- Display the status in the following format:
## Plugin Status
| Plugin | State | Commands | Overview |
|---|---|---|---|
| google-meet | ✓ enabled | sync-google-meet | Import Google Meet meeting notes |
| twitter | ● installed | — | Sync tweet URLs from iPhone |
| web-clipper | available | — | Web page clip organizer |
Next actions:
- For available plugins: suggest `/plugin install <name>`
- For installed plugins: suggest `/plugin enable <name>` (or setup guidance if dependencies are missing)
- For enabled plugins with adapters: suggest `/sync`
When install
- Verify that
plugins/<name>/ exists
- Run
rill plugin install <name> in a shell (always succeeds)
- Read
plugins/<name>/plugin.md to understand the overview and prerequisites
- Interpret the dependency check output:
- If all dependencies met: suggest
rill plugin enable <name> as next step
- If dependencies missing: guide the user through setup interactively
- After setup guidance, suggest running
rill plugin enable <name>
When enable
- Run
rill plugin enable <name> in a shell
- If it fails (dependency check failed):
- Read
plugins/<name>/plugin.md for setup instructions
- Guide the user through resolving each missing dependency
- After resolution, suggest retrying
rill plugin enable <name>
- If it succeeds: suggest a test run (
/sync <name> or the corresponding sync skill)
When disable
- Explain the scope: which commands will be unlinked,
/sync and hooks will skip this plugin
- Run
rill plugin disable <name> in a shell
- Explain that the plugin remains installed and can be re-enabled with
rill plugin enable <name>
When uninstall
- Read
plugins/<name>/plugin.md
- Explain the scope of impact (disables if currently enabled, removes from installed list)
- Confirm with the user (via the harness's question primitive)
- Run
rill plugin uninstall <name> in a shell
- Explain that data in
inbox/*/ will remain
When search
- Grep search the
plugin.md files in plugins/ by keyword
- If found, suggest installation
- If not found, suggest creating a new plugin
Rules
- Delegate mechanical operations (state files, symlinks) to
rill plugin
- Value AI adds: discovery, guidance, diagnostics, next-action suggestions
- A plugin's plugin.md is human-facing documentation. Read it to understand the content and summarize it for the user
- Plugin lifecycle: available → install → (setup) → enable → disable → uninstall